Cloudy
Spectral Synthesis Code for Astrophysics
Loading...
Searching...
No Matches
t_dense Class Reference

#include <dense.h>

Inheritance diagram for t_dense:
Collaboration diagram for t_dense:

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
 
- Public Member Functions inherited from module
 module ()
 
virtual ~module ()
 

Public Attributes

realnum gas_phase [LIMELM]
 
realnum AtomicWeight [LIMELM]
 
realnum xMassDensity
 
realnum xMassDensity0
 
realnum pden
 
realnum wmole
 
realnum xNucleiTotal
 
realnum xMassTotal
 
realnum HCorrFac
 
long int IonLow [LIMELM+1]
 
long int IonHigh [LIMELM+1]
 
double xIonDense [LIMELM][LIMELM+1]
 
molezoneionMole [LIMELM][LIMELM+1]
 
bool lgIonChiantiOn [LIMELM][LIMELM+1]
 
bool lgIonStoutOn [LIMELM][LIMELM+1]
 
double maxWN [LIMELM][LIMELM+1]
 
realnum AbundanceLimit
 
bool lgElmtOn [LIMELM]
 
bool lgElmtSetOff [LIMELM]
 
bool lgSetIoniz [LIMELM]
 
realnum SetIoniz [LIMELM][LIMELM+1]
 
char chDenseLaw [5]
 
bool lgDenseInitConstant
 
bool lgPressureVaryTime
 
double PressureVaryTimeTimescale
 
double PressureVaryTimeIndex
 
double DensityLaw [10]
 
bool lgAsChoose [LIMELM][LIMELM]
 
bool lgCSChoose [LIMELM][LIMELM]
 
DepthTable DLW
 
double eden
 
double EdenMax
 
double EdenMin
 
double density_low_limit
 
long int nzEdenBad
 
realnum EdenSet
 
realnum EdenExtra
 
realnum EdenFraction
 
double SqrtEden
 
double EdenHCorr
 
realnum EdenHCorr_f
 
double EdenTrue
 
double eden_from_metals
 
bool lgEdenBad
 
double edensqte
 
double cdsqte
 
realnum DensityPower
 
realnum rscale
 
realnum den0
 
bool lgDenFlucOn
 
bool lgDenFlucRadius
 
realnum flong
 
realnum cfirst
 
realnum csecnd
 
realnum flcPhase
 

Private Attributes

realnum m_xMolecules [LIMELM]
 

Detailed Description

variables dealing with pressure across model

Constructor & Destructor Documentation

◆ t_dense()

t_dense::t_dense ( )
inline

References AtomicWeight, density_low_limit, ionMole, lgElmtOn, lgElmtSetOff, lgIonChiantiOn, lgIonStoutOn, lgSetIoniz, LIMELM, max(), maxWN, NULL, SMALLFLOAT, and zero().

Here is the call graph for this function:

Member Function Documentation

◆ chName()

const char * t_dense::chName ( ) const
inlinevirtual

Implements module.

◆ comment()

void t_dense::comment ( t_warnings & )
inlinevirtual

Implements module.

◆ SetGasPhaseDensity()

void t_dense::SetGasPhaseDensity ( const long nelem,
const realnum density )

References density(), deut, gas_phase, ipHYDROGEN, and SetGasPhaseDeuterium().

Here is the call graph for this function:

◆ updateXMolecules()

void t_dense::updateXMolecules ( )

References m_xMolecules, and total_molecule_elems().

Here is the call graph for this function:

◆ xMolecules()

realnum t_dense::xMolecules ( long nelem)
inline

References m_xMolecules.

◆ zero()

void t_dense::zero ( void )
virtual

Implements module.

References dense, ipHYDROGEN, LIMELM, and m_xMolecules.

Referenced by t_dense().

Member Data Documentation

◆ AbundanceLimit

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

◆ AtomicWeight

realnum t_dense::AtomicWeight[LIMELM]

vector of atomic weights for all elements, set in zerologic

Referenced by ColliderList::ColliderList(), and t_dense().

◆ cdsqte

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

◆ cfirst

realnum t_dense::cfirst

◆ chDenseLaw

char t_dense::chDenseLaw[5]

label describing the density law for current calculation 'DLW2' is dense_tabden interpolated table

◆ csecnd

realnum t_dense::csecnd

◆ den0

realnum t_dense::den0

◆ density_low_limit

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

◆ DensityLaw

double t_dense::DensityLaw[10]

parameters set by the dlaw command, used by dense_fabden (maybe)

◆ DensityPower

realnum t_dense::DensityPower

parameters dealing with hydrogen density scaling as power of radius DensityPower is power

◆ DLW

DepthTable t_dense::DLW

Table data

◆ eden

double t_dense::eden

electron density, units cm-3

◆ eden_from_metals

double t_dense::eden_from_metals

fraction of electron density due to ions rather than molecules and grains

◆ EdenExtra

realnum t_dense::EdenExtra

extra electron density, set with eden command

◆ EdenFraction

realnum t_dense::EdenFraction

option to set electron fraction, n_e/n_H

◆ EdenHCorr

double t_dense::EdenHCorr

EdenHCorr is eden + hi * 1.7e-4, includes correction for H atom collisions, units cm-3

◆ EdenHCorr_f

realnum t_dense::EdenHCorr_f

◆ EdenMax

double t_dense::EdenMax

max and min eden over this iteration

◆ EdenMin

double t_dense::EdenMin

◆ EdenSet

realnum t_dense::EdenSet

EdenSet electron density set with set eden command

◆ edensqte

double t_dense::edensqte

edensqte is eden/sqrte

◆ EdenTrue

double t_dense::EdenTrue

this is the true eden as set in eden_sum, we will try to converge eden to this

◆ flcPhase

realnum t_dense::flcPhase

◆ flong

realnum t_dense::flong

parameters for the density fluctuations command

◆ gas_phase

realnum t_dense::gas_phase[LIMELM]

dense.gas_phase is the total gas phase abundances, including anything within molecules, but not including grains

Referenced by SetGasPhaseDensity().

◆ HCorrFac

realnum t_dense::HCorrFac

this is scale factor that multiplies the correction factor for neutral hydrogen collisions, def 1, changed with set command

◆ IonHigh

long int t_dense::IonHigh[LIMELM+1]

◆ IonLow

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

◆ ionMole

molezone* t_dense::ionMole[LIMELM][LIMELM+1]

Referenced by t_dense().

◆ lgAsChoose

bool t_dense::lgAsChoose[LIMELM][LIMELM]

options on set atomic data command

◆ lgCSChoose

bool t_dense::lgCSChoose[LIMELM][LIMELM]

◆ lgDenFlucOn

bool t_dense::lgDenFlucOn

set true when density fluctuations are turned on

◆ lgDenFlucRadius

bool t_dense::lgDenFlucRadius

set false when fluctuations are over col den rather than radius, set with column options on fluctuations command

◆ lgDenseInitConstant

bool t_dense::lgDenseInitConstant

◆ lgEdenBad

bool t_dense::lgEdenBad

flags set when bad electron density is detected

◆ lgElmtOn

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

◆ lgElmtSetOff

bool t_dense::lgElmtSetOff[LIMELM]

true is element is explicitly turned off, overrides turning on any element in *.abn file

Referenced by t_dense().

◆ lgIonChiantiOn

bool t_dense::lgIonChiantiOn[LIMELM][LIMELM+1]

which ions have chianti enabled?

Referenced by t_dense().

◆ lgIonStoutOn

bool t_dense::lgIonStoutOn[LIMELM][LIMELM+1]

which ions have stout enabled?

Referenced by t_dense().

◆ lgPressureVaryTime

bool t_dense::lgPressureVaryTime

◆ lgSetIoniz

bool t_dense::lgSetIoniz[LIMELM]

will we solve for ionization (false) or specify it with element ionization cmnd true

Referenced by t_dense().

◆ m_xMolecules

realnum t_dense::m_xMolecules[LIMELM]
private

dense.xMolecules density of elements locked in molecules, this is included in gas_phase

Referenced by updateXMolecules(), xMolecules(), and zero().

◆ maxWN

double t_dense::maxWN[LIMELM][LIMELM+1]

Maximum wavenumber in chianti

Referenced by t_dense().

◆ nzEdenBad

long int t_dense::nzEdenBad

zone where bad electron density was detected

◆ pden

realnum t_dense::pden

total number of particles per cubic centimeter

◆ PressureVaryTimeIndex

double t_dense::PressureVaryTimeIndex

◆ PressureVaryTimeTimescale

double t_dense::PressureVaryTimeTimescale

◆ rscale

realnum t_dense::rscale

◆ SetIoniz

realnum t_dense::SetIoniz[LIMELM][LIMELM+1]

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]

◆ SqrtEden

double t_dense::SqrtEden

square root of electron density, set in tfidle

◆ wmole

realnum t_dense::wmole

mean AMU per particle

◆ xIonDense

double t_dense::xIonDense[LIMELM][LIMELM+1]

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

◆ xMassDensity

realnum t_dense::xMassDensity

xMassDensity grams per cc

◆ xMassDensity0

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

◆ xMassTotal

realnum t_dense::xMassTotal

total mass in grams PER 4 pi rinner^2

◆ xNucleiTotal

realnum t_dense::xNucleiTotal

total number of nuclei, set in PressureTotal


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