65         double save_he2rec_dest;
 
  110                         enum {DEBUG_LOC=
false};
 
  113                                 fprintf(
ioQQQ,
"DEBUG HeII Bowen nzone %li bwnfac:%.2e bwnfac esc:%.2e ots660 %.2e\n",
 
  150                 for( nelem=ipISO; nelem < 
LIMELM; nelem++ )
 
  166                                         for( ipLo=0; ipLo < ipHi; ipLo++ )
 
  171                                                 if( 
iso_sp[ipISO][nelem].trans(ipHi,ipLo).ipCont() < 1 ||
 
  172                                                         iso_sp[ipISO][nelem].trans(ipHi,ipLo).Emis().Pdest()<= 
DEST0 )
 
  178                                                         iso_sp[ipISO][nelem].
st[ipHi].Pop()*
 
  181                                                 ASSERT( 
iso_sp[ipISO][nelem].trans(ipHi,ipLo).Emis().ots() >= 0. );
 
  191                                                                 iso_sp[ipISO][nelem].trans(ipHi,ipLo).ipCont() );
 
  198                                         enum {DEBUG_LOC=
false};
 
  203                                                 if( ipISO==0 && nelem==0  && 
nzone>500  ) 
 
  208                                                         fprintf(
ioQQQ,
"DEBUG hlyaots\t%.2f\tEdenTrue\t%.2e\t%.2e\t%.2e\t%.2e\t%.2e\t%.2e\t%.2e\n",
 
  213                                                                 iso_sp[ipISO][nelem].
st[ipHi].Pop(),
 
  234                                         ASSERT( cont_phot_destroyed >= 0. );
 
  241                                                 enum {DEBUG_LOC=
false};
 
  243                                                 if( DEBUG_LOC && 
nzone > 400 && nelem==0 && n==2 )
 
  245                                                         long ip = 
iso_sp[ipISO][nelem].
fb[n].ipIsoLevNIonCon-1;
 
  246                                                         fprintf(
ioQQQ,
"hotsdebugg\t%.3f\t%li\th con ots\t%.2e\t%.2e\t%.2e\t%.2e\t%.2e\t%.2e\t%.2e\n",
 
  249                                                                 iso_sp[ipISO][nelem].st[n].Pop(),
 
  264                 enum {DEBUG_LOC=
false};
 
  268                         fprintf(
ioQQQ,
"hotsdebugg %li \t%.2e\t%.2e\t%.2e\t%.2e\t%.2e\t%.2e\t%.2e\n",
 
  294                 fprintf(
ioQQQ,
"     RT_OTS Pdest %.2e ots rate %.2e in otslin %.2e con opac %.2e\n",
 
  304         for( nelem=NISO; nelem < 
LIMELM; nelem++ )
 
  309                 for( ion=0; ion < nelem+1-
NISO; ion++ )
 
  323                                 ots = difflya*
MAX2(0.f,1.f-esc);
 
  341                                 ots = difflya*
MAX2(0.f,1.f-esc);
 
  364         for( 
long ipSpecies=0; ipSpecies<
nSpecies; ipSpecies++ )
 
  371                                 int ipHi = (*tr).ipHi();
 
  372                                 if (ipHi >= 
dBaseSpecies[ipSpecies].numLevels_local || (*tr).ipCont() <= 0)
 
  374                                 (*tr).Emis().ots() = (*(*tr).Hi()).Pop() * (*tr).Emis().Aul() * (*tr).Emis().Pdest();
 
  383                 (*diatom)->H2_RT_OTS();
 
  420                 enum {DEBUG_LOC=
false};
 
  421                 if( DEBUG_LOC &&  ip== 2363 )
 
  423                         fprintf(
ioQQQ,
"DEBUG ots, opc, otsr %.3e\t%.3e\t%.3e\t",
 
  495                 for( 
long nelem=ipISO; nelem < 
LIMELM; nelem++ )
 
  501                                 for( vector<two_photon>::iterator tnu = sp->
TwoNu.begin(); tnu != sp->
TwoNu.end(); ++tnu )
 
  504                                         for( 
long nu=0; nu < tnu->ipTwoPhoE; nu++ )
 
  608         static long int nInsane=0;
 
  611         const int LIM_INSAME_PRT = 30;
 
  633                                 if( nInsane < LIM_INSAME_PRT )
 
  635                                         fprintf( 
ioQQQ, 
" PROBLEM RT_OTS_ChkSum insane SummedDif at energy %.5e error= %.2e i=%4ld\n", 
 
  639                                         fprintf( 
ioQQQ, 
" otscon otslin ConInterOut outlin are%11.4e%11.4e%11.4e%11.4e\n", 
 
  642                                         fprintf( 
ioQQQ, 
" line continuum here are %4.4s %4.4s\n", 
 
  658                                 if( nInsane < LIM_INSAME_PRT )
 
  660                                         fprintf( 
ioQQQ, 
" PROBLEM RT_OTS_ChkSum %3ld, insane SummedCon at energy %.5e error=%.2e i=%ld\n", 
 
  664                                         fprintf( 
ioQQQ, 
" otscon otslin ConInterOut outlin flux are%.4e %.4e %.4e %.4e %.4e\n", 
 
  677                 fprintf( 
ioQQQ, 
" PROBLEM RT_OTS_ChkSum too much insanity to continue.\n");
 
  698         ASSERT( chFlag==
'l' || chFlag==
'c' || chFlag==
'b' );
 
  712         if( chFlag == 
'c' || chFlag == 
'b' )
 
  714                 fprintf( 
ioQQQ, 
"     DEBUG OTSCON array, anu, otscon, opac, OTS*opac limit:%.2e zone:%.2f IonConv?%c\n",
 
  736         if( chFlag == 
'l' || chFlag == 
'b' )
 
  738                 fprintf( 
ioQQQ, 
"DEBUG density He %.2e He+2 %.2e O+2 %.2e\n",
 
  741                 fprintf( 
ioQQQ, 
"     DEBUG OTSLIN array, anu, otslin, opac, OTS*opac Lab nLine limit:%.2e zone:%.2f IonConv?%c\n",
 
  748                                 fprintf( 
ioQQQ, 
"     %4ld%12.4e%12.4e%12.4e%12.4e %s %3li\n", 
 
void RT_OTS_ChkSum(long int ipPnt)
void RT_OTS_Update(double *SumOTS)
realnum * ConOTS_local_OTS_rate
long int ipEnergyBremsThin
NORETURN void TotalInsanity(void)
STATIC void RT_OTS_AddCont(realnum ots, long int ip)
vector< string > chContLabel
long int IonHigh[LIMELM+1]
void RT_OTS_PrtRate(double weak, int chFlag)
realnum xLyaHeavy[LIMELM][LIMELM]
static int nOTS_Line_type
molezone * findspecieslocal(const char buf[])
realnum * ConOTS_local_photons
TransitionList TauLine2("TauLine2",&AnonStates)
double anu(size_t i) const 
void resetCoarseTransCoef()
t_iso_sp iso_sp[NISO][LIMELM]
long int nflux_with_check
double xIonDense[LIMELM][LIMELM+1]
vector< two_photon > TwoNu
EmissionList::reference Emis() const 
vector< diatomics * > diatoms
void RT_OTS_AddLine(double ots, long int ip)
vector< string > chLineLabel
TransitionProxy trans(const long ipHi, const long ipLo)
realnum gas_phase[LIMELM]
long int ipLyHeavy[LIMELM][LIMELM-1]
long int ipBalHeavy[LIMELM][LIMELM-1]
#define DEBUG_ENTRY(funcname)
vector< species > dBaseSpecies
int fprintf(const Output &stream, const char *format,...)
vector< TransitionList > dBaseTrans
void CalcTwoPhotonEmission(two_photon &tnu, bool lgDoInduced)
vector< diatomics * >::iterator diatom_iter