39 const double twopi = 6.283185307179586477L;
42 const double invfourpi = 0.079577471545947667884441882L;
45 const double invpi32 = 0.179587122125166561689081L;
56 debug (1,
"entry init_parameters\n");
268 debug (1,
"exit init_parameters\n");
279 double root_dr, root_dz;
295 for (i = 1; i <
n; i++) {
297 dz_start[
i] = dz_start[i - 1] / 2.0;
299 debug (3,
"dr[%d] = %e\n", i - extra_pois_levels,
300 dr[i - extra_pois_levels]);
301 debug (3,
"dz[%d] = %e\n", i - extra_pois_levels,
302 dz[i - extra_pois_levels]);
315 debug (2,
"init_w2k_a()\n");
323 double w2k_ = twobydtheta2 * (1 - cos (k *
dtheta));
326 re_wk = (cos (k * dtheta) - 1) / dtheta;
327 im_wk = sin (k * dtheta) /
dtheta;
343 assert (
wk[0] == 0.);
377 printf(
"Photoionization\n");
380 printf(
"No photoionization\n");
402 static int rise_reached =
FALSE, off_reached =
FALSE;
405 if (rise_reached && off_reached)
435 e0_r (
double r,
double z,
double theta)
437 return E_x * cos (theta) +
E_y * sin (theta);
442 e0_z (
double r,
double z,
double theta)
451 return -
E_x * cos (theta) +
E_y * sin (theta);