Cloudy
Spectral Synthesis Code for Astrophysics
|
#include <thermal.h>
Public Member Functions | |
const char * | chName () const |
void | zero () |
void | comment (t_warnings &) |
double | heating (long nelem, long ion) |
void | setHeating (long nelem, long ion, double heating) |
void | AddHeating (long nelem, long ion, double heating) |
Public Member Functions inherited from module | |
module () | |
virtual | ~module () |
Public Attributes | |
bool | lgPredNextTe |
bool | lgTemperatureConstant |
bool | lgTemperatureConstantCommandParsed |
realnum | ConstTemp |
realnum | ConstGrainTemp |
long int | nUnstable |
bool | lgUnstable |
realnum | thist |
realnum | tlowst |
bool | lgTeHigh |
bool | lgEdnGTcm |
bool | lgTLaw |
bool | lgTeBD96 |
realnum | T0BD96 |
realnum | SigmaBD96 |
realnum | T0SN99 |
bool | lgTeSN99 |
DepthTable | tlaw |
bool | lgTeTLaw |
realnum | collam [NCOLNT] |
double | cooling [NCOLNT] |
double | heatnt [NCOLNT] |
long int | ncltot |
char | chClntLab [NCOLNT][NCOLNT_LAB_LEN+1] |
double | elementcool [LIMELM+1] |
double | heavycollcool [LIMELM] |
double | dima |
bool | lgCNegChk |
realnum | CoolHeatMax |
realnum | wlCoolHeatMax |
char | chCoolHeatMax [NCOLNT_LAB_LEN+1] |
double | totcol |
double | ctot |
double | heatl |
double | coolheat |
double | dCooldT |
double | tsq1 |
double | halfte |
double | te_update |
bool | lgCExtraOn |
realnum | CoolExtra |
realnum | cextpw |
bool | lgCoolEvalOK |
realnum | GBarMax |
long int | ipMaxExtra |
double | char_tran_heat |
double | char_tran_cool |
double | htot |
double | power |
double | dHeatdT |
double | FreeFreeTotHeat |
realnum | HeatLineMax |
Private Attributes | |
double | m_heating [LIMELM][LIMELM] |
|
inline |
References heating(), and m_heating.
Referenced by iso_cool().
|
inlinevirtual |
Implements module.
|
inlinevirtual |
Implements module.
|
inline |
References m_heating.
Referenced by AddHeating(), DumpHeatStack(), fndstr(), GrainDrive(), GrainMakeDiffuse(), HeatSum(), highen(), IterStart(), lines(), lines_general(), lines_grains(), lines_molecules(), map_do(), PrtZone(), radius_next(), SaveDo(), SaveHeat(), and setHeating().
|
inline |
References heating(), and m_heating.
Referenced by CoolEvaluate(), CoolSum(), dBase_solve(), GrainDrive(), GrainsInit(), HeatSum(), HeatZero(), ion_photo(), ion_trim(), ion_trim2(), ion_trim_small(), ion_zero(), IterRestart(), and mole_effects().
|
virtual |
Implements module.
References char_tran_cool, char_tran_heat, CoolExtra, coolheat, CoolHeatMax, CoolZero(), ctot, DEBUG_ENTRY, FreeFreeTotHeat, heatl, HeatZero(), heavycollcool, htot, lgCExtraOn, lgCNegChk, LIMELM, power, totcol, and wlCoolHeatMax.
realnum t_thermal::cextpw |
Referenced by CoolEvaluate(), and ParseCExtra().
double t_thermal::char_tran_cool |
Referenced by ConvBase(), CoolEvaluate(), CoolSave(), lines_general(), and zero().
double t_thermal::char_tran_heat |
heating - cooling due to charge transfer ionization / recombination
Referenced by ConvBase(), HeatSum(), lines_general(), and zero().
char t_thermal::chClntLab[NCOLNT][NCOLNT_LAB_LEN+1] |
Referenced by CoolAdd(), CoolSave(), CoolSum(), dmpary(), DumpCoolStack(), fndneg(), fndstr(), map_do(), and SaveHeat().
char t_thermal::chCoolHeatMax[NCOLNT_LAB_LEN+1] |
Referenced by CoolSum(), and PrtComment().
remember strongest coolants these save arrays of line heating and cooling CoolAdd is called by n level cooling routines, and CoolAdd fills in cooling (cooling) or heating (heatnt) heatnt is always positive, although it is negative cooling
Referenced by CoolAdd(), CoolSave(), CoolSum(), dmpary(), DumpCoolStack(), fndneg(), fndstr(), map_do(), and SaveHeat().
realnum t_thermal::ConstGrainTemp |
constant grain temperature
Referenced by GrainMakeDiffuse(), GrainsInit(), GrainTemperature(), InitDefaultsPreparse(), ParseCommands(), and ParseConstant().
realnum t_thermal::ConstTemp |
three uses, temperature set with constant temperature command, initial forced temperature with force temperature command also set if temperature floor is hit
Referenced by AbundancesSet(), ConserveEnergy(), ContSetIntensity(), ConvInitSolution(), DynaIterEnd(), InitDefaultsPreparse(), iter_end_check(), IterRestart(), lgCoolNetConverge(), ParseCommands(), ParseConstant(), ParseCoronal(), ParseForceTemperature(), PrtComment(), SaveLineData(), and TempChange().
realnum t_thermal::CoolExtra |
Referenced by CoolEvaluate(), ParseCExtra(), and zero().
double t_thermal::coolheat |
realnum t_thermal::CoolHeatMax |
max of negative coolants, and a pointer to it
Referenced by CoolSum(), IterStart(), PrtComment(), and zero().
double t_thermal::cooling[NCOLNT] |
Referenced by CoolAdd(), CoolSave(), CoolSum(), CoolZero(), dmpary(), DumpCoolStack(), fndneg(), fndstr(), iso_cool(), and map_do().
double t_thermal::ctot |
cooling in this zone
Referenced by cdCooling_last(), ConvBase(), ConvEdenIoniz(), ConvFail(), ConvInitSolution(), ConvIoniz(), ConvTempEdenIoniz(), CoolEvaluate(), CoolHeatError(), CoolSave(), CoolSum(), dmpary(), DumpCoolStack(), DynaIterEnd(), DynaPrtZone(), fndstr(), GrainChargeTemp(), GrainDrive(), diatomics::H2_Cooling(), diatomics::H2_LevelPops(), diatomics::H2_PunchDo(), HeatSum(), iso_cool(), IterStart(), lgCheckMonitors(), lgConvTemp(), lgCoolHeatCheckConverge(), lgCoolNetConverge(), lines(), lines_general(), lines_molecules(), map_do(), radius_first(), radius_increment(), RT_tau_inc(), SaveDo(), SaveHeat(), and zero().
double t_thermal::dCooldT |
derivative of cooling wrt temperature
Referenced by atom_level2(), CoolEvaluate(), CoolHyperfine(), CoolZero(), dBase_solve(), iso_cool(), lgCoolNetConverge(), map_do(), and SaveDo().
double t_thermal::dHeatdT |
derivative of total heating in this zone, evaluated in SumHeat
Referenced by CoolEvaluate(), CoolHyperfine(), CoolZero(), HeatSum(), lgCoolNetConverge(), and map_do().
double t_thermal::dima |
Referenced by CoolDima(), CoolSave(), and CoolZero().
double t_thermal::elementcool[LIMELM+1] |
Referenced by atom_level2(), CoolEvaluate(), CoolSave(), CoolZero(), dBase_solve(), and iso_cool().
double t_thermal::FreeFreeTotHeat |
total free free heating integrated over model
Referenced by IterRestart(), IterStart(), lines(), PrtComment(), PrtFinal(), and zero().
realnum t_thermal::GBarMax |
value of, and pointer to, strongest g-bar cooling line
Referenced by IterStart(), lines(), and PrtComment().
double t_thermal::halfte |
Referenced by atom_level2(), CoolEvaluate(), iso_cool(), mole_effects(), Atom_LevelN::operator()(), and tfidle().
double t_thermal::heatl |
realnum t_thermal::HeatLineMax |
HeatLineMax is largest fractional heating due to lines
Referenced by IterStart(), lines_general(), and PrtComment().
double t_thermal::heatnt[NCOLNT] |
Referenced by CoolAdd(), CoolSave(), CoolSum(), CoolZero(), dmpary(), DumpCoolStack(), fndneg(), fndstr(), HeatSum(), map_do(), and SaveHeat().
double t_thermal::heavycollcool[LIMELM] |
Referenced by CoolSave(), HeatSum(), and zero().
double t_thermal::htot |
total heat input to this zone
Referenced by cdHeating_last(), ChargTranSumHeat(), ContRate(), ConvBase(), ConvFail(), ConvInitSolution(), ConvIoniz(), ConvTempEdenIoniz(), CoolEvaluate(), CoolHeatError(), CoolSave(), CoolSum(), dmpary(), DumpHeatStack(), DynaIonize(), DynaSave(), fndneg(), GrainRateDr(), diatomics::H2_LevelPops(), diatomics::H2_PunchDo(), HeatSum(), highen(), lgCheckMonitors(), lgConvTemp(), lgCoolHeatCheckConverge(), lgCoolNetConverge(), lines(), lines_general(), lines_grains(), lines_molecules(), map_do(), PrtZone(), radius_increment(), radius_next(), SaveDo(), SaveHeat(), and zero().
long int t_thermal::ipMaxExtra |
Referenced by lines(), and PrtComment().
bool t_thermal::lgCExtraOn |
info about 'extra' cooling, lgCextOn says it is on
Referenced by CoolEvaluate(), ParseCExtra(), and zero().
bool t_thermal::lgCNegChk |
flag set true during cooling map, saying to keep cool even if cooling is negative
Referenced by CoolEvaluate(), map_do(), and zero().
bool t_thermal::lgCoolEvalOK |
this flag indicates (true) that we are between when cooling was set to zero with call to CoolZero, and when final sum was used. Any call after final summation in CoolSum, where set (false), would be ignored and so is fatal error
Referenced by CoolAdd(), CoolSum(), and CoolZero().
bool t_thermal::lgEdnGTcm |
flag set if energy density of rad field greater tha compton temp - this is unphysical but could be set by users
Referenced by PrtComment(), and PrtHeader().
bool t_thermal::lgPredNextTe |
flag saying whether to use temperature predictor for next zone, in constant density models
Referenced by advection_set_default(), InitDefaultsPreparse(), ParseDont(), and ZoneStart().
bool t_thermal::lgTeBD96 |
flag to do Berltodi & Draine simple temperature law, set with tlaw bd96
Referenced by ConvTempEdenIoniz(), InitDefaultsPreparse(), and ParseTLaw().
bool t_thermal::lgTeHigh |
flag set if temperature map is from hot to cool, set with high command
Referenced by ConvInitSolution(), InitDefaultsPreparse(), map_do(), and ParseConvHighT().
bool t_thermal::lgTemperatureConstant |
normally false, is set true if constant temperature model is assumed, this can be because the temperature floor was hit
Referenced by ConserveEnergy(), ContSetIntensity(), ConvBase(), ConvInitSolution(), ConvTempEdenIoniz(), CoolEvaluate(), CoolHeatError(), DynaIterEnd(), diatomics::H2_LevelPops(), HeatSum(), InitDefaultsPreparse(), iter_end_check(), IterRestart(), lgConvTemp(), ParseConstant(), ParseCoronal(), ParseTLaw(), PrtComment(), radius_next(), RT_tau_init(), SaveLineData(), and TempChange().
bool t_thermal::lgTemperatureConstantCommandParsed |
set true when command parser sees constant temperature assumption, not set true when temperature floor is hit. distinguishes between true constant temperature sim, and one where floor was hit
Referenced by InitDefaultsPreparse(), IterRestart(), ParseConstant(), ParseCoronal(), and ParseTLaw().
bool t_thermal::lgTeSN99 |
Referenced by ConvTempEdenIoniz(), InitDefaultsPreparse(), and ParseTLaw().
bool t_thermal::lgTeTLaw |
Referenced by ConvTempEdenIoniz(), InitDefaultsPreparse(), and ParseTLaw().
bool t_thermal::lgTLaw |
flag saying that temperature law has been specified with tlaw command
Referenced by ConvTempEdenIoniz(), InitDefaultsPreparse(), and ParseTLaw().
bool t_thermal::lgUnstable |
Referenced by ConvTempEdenIoniz(), InitSimPostparse(), IterRestart(), IterStart(), PrtZone(), and radius_increment().
heating per unit vol, erg cm^-3 s^-1, heating[nelem][ion]
Referenced by AddHeating(), heating(), and setHeating().
long int t_thermal::ncltot |
Referenced by CoolAdd(), CoolSave(), CoolSum(), CoolZero(), dmpary(), DumpCoolStack(), fndneg(), fndstr(), HeatSum(), iso_cool(), map_do(), and SaveHeat().
long int t_thermal::nUnstable |
keep track of possibly thermally unstable models nUnstable is number of zones that were possibly thermally unstable lgUnstable says that current conditions possibly unstable
Referenced by InitSimPostparse(), IterRestart(), IterStart(), PrtComment(), and radius_increment().
double t_thermal::power |
total energy input over calculated structure, updated in lines
Referenced by badprt(), ConserveEnergy(), IterStart(), lines(), PrintSpectrum(), PrtComment(), PrtFinal(), and zero().
realnum t_thermal::SigmaBD96 |
the coefficient on column density for temp drop off
Referenced by ConvTempEdenIoniz(), and ParseTLaw().
realnum t_thermal::T0BD96 |
the initial temperature in their equation
Referenced by ConvTempEdenIoniz(), and ParseTLaw().
realnum t_thermal::T0SN99 |
these incorporate the Sternberg & Neufeld density/temperature relationship
Referenced by ConvTempEdenIoniz(), and ParseTLaw().
double t_thermal::te_update |
this is set to phycon.te in tfidle, is used to insure that all temp vars are properly updated when conv_ionizeopacitydo is called NB must be same type as phycon.te
Referenced by ConvBase(), and tfidle().
realnum t_thermal::thist |
remember the highest and lowest temperature that occurs in the model
Referenced by ConvPresTempEdenIoniz(), InitSimPostparse(), IterStart(), PrtComment(), and PrtFinal().
DepthTable t_thermal::tlaw |
Depth table for temperature
Referenced by ConvTempEdenIoniz(), InitDefaultsPreparse(), and ParseTLaw().
realnum t_thermal::tlowst |
Referenced by ConvPresTempEdenIoniz(), InitSimPostparse(), IterStart(), and PrtFinal().
double t_thermal::totcol |
integrated cooling over model
Referenced by IterStart(), lines(), PrintSpectrum(), PrtComment(), PrtFinal(), and zero().
double t_thermal::tsq1 |
derivative of cooling, 1/te^2, .5/T
Referenced by atom_level2(), iso_cool(), mole_effects(), Atom_LevelN::operator()(), and tfidle().
realnum t_thermal::wlCoolHeatMax |
Referenced by CoolSum(), PrtComment(), and zero().