39 " start of general properties");
45 "total luminosity in incident continuum");
55 " total heating, all forms, information since individuals added later ");
58 " total cooling, all forms, information since individuals added later ");
61 " hydrogen photoionization heating, ground state only ");
64 " net hydrogen photoionization heating less rec cooling, all excited states normally zero, positive if excited states are net heating ");
67 " heating due to induced lines absorption of continuum ");
77 " total helium photoionization heating, all stages ");
81 for( nelem=2; nelem<
LIMELM; ++nelem)
92 linadd(HeatMetal,0,
"TotM",
'h',
93 " total heavy element photoionization heating, all stages ");
96 " heating due to pair production ");
111 " heating due to bound compton scattering ");
114 " Compton heating ");
117 " total Compton cooling ");
125 " cooling due to advection " );
128 " heating due to advection ");
131 " heating due to charge transfer ");
134 " cooling due to charge transfer ");
137 " cosmic ray heating ");
140 " extra heat added to this zone, from HEXTRA command ");
143 " extra cooling added to this zone, from CEXTRA command ");
150 " 511keV annihilation line " );
153 " expansion cooling, only non-zero for wind ");
156 " H radiative recombination cooling ");
159 " net free-bound cooling ");
162 " net free-bound heating ");
165 " cooling due to induced rec of hydrogen ");
168 " cyclotron cooling ");
173 for(
size_t nelem = ipISO; nelem < size_t(LIMELM); nelem++ )
175 string chLabel_base =
chIonLbl( nelem+1, nelem+1-ipISO );
177 size_t nchars =
min(
NCHLAB-1, chLabel_base.length() );
178 char chLabel_cool[
NCHLAB] = { 0 },
179 chLabel_heat[
NCHLAB] = { 0 };
180 strncpy( chLabel_cool, chLabel_base.c_str(),
NCHLAB-1 );
181 strncpy( chLabel_heat, chLabel_base.c_str(),
NCHLAB-1 );
184 chLabel_cool[ nchars ] =
'c';
185 chLabel_heat[ nchars ] =
'h';
190 " net cooling due to iso-seq species");
191 linadd(
max(0., -
iso_sp[ipISO][nelem].xLineTotCool),0, chLabel_heat,
'h',
192 " heating due to iso-seq species");
197 for(
long ipSpecies=0; ipSpecies<
nSpecies; ipSpecies++ )
201 char chLabel_cool[
NCHLAB] = { 0 },
202 chLabel_heat[
NCHLAB] = { 0 };
207 chLabel_cool[ nchars ] =
'c';
208 chLabel_heat[ nchars ] =
'h';
213 " net cooling due to database species");
215 " heating due to database species");
string chIonLbl(const TransitionProxy &t)
long int IonHigh[LIMELM+1]
void lindst(double xEmiss, realnum wavelength, const char *chLab, long int ipnt, char chInfo, bool lgOutToo, const char *chComment)
void PntForLine(double wavelength, const char *chLabel, long int *ipnt)
t_iso_sp iso_sp[NISO][LIMELM]
long int IonLow[LIMELM+1]
LinSv * linadd(double xEmiss, realnum wavelength, const char *chLab, char chInfo, const char *chComment)
sys_float safe_div(sys_float x, sys_float y, sys_float res_0by0)
double heating(long nelem, long ion)
realnum gas_phase[LIMELM]
double CompRecoilHeatLocal
#define DEBUG_ENTRY(funcname)
vector< species > dBaseSpecies
int fprintf(const Output &stream, const char *format,...)
double PairProducPhotoRate[3]
long int StuffComment(const char *chComment)