28 long int iElecLo , iElecHi , iVibLo , iVibHi , iRotLo , iRotHi;
55 for( iVibHi=0; iVibHi<=
h2.
nVib_hi[iElecHi]; ++iVibHi )
59 double factor = (double)
H2_dissprob[iElecHi][iVibHi][iRotHi]/
69 for( iVibLo=0; iVibLo<=
h2.
nVib_hi[iElecLo]; ++iVibLo )
75 for( iRotLo=
h2.
Jlowest[iElecLo]; iRotLo<=nr; ++iRotLo )
84 H2L->Emis->pump*factor;
89 H2L->Emis->Aul*(H2L->Emis->Pesc+H2L->Emis->Pdest+H2L->Emis->Pelec_esc);
149 long int ipLoX , ip , iRotLoX , iVibLoX ,
150 iElecHi , iVibHi , ipOther , iRotOther,
168 for( iVibHi=0; iVibHi<=
h2.
nVib_hi[iElecHi]; ++iVibHi )
177 double rate_up_cont =
179 H2Lines[iElecHi][iVibHi][iRotHi][0][iVibLoX][iRotLoX].Emis->pump;
193 H2Lines[iElecHi][iVibHi][iRotHi][0][iVibOther][iRotOther].Emis->Aul*(
194 H2Lines[iElecHi][iVibHi][iRotHi][0][iVibOther][iRotOther].Emis->Pesc+
195 H2Lines[iElecHi][iVibHi][iRotHi][0][iVibOther][iRotOther].Emis->Pdest+
196 H2Lines[iElecHi][iVibHi][iRotHi][0][iVibOther][iRotOther].Emis->Pelec_esc);
220 long int iElec, iElecHi, iElecLo, iVib , iVibLo , iVibHi ,
221 iRot , iRotHi , iRotLo;
228 for( iVib=0; iVib<=
h2.
nVib_hi[iElec]; ++iVib )
246 for( iVibHi=0; iVibHi<=
h2.
nVib_hi[iElecHi]; ++iVibHi )
251 long int lim_elec_lo = 0;
260 for( iElecLo=0; iElecLo<=lim_elec_lo; ++iElecLo )
265 if( iElecLo==iElecHi )
267 for( iVibLo=0; iVibLo<=nv; ++iVibLo )
270 if( iElecLo==iElecHi && iVibHi==iVibLo )
273 for( iRotLo=
h2.
Jlowest[iElecLo]; iRotLo<=nr; ++iRotLo )
278 H2Lines[iElecHi][iVibHi][iRotHi][iElecLo][iVibLo][iRotLo].Emis->PopOpc =
279 H2Lines[iElecHi][iVibHi][iRotHi][iElecLo][iVibLo][iRotLo].Lo->Pop -
280 H2Lines[iElecHi][iVibHi][iRotHi][iElecLo][iVibLo][iRotLo].Hi->Pop*
281 H2Lines[iElecHi][iVibHi][iRotHi][iElecLo][iVibLo][iRotLo].Lo->g /
282 H2Lines[iElecHi][iVibHi][iRotHi][iElecLo][iVibLo][iRotLo].Hi->g;
285 H2Lines[iElecHi][iVibHi][iRotHi][iElecLo][iVibLo][iRotLo].Coll.cool = 0.;
286 H2Lines[iElecHi][iVibHi][iRotHi][iElecLo][iVibLo][iRotLo].Coll.heat = 0.;
289 H2Lines[iElecHi][iVibHi][iRotHi][iElecLo][iVibLo][iRotLo].Emis->xIntensity = 0.;
291 H2Lines[iElecHi][iVibHi][iRotHi][iElecLo][iVibLo][iRotLo].Emis->phots = 0.;
292 H2Lines[iElecHi][iVibHi][iRotHi][iElecLo][iVibLo][iRotLo].Emis->ots = 0.;
293 H2Lines[iElecHi][iVibHi][iRotHi][iElecLo][iVibLo][iRotLo].Emis->ColOvTot = 0.;
316 static double TeUsedBoltz = -1.;
318 long int iElec , iVib , iRot;
330 for( iVib=0; iVib<=
h2.
nVib_hi[iElec]; ++iVib )
347 for( iVib=0; iVib<=
h2.
nVib_hi[iElec]; ++iVib )
355 H2_stat[iElec][iVib][iRot] / part_fun;
364 "mole_H2_LTE set H2_Boltzmann factors, T=%.2f, partition function is %.2f\n",
380 long int nVib_hi_init[
N_H2_ELEC] = {14 , 37 , 13 , 13, 9, 2 , 2};
384 long int Jlowest_init[
N_H2_ELEC] = {0 , 0 , 1 , 1 , 0 , 1 , 1 };
390 { {31, 30, 28, 27, 25,
394 {25,25,25,25,25,25,25,25, 25,25,
395 25,25,25,25,25,25,25,25, 25,25,
396 25,25,25,25,25,25,25,25, 23,21,
397 19,17,15,15,11,9,7, 7},
399 { 25, 25, 25, 25, 24, 23, 21, 19, 17, 14, 12, 10, 6, 2 },
401 { 25, 25, 25, 25, 24, 23, 21, 19, 17, 15, 13, 10, 7, 2 },
403 {19,17, 14, 12, 9, 8, 7, 7, 4, 1 },
426 for( iVib=0; iVib<=
h2.
nVib_hi[iElec]; ++iVib )
428 h2.
nRot_hi[iElec][iVib] = nRot_hi_init[iElec][iVib];
467 "\n***************H2_Reset called, resetting nCallH2_this_iteration, zone %.2f iteration %li\n",