159 static const double gN1[5]={4.,6.,4.,2.,4.};
160 static const double exN1[4]={19224.464,8.713,9605.74,0.386};
169 double a12Tot = a12 +
atoms.d5200r;
175 double a13Tot = a13 +
atoms.d5200r;
189 nitro.quench_5200 = (a12+a13) / ((a12Tot+a13Tot) + (cs12 + cs13) *
dense.cdsqte);
224 cs = exp(-11.3423 + 0.8379*
min(
phycon.alnte,10.82));
228 static const double csN1_a[
NI_NDP] = {
229 -12.3982, -9.4523, -12.5580, -10.8813, -13.6532, -9.9035, -11.4470, -5.4776, -6.3304
231 static const double csN1_b[
NI_NDP] = {
232 0.7458, 0.3865, 0.7330, 0.6853, 0.7712, 0.3919, 0.6734, 0.1789, 0.1966
235 for( i=0; i <
NI_NDP; ++i )
237 cs = exp(csN1_a[i] + csN1_b[i]*
min(
phycon.alnte,10.82));
255 double beta = 0.7955;
258 RPI *= (1.-beta)/(1.-beta*(1.-Premove));
262 RPD0 *= (1.-beta)/(1.-beta*(1.-Premove));
266 double pump14 = 0.0113*RPI + 0.0239*RPD0 + 0.0090*RPD1 + 0.1617*RPD2 + 0.0167*RPD3 + 0.4404*RPD4;
267 double pump15 = 0.0112*RPI + 0.0265*RPD0 + 0.6253*RPD1 + 0.5108*RPD2 + 0.0824*RPD3 + 0.2588*RPD4;
268 double pump13 = 0.3441*RPI + 0.8621*RPD0 + 0.0233*RPD1 + 0.0895*RPD2 + 0.1068*RPD3 + 0.1644*RPD4;
269 double pump12 = 0.0417*RPI + 0.0468*RPD0 + 0.3408*RPD1 + 0.2328*RPD2 + 0.7937*RPD3 + 0.1338*RPD4;
271 pump14 += 0.4881*RPD5 + 0.0876*RPD6 + 0.0450*RPD7 + 0.1777*RPD8;
272 pump15 += 0.1569*RPD5 + 0.0484*RPD6 + 0.2240*RPD7 + 0.0854*RPD8;
273 pump13 += 0.2908*RPD5 + 0.8397*RPD6 + 0.0694*RPD7 + 0.7369*RPD8;
274 pump12 += 0.0623*RPD5 + 0.0238*RPD6 + 0.6615*RPD7 + 0.0000*RPD8;
277 nitro.pump5199 = (pump12+pump13+0.9710*pump14+0.9318*pump15) *
nitro.quench_5200 *
283 double eff_recrate_2D = 1.108e-13 * pow(
phycon.te*1e-4, -0.6085) /
284 (1. - 0.0041 * pow(
phycon.te*1e-4, -0.3975) );
285 double eff_recrate_2P = 0.659e-13 * pow(
phycon.te*1e-4, -0.6158);
293 double rec14 = eff_recrate_2P * fac_n1 * 2./6.;
294 double rec15 = eff_recrate_2P * fac_n1 * 4./6.;
295 double rec13 = eff_recrate_2D * fac_n1 * 4./10.;
296 double rec12 = eff_recrate_2D * fac_n1 * 6./10.;
299 nitro.rec5199 = (rec12+rec13+0.9710*rec14+0.9318*rec15) *
nitro.quench_5200 *
307 double Cooling , CoolingDeriv;
308 atom_pop5(gN1,exN1,cs12,cs13,cs14,cs15,cs23,cs24,cs25,cs34,cs35,
309 cs45,a12Tot,a13Tot,a14,a15,a23,a24,a25,a34,a35,a45,pop,
311 pump12 , pump13 , pump14 , pump15 );
313 nitro.xN5200 = pop[1]*a12*3.818e-12;
314 nitro.xN5198 = pop[2]*a13*3.821e-12;
315 nitro.xN3467 = pop[3]*a14*5.729e-12;
316 nitro.xN3466 = pop[4]*a15*5.729e-12;
317 nitro.xN10398 = pop[3]*a24*1.910e-12;
318 nitro.xN10397 = pop[4]*a25*1.910e-12;
319 nitro.xN10408 = pop[3]*a34*1.908e-12;
320 nitro.xN10407 = pop[4]*a35*1.908e-12;
326 thermal.dCooldT += CoolingDeriv;
362 p3 =
atom_pop3( 9.,5.,1., cs21, cs31, cs32, a21, a31, a32 ,
366 nitro.c5755 = p3*a32*3.46e-12;
368 nitro.c6584 = p2*a21*3.03e-12;
375 nitro.xN2_A3_tot = (a31+a32) /(a31+a32 + (cs31+cs32)/1.*
dense.cdsqte );
416 static vector< pair<TransitionList::iterator,double> > N3Pump;
423 pair<TransitionList::iterator,double> ppa(
TauLines.begin()+
ipT990, 1./6. );
424 N3Pump.push_back( ppa );
425 pair<TransitionList::iterator,double> ppb(
TauLines.begin()+
ipT374g, 1./6. );
426 N3Pump.push_back( ppb );
427 pair<TransitionList::iterator,double> ppc(
TauLines.begin()+
ipT315, 1./6. );
428 N3Pump.push_back( ppc );
429 pair<TransitionList::iterator,double> ppd(
TauLines.begin()+
ipT324, 1./2. );
430 N3Pump.push_back( ppd );
431 pair<TransitionList::iterator,double> ppe(
TauLines.begin()+
ipT333, 2./3. );
432 N3Pump.push_back( ppe );
446 branch_ratio = 2./3.;
448 branch_ratio = 1./2.;
450 branch_ratio = 1./6.;
453 pair<TransitionList::iterator,double> pp2(
TauLine2.begin()+i, branch_ratio );
454 N3Pump.push_back( pp2 );
460 double pump_rate = 0.;
462 for( n3p=N3Pump.begin(); n3p != N3Pump.end(); ++n3p )
465 double branch_ratio = n3p->second;
466 pump_rate += (*t).Emis().pump()*branch_ratio;
469 (*t).WLAng , (*t).Emis().pump()*branch_ratio );
482 0.201 , 1.088 , 0.668 , 2.044 , pump_rate,
"N 3");
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 atom_pop5(const double g[], const double EnerWN[], double cs12, double cs13, double cs14, double cs15, double cs23, double cs24, double cs25, double cs34, double cs35, double cs45, double a21, double a31, double a41, double a51, double a32, double a42, double a52, double a43, double a53, double a54, double p[], realnum abund, double *Cooling, double *CoolingDeriv, double pump01, double pump02, double pump03, double pump04)
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)