44 wp(5.64*1.0e+4*sqrt(n)),
47 T0(pow(
Input::
List().pth_ref,2.0)*keVnorm*1e3),
54 D[
"Velocity"] =
units(
"c",1.0);
55 D[
"Velocity_cgs"] =
units(
"cm/sec",
c );
56 D[
"Velocity_si"] =
units(
"m/sec",
c * 0.01 );
59 D[
"v_cgs"] =
units(
"cm/sec",
c );
60 D[
"v_si"] =
units(
"m/sec",
c * 0.01 );
63 D[
"vx_cgs"] =
units(
"cm/sec",
c );
64 D[
"vx_si"] =
units(
"m/sec",
c * 0.01 );
67 D[
"vy_cgs"] =
units(
"cm/sec",
c );
68 D[
"vy_si"] =
units(
"m/sec",
c * 0.01 );
71 D[
"vz_cgs"] =
units(
"cm/sec",
c );
72 D[
"vz_si"] =
units(
"m/sec",
c * 0.01 );
75 D[
"Time"] =
units(
"1/wp",1.0);
76 D[
"Time_cgs"] =
units(
"sec", 1.0/
wp);
78 D[
"Time_fs"] =
units(
"fsec", 1.0/
wp*1.0
e+15);
79 D[
"Time_ps"] =
units(
"psec", 1.0/
wp*1.0
e+12);
81 D[
"t"] =
units(
"1/wp",1.0);
86 D[
"Space"] =
units(
"c/wp",1.0);
90 D[
"x"] =
units(
"c/wp",1.0);
94 D[
"y"] =
units(
"c/wp",1.0);
98 D[
"z"] =
units(
"c/wp",1.0);
103 D[
"Density"] =
units(
"n",1.0);
104 D[
"Density_cgs"] =
units(
"cm^-3",
n);
105 D[
"Density_si"] =
units(
"m^-3", 1.0
e+6 *
n);
108 D[
"n_cgs"] =
units(
"cm^-3",
n);
109 D[
"n_si"] =
units(
"m^-3", 1.0
e+6 *
n);
112 D[
"Charge"] =
units(
"e",1.0);
113 D[
"Charge_cgs"] =
units(
"Fr",
e);
114 D[
"Charge_si"] =
units(
"C", (10.0/
c) *
e);
117 D[
"q_cgs"] =
units(
"Fr", e);
118 D[
"q_si"] =
units(
"C", (10.0/
c) * e);
121 D[
"Momentum"] =
units(
"mc",1.0);
122 D[
"Momentum_cgs"] =
units(
"gr*cm/sec",
m*
c );
123 D[
"Momentum_si"] =
units(
"kg*m/sec",
m*c * 1.0e-5 );
126 D[
"p_cgs"] =
units(
"gr*cm/sec",
m*c );
127 D[
"p_si"] =
units(
"kg*m/sec",
m*c * 1.0e-5 );
129 D[
"px"] =
units(
"mc",1.0);
130 D[
"px_cgs"] =
units(
"gr*cm/sec",
m*c );
131 D[
"px_si"] =
units(
"kg*m/sec",
m*c * 1.0e-5 );
133 D[
"py"] =
units(
"mc",1.0);
134 D[
"py_cgs"] =
units(
"gr*cm/sec",
m*c );
135 D[
"py_si"] =
units(
"kg*m/sec",
m*c * 1.0e-5 );
137 D[
"pz"] =
units(
"mc",1.0);
138 D[
"pz_cgs"] =
units(
"gr*cm/sec",
m*c );
139 D[
"pz_si"] =
units(
"kg*m/sec",
m*c * 1.0e-5 );
143 D[
"Energy"] =
units(
"mc^2",1.0);
144 D[
"Energy_cgs"] =
units(
"erg",
m*pow(c,2) );
145 D[
"Energy_si"] =
units(
"J", 1.0e-7 *
m*pow(c,2) );
146 D[
"Energy_eV"] =
units(
"eV", 1.0e-7 *
m*pow(c,2)/((10.0/c) * e) );
148 D[
"T"] =
units(
"mc^2",1.0);
149 D[
"T_cgs"] =
units(
"erg",
m*pow(c,2) );
150 D[
"T_si"] =
units(
"J", 1.0e-7 *
m*pow(c,2) );
151 D[
"T_eV"] =
units(
"eV", 1.0e-7 *
m*pow(c,2)/((10.0/c) * e) );
154 D[
"Current"] =
units(
"ewp",1.0);
155 D[
"Current_cgs"] =
units(
"Fr/s", e*
wp );
156 D[
"Current_si"] =
units(
"A", 10.0/c * e*wp );
158 D[
"Jx"] =
units(
"ewp",1.0);
159 D[
"Jx_cgs"] =
units(
"Fr/s", e*wp );
160 D[
"Jx_si"] =
units(
"A", 10.0/c * e*wp );
162 D[
"Jy"] =
units(
"ewp",1.0);
163 D[
"Jy_cgs"] =
units(
"Fr/s", e*wp );
164 D[
"Jy_si"] =
units(
"A", 10.0/c * e*wp );
166 D[
"Jz"] =
units(
"ewp",1.0);
167 D[
"Jz_cgs"] =
units(
"Fr/s", e*wp );
168 D[
"Jz_si"] =
units(
"A", 10.0/c * e*wp );
171 D[
"Pressure"] =
units(
"n*mc^2",1.0);
172 D[
"Pressure_cgs"] =
units(
"Ba",
n*
m*c*c );
173 D[
"Pressure_si"] =
units(
"Pa", 0.1 *
n*
m*c*c );
174 D[
"Pressure_Mbar"] =
units(
"Mbar", 1.0e-12 *
n*
m*c*c );
176 D[
"P"] =
units(
"n*mc^2",1.0);
178 D[
"P_si"] =
units(
"Pa", 0.1 *
n*
m*c*c );
179 D[
"P_Mbar"] =
units(
"Mbar", 1.0e-12 *
n*
m*c*c );
183 D[
"Efield"] =
units(
"mcwp/e",1.0);
184 D[
"Efield_cgs"] =
units(
"statV/cm",
m*c*wp/e);
185 D[
"Efield_si"] =
units(
"V/m", c*1.0e-6 *
m*c*wp/e);
187 D[
"Ex"] =
units(
"mcwp/e",1.0);
188 D[
"Ex_cgs"] =
units(
"statV/cm",
m*c*wp/e);
189 D[
"Ex_si"] =
units(
"V/m", c*1.0e-6 *
m*c*wp/e);
191 D[
"Ey"] =
units(
"mcwp/e",1.0);
192 D[
"Ey_cgs"] =
units(
"statV/cm",
m*c*wp/e);
193 D[
"Ey_si"] =
units(
"V/m", c*1.0e-6 *
m*c*wp/e);
195 D[
"Ez"] =
units(
"mcwp/e",1.0);
196 D[
"Ez_cgs"] =
units(
"statV/cm",
m*c*wp/e);
197 D[
"Ez_si"] =
units(
"V/m", c*1.0e-6 *
m*c*wp/e);
200 D[
"Bfield"] =
units(
"mcwp/e",1.0);
201 D[
"Bfield_cgs"] =
units(
"Gauss",
m*c*wp/e);
202 D[
"Bfield_si"] =
units(
"Tesla", 1.0e-4 *
m*c*wp/e);
204 D[
"Bx"] =
units(
"mcwp/e",1.0);
205 D[
"Bx_cgs"] =
units(
"Gauss",
m*c*wp/e);
206 D[
"Bx_si"] =
units(
"Tesla", 1.0e-4 *
m*c*wp/e);
208 D[
"By"] =
units(
"mcwp/e",1.0);
209 D[
"By_cgs"] =
units(
"Gauss",
m*c*wp/e);
210 D[
"By_si"] =
units(
"Tesla", 1.0e-4 *
m*c*wp/e);
212 D[
"Bz"] =
units(
"mcwp/e",1.0);
213 D[
"Bz_cgs"] =
units(
"Gauss",
m*c*wp/e);
214 D[
"Bz_si"] =
units(
"Tesla", 1.0e-4 *
m*c*wp/e);
217 D[
"Force"] =
units(
"mcwp",1.0);
218 D[
"Force_cgs"] =
units(
"dyne",
m*c*wp);
219 D[
"Force_si"] =
units(
"N", 1.0e-5 *
m*c*wp );
229 if (ne <
nmin)
return 2.0;
232 Te *=
Units(
"Energy",
"eV").
d;
233 ne *=
Units(
"Density",
"cgs").
d;
238 return max(2.0,23.5 - 0.5*ne + 1.25*Te - sqrt(0.00001+0.0625*(Te-2.0)*(Te-2.0)));
243 Te /=
Units(
"Energy",uT).
d;
244 ne /=
Units(
"Density",un).
d;
252 if (ne <
nmin)
return 2.0;
254 Te *=
Units(
"Energy",
"eV").
d;
255 ne *=
Units(
"Density",
"cgs").
d;
257 if ( Te > 10.0*Z*Z ) {
258 return max(2.0, 24.0 - 0.5*log(ne) + log(Te));
260 return max(2.0, 23.0 - 0.5*log(ne) + 1.5*log(Te) - log(Z));
265 Te /=
Units(
"Energy",uT).
d;
266 ne /=
Units(
"Density",un).
d;
268 return LOGei(ne,Te,Z);
272 double m2,
double Z2,
double n2,
double T2) {
276 if (n1 <
nmin || n2 <
nmin)
return 2.0;
278 T1 *=
Units(
"Energy",
"eV").
d;
279 T2 *=
Units(
"Energy",
"eV").
d;
280 n1 *=
Units(
"Density",
"cgs").
d;
281 n2 *=
Units(
"Density",
"cgs").
d;
283 return max(2.0, 23.0 - log(Z1*Z2*(m1/mp+m2/mp)/(m1/mp*T2+m2/mp*T1)*sqrt(n1*Z1*Z1/T1+n2*Z2*Z2/T2)));
292 Te *=
Units(
"Energy",
"eV").
d;
293 return sqrt(Te)*4.19e+7/
c;
296 Te /=
Units(
"Energy", uT).
d;
301 return 2.09e+7*(pow(sqrt(Te/Zeta*
Units(
"Energy",
"eV").d),3)/
307 return 3.44e+5*(pow(sqrt(Te*
Units(
"Energy",
"eV").d),3)/
312 Te /=
Units(
"Energy",uT).
d;
313 ne /=
Units(
"Density",un).
d;
322 Te /=
Units(
"Energy",uT).
d;
323 ne /=
Units(
"Density",un).
d;
Underlying data structures.