31#if defined (__ICC) && defined(__ia64) && __INTEL_COMPILER < 910
32#pragma optimization_level 0
100 for(
long nelem=ipISO; nelem <
LIMELM; nelem++ )
117 for(
long ipLo=0; ipLo < ipHi; ipLo++ )
136 const bool lgDoChecks =
false;
148 for( vector<two_photon>::iterator tnu = sp->
TwoNu.begin(); tnu != sp->
TwoNu.end(); ++tnu )
152 for( nu=0; nu < tnu->ipTwoPhoE; nu++ )
164 enum {DEBUG_LOC=
false};
167 fprintf(
ioQQQ,
"Two-photon emission coefficients - ipISO, nelem = %2li, %2li\n", ipISO, nelem );
176 for(
long nelem=
NISO; nelem <
LIMELM; nelem++ )
179 for(
long ion=0; ion < nelem-
NISO+1; ion++ )
190 long int ns, nshell,igRec , igIon,
210 gion = (double)igIon;
214 ASSERT( ns == (nshell-1) );
231 for( nu=iplow; nu < iphi; ++nu )
275 for( nu=0; nu < limit; nu++ )
277 double TotBremsAllIons = 0., BremsThisIon;
294 TotBremsAllIons += BremsThisIon;
309 TotBremsAllIons += BremsThisIon;
317 ASSERT( TotBremsAllIons >= 0.);
397 for(
long i=1; i <=
nLevel1; i++ )
402 for(
long nelem = ipISO; nelem <
LIMELM; nelem++ )
409 (*tr).Emis().phots() =
412 ((*tr).Emis().Pesc()+
413 (*tr).Emis().Pelec_esc());
415 (*tr).outline_resonance();
429 enum {DEBUG_LOC=
false};
430 if( DEBUG_LOC && i==4821 )
433 fprintf(
ioQQQ,
"DEBUG dump lev2 line %li\n", i );
435 fprintf(
ioQQQ,
"DEBUG dump %.3e %.3e %.3e\n",
450 HFLines[i].outline_resonance();
454 for(
long ipSpecies=0; ipSpecies<
nSpecies; ipSpecies++ )
461 int ipHi = (*tr).ipHi();
462 if (ipHi >=
dBaseSpecies[ipSpecies].numLevels_local || (*tr).ipCont() <= 0)
464 (*tr).outline_resonance();
471 (*diatom)->H2_RT_diffuse();
479 fprintf(
ioQQQ,
" RT_diffuse returns.\n" );
555 {0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0},
556 {0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0} };
565 double SumCaseB = 0.;
582 double Sum1level = 0.;
583 sp->
fb[n].RadRecCon = 0.;
584 sp->
fb[n].RadRecCoolCoef = 0.;
592 for(
long nu=sp->
fb[n].ipIsoLevNIonCon-1; nu < ipHi; nu++ )
600 double arg = (
rfield.
anu[nu]-sp->
fb[n].xIsoLevNIonRyd+
618 if( lgUpdateContinuum )
635 double energyAboveThresh =
rfield.
anu[nu] - sp->
fb[n].xIsoLevNIonRyd;
636 energyAboveThresh =
MAX2( 0., energyAboveThresh );
637 sp->
fb[n].RadRecCoolCoef += energyAboveThresh * photon *
648 SumCaseB += Sum1level;
655 sp->
fb[n].RadRecCon = 0.;
656 sp->
fb[n].RadRecCoolCoef = 0.;
void atmdat_outer_shell(long int iz, long int in, long int *imax, long int *ig0, long int *ig1)
sys_float safe_div(sys_float x, sys_float y, sys_float res_0by0)
bool fp_equal(sys_float x, sys_float y, int n=3)
#define DEBUG_ENTRY(funcname)
vector< realnum > GrainEmission
void outline(double nonScatteredFraction, bool lgDoChecks) const
EmissionList::reference Emis() const
TransitionProxy trans(const long ipHi, const long ipLo)
vector< two_photon > TwoNu
valarray< class molezone > species
void GrainMakeDiffuse(void)
vector< diatomics * > diatoms
vector< diatomics * >::iterator diatom_iter
t_iso_sp iso_sp[NISO][LIMELM]
double emergent_line(double emissivity_in, double emissivity_out, long int ipCont)
t_mole_global mole_global
UNUSED const double EN1RYD
UNUSED const double MILNE_CONST
UNUSED const double TE1RYD
void RT_iso_integrate_RRC(const long ipISO, const long nelem, const bool lgUpdateContinuum)
long int ipLyHeavy[LIMELM][LIMELM-1]
long int nsShells[LIMELM][LIMELM]
double RadRecCon[LIMELM][LIMELM]
long int ipBalHeavy[LIMELM][LIMELM-1]
realnum xLyaHeavy[LIMELM][LIMELM]
long int ipHeavy[LIMELM][LIMELM]
long int IonLow[LIMELM+1]
long int IonHigh[LIMELM+1]
double xIonDense[LIMELM][LIMELM+1]
long int ipElement[LIMELM][LIMELM][7][3]
realnum * DiffuseLineEmission
realnum * flux_beam_const
realnum * OccNumbDiffCont
realnum ** ConSourceFcnLocal
vector< vector< TransitionList > > SatelliteLines
TransitionList TauLine2("TauLine2", &AnonStates)
vector< TransitionList > dBaseTrans
TransitionList HFLines("HFLines", &AnonStates)
multi_arr< int, 3 > ipSatelliteLines
TransitionList TauLines("TauLines", &AnonStates)
void DumpLine(const TransitionProxy &t)
void CalcTwoPhotonEmission(two_photon &tnu, bool lgDoInduced)
void PrtTwoPhotonEmissCoef(const two_photon &tnu, const double &densityProduct)