cloudy  trunk
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Public Member Functions | Data Fields
t_ionbal Class Reference

#include <ionbal.h>

Inheritance diagram for t_ionbal:
Inheritance graph
[legend]
Collaboration diagram for t_ionbal:
Collaboration graph
[legend]

Public Member Functions

void alloc ()
 
const char * chName () const
 
void zero ()
 
void comment (t_warnings &)
 
double RateIonizTot (long nelem, long ion) const
 
- Public Member Functions inherited from module
 module ()
 
virtual ~module ()
 

Data Fields

double trimhi
 
double trimlo
 
bool lgTrimhiOn
 
bool lgTrimloOn
 
bool lgNewTrim
 
double **** PhotoRate_Shell
 
bool lgPhotoIoniz_On
 
double *** CollIonRate_Ground
 
double ** ExcitationGround
 
double CosRayIonRate
 
double CosRayHeatNeutralParticles
 
double CosRayHeatThermalElectrons
 
double ExtraHeatRate
 
double xNeutronHeatRate
 
double PairProducPhotoRate [3]
 
bool lgCompRecoil
 
double CompRecoilHeatLocal
 
long int ** ipCompRecoil
 
double ** CompRecoilIonRate
 
double ** CompRecoilIonRateSave
 
double ** CompRecoilHeatRate
 
double ** CompRecoilHeatRateSave
 
double ** UTA_ionize_rate
 
double ** UTA_heat_rate
 
double *** RateIoniz
 
long int nCompRecoilElec [LIMELM]
 
double CompHeating_Max
 
double ** RateRecomTot
 
double ** RateRecomIso
 
double ** RR_Badnell_rate_coef
 
double ** DR_Badnell_rate_coef
 
double ** CX_recomb_rate_used
 
multi_arr< double, 2 > DR_Badnell_suppress_fact
 
bool lgRecom_Badnell_print
 
double ** RR_rate_coef_used
 
double ** RR_Verner_rate_coef
 
double DR_mean_scale [LIMELM]
 
realnum ** GrainCreat
 
realnum ** GrainDestr
 
int lgGrainIonRecom
 
realnum guess_noise
 
bool lgDRsup
 
bool lgNoCota
 
realnum CotaRate [LIMELM]
 
long int ilt
 
long int iltln
 
long int ilthn
 
long int ihthn
 
long int ifail
 
double elecsrc [LIMELM]
 
double elecsnk [LIMELM]
 

Detailed Description

class for vars dealing with ionization balance

Definition at line 64 of file ionbal.h.

Member Function Documentation

void t_ionbal::alloc ( )
const char* t_ionbal::chName ( ) const
inlinevirtual

Implements module.

Definition at line 69 of file ionbal.h.

void t_ionbal::comment ( t_warnings w)
virtual

Implements module.

Definition at line 188 of file ionbal.cpp.

References t_warnings::bangin(), t_warnings::caunin(), CompHeating_Max, ifail, INPUT_LINE_LENGTH, and t_warnings::notein().

Here is the call graph for this function:

double t_ionbal::RateIonizTot ( long  nelem,
long  ion 
) const
void t_ionbal::zero ( void  )
virtual

Field Documentation

double*** t_ionbal::CollIonRate_Ground

collisional ionization rate for CollidRate[nelem][ion][0], s-1 cooling, erg/s in CollidRate[nelem][ion][1] [LIMELM][LIMELM][2]

Definition at line 121 of file ionbal.h.

Referenced by alloc(), fill_array(), HeatSum(), ion_collis(), iso_collide(), iso_level(), PrintRates(), and zero().

double t_ionbal::CompHeating_Max

Definition at line 186 of file ionbal.h.

Referenced by comment(), and lines_general().

double t_ionbal::CompRecoilHeatLocal

the local heating due to Compton recoil ionization

Definition at line 156 of file ionbal.h.

Referenced by HeatSum(), lines_general(), and PrtZone().

double** t_ionbal::CompRecoilHeatRate

heating rate due to bound electron ionization by Compton scattering

Definition at line 168 of file ionbal.h.

Referenced by alloc(), HeatSum(), highen(), ion_photo(), iso_photo(), IterRestart(), IterStart(), and zero().

double** t_ionbal::CompRecoilHeatRateSave

save heating rate due to bound electron ionization by Compton scattering

Definition at line 171 of file ionbal.h.

Referenced by alloc(), IterRestart(), and IterStart().

double** t_ionbal::CompRecoilIonRate

rate of bound electron ionization by Compton scattering

Definition at line 162 of file ionbal.h.

Referenced by alloc(), diatomics::CalcPhotoionizationRate(), highen(), ion_photo(), iso_photo(), IterRestart(), IterStart(), and zero().

double** t_ionbal::CompRecoilIonRateSave

save rate of bound electron ionization by Compton scattering

Definition at line 165 of file ionbal.h.

Referenced by alloc(), IterRestart(), and IterStart().

double t_ionbal::CosRayHeatNeutralParticles

cosmic ray heating rate - erg s-1 - must multiply by density of absorbers - neutral hydrogen to get volume rate

Definition at line 131 of file ionbal.h.

Referenced by HeatSum(), highen(), and SecIoniz().

double t_ionbal::CosRayHeatThermalElectrons

cosmic ray heating of thermal electrons - must multiply by electron density to obtain erg cm-3 s-1

Definition at line 135 of file ionbal.h.

Referenced by HeatSum(), and highen().

double t_ionbal::CosRayIonRate

cosmic ray ionization rate

Definition at line 127 of file ionbal.h.

Referenced by ContSetIntensity(), highen(), ParseCosmicRays(), and SecIoniz().

realnum t_ionbal::CotaRate[LIMELM]

the actual rates

Definition at line 239 of file ionbal.h.

Referenced by atmdat_3body(), ion_recomb(), PrintRates(), PrtHydroTrace1a(), and zero().

double ** t_ionbal::CX_recomb_rate_used

Definition at line 200 of file ionbal.h.

Referenced by alloc(), ion_CX(), and ion_recomb().

double ** t_ionbal::DR_Badnell_rate_coef

Definition at line 200 of file ionbal.h.

Referenced by alloc(), ion_recom_calculate(), ion_recomb(), iso_radiative_recomb(), and PrintRates().

multi_arr<double,2> t_ionbal::DR_Badnell_suppress_fact

Definition at line 204 of file ionbal.h.

Referenced by alloc(), ion_recom_calculate(), and iso_radiative_recomb().

double t_ionbal::DR_mean_scale[LIMELM]

scale factors for guesses of the DR rates, for ions with no data set with SET DIELECTRONIC RECOMBINATION KLUDGE SCALE command

Definition at line 218 of file ionbal.h.

Referenced by InitDefaultsPreparse(), ion_recom_calculate(), and ParseSet().

double t_ionbal::elecsnk[LIMELM]

Definition at line 248 of file ionbal.h.

Referenced by fill_array(), get_total_abundance_ions(), and lgNetEdenSrcSmall().

double t_ionbal::elecsrc[LIMELM]

Definition at line 248 of file ionbal.h.

Referenced by fill_array(), get_total_abundance_ions(), and lgNetEdenSrcSmall().

double** t_ionbal::ExcitationGround

total excitation rate of ground level

Definition at line 124 of file ionbal.h.

Referenced by alloc(), atom_level2(), CoolHyperfine(), CoolZero(), dBase_solve(), and zero().

double t_ionbal::ExtraHeatRate

local heating rate due to some "extra" process

Definition at line 138 of file ionbal.h.

Referenced by HeatSum(), and highen().

realnum** t_ionbal::GrainCreat

rate for recombination and ionization on grain surfaces

Definition at line 221 of file ionbal.h.

realnum ** t_ionbal::GrainDestr

Definition at line 221 of file ionbal.h.

realnum t_ionbal::guess_noise

log normal noise for guess, zero by default, turned on with noise option

Definition at line 229 of file ionbal.h.

Referenced by Badnell_rec_init(), ParseSet(), and zero().

long int t_ionbal::ifail

Definition at line 242 of file ionbal.h.

Referenced by comment(), da(), IterStart(), and zero().

long int t_ionbal::ihthn

Definition at line 242 of file ionbal.h.

Referenced by da(), IterStart(), and zero().

long int t_ionbal::ilt

these are error flags for three-body recombination

Definition at line 242 of file ionbal.h.

Referenced by da(), IterStart(), and zero().

long int t_ionbal::ilthn

Definition at line 242 of file ionbal.h.

Referenced by da(), IterStart(), and zero().

long int t_ionbal::iltln

Definition at line 242 of file ionbal.h.

Referenced by da(), IterStart(), and zero().

long int** t_ionbal::ipCompRecoil

array indices for continuum offset of Compton recoil ionization threshold

Definition at line 159 of file ionbal.h.

Referenced by alloc(), ContCreatePointers(), ContSetIntensity(), highen(), and OpacityAddTotal().

bool t_ionbal::lgCompRecoil

flag saying that Compton recoil ionization of bound electrons is enabled, set false with no recoil ionization command

Definition at line 153 of file ionbal.h.

Referenced by ContSetIntensity(), highen(), ParseDont(), and zero().

bool t_ionbal::lgDRsup

logical flag for disabling dielectronic recombination

Definition at line 232 of file ionbal.h.

Referenced by ion_recom_calculate(), ParseSet(), and zero().

int t_ionbal::lgGrainIonRecom

grecon usually true, set to 0 with no grain neutralization command

Definition at line 226 of file ionbal.h.

Referenced by fill_array(), GrainChargeTemp(), ParseDont(), and zero().

bool t_ionbal::lgNewTrim

enable revised ion-trimming approach

Definition at line 96 of file ionbal.h.

Referenced by ConvBase(), ParseSet(), and zero().

bool t_ionbal::lgNoCota

following all for 3-body recombination lgNoCota flag set with no three body recombination

Definition at line 236 of file ionbal.h.

Referenced by atmdat_3body(), ParseDont(), and zero().

bool t_ionbal::lgPhotoIoniz_On

set to 1 in zero, so have no effect, set to 0 with 'no photoionization' command, kills photoionization of everything

Definition at line 117 of file ionbal.h.

Referenced by diatomics::CalcPhotoionizationRate(), GammaPrtShells(), ion_photo(), iso_photo(), ParseDont(), and zero().

bool t_ionbal::lgRecom_Badnell_print

option to print rates then exit

Definition at line 207 of file ionbal.h.

Referenced by ion_recom_calculate(), and zero().

bool t_ionbal::lgTrimhiOn

option to turn off upward ionization trimming, with set trim upper off

Definition at line 90 of file ionbal.h.

Referenced by ion_trim(), ion_trim2(), ion_trim_from_set(), ion_trim_init(), ion_trim_small(), mole_ion_trim(), ParseSet(), and zero().

bool t_ionbal::lgTrimloOn

option to turn off upward ionization trimming, with set trim upper off

Definition at line 93 of file ionbal.h.

Referenced by ion_trim(), ion_trim2(), ion_trim_from_set(), ion_trim_init(), mole_ion_trim(), ParseSet(), and zero().

long int t_ionbal::nCompRecoilElec[LIMELM]

number of valence electrons that can participate - multiplies since electron rate

Definition at line 184 of file ionbal.h.

Referenced by highen(), InitCoreload(), and OpacityAddTotal().

double t_ionbal::PairProducPhotoRate[3]

ionization and heating due to pair production

Definition at line 145 of file ionbal.h.

Referenced by HeatSum(), highen(), lines_general(), and SecIoniz().

double**** t_ionbal::PhotoRate_Shell
store photoionization rates for all shells of all elements
first dim is nelem, the atomic number of element on the c scale, H is 0.
second dim is stage of ionization, on the c scale, atom is 0.
third dim is shell number, K shell is 0, valence shell depends on ion, up to 7
last dim: 0 is photo rate (s-1)
          1 is low energy heating
          2 is high energy (secondary-capable) total heating
          both will be multiplied by ion abundance to get vol rates 
some special last pairs - 
[x][0][10][0] pair production in highen 

[LIMELM][LIMELM][7][3]

Definition at line 112 of file ionbal.h.

Referenced by alloc(), fill_array(), GammaPrtRate(), GammaPrtShells(), HeatSum(), ion_photo(), ion_solver(), iso_photo(), lines(), PrintRates(), SaveDo(), SecIoniz(), and zero().

double*** t_ionbal::RateIoniz

stage-to-stage ionization rates (s-1), all processes dimensions [nelem][from_ion][to_ion]

Definition at line 180 of file ionbal.h.

Referenced by alloc(), fill_array(), HydroLevel(), iso_ionize_recombine(), iso_level(), iso_set_ion_rates(), PrintRates(), and RateIonizTot().

double** t_ionbal::RateRecomIso

total recombination rate (s-1) for isosequences

Definition at line 197 of file ionbal.h.

Referenced by alloc(), ion_recomb(), iso_ionize_recombine(), iso_level(), iso_set_ion_rates(), and iso_update_rates().

double** t_ionbal::RateRecomTot
double** t_ionbal::RR_Badnell_rate_coef

rate coefficients [cm3 s-1] for Badnell DR recombination

Definition at line 200 of file ionbal.h.

Referenced by alloc(), ion_recom_calculate(), and ion_recomb().

double** t_ionbal::RR_rate_coef_used

radiative recombination rate coefficient (cm3 s-1) used by code

Definition at line 210 of file ionbal.h.

Referenced by alloc(), CoolEvaluate(), ion_recom_calculate(), ion_recomb(), IonHelium(), iso_ionize_recombine(), and PrintRates().

double** t_ionbal::RR_Verner_rate_coef

radiative recombination rate coefficient returned from Dima Verner's routine

Definition at line 213 of file ionbal.h.

Referenced by alloc(), ion_recom_calculate(), and ion_recomb().

double t_ionbal::trimhi

limits for highest and lowest stages of ionization in ion_trim, these are set with command "set trim xx" where xx is log of upper and lower ionization fractions. if only one number then both are set to it. These variables are used in trimStages to adjust the range of ionization.
limit to fractional abundance of high stage of ionization, set to 1e-6 in zero.c

Definition at line 83 of file ionbal.h.

Referenced by ion_trim(), ion_trim2(), mole_ion_trim(), ParseSet(), and zero().

double t_ionbal::trimlo

limit to fractional abundance of low stage of ionization, set to 1e-10 in zero.c

Definition at line 83 of file ionbal.h.

Referenced by ion_trim(), ion_trim2(), mole_ion_trim(), ParseSet(), and zero().

double** t_ionbal::UTA_heat_rate

inner shell UTA heating rate

Definition at line 176 of file ionbal.h.

Referenced by alloc(), HeatSum(), UpdateUTAs(), and zero().

double** t_ionbal::UTA_ionize_rate

inner shell UTA ionization rate, includes autoionization probability

Definition at line 174 of file ionbal.h.

Referenced by alloc(), fill_array(), PrintRates(), UpdateUTAs(), and zero().

double t_ionbal::xNeutronHeatRate

heating erg s-1 due to fast neutrons - energy flux times cross section but does not include density

Definition at line 142 of file ionbal.h.

Referenced by HeatSum(), highen(), and SecIoniz().


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