cloudy
trunk
|
#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 () |
Data Fields | |
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 |
Definition at line 194 of file thermal.h.
References heating(), and m_heating.
Referenced by iso_cool().
|
inlinevirtual |
|
inlinevirtual |
|
inline |
Definition at line 186 of file thermal.h.
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 |
Definition at line 190 of file thermal.h.
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.
Definition at line 8 of file thermal.cpp.
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 |
Definition at line 152 of file thermal.h.
Referenced by CoolEvaluate(), and ParseCExtra().
double t_thermal::char_tran_cool |
Definition at line 166 of file thermal.h.
Referenced by ConvBase(), CoolEvaluate(), CoolSave(), lines_general(), and zero().
double t_thermal::char_tran_heat |
heating - cooling due to charge transfer ionization / recombination
Definition at line 166 of file thermal.h.
Referenced by ConvBase(), HeatSum(), lines_general(), and zero().
char t_thermal::chClntLab[NCOLNT][NCOLNT_LAB_LEN+1] |
Definition at line 108 of file thermal.h.
Referenced by CoolAdd(), CoolSave(), CoolSum(), dmpary(), DumpCoolStack(), fndneg(), fndstr(), map_do(), and SaveHeat().
char t_thermal::chCoolHeatMax[NCOLNT_LAB_LEN+1] |
Definition at line 127 of file thermal.h.
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
Definition at line 103 of file thermal.h.
Referenced by CoolAdd(), CoolSave(), CoolSum(), dmpary(), DumpCoolStack(), fndneg(), fndstr(), map_do(), and SaveHeat().
realnum t_thermal::ConstGrainTemp |
constant grain temperature
Definition at line 59 of file thermal.h.
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
Definition at line 56 of file thermal.h.
Referenced by AbundancesSet(), ContSetIntensity(), ConvInitSolution(), DynaIterEnd(), InitDefaultsPreparse(), iter_end_check(), IterRestart(), lgConserveEnergy(), lgCoolNetConverge(), ParseCommands(), ParseConstant(), ParseCoronal(), ParseForceTemperature(), PrtComment(), SaveLineData(), and TempChange().
realnum t_thermal::CoolExtra |
Definition at line 152 of file thermal.h.
Referenced by CoolEvaluate(), ParseCExtra(), and zero().
double t_thermal::coolheat |
realnum t_thermal::CoolHeatMax |
max of negative coolants, and a pointer to it
Definition at line 125 of file thermal.h.
Referenced by CoolSum(), IterStart(), PrtComment(), and zero().
double t_thermal::cooling[NCOLNT] |
Definition at line 104 of file thermal.h.
Referenced by CoolAdd(), CoolSave(), CoolSum(), CoolZero(), dmpary(), DumpCoolStack(), fndneg(), fndstr(), iso_cool(), and map_do().
double t_thermal::ctot |
cooling in this zone
Definition at line 130 of file thermal.h.
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
Definition at line 139 of file thermal.h.
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
Definition at line 169 of file thermal.h.
Referenced by CoolEvaluate(), CoolHyperfine(), CoolZero(), HeatSum(), lgCoolNetConverge(), and map_do().
double t_thermal::dima |
Definition at line 118 of file thermal.h.
Referenced by CoolDima(), CoolSave(), and CoolZero().
double t_thermal::elementcool[LIMELM+1] |
Definition at line 111 of file thermal.h.
Referenced by atom_level2(), CoolEvaluate(), CoolSave(), CoolZero(), dBase_solve(), and iso_cool().
double t_thermal::FreeFreeTotHeat |
total free free heating integrated over model
Definition at line 178 of file thermal.h.
Referenced by IterRestart(), IterStart(), lines(), PrtComment(), PrtFinal(), and zero().
realnum t_thermal::GBarMax |
value of, and pointer to, strongest g-bar cooling line
Definition at line 162 of file thermal.h.
Referenced by IterStart(), lines(), and PrtComment().
double t_thermal::halfte |
Definition at line 142 of file thermal.h.
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
Definition at line 181 of file thermal.h.
Referenced by IterStart(), lines_general(), and PrtComment().
double t_thermal::heatnt[NCOLNT] |
Definition at line 104 of file thermal.h.
Referenced by CoolAdd(), CoolSave(), CoolSum(), CoolZero(), dmpary(), DumpCoolStack(), fndneg(), fndstr(), HeatSum(), map_do(), and SaveHeat().
double t_thermal::heavycollcool[LIMELM] |
Definition at line 115 of file thermal.h.
Referenced by CoolSave(), HeatSum(), and zero().
double t_thermal::htot |
total heat input to this zone
Definition at line 169 of file thermal.h.
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 |
Definition at line 163 of file thermal.h.
Referenced by lines(), and PrtComment().
bool t_thermal::lgCExtraOn |
info about 'extra' cooling, lgCextOn says it is on
Definition at line 151 of file thermal.h.
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
Definition at line 122 of file thermal.h.
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
Definition at line 159 of file thermal.h.
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
Definition at line 77 of file thermal.h.
Referenced by PrtComment(), and PrtHeader().
bool t_thermal::lgPredNextTe |
flag saying whether to use temperature predictor for next zone, in constant density models
Definition at line 40 of file thermal.h.
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
Definition at line 84 of file thermal.h.
Referenced by ConvTempEdenIoniz(), InitDefaultsPreparse(), and ParseTLaw().
bool t_thermal::lgTeHigh |
flag set if temperature map is from hot to cool, set with high command
Definition at line 72 of file thermal.h.
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
Definition at line 44 of file thermal.h.
Referenced by ContSetIntensity(), ConvBase(), ConvInitSolution(), ConvTempEdenIoniz(), CoolEvaluate(), CoolHeatError(), DynaIterEnd(), diatomics::H2_LevelPops(), HeatSum(), InitDefaultsPreparse(), iter_end_check(), IterRestart(), lgConserveEnergy(), 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
Definition at line 50 of file thermal.h.
Referenced by InitDefaultsPreparse(), IterRestart(), ParseConstant(), ParseCoronal(), and ParseTLaw().
bool t_thermal::lgTeSN99 |
Definition at line 92 of file thermal.h.
Referenced by ConvTempEdenIoniz(), InitDefaultsPreparse(), and ParseTLaw().
bool t_thermal::lgTeTLaw |
Definition at line 96 of file thermal.h.
Referenced by ConvTempEdenIoniz(), InitDefaultsPreparse(), and ParseTLaw().
bool t_thermal::lgTLaw |
flag saying that temperature law has been specified with tlaw command
Definition at line 80 of file thermal.h.
Referenced by ConvTempEdenIoniz(), InitDefaultsPreparse(), and ParseTLaw().
bool t_thermal::lgUnstable |
Definition at line 65 of file thermal.h.
Referenced by ConvTempEdenIoniz(), InitSimPostparse(), IterRestart(), IterStart(), PrtZone(), and radius_increment().
heating per unit vol, erg cm^-3 s^-1, heating[nelem][ion]
Definition at line 184 of file thermal.h.
Referenced by AddHeating(), heating(), and setHeating().
long int t_thermal::ncltot |
Definition at line 106 of file thermal.h.
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
Definition at line 64 of file thermal.h.
Referenced by InitSimPostparse(), IterRestart(), IterStart(), PrtComment(), and radius_increment().
double t_thermal::power |
total energy input over calculated structure, updated in lines
Definition at line 169 of file thermal.h.
Referenced by badprt(), IterStart(), lgConserveEnergy(), lines(), PrintSpectrum(), PrtComment(), PrtFinal(), and zero().
realnum t_thermal::SigmaBD96 |
the coefficient on column density for temp drop off
Definition at line 86 of file thermal.h.
Referenced by ConvTempEdenIoniz(), and ParseTLaw().
realnum t_thermal::T0BD96 |
the initial temperature in their equation
Definition at line 86 of file thermal.h.
Referenced by ConvTempEdenIoniz(), and ParseTLaw().
realnum t_thermal::T0SN99 |
these incorporate the Sternberg & Neufeld density/temperature relationship
Definition at line 91 of file thermal.h.
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
Definition at line 148 of file thermal.h.
Referenced by ConvBase(), and tfidle().
realnum t_thermal::thist |
remember the highest and lowest temperature that occurs in the model
Definition at line 68 of file thermal.h.
Referenced by ConvPresTempEdenIoniz(), InitSimPostparse(), IterStart(), PrtComment(), and PrtFinal().
DepthTable t_thermal::tlaw |
Depth table for temperature
Definition at line 95 of file thermal.h.
Referenced by ConvTempEdenIoniz(), InitDefaultsPreparse(), and ParseTLaw().
realnum t_thermal::tlowst |
Definition at line 68 of file thermal.h.
Referenced by ConvPresTempEdenIoniz(), InitSimPostparse(), IterStart(), and PrtFinal().
double t_thermal::totcol |
integrated cooling over model
Definition at line 130 of file thermal.h.
Referenced by IterStart(), lines(), PrintSpectrum(), PrtComment(), PrtFinal(), and zero().
double t_thermal::tsq1 |
derivative of cooling, 1/te^2, .5/T
Definition at line 142 of file thermal.h.
Referenced by atom_level2(), iso_cool(), mole_effects(), Atom_LevelN::operator()(), and tfidle().
realnum t_thermal::wlCoolHeatMax |
Definition at line 126 of file thermal.h.
Referenced by CoolSum(), PrtComment(), and zero().