Cloudy
Spectral Synthesis Code for Astrophysics
|
#include <ionbal.h>
Public Member Functions | |
void | alloc () |
const char * | chName () const |
void | zero () |
void | comment (t_warnings &) |
double | RateIonizTot (long nelem, long ion) const |
t_ionbal () | |
![]() | |
module () | |
virtual | ~module () |
class for vars dealing with ionization balance
|
inline |
References ipHYDROGEN, LIMELM, and nCompRecoilElec.
void t_ionbal::alloc | ( | ) |
References CollIonRate_Ground, CompRecoilHeatRate, CompRecoilHeatRateSave, CompRecoilIonRate, CompRecoilIonRateSave, CX_recomb_rate_used, DR_Badnell_rate_coef, DR_Badnell_suppress_fact, ExcitationGround, ipCompRecoil, LIMELM, NISO, NSHELLS, PhotoRate_Shell, RateIoniz, RateRecomIso, RateRecomTot, RR_Badnell_rate_coef, RR_rate_coef_used, RR_Verner_rate_coef, UTA_heat_rate, and UTA_ionize_rate.
|
inlinevirtual |
Implements module.
|
virtual |
Implements module.
References t_warnings::bangin(), t_warnings::caunin(), ionbal, and t_warnings::notein().
|
virtual |
Implements module.
References CollIonRate_Ground, CompRecoilHeatRate, CompRecoilIonRate, CotaRate, ExcitationGround, guess_noise, ifail, ihthn, ilt, ilthn, iltln, lgCompRecoil, lgDRsup, lgGrainIonRecom, lgNewTrim, lgNoCota, lgPhotoIoniz_On, lgRecom_Badnell_print, lgTrimhiOn, lgTrimloOn, LIMELM, PhotoRate_Shell, RateRecomTot, trimhi, trimlo, UTA_heat_rate, and UTA_ionize_rate.
multi_arr<double,3> t_ionbal::CollIonRate_Ground |
double t_ionbal::CompHeating_Max |
double t_ionbal::CompRecoilHeatLocal |
the local heating due to Compton recoil ionization
multi_arr<double,2> t_ionbal::CompRecoilHeatRate |
multi_arr<double,2> t_ionbal::CompRecoilHeatRateSave |
save heating rate due to bound electron ionization by Compton scattering
Referenced by alloc().
multi_arr<double,2> t_ionbal::CompRecoilIonRate |
multi_arr<double,2> t_ionbal::CompRecoilIonRateSave |
save rate of bound electron ionization by Compton scattering
Referenced by alloc().
double t_ionbal::CosRayHeatNeutralParticles |
cosmic ray heating rate - erg s-1 - must multiply by density of absorbers - neutral hydrogen to get volume rate
double t_ionbal::CosRayHeatThermalElectrons |
cosmic ray heating of thermal electrons - must multiply by electron density to obtain erg cm-3 s-1
double t_ionbal::CosRayIonRate |
cosmic ray ionization rate
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
double t_ionbal::elecsnk[LIMELM] |
double t_ionbal::elecsrc[LIMELM] |
multi_arr<double,2> t_ionbal::ExcitationGround |
double t_ionbal::ExtraHeatRate |
local heating rate due to some "extra" process
realnum t_ionbal::guess_noise |
log normal noise for guess, zero by default, turned on with noise option
Referenced by zero().
long int t_ionbal::ifail |
Referenced by zero().
long int t_ionbal::ihthn |
Referenced by zero().
long int t_ionbal::ilt |
these are error flags for three-body recombination
Referenced by zero().
long int t_ionbal::ilthn |
Referenced by zero().
long int t_ionbal::iltln |
Referenced by zero().
multi_arr<long,2> t_ionbal::ipCompRecoil |
array indices for continuum offset of Compton recoil ionization threshold
Referenced by alloc().
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().
bool t_ionbal::lgDRsup |
logical flag for disabling dielectronic recombination
Referenced by zero().
int t_ionbal::lgGrainIonRecom |
grecon usually true, set to 0 with no grain neutralization command
Referenced by zero().
bool t_ionbal::lgNewTrim |
enable revised ion-trimming approach
Referenced by zero().
bool t_ionbal::lgNoCota |
following all for 3-body recombination lgNoCota flag set with no three body recombination
Referenced by 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
Referenced by zero().
bool t_ionbal::lgRecom_Badnell_print |
option to print rates then exit
Referenced by zero().
bool t_ionbal::lgTrimhiOn |
option to turn off upward ionization trimming, with set trim upper off
Referenced by zero().
bool t_ionbal::lgTrimloOn |
option to turn off upward ionization trimming, with set trim upper off
Referenced by zero().
long int t_ionbal::nCompRecoilElec[LIMELM] |
number of valence electrons that can participate - multiplies since electron rate
Referenced by t_ionbal().
double t_ionbal::PairProducPhotoRate[3] |
ionization and heating due to pair production
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]
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().
multi_arr<double,2> t_ionbal::RateRecomIso |
total recombination rate (s-1) for isosequences
Referenced by alloc().
multi_arr<double,2> t_ionbal::RateRecomTot |
multi_arr<double,2> t_ionbal::RR_Badnell_rate_coef |
rate coefficients [cm3 s-1] for Badnell DR recombination
Referenced by alloc().
multi_arr<double,2> t_ionbal::RR_rate_coef_used |
radiative recombination rate coefficient (cm3 s-1) used by code
Referenced by alloc().
multi_arr<double,2> t_ionbal::RR_Verner_rate_coef |
radiative recombination rate coefficient returned from Dima Verner's routine
Referenced by alloc().
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().
double t_ionbal::trimlo |
limit to fractional abundance of low stage of ionization, set to 1e-10 in zero.c
Referenced by zero().
multi_arr<double,2> t_ionbal::UTA_heat_rate |
multi_arr<double,2> t_ionbal::UTA_ionize_rate |
double t_ionbal::xNeutronHeatRate |
heating erg s-1 due to fast neutrons - energy flux times cross section but does not include density