25 int ir,
int iz,
int itheta);
27 int ir,
int iz,
int itheta);
30 int pr,
int pz,
int itheta);
33 int ir,
int iz,
int itheta);
93 int ir,
int iz,
int itheta)
107 int ir,
int iz,
int itheta)
111 int level_diff, z, r;
116 level_diff = pois->level - cdr->level;
118 z = (iz << level_diff) + (1 << (level_diff - 1));
119 r = (ir << level_diff) + (1 << (level_diff - 1));
126 RZT (cdr->
photo, ir, iz, itheta) = 0.25 *
127 (
RZ (pois->
phi, r, z)
128 +
RZ (pois->
phi, r - 1, z)
129 +
RZ (pois->
phi, r, z - 1)
130 +
RZ (pois->
phi, r - 1, z - 1));
138 int pr,
int pz,
int itheta)
145 r_at (pr, pois->level),
146 z_at (pz, pois->level),
147 RZ (pois->
phi, pr, pz),
148 RZ (pois->
phi, pr, pz + 1),
149 RZ (pois->
phi, pr + 1, pz),
150 RZ (pois->
phi, pr + 1, pz + 1));
158 interpol_t *interpol,
int ir,
int iz,
int itheta)
165 r =
r_at (ir, cdr->level);
166 z =
z_at (iz, cdr->level);
210 if (p) p->
next = NULL;
222 for (t = photo_terms; t; t = next) {
261 #pragma omp for private (ir, iz)
281 int s, ir, iz, itheta;
289 #pragma omp for private (ir, iz, s)
291 for (s = 0; s < 2; s++) {
292 RZT (cdr->d_dens[updated[s]], ir, iz, itheta) +=
293 term->A *
RZT (cdr->photo, ir, iz, itheta);
333 photo_copy_source_r (cdr);
335 if (cdr->ntheta != 1)
343 for (term = terms; term; term = term->
next ) {
347 if (cdr->ntheta != 1)
373 printf (
"Loading photoionization data from `%s'...\n", fname);
375 fp = fopen (fname,
"r");
378 warning (
"Unable to open photoionization file `%s'\n", fname);
386 c = fscanf (fp,
"%lf %lf", &A, &lambda);
391 printf (
"Registring photoionization term A = %.5g, lambda = %.4g\n",