52 for( nelem=ipISO; nelem <
LIMELM; nelem++ )
54 if(
dense.lgElmtOn[nelem] )
59 for( ipLo=0; ipLo <
iso_sp[ipISO][nelem].numLevels_max; ipLo++ )
65 for( ipHi=1; ipHi <
iso_sp[ipISO][nelem].numLevels_max; ipHi++ )
67 for( ipLo=0; ipLo < ipHi; ipLo++ )
69 iso_sp[ipISO][nelem].trans(ipHi,ipLo).Zero();
72 for( ipHi=2; ipHi <
iso_ctrl.nLyman[ipISO]; ipHi++ )
101 for( i=0; i <
nUTA; i++ )
106 double hsave =
UTALines[i].Coll().heat();
118 for(
long ipSpecies=0; ipSpecies<
nSpecies; ipSpecies++ )
133 (*diatom)->H2_LineZero();
172 opac.TauScatGeo[1][i] =
opac.taumin;
173 opac.TauTotalGeo[1][i] =
opac.taumin;
180 opac.TauScatGeo[1][i] =
opac.taumin;
181 opac.TauTotalGeo[1][i] =
opac.TauAbsGeo[1][i] +
opac.TauScatGeo[1][i];
198 opac.TauScatGeo[1][i] =
opac.taumin;
199 opac.TauTotalGeo[1][i] =
opac.TauAbsGeo[1][i] +
opac.TauScatGeo[1][i];
211 opac.TauScatGeo[1][i] =
opac.taumin;
212 opac.TauTotalGeo[1][i] =
opac.taumin;
218 opac.TauScatGeo[1][i] =
opac.taumin;
219 opac.TauTotalGeo[1][i] =
opac.TauAbsGeo[1][i] +
opac.TauScatGeo[1][i];
230 opac.TauAbsGeo[1][i] =
opac.taumin*2.f;
231 opac.TauScatGeo[0][i] =
opac.taumin;
232 opac.TauScatGeo[1][i] =
opac.taumin*2.f;
233 opac.TauTotalGeo[0][i] = 2.f*
opac.taumin;
234 opac.TauTotalGeo[1][i] = 4.f*
opac.taumin;
239 opac.TauAbsGeo[0][i] =
opac.TauAbsGeo[1][i];
240 opac.TauAbsGeo[1][i] *= 2.;
241 opac.TauScatGeo[0][i] =
opac.TauScatGeo[1][i];
242 opac.TauScatGeo[1][i] *= 2.;
243 opac.TauTotalGeo[0][i] =
opac.TauTotalGeo[1][i];
244 opac.TauTotalGeo[1][i] *= 2.;
256 if( !
thermal.lgTemperatureConstant )
291 for( nelem=0; nelem <
LIMELM; nelem++ )
293 if(
dense.lgElmtOn[nelem] )
296 AbunRatio =
dense.gas_phase[nelem]/
dense.xNucleiTotal;
299 for( ipHi=ipLo + 1; ipHi <
iso_sp[
ipH_LIKE][nelem].numLevels_max; ipHi++ )
316 for( nHi=3; nHi<=
iso_sp[
ipH_LIKE][nelem].n_HighestResolved_max; nHi++ )
392 rt.TAddHLya =
opac.tlamin;
401 for( nHi=3; nHi<=
iso_sp[ipISO][nelem].n_HighestResolved_max; nHi++ )
403 ipHi =
iso_sp[ipISO][nelem].QuantumNumbers2Index[nHi][1][2];
440 3.7e4*BalmerTauOn*AbunRatio + 1e-20);
443 3.7e4*BalmerTauOn*AbunRatio + 1e-20);
446 3.7e4*BalmerTauOn*AbunRatio + 1e-20);
452 balc =
rfield.qhtot*2.1e-19*BalmerTauOn*AbunRatio + 1e-20;
455 (
realnum)(
MIN2(2e5, balc*3.7e4*BalmerTauOn+1e-20));
458 (
realnum)(
MIN2(2e5, balc*3.7e4*BalmerTauOn+1e-20));
461 (
realnum)(
MIN2(2e5, balc*3.7e4*BalmerTauOn+1e-20));
474 for( ipHi=ipLo + 1; ipHi <
iso_sp[
ipH_LIKE][nelem].numLevels_max; ipHi++ )
487 long ipISO =
ipH_LIKE, ipNS, ipNPlusOneP;
491 if( (
N_(ipLo) + 1 ) <=
494 ipNPlusOneP =
iso_sp[
ipH_LIKE][nelem].QuantumNumbers2Index[
N_(ipLo)+1 ][1][2];
498 ipNPlusOneP = ipNS + 1;
503 ipNPlusOneP = ipNS + 1;
506 if(
iso_sp[
ipH_LIKE][nelem].trans(ipNPlusOneP,ipNS).ipCont() <= 0 )
512 f =
iso_sp[
ipH_LIKE][nelem].trans(ipNPlusOneP,ipNS).Emis().TauTot()/
517 for( ipHi=ipLo + 1; ipHi <
iso_sp[
ipH_LIKE][nelem].numLevels_max; ipHi++ )
531 for( ipHi=ipLo + 1; ipHi <
iso_sp[
ipH_LIKE][nelem].numLevels_max; ipHi++ )
558 if(
dense.lgElmtOn[nelem] )
560 for( ipLo=0; ipLo < (
iso_sp[
ipHE_LIKE][nelem].numLevels_max - 1); ipLo++ )
562 for( ipHi=ipLo + 1; ipHi <
iso_sp[
ipHE_LIKE][nelem].numLevels_max; ipHi++ )
576 for( nelem=1; nelem <
LIMELM; nelem++ )
578 if(
dense.lgElmtOn[nelem] )
627 for( nelem=0; nelem <
LIMELM; nelem++ )
629 if(
dense.lgElmtOn[nelem] )
633 for( ipHi=ipLo + 1; ipHi <
iso_sp[
ipH_LIKE][nelem].numLevels_max; ipHi++ )
642 "RT_tau_init insanity for h line, Z=%li lo=%li hi=%li tot=%g in=%g \n",
643 nelem , ipLo, ipHi ,
iso_sp[
ipH_LIKE][nelem].trans(ipHi,ipLo).Emis().TauTot() ,
653 fprintf(
ioQQQ,
" stopping due to insanity in RT_tau_init\n");
660 rt.tauxry =
opac.TauAbsGeo[0][
rt.ipxry-1];
664 conv.lgOscilOTS =
false;
669 conv.lgFirstSweepThisZone =
true;
680 if(
trace.lgIsoTraceFull[ipISO] )
683 fprintf(
ioQQQ,
"\n\n up TauTot array as set in RT_tau_init ipZTrace (nelem)= %ld\n",
685 long upper_limit =
iso_sp[ipISO][
trace.ipIsoTrace[ipISO] ].numLevels_local;
686 for( ipHi=2; ipHi < upper_limit; ipHi++ )
688 fprintf(
ioQQQ,
" %3ld", ipHi );
689 for( ipLo=
ipH1s; ipLo < ipHi; ipLo++ )
697 fprintf(
ioQQQ,
"\n" );
700 fprintf(
ioQQQ,
"\n\n TauIn array\n" );
701 for( ipHi=1; ipHi < upper_limit; ipHi++ )
703 fprintf(
ioQQQ,
" %3ld", ipHi );
704 for( ipLo=
ipH1s; ipLo < ipHi; ipLo++ )
712 fprintf(
ioQQQ,
"\n" );
715 fprintf(
ioQQQ,
"\n\n Aul As array\n" );
716 for( ipHi=1; ipHi < upper_limit; ipHi++ )
718 fprintf(
ioQQQ,
" %3ld", ipHi );
719 for( ipLo=
ipH1s; ipLo < ipHi; ipLo++ )
727 fprintf(
ioQQQ,
"\n" );
730 fprintf(
ioQQQ,
"\n\n Aul*esc array\n" );
731 for( ipHi=1; ipHi < upper_limit; ipHi++ )
733 fprintf(
ioQQQ,
" %3ld", ipHi );
734 for( ipLo=
ipH1s; ipLo < ipHi; ipLo++ )
745 fprintf(
ioQQQ,
"\n" );
748 fprintf(
ioQQQ,
"\n\n H opac array\n" );
749 for( ipHi=1; ipHi < upper_limit; ipHi++ )
751 fprintf(
ioQQQ,
" %3ld", ipHi );
752 for( ipLo=
ipH1s; ipLo < ipHi; ipLo++ )
760 fprintf(
ioQQQ,
"\n" );
766 fprintf(
ioQQQ,
" RT_tau_init called.\n" );