Cloudy
Spectral Synthesis Code for Astrophysics
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
t_thermal Class Reference

#include <thermal.h>

Inheritance diagram for t_thermal:
Collaboration diagram for t_thermal:

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]
 

Member Function Documentation

void t_thermal::AddHeating ( long  nelem,
long  ion,
double  heating 
)
inline

References heating(), and m_heating.

Referenced by iso_cool().

Here is the call graph for this function:

const char* t_thermal::chName ( ) const
inlinevirtual

Implements module.

void t_thermal::comment ( t_warnings )
inlinevirtual

Implements module.

void t_thermal::setHeating ( long  nelem,
long  ion,
double  heating 
)
inline
void t_thermal::zero ( void  )
virtual

Member Data Documentation

realnum t_thermal::cextpw

Referenced by CoolEvaluate(), and ParseCExtra().

double t_thermal::char_tran_cool
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::chCoolHeatMax[NCOLNT_LAB_LEN+1]

Referenced by CoolSum(), and PrtComment().

realnum t_thermal::collam[NCOLNT]

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
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

coolheat is other coolants that were heat sources

Referenced by CoolSum(), and zero().

realnum t_thermal::CoolHeatMax

max of negative coolants, and a pointer to it

Referenced by CoolSum(), IterStart(), PrtComment(), 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]
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
double t_thermal::heatl

heatl is total line heating, t(ipLnHeat)

Referenced by CoolSum(), HeatSum(), and zero().

realnum t_thermal::HeatLineMax

HeatLineMax is largest fractional heating due to lines

Referenced by IterStart(), lines_general(), and PrtComment().

double t_thermal::heavycollcool[LIMELM]

Referenced by CoolSave(), HeatSum(), 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
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
bool t_thermal::lgTeTLaw
bool t_thermal::lgTLaw

flag saying that temperature law has been specified with tlaw command

Referenced by ConvTempEdenIoniz(), InitDefaultsPreparse(), and ParseTLaw().

double t_thermal::m_heating[LIMELM][LIMELM]
private

heating per unit vol, erg cm^-3 s^-1, heating[nelem][ion]

Referenced by AddHeating(), heating(), and setHeating().

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
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().


The documentation for this class was generated from the following files: