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++ )
180 for(
long ion=
dense.
IonLow[nelem]; ion < nelem-NISO+1; ion++ )
184 long int ns, nshell,igRec , igIon,
204 gion = (double)igIon;
208 ASSERT( ns == (nshell-1) );
226 for( nu=iplow; nu < iphi; ++nu )
270 for( nu=0; nu < limit; nu++ )
272 double TotBremsAllIons = 0., BremsThisIon;
289 TotBremsAllIons += BremsThisIon;
304 TotBremsAllIons += BremsThisIon;
312 ASSERT( TotBremsAllIons >= 0.);
395 for(
long i=1; i <=
nLevel1; i++ )
400 for(
long nelem = ipISO; nelem <
LIMELM; nelem++ )
407 (*tr).Emis().phots() =
410 ((*tr).Emis().Pesc()+
411 (*tr).Emis().Pelec_esc());
413 (*tr).outline_resonance();
427 enum {DEBUG_LOC=
false};
428 if( DEBUG_LOC && i==4821 )
431 fprintf(
ioQQQ,
"DEBUG dump lev2 line %li\n", i );
433 fprintf(
ioQQQ,
"DEBUG dump %.3e %.3e %.3e\n",
448 HFLines[i].outline_resonance();
452 for(
long ipSpecies=0; ipSpecies<
nSpecies; ipSpecies++ )
459 int ipHi = (*tr).ipHi();
460 if (ipHi >=
dBaseSpecies[ipSpecies].numLevels_local || (*tr).ipCont() <= 0)
462 (*tr).outline_resonance();
469 (*diatom)->H2_RT_diffuse();
477 fprintf(
ioQQQ,
" RT_diffuse returns.\n" );
553 {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},
554 {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} };
563 double SumCaseB = 0.;
580 double Sum1level = 0.;
581 sp->
fb[n].RadRecCon = 0.;
582 sp->
fb[n].RadRecCoolCoef = 0.;
590 for(
long nu=sp->
fb[n].ipIsoLevNIonCon-1; nu < ipHi; nu++ )
598 double arg = (
rfield.
anu[nu]-sp->
fb[n].xIsoLevNIonRyd+
616 if( lgUpdateContinuum )
633 double energyAboveThresh =
rfield.
anu[nu] - sp->
fb[n].xIsoLevNIonRyd;
634 energyAboveThresh =
MAX2( 0., energyAboveThresh );
635 sp->
fb[n].RadRecCoolCoef += energyAboveThresh * photon *
646 SumCaseB += Sum1level;
653 sp->
fb[n].RadRecCon = 0.;
654 sp->
fb[n].RadRecCoolCoef = 0.;
realnum ** ConSourceFcnLocal
double RadRecCon[LIMELM][LIMELM]
t_mole_global mole_global
void DumpLine(const TransitionProxy &t)
long int ipElement[LIMELM][LIMELM][7][3]
void GrainMakeDiffuse(void)
long int ipEnergyBremsThin
multi_arr< int, 3 > ipSatelliteLines
realnum * DiffuseLineEmission
realnum xLyaHeavy[LIMELM][LIMELM]
TransitionList HFLines("HFLines",&AnonStates)
TransitionList TauLine2("TauLine2",&AnonStates)
double xIonDense[LIMELM][LIMELM+1]
t_iso_sp iso_sp[NISO][LIMELM]
bool fp_equal(sys_float x, sys_float y, int n=3)
void RT_iso_integrate_RRC(const long ipISO, const long nelem, const bool lgUpdateContinuum)
vector< two_photon > TwoNu
long int nsShells[LIMELM][LIMELM]
vector< realnum > GrainEmission
void PrtTwoPhotonEmissCoef(const two_photon &tnu, const double &densityProduct)
EmissionList::reference Emis() const
long int IonHigh[LIMELM+1]
valarray< class molezone > species
vector< diatomics * > diatoms
sys_float safe_div(sys_float x, sys_float y, sys_float res_0by0)
vector< vector< TransitionList > > SatelliteLines
void atmdat_outer_shell(long int iz, long int in, long int *imax, long int *ig0, long int *ig1)
TransitionProxy trans(const long ipHi, const long ipLo)
long int ipLyHeavy[LIMELM][LIMELM-1]
long int IonLow[LIMELM+1]
long int ipBalHeavy[LIMELM][LIMELM-1]
TransitionList TauLines("TauLines",&AnonStates)
void outline(double nonScatteredFraction, bool lgDoChecks) const
#define DEBUG_ENTRY(funcname)
realnum * OccNumbDiffCont
double emergent_line(double emissivity_in, double emissivity_out, long int ipCont)
vector< TransitionList > dBaseTrans
realnum * flux_beam_const
void CalcTwoPhotonEmission(two_photon &tnu, bool lgDoInduced)
vector< diatomics * >::iterator diatom_iter
long int ipHeavy[LIMELM][LIMELM]