38 double DepartCoefInv ,
63 for( ion=0; ion<nelem+1; ++ion )
79 for( i=loop_min; i < loop_max; i++ )
100 static double *TotBremsAllIons;
101 static bool lgFirstTime=
true;
102 double BremsThisEner,bfac, sumion[
LIMELM+1];
103 long int ion_lo , ion_hi;
115 for(ion=1; ion<=
LIMELM; ++ion )
126 sumion[ion] *=
POW2((
double)ion)*bfac;
147 while( sumion[ion_lo]==0 && ion_lo<
LIMELM-1 )
150 while( sumion[ion_hi]==0 && ion_hi>0 )
173 for(ion=ion_lo; ion<=ion_hi; ++ion )
175 BremsThisEner += sumion[ion]*
rfield.
gff[ion][i];
178 TotBremsAllIons[i] = BremsThisEner;
241 for( vector< diss_tran >::iterator tran = (*diatom)->Diss_Trans.begin(); tran != (*diatom)->Diss_Trans.end(); ++tran )
243 long lower_limit =
ipoint(tran->energies[0]);
244 long upper_limit =
ipoint(tran->energies.back());
246 for(i = lower_limit; i <= upper_limit; ++i)
268 for( i=0; i < limit; i++ )
296 hydro.lgHLyaMased =
true;
392 for( nelem=ipISO; nelem <
LIMELM; nelem++ )
413 long int ip =
iso_sp[ipISO][nelem].
fb[n].ipIsoLevNIonCon;
417 iso_sp[ipISO][nelem].fb[n].ipOpac );
419 iso_sp[ipISO][nelem].
fb[n].ConOpacRatio = 1.-
420 (
iso_sp[ipISO][nelem].
st[n].Pop()*t2)/
425 iso_sp[ipISO][nelem].
fb[n].ConOpacRatio = 0.;
447 fac = 1./
iso_sp[ipISO][nelem].
fb[n].DepartCoef;
470 long int ip =
iso_sp[ipISO][nelem].
fb[n].ipIsoLevNIonCon;
475 iso_sp[ipISO][nelem].fb[n].ipOpac );
477 double opacity_this_species =
478 iso_sp[ipISO][nelem].
st[n].Pop()*t2*
481 double opacity_fraction = 1. - opacity_this_species /
opac.
opacity_abs[ip-1];
482 if(opacity_fraction < 0)
483 opacity_fraction = 0.;
486 iso_sp[ipISO][nelem].
fb[n].ConOpacRatio =
487 iso_sp[ipISO][nelem].
fb[n].ConOpacRatio* 0.75 + 0.25*opacity_fraction;
489 if(
iso_sp[ipISO][nelem].fb[n].ConOpacRatio < 0.)
490 iso_sp[ipISO][nelem].
fb[n].ConOpacRatio = 0.;
494 iso_sp[ipISO][nelem].
fb[n].ConOpacRatio = 0.;
499 iso_sp[ipISO][nelem].
fb[n].ConOpacRatio = 0.;
504 iso_sp[ipISO][nelem].
fb[n].ConOpacRatio = 0.;
546 fprintf(
ioQQQ,
" OpacityAddTotal returns; grd rec eff (opac) for Hn=1,4%10.2e%10.2e%10.2e%10.2e%10.2e%10.2e%10.2e%10.2e%10.2e%10.2e HeI,II:%10.2e%10.2e\n",
563 enum {DEBUG_LOC=
false};
564 if( DEBUG_LOC && (
nzone>=378) )
570 fprintf(
ioQQQ,
"rtotsbugggg\t%li\t%.3e\t%.3e\t%.3e\t%.3e\n",
double csphot(long int inu, long int ithr, long int iofset)
#define DEBUG_ENTRY(funcname)
long ip_photo_opac_offset
long ip_photo_opac_thresh
long int nCompRecoilElec[LIMELM]
valarray< class molezone > species
long ipoint(double energy_ryd)
vector< diatomics * > diatoms
diatomics h2("h2", 4100., &hmi.H2_total, Yan_H2_CS)
vector< diatomics * >::iterator diatom_iter
t_iso_sp iso_sp[NISO][LIMELM]
t_mole_global mole_global
molezone * findspecieslocal(const char buf[])
void OpacityAdd1Element(long int ipZ)
void OpacityAdd1Subshell(long int ipOpac, long int ipLowLim, long int ipUpLim, realnum abundance, char chStat)
void OpacityZeroOld(void)
void OpacityAddTotal(void)
UNUSED const double TE1RYD
double xIonDense[LIMELM][LIMELM+1]
realnum gas_phase[LIMELM]