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

#include <ionbal.h>

Inheritance diagram for t_ionbal:
Collaboration diagram for t_ionbal:

Public Member Functions

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

Public Attributes

double trimhi
 
double trimlo
 
bool lgTrimhiOn
 
bool lgTrimloOn
 
bool lgNewTrim
 
multi_arr< double, 4 > PhotoRate_Shell
 
bool lgPhotoIoniz_On
 
multi_arr< double, 3 > CollIonRate_Ground
 
multi_arr< double, 2 > ExcitationGround
 
double CosRayIonRate
 
double CosRayHeatNeutralParticles
 
double CosRayHeatThermalElectrons
 
double ExtraHeatRate
 
double xNeutronHeatRate
 
double PairProducPhotoRate [3]
 
bool lgCompRecoil
 
double CompRecoilHeatLocal
 
multi_arr< long, 2 > ipCompRecoil
 
multi_arr< double, 2 > CompRecoilIonRate
 
multi_arr< double, 2 > CompRecoilIonRateSave
 
multi_arr< double, 2 > CompRecoilHeatRate
 
multi_arr< double, 2 > CompRecoilHeatRateSave
 
multi_arr< double, 2 > UTA_ionize_rate
 
multi_arr< double, 2 > UTA_heat_rate
 
multi_arr< double, 3 > RateIoniz
 
long int nCompRecoilElec [LIMELM]
 
double CompHeating_Max
 
multi_arr< double, 2 > RateRecomTot
 
multi_arr< double, 2 > RateRecomIso
 
multi_arr< double, 2 > RR_Badnell_rate_coef
 
multi_arr< double, 2 > DR_Badnell_rate_coef
 
multi_arr< double, 2 > CX_recomb_rate_used
 
multi_arr< double, 2 > DR_Badnell_suppress_fact
 
bool lgRecom_Badnell_print
 
multi_arr< double, 2 > RR_rate_coef_used
 
multi_arr< double, 2 > RR_Verner_rate_coef
 
double DR_mean_scale [LIMELM]
 
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

Constructor & Destructor Documentation

◆ t_ionbal()

t_ionbal::t_ionbal ( )
inline

References ipHYDROGEN, LIMELM, and nCompRecoilElec.

Member Function Documentation

◆ alloc()

◆ chName()

const char * t_ionbal::chName ( ) const
inlinevirtual

Implements module.

◆ comment()

void t_ionbal::comment ( t_warnings & w)
virtual

Implements module.

References t_warnings::bangin(), t_warnings::caunin(), ionbal, and t_warnings::notein().

Here is the call graph for this function:

◆ RateIonizTot()

double t_ionbal::RateIonizTot ( long nelem,
long ion ) const

References dense, and RateIoniz.

◆ zero()

Member Data Documentation

◆ CollIonRate_Ground

multi_arr<double,3> 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]

Referenced by alloc(), and zero().

◆ CompHeating_Max

double t_ionbal::CompHeating_Max

◆ CompRecoilHeatLocal

double t_ionbal::CompRecoilHeatLocal

the local heating due to Compton recoil ionization

◆ CompRecoilHeatRate

multi_arr<double,2> t_ionbal::CompRecoilHeatRate

heating rate due to bound electron ionization by Compton scattering

Referenced by alloc(), and zero().

◆ CompRecoilHeatRateSave

multi_arr<double,2> t_ionbal::CompRecoilHeatRateSave

save heating rate due to bound electron ionization by Compton scattering

Referenced by alloc().

◆ CompRecoilIonRate

multi_arr<double,2> t_ionbal::CompRecoilIonRate

rate of bound electron ionization by Compton scattering

Referenced by alloc(), and zero().

◆ CompRecoilIonRateSave

multi_arr<double,2> t_ionbal::CompRecoilIonRateSave

save rate of bound electron ionization by Compton scattering

Referenced by alloc().

◆ CosRayHeatNeutralParticles

double t_ionbal::CosRayHeatNeutralParticles

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

◆ CosRayHeatThermalElectrons

double t_ionbal::CosRayHeatThermalElectrons

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

◆ CosRayIonRate

double t_ionbal::CosRayIonRate

cosmic ray ionization rate

◆ CotaRate

realnum t_ionbal::CotaRate[LIMELM]

the actual rates

Referenced by zero().

◆ CX_recomb_rate_used

multi_arr<double,2> t_ionbal::CX_recomb_rate_used

Referenced by alloc().

◆ DR_Badnell_rate_coef

multi_arr<double,2> t_ionbal::DR_Badnell_rate_coef

Referenced by alloc().

◆ DR_Badnell_suppress_fact

multi_arr<double,2> t_ionbal::DR_Badnell_suppress_fact

Referenced by alloc().

◆ DR_mean_scale

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

◆ elecsnk

double t_ionbal::elecsnk[LIMELM]

◆ elecsrc

double t_ionbal::elecsrc[LIMELM]

◆ ExcitationGround

multi_arr<double,2> t_ionbal::ExcitationGround

total excitation rate of ground level

Referenced by alloc(), and zero().

◆ ExtraHeatRate

double t_ionbal::ExtraHeatRate

local heating rate due to some "extra" process

◆ guess_noise

realnum t_ionbal::guess_noise

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

Referenced by zero().

◆ ifail

long int t_ionbal::ifail

Referenced by zero().

◆ ihthn

long int t_ionbal::ihthn

Referenced by zero().

◆ ilt

long int t_ionbal::ilt

these are error flags for three-body recombination

Referenced by zero().

◆ ilthn

long int t_ionbal::ilthn

Referenced by zero().

◆ iltln

long int t_ionbal::iltln

Referenced by zero().

◆ ipCompRecoil

multi_arr<long,2> t_ionbal::ipCompRecoil

array indices for continuum offset of Compton recoil ionization threshold

Referenced by alloc().

◆ lgCompRecoil

bool t_ionbal::lgCompRecoil

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

Referenced by zero().

◆ lgDRsup

bool t_ionbal::lgDRsup

logical flag for disabling dielectronic recombination

Referenced by zero().

◆ lgGrainIonRecom

int t_ionbal::lgGrainIonRecom

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

Referenced by zero().

◆ lgNewTrim

bool t_ionbal::lgNewTrim

enable revised ion-trimming approach

Referenced by zero().

◆ lgNoCota

bool t_ionbal::lgNoCota

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

Referenced by zero().

◆ lgPhotoIoniz_On

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

Referenced by zero().

◆ lgRecom_Badnell_print

bool t_ionbal::lgRecom_Badnell_print

option to print rates then exit

Referenced by zero().

◆ lgTrimhiOn

bool t_ionbal::lgTrimhiOn

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

Referenced by zero().

◆ lgTrimloOn

bool t_ionbal::lgTrimloOn

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

Referenced by zero().

◆ nCompRecoilElec

long int t_ionbal::nCompRecoilElec[LIMELM]

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

Referenced by t_ionbal().

◆ PairProducPhotoRate

double t_ionbal::PairProducPhotoRate[3]

ionization and heating due to pair production

◆ PhotoRate_Shell

multi_arr<double,4> 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]

Referenced by alloc(), and zero().

◆ RateIoniz

multi_arr<double,3> t_ionbal::RateIoniz

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

Referenced by alloc(), and RateIonizTot().

◆ RateRecomIso

multi_arr<double,2> t_ionbal::RateRecomIso

total recombination rate (s-1) for isosequences

Referenced by alloc().

◆ RateRecomTot

multi_arr<double,2> t_ionbal::RateRecomTot

total recombination rate (s-1) all processes

Referenced by alloc(), and zero().

◆ RR_Badnell_rate_coef

multi_arr<double,2> t_ionbal::RR_Badnell_rate_coef

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

Referenced by alloc().

◆ RR_rate_coef_used

multi_arr<double,2> t_ionbal::RR_rate_coef_used

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

Referenced by alloc().

◆ RR_Verner_rate_coef

multi_arr<double,2> t_ionbal::RR_Verner_rate_coef

radiative recombination rate coefficient returned from Dima Verner's routine

Referenced by alloc().

◆ trimhi

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

Referenced by zero().

◆ trimlo

double t_ionbal::trimlo

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

Referenced by zero().

◆ UTA_heat_rate

multi_arr<double,2> t_ionbal::UTA_heat_rate

inner shell UTA heating rate

Referenced by alloc(), and zero().

◆ UTA_ionize_rate

multi_arr<double,2> t_ionbal::UTA_ionize_rate

inner shell UTA ionization rate, includes autoionization probability

Referenced by alloc(), and zero().

◆ xNeutronHeatRate

double t_ionbal::xNeutronHeatRate

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


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