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

#include <atoms.h>

Public Member Functions

 setCollRate ()
 
void resize (long int nlev)
 
void operator() (long nlev, double TeInverse, double **col_str, const double ex[], const double g[], double **CollRate)
 

Private Attributes

long nLevelAlloc
 
vector< double * > excit
 
vector< double > excit_b
 

Detailed Description

atom_levelN - compute populations of arbitrary n-level atom

Parameters
nlevnlev is the number of levels to compute
abundABUND is total abundance of species, used for nth equation
g[]G(ndim) is stat weight of levels
ex[]EX(ndim) is excitation potential of levels, either wn or deg K 0 for first one, NOT d(ENER), but energy rel to ground
chExUnitsthis is 'K' for above ex[] as Kelvin deg, is 'w' for wavenumbers
pops[]populations of each level as deduced here
depart[]departure coefficient derived here
AulEscpnet transition rate, A * esc prob, s-1
AulDestAulDest(ilo,ihi) is destruction rate, from up to low, A * dest prob, [s-1], asserts confirm that ihi,lo is zero
AulPumpAulPump(lo, hi) is pumping rate, A * occ num, (hi,lo) must be zero, [s-1]
CollRatecollision rates, evaluated here and returned for cooling by calling function, unless following flag is true. If true then calling function has already filled in these rates. CollRate[i][j] is rate from i to j
createthis is an additional creation rate, normally zero, units cm-3 s-1
destroy[]this is an additional destruction rate to continuum, normally zero, units s-1
lgCollRateDoneflag saying whether CollRate already done, or we need to do it here
cooltltotal cooling, set here but nothing done with it
coolderderivative of cooling, set here but nothing done with it
chLabelstring used to identify calling program in case of error
lgNegPoplgNegPop flag indicating what we have done positive if negative populations occurred zero if normal calculation done negative if too cold (for some atoms other routine will be called in this case)
lgZeroPoptrue if populations are zero, either due to zero abundance of very low temperature
lgDeBugoption to print matrices for debugging
Postcondition
atoms.PopLevels[n], atoms.DepLTELevels[n] are set lines added to ots array
Parameters
grnd_excitis the total excitation rate out of ground state

Constructor & Destructor Documentation

setCollRate::setCollRate ( )
inline

Member Function Documentation

void setCollRate::operator() ( long  nlev,
double  TeInverse,
double **  col_str,
const double  ex[],
const double  g[],
double **  CollRate 
)

References ASSERT, t_dense::cdsqte, dense, dsexp(), excit, fprintf(), ioQQQ, t_trace::lgTrace, t_trace::lgTrLevN, phycon, resize(), t_phycon::te, and trace.

Here is the call graph for this function:

void setCollRate::resize ( long int  nlev)
inline

References ASSERT, excit, excit_b, and nLevelAlloc.

Referenced by operator()().

Member Data Documentation

vector<double*> setCollRate::excit
private

Referenced by operator()(), and resize().

vector<double> setCollRate::excit_b
private

Referenced by resize().

long setCollRate::nLevelAlloc
private

Referenced by resize().


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