Cloudy
Spectral Synthesis Code for Astrophysics
|
#include <mean.h>
Public Member Functions | |
t_mean () | |
void | zero () |
void | comment (t_warnings &) |
const char * | chName () const |
void | setup_molecules () |
void | MeanInc () |
void | MeanIon (char chType, long nelem, long dim, long *n, realnum arlog[], bool lgDensity) const |
bool | MeanMoleculeTemp (const string &chSpecies, long dim, double &TeMean) |
Public Member Functions inherited from module | |
module () | |
virtual | ~module () |
Public Attributes | |
multi_arr< double, 4 > | xIonMean |
multi_arr< double, 4 > | xIonEdenMean |
multi_arr< double, 4 > | TempIonMean |
multi_arr< double, 4 > | TempIonEdenMean |
multi_arr< double, 2 > | TempB_HarMean |
multi_arr< double, 2 > | TempHarMean |
multi_arr< double, 2 > | TempH_21cmSpinMean |
multi_arr< double, 2 > | TempMean |
multi_arr< double, 2 > | TempEdenMean |
map< string, multi_arr< double, 2 > > | molecules |
used to store information for mean ionization and electron temperature
t_mean::t_mean | ( | ) |
References multi_arr< T, d, ALLOC, lgBC >::alloc(), multi_arr< T, d, ALLOC, lgBC >::clone(), DEBUG_ENTRY, LIMELM, max(), multi_arr< T, d, ALLOC, lgBC >::reserve(), TempB_HarMean, TempEdenMean, TempH_21cmSpinMean, TempHarMean, TempIonEdenMean, TempIonMean, TempMean, xIonEdenMean, and xIonMean.
|
inlinevirtual |
Implements module.
|
inlinevirtual |
Implements module.
void t_mean::MeanInc | ( | ) |
MeanInc update the running averages
References t_radius::darea_x_fillfac, DEBUG_ENTRY, dense, t_radius::drad_x_fillfac, t_radius::dVeffVol, t_dense::eden, t_dense::gas_phase, t_hmi::H2_total, hmi, hyperfine, ipHYDROGEN, LIMELM, magnetic, max(), molecules, phycon, t_magnetic::pressure, radius, SDIV(), SMALLFLOAT, species_gasphase_density(), t_phycon::te, TempB_HarMean, TempEdenMean, TempH_21cmSpinMean, TempHarMean, TempIonEdenMean, TempIonMean, TempMean, t_hyperfine::Tspin21cm, t_dense::xIonDense, xIonEdenMean, and xIonMean.
Referenced by radius_increment().
void t_mean::MeanIon | ( | char | chType, |
long | nelem, | ||
long | dim, | ||
long * | n, | ||
realnum | arlog[], | ||
bool | lgDensity | ||
) | const |
MeanIon do mean of ionization fractions of any element
chType | either 'i' or 't' for ionization or temperature |
nelem | atomic number on physical, no c, scale |
dim | type of average: 0=radius, 1=area, 2=volume |
*n | this will say how many of arlog have non-zero values |
arlog[] | array of values, log both cases |
lgDensity | true, include electron density, false do not |
References DEBUG_ENTRY, dense, fprintf(), ioQQQ, t_dense::lgElmtOn, max(), SMALLFLOAT, TempIonEdenMean, TempIonMean, TotalInsanity(), xIonEdenMean, and xIonMean.
Referenced by cdIonFrac(), cdTemp(), and PrtMeanIon().
bool t_mean::MeanMoleculeTemp | ( | const string & | chSpecies, |
long | dim, | ||
double & | TeMean | ||
) |
MeanMoleculeTemp - compute mean temperature of molecular species
chSpecies | [in] species label |
dim | [in] type of average: 0=radius, 1=area, 2=volume |
TeMean | [out] mean temperature of molecule |
References DEBUG_ENTRY, max(), mole, molecules, and SMALLFLOAT.
Referenced by cdTemp().
void t_mean::setup_molecules | ( | ) |
setup_molecules - Allocate memory for molecular species
References DEBUG_ENTRY, getMolecules(), and molecules.
Referenced by InitSimPostparse().
|
virtual |
MeanZero zero mean of ionization fractions array
Implements module.
References DEBUG_ENTRY, molecules, TempB_HarMean, TempEdenMean, TempH_21cmSpinMean, TempHarMean, TempIonEdenMean, TempIonMean, TempMean, xIonEdenMean, xIonMean, and multi_arr< T, d, ALLOC, lgBC >::zero().
Referenced by IterStart().
map<string, multi_arr<double,2> > t_mean::molecules |
Referenced by MeanInc(), MeanMoleculeTemp(), setup_molecules(), and zero().
multi_arr<double,2> t_mean::TempB_HarMean |
multi_arr<double,2> t_mean::TempEdenMean |
used to get mean temp weighted by eden
Referenced by cdTemp(), MeanInc(), PrtFinal(), t_mean(), and zero().
multi_arr<double,2> t_mean::TempH_21cmSpinMean |
multi_arr<double,2> t_mean::TempHarMean |
multi_arr<double,4> t_mean::TempIonEdenMean |
following includes electron density
Referenced by MeanInc(), MeanIon(), PrtFinal(), t_mean(), and zero().
multi_arr<double,4> t_mean::TempIonMean |
multi_arr<double,2> t_mean::TempMean |
used to get mean temp
Referenced by cdTemp(), MeanInc(), PrtFinal(), t_mean(), and zero().
multi_arr<double,4> t_mean::xIonEdenMean |
multi_arr<double,4> t_mean::xIonMean |
xIonMean[dim][nelem][ion][n] dim = 0 is radius integration, 1=area integration, 2=vol integration n=0 for Sum(quant*norm) and n=1 for Sum(norm)
Referenced by cdColm(), MeanInc(), MeanIon(), PrtFinal(), SaveDo(), SaveResults(), t_mean(), and zero().