Cloudy
Spectral Synthesis Code for Astrophysics
|
#include <dense.h>
Public Member Functions | |
t_dense () | |
void | SetGasPhaseDensity (const long nelem, const realnum density) |
realnum | xMolecules (long nelem) |
void | updateXMolecules () |
void | zero () |
void | comment (t_warnings &) |
const char * | chName () const |
![]() | |
module () | |
virtual | ~module () |
Private Attributes | |
realnum | m_xMolecules [LIMELM] |
variables dealing with pressure across model
|
inline |
References AtomicWeight, density_low_limit, ionMole, lgElmtOn, lgElmtSetOff, lgIonChiantiOn, lgIonStoutOn, lgSetIoniz, LIMELM, max(), maxWN, NULL, SMALLFLOAT, and zero().
|
inlinevirtual |
Implements module.
|
inlinevirtual |
Implements module.
void t_dense::SetGasPhaseDensity | ( | const long | nelem, |
const realnum | density ) |
References density(), deut, gas_phase, ipHYDROGEN, and SetGasPhaseDeuterium().
void t_dense::updateXMolecules | ( | ) |
|
inline |
References m_xMolecules.
|
virtual |
realnum t_dense::AbundanceLimit |
this is lower limit to abundance of element that will be include in the calculation, default is zero, set with command ELEMENT LIMIT OFF XXX command
vector of atomic weights for all elements, set in zerologic
Referenced by ColliderList::ColliderList(), and t_dense().
double t_dense::cdsqte |
cdsqte is eden/sqrte times 8.629e-6 - this multiplies the collision strength to produce the deexcitation rate coefficient, s-1 8.629e-6 is COLL_CONST
realnum t_dense::cfirst |
char t_dense::chDenseLaw[5] |
label describing the density law for current calculation 'DLW2' is dense_tabden interpolated table
realnum t_dense::csecnd |
realnum t_dense::den0 |
double t_dense::density_low_limit |
lowest allowed density for any ion = if density falls below this then set to zero in ion_trim
Referenced by t_dense().
double t_dense::DensityLaw[10] |
parameters set by the dlaw command, used by dense_fabden (maybe)
realnum t_dense::DensityPower |
parameters dealing with hydrogen density scaling as power of radius DensityPower is power
DepthTable t_dense::DLW |
Table data
double t_dense::eden |
electron density, units cm-3
double t_dense::eden_from_metals |
fraction of electron density due to ions rather than molecules and grains
realnum t_dense::EdenExtra |
extra electron density, set with eden command
realnum t_dense::EdenFraction |
option to set electron fraction, n_e/n_H
double t_dense::EdenHCorr |
EdenHCorr is eden + hi * 1.7e-4, includes correction for H atom collisions, units cm-3
realnum t_dense::EdenHCorr_f |
double t_dense::EdenMax |
max and min eden over this iteration
double t_dense::EdenMin |
realnum t_dense::EdenSet |
EdenSet electron density set with set eden command
double t_dense::edensqte |
edensqte is eden/sqrte
double t_dense::EdenTrue |
this is the true eden as set in eden_sum, we will try to converge eden to this
realnum t_dense::flcPhase |
realnum t_dense::flong |
parameters for the density fluctuations command
dense.gas_phase is the total gas phase abundances, including anything within molecules, but not including grains
Referenced by SetGasPhaseDensity().
realnum t_dense::HCorrFac |
this is scale factor that multiplies the correction factor for neutral hydrogen collisions, def 1, changed with set command
long int t_dense::IonHigh[LIMELM+1] |
long int t_dense::IonLow[LIMELM+1] |
indices for lowest stage of ionization of the elements on C scale, lowest is 0 for atom, -1 if element turned off, the first stage of ionization with positive abundance is [IonLow] where 0 is the atom, the highest stage of ionization with positive abundance is [IonHigh], NB NB so loops should be
ion=IonLow, ion<=IonHigh
bool t_dense::lgDenFlucOn |
set true when density fluctuations are turned on
bool t_dense::lgDenFlucRadius |
set false when fluctuations are over col den rather than radius, set with column options on fluctuations command
bool t_dense::lgDenseInitConstant |
bool t_dense::lgEdenBad |
flags set when bad electron density is detected
bool t_dense::lgElmtOn[LIMELM] |
Indicate whether an element is enabled. set true in init_coreload.cpp and is set false with the "element off" command.
In SetAbundances if can be reset so that an element that was disabled on the first model in a core load is not later enabled all elements heavier than H are turned off when an abundances .abn file is read - each element occurring in that file is turned on
Referenced by t_dense().
bool t_dense::lgElmtSetOff[LIMELM] |
true is element is explicitly turned off, overrides turning on any element in *.abn file
Referenced by t_dense().
which ions have chianti enabled?
Referenced by t_dense().
which ions have stout enabled?
Referenced by t_dense().
bool t_dense::lgPressureVaryTime |
bool t_dense::lgSetIoniz[LIMELM] |
will we solve for ionization (false) or specify it with element ionization cmnd true
Referenced by t_dense().
dense.xMolecules density of elements locked in molecules, this is included in gas_phase
Referenced by updateXMolecules(), xMolecules(), and zero().
long int t_dense::nzEdenBad |
zone where bad electron density was detected
realnum t_dense::pden |
total number of particles per cubic centimeter
double t_dense::PressureVaryTimeIndex |
double t_dense::PressureVaryTimeTimescale |
realnum t_dense::rscale |
dense.SetIoniz the ionization fractions that are set when lgSetIoniz set true, gas phase abundance is this times total abundance Ionization fraction for [nelem][ion]
double t_dense::SqrtEden |
square root of electron density, set in tfidle
realnum t_dense::wmole |
mean AMU per particle
dense.xIonDense[nelem][i] is density of ith ionization stage (cm^-3), [nelem][0] is atom, [][1]) the first ion nelem = 0 for H, 1 for he, etc
realnum t_dense::xMassDensity |
xMassDensity grams per cc
realnum t_dense::xMassDensity0 |
WJH: fiducial value that corresponds to hden set in init file, this is used for setting the mass-flux in dynamic models
realnum t_dense::xMassTotal |
total mass in grams PER 4 pi rinner^2
realnum t_dense::xNucleiTotal |
total number of nuclei, set in PressureTotal