68 (*(*TauDummy).Hi()).g() = 0.;
69 (*(*TauDummy).Lo()).g() = 0.;
70 (*(*TauDummy).Hi()).IonStg() = 0;
71 (*(*TauDummy).Lo()).IonStg() = 0;
72 (*(*TauDummy).Hi()).nelem() = 0;
73 (*(*TauDummy).Lo()).nelem() = 0;
74 (*TauDummy).Emis().Aul() = 0.;
75 (*TauDummy).EnergyWN() = 0.;
76 (*TauDummy).WLAng() = 0.;
146 else if(
phycon.te >20000. )
150 csp01 = 1e-9*
pow2(4.3671821 - 14.39018/log(temp))*(1./3.)*exp(16.4*
T1CM/temp);
151 csp12 = 1e-9*exp(3.2823932 - 60.99754*(log(temp)/temp))*(1./5.)*exp(37.1*
T1CM/temp);
152 csp02 = 1e-9/(0.033932579+ (1503.4042/pow(temp,1.5)))*(3./5.)*exp(43.5*
T1CM/temp);
161 ortho_frac =
h2.ortho_density/
SDIV(
hmi.H2_total);
175 else if(
phycon.te<=150. )
177 csh2p01 =
MAX2(6.60e-11,
180 csh2o01 =
MAX2(7.10e-11,
188 csh2p01 =
MIN2(8.10e-11,csh2p01);
191 csh2o01 =
MIN2(8.57e-11,csh2o01);
195 csh201 = ortho_frac*csh2o01 + (1.-ortho_frac)*csh2p01;
201 else if(
phycon.te <= 100. )
203 csh2p12 =
MAX2(1.75e-10,
209 csh2p12 =
MIN2(2.61e-10,csh2p12);
215 csh212 = ortho_frac*csh2o12 + (1.-ortho_frac)*csh2p12;
223 else if(
phycon.te<=150. )
225 csh2p02 =
MAX2(8.40e-11,
231 csh2p02 =
MIN2(1.04e-10,csh2p02);
236 csh202 = ortho_frac*csh2o02 + (1.-ortho_frac)*csh2p02;
271 cs12 = 1.156e-4*
phycon.te*(1.09 - 7.5e-6*
phycon.te - 2.1e-10*
273 cs13 = 2.8e-3*
phycon.sqrte;
274 cs23 = 2.764e-3*
phycon.sqrte;
281 1.417e4,1.255e4,&pciexc,
dense.xIonDense[
ipCARBON][0],0.,0.,0.)*a32*
292 carb.c9850 = pciexc*a21*2.02e-12;
341 cs_c2_h12 = 1e-10*(4.4716028+ 0.69658785*pow(temp, 0.31692387));
346 cs_c2_h12 *= pow(
phycon.te/2e3, 0.31692387);
354 dense.EdenHCorr < 1e-8 );
365 static vector< pair<TransitionList::iterator,double> > C2Pump;
372 pair<TransitionList::iterator,double> pp(
TauLines.begin()+
ipT1335, 1./6. );
373 C2Pump.push_back( pp );
387 branch_ratio = 2./3.;
389 branch_ratio = 1./2.;
391 branch_ratio = 1./6.;
394 pair<TransitionList::iterator,double> pp2(
TauLine2.begin()+i, branch_ratio );
395 C2Pump.push_back( pp2 );
401 double pump_rate = 0.;
403 for( c2p=C2Pump.begin(); c2p != C2Pump.end(); ++c2p )
406 double branch_ratio = c2p->second;
407 pump_rate += (*t).Emis().pump()*branch_ratio;
410 (*t).WLAng , (*t).Emis().pump()*branch_ratio );
425 0.2349 , 0.8237 , 0.8533 , 1.9818 , pump_rate ,
"C 2");
428 enum {DEBUG_LOC=
false};
429 if( DEBUG_LOC &&
nzone > 80 )
431 fprintf(
ioQQQ,
"DEBUG\t%.2f\t%.3e\t%.3e\t%.2e\t%.2e\t%.2e\t%.2e\n",
443 for( i=0; i < 5; ++i )
446 sum +=
atoms.PopLevels[i];
494 cs = 2.8*
dense.cdsqte/5.*1.667;
495 popratio = cs/(cs + a21);
496 embesq.em13C1910 = (
realnum)(a21 *
atoms.PopLevels[1]*popratio* 1.04e-11 /
co.C12_C13_isotope_ratio);
505 popup +=
atoms.PopLevels[i];
void ligbar(long int ized, const TransitionProxy &t2s2p, const TransitionProxy &t2s3p, double *cs2s2p, double *cs2s3p)
double atom_pop3(double g1, double g2, double g3, double o12, double o13, double o23, double a21, double a31, double a32, double Tex12, double Tex23, realnum *pop2, double abund, double gam2, double r12, double r13)
void AtomSeqBoron(const TransitionProxy &t10, const TransitionProxy &t20, const TransitionProxy &t30, const TransitionProxy &t21, const TransitionProxy &t31, const TransitionProxy &t41, double cs40, double cs32, double cs42, double cs43, double pump_rate, const char *chLabel)
diatomics h2("h2", 4100., &hmi.H2_total, Yan_H2_CS)