34 fprintf(
ioQQQ,
" UPDATE estimating new optical depths\n" );
37 fprintf(
ioQQQ,
" New Hydrogen outward optical depths:\n" );
40 fprintf(
ioQQQ,
"%3ld", ipHi );
41 for( ipLo=0; ipLo < ipHi; ipLo++ )
44 fprintf(
ioQQQ,
"%10.2e", 1e-30 );
46 fprintf(
ioQQQ,
"%10.2e",
49 fprintf(
ioQQQ,
"\n" );
55 for( i=0; i<
NCOLD; ++i )
61 mole.species[i].column_old =
mole.species[i].column;
70 for( nelem=ipISO; nelem <
LIMELM; nelem++ )
72 if(
dense.lgElmtOn[nelem] )
76 for( ipHi=0; ipHi <
iso_sp[ipISO][nelem].numLevels_max; ipHi++ )
82 for( ipHi=1; ipHi <
iso_sp[ipISO][nelem].numLevels_max; ipHi++ )
85 for( ipLo=0; ipLo < ipHi; ipLo++ )
87 enum {DEBUG_LOC=
false};
90 if( ipISO==1 && nelem==1 && ipHi==
iso_ctrl.nLyaLevel[ipISO] && ipLo==0 )
91 fprintf(
ioQQQ,
"DEBUG rt before loop %li %li %li %li tot %.3e in %.3e\n",
92 ipISO, nelem, ipHi , ipLo ,
93 iso_sp[ipISO][nelem].trans(
iso_ctrl.nLyaLevel[ipISO],0).Emis().TauTot() ,
94 iso_sp[ipISO][nelem].trans(
iso_ctrl.nLyaLevel[ipISO],0).Emis().TauIn());
101 if( ipISO==1 && nelem==1 && ipHi==
iso_ctrl.nLyaLevel[ipISO] && ipLo==0 )
102 fprintf(
ioQQQ,
"DEBUG rt after loop %li %li %li %li tot %.3e in %.3e\n",
103 ipISO, nelem, ipHi , ipLo ,
104 iso_sp[ipISO][nelem].trans(
iso_ctrl.nLyaLevel[ipISO],0).Emis().TauTot() ,
105 iso_sp[ipISO][nelem].trans(
iso_ctrl.nLyaLevel[ipISO],0).Emis().TauIn());
110 for( ipHi=
iso_sp[ipISO][nelem].st[
iso_sp[ipISO][nelem].numLevels_local-1].n()+1; ipHi <
iso_ctrl.nLyman[ipISO]; ipHi++ )
125 for( nelem=0; nelem <
LIMELM; nelem++ )
127 if(
dense.lgElmtOn[nelem] )
138 for( ipHi=3; ipHi <
iso_sp[
ipH_LIKE][nelem].numLevels_max; ipHi++ )
155 for( nelem=1; nelem <
LIMELM; nelem++ )
157 if(
dense.lgElmtOn[nelem] )
235 for (
int ipSpecies=0; ipSpecies <
nSpecies; ++ipSpecies)
238 em !=
dBaseTrans[ipSpecies].Emis().end(); ++em)
245 for( i=0; i <
nUTA; i++ )
250 double hsave =
UTALines[i].Coll().heat();
257 (*diatom)->H2_RT_tau_reset();
264 for( i=0; i <
rfield.nupper; i++ )
269 opac.TauAbsGeo[0][i] =
opac.TauAbsGeo[1][i]/2.f;
271 opac.TauScatGeo[0][i] =
opac.TauScatGeo[1][i]/2.f;
277 for( i=0; i <
rfield.nupper; i++ )
281 opac.TauAbsGeo[1][i] = 2.f*
opac.TauAbsFace[i];
282 opac.TauAbsGeo[0][i] =
opac.TauAbsFace[i];
283 opac.TauScatGeo[1][i] = 2.f*
opac.TauScatFace[i];
284 opac.TauScatGeo[0][i] =
opac.TauScatFace[i];
285 opac.TauTotalGeo[1][i] =
opac.TauScatGeo[1][i] +
opac.TauAbsGeo[1][i];
286 opac.TauTotalGeo[0][i] =
opac.TauScatGeo[0][i] +
opac.TauAbsGeo[0][i];
292 for( i=0; i <
rfield.nupper; i++ )
294 opac.TauTotalGeo[1][i] =
opac.TauTotalGeo[0][i];
295 opac.TauTotalGeo[0][i] =
opac.taumin;
296 opac.TauAbsGeo[1][i] =
opac.TauAbsGeo[0][i];
298 opac.TauScatGeo[1][i] =
opac.TauScatGeo[0][i];
299 opac.TauScatGeo[0][i] =
opac.taumin;
304 for( i=0; i <
rfield.nupper; i++ )
307 opac.TauAbsTotal[i] =
opac.TauAbsFace[i];
317 rt.tauxry =
opac.TauAbsGeo[0][
rt.ipxry-1];