Cloudy
Spectral Synthesis Code for Astrophysics
|
#include <grainvar.h>
Public Member Functions | |
ChargeBin () | |
void | clear () |
Public Attributes | |
long | DustZ |
long | ipThresInf |
long | ipThresInfVal |
long | nfill |
double | FracPop |
double | Emin |
double | EminInc |
double | PotSurf |
double | PotSurfInc |
double | ThresInf |
double | ThresInfInc |
double | ThresInfVal |
double | ThresSurf |
double | ThresSurfInc |
double | ThresSurfVal |
double | ThermRate |
flex_arr< realnum > | yhat |
flex_arr< realnum > | yhat_primary |
flex_arr< realnum > | ehat |
flex_arr< double > | cs_pdt |
long | RecomZ0 [LIMELM][LIMELM+1] |
double | eta [LIMELM+2] |
double | xi [LIMELM+2] |
double | RSum1 |
double | RSum2 |
double | ESum1a |
double | ESum1b |
double | ESum2 |
realnum | tedust |
double | hcon1 |
double | hots1 |
double | bolflux1 |
double | pe1 |
flex_arr< double > | fac1 |
flex_arr< double > | fac2 |
realnum | RecomEn [LIMELM][LIMELM+1] |
realnum | ChemEn [LIMELM][LIMELM+1] |
double | BolFlux |
double | GrainHeat |
double | GrainHeatColl |
double | GasHeatPhotoEl |
double | GasHeatTherm |
double | GrainCoolTherm |
double | ChemEnIon |
double | ChemEnH2 |
double | HeatingRate2 |
Private Member Functions | |
void | p_clear0 () |
void | p_clear1 () |
NB NB NB NB NB NB
this is the data structure for all grain data that depends on the charge state (i.e. all data that used to have an [NCHS] dependance in days of old),
each data item will be referenced as: gv.bin[nd]->chrg[nz]->data_item
this structure is allocated for each charge state at run time.
Data items that do not depend on charge state, or are summed over all charge states, should go in gv or gv.bin[nd] below !!
NB NB !! every field that is in ChargeBin should be initialized or invalidated in UpdatePot1/2 !! NB NB
|
inline |
|
inline |
|
private |
References flex_arr< T, lgBC >::clear(), cs_pdt, ehat, fac1, fac2, yhat, and yhat_primary.
Referenced by clear().
|
private |
double ChargeBin::BolFlux |
heating/cooling balance, all entries are valid for current zone, actual depl, and are in erg/cm^3/s total photon flux absorbed, used for energy conservation test
double ChargeBin::bolflux1 |
reminder of heating integral over all fields, Ryd/H/s at default depl
Referenced by GrainTemperature().
net contribution of ion recomb to grain heating, in Ryd
Referenced by GrainCollHeating().
double ChargeBin::ChemEnH2 |
net amount of energy donated by H2 formation on grain surface
double ChargeBin::ChemEnIon |
net amount of energy donated by recombining ions
flex_arr<double> ChargeBin::cs_pdt |
photo-detachment cross section, for default depl
Referenced by GrainElecEmis1(), GrainTemperature(), GrainUpdateRadius2(), p_clear0(), and PE_init().
long ChargeBin::DustZ |
grain charging grain charge, in e
Referenced by GrainCollHeating(), GrainElecEmis1(), GrainTemperature(), GrainUpdateRadius2(), p_clear1(), PE_init(), and qheat_init().
average energy per photo-electron (incl. Auger and secondary electrons), Ryd
Referenced by p_clear0(), PE_init(), and qheat_init().
double ChargeBin::Emin |
negative threshold to be overcome by outgoing electron, in Ryd
double ChargeBin::EminInc |
same as Emin, but for incoming electrons (using Zg instead of Zg+1), in Ryd
double ChargeBin::ESum1a |
cache for PE rate from band and inner shells (incl. Auger elec. & secondaries)
Referenced by GrainElecEmis1().
double ChargeBin::ESum1b |
cache for PE rate from conduction band
Referenced by GrainElecEmis1().
double ChargeBin::ESum2 |
cache for electron loss due to recombination with colliding ions
Referenced by GrainElecEmis1().
double ChargeBin::eta[LIMELM+2] |
cache for GrainScreen results
flex_arr<double> ChargeBin::fac1 |
auxiliary data for GrainTemperature
Referenced by GrainTemperature(), p_clear0(), and qheat_init().
flex_arr<double> ChargeBin::fac2 |
auxiliary data for GrainTemperature
Referenced by GrainTemperature(), and p_clear0().
double ChargeBin::FracPop |
fractional population for lower and upper charge state
Referenced by GrainChrgTransferRates(), GrainCollHeating(), GrainTemperature(), GrainUpdateRadius2(), p_clear1(), and qheat_init().
double ChargeBin::GasHeatPhotoEl |
photoelectric heating of the gas, added in GrGH 0
double ChargeBin::GasHeatTherm |
heating due to thermionic emission
double ChargeBin::GrainCoolTherm |
grain cooling due to thermionic emissions, summed over charge states
double ChargeBin::GrainHeat |
total heating of current grain type
double ChargeBin::GrainHeatColl |
collisional heating of current grain type
double ChargeBin::hcon1 |
reminder of heating integral over incident flux, Ryd/H/s at default depl
Referenced by GrainTemperature().
double ChargeBin::HeatingRate2 |
quantum heating quantum heating by electron recomb - thermionic cooling, erg/H/s, default depl
Referenced by GrainCollHeating(), and qheat_init().
double ChargeBin::hots1 |
reminder of heating integral over diffuse fields, Ryd/H/s at default depl
Referenced by GrainTemperature().
long ChargeBin::ipThresInf |
pointer to ThresInf in anu array
Referenced by GrainElecEmis1(), GrainTemperature(), GrainUpdateRadius2(), PE_init(), and qheat_init().
long ChargeBin::ipThresInfVal |
pointer to ThresInfVal in anu array
Referenced by GrainElecEmis1(), PE_init(), and qheat_init().
long ChargeBin::nfill |
remember how far the flex_arr's were filled in
Referenced by p_clear1(), and qheat_init().
double ChargeBin::pe1 |
reminder of photoelectric heating integral, Ryd/H/s at default depl
Referenced by GrainTemperature().
double ChargeBin::PotSurf |
potential difference between grain surface and infinity (phi_g), in Ryd
Referenced by GrainCollHeating(), GrainTemperature(), PE_init(), and qheat_init().
double ChargeBin::PotSurfInc |
same as PotSurf, but for incoming electrons (using Zg instead of Zg+1), in Ryd
Referenced by GrainCollHeating(), and qheat_init().
chemical energy released into grain upon impact, in Ryd
Referenced by GrainCollHeating().
ionization stage the atom/ion recombines to upon impact
Referenced by GrainChrgTransferRates(), GrainCollHeating(), and GrainElecEmis1().
double ChargeBin::RSum1 |
cache for electron gain from colliding electrons
double ChargeBin::RSum2 |
cache for electron gain from colliding ions
realnum ChargeBin::tedust |
grain heating equilibrium temperature for this zone
Referenced by p_clear1().
double ChargeBin::ThermRate |
thermionic rate, in e/cm^2/s
Referenced by GrainTemperature().
double ChargeBin::ThresInf |
threshold for removing electron from grain well to infinity (phi), in Ryd
double ChargeBin::ThresInfInc |
same as ThresInf, but for incoming electrons (using Zg instead of Zg+1), in Ryd
Referenced by qheat_init().
double ChargeBin::ThresInfVal |
threshold for removing electron from valence band to infinity (phi^v), in Ryd
double ChargeBin::ThresSurf |
threshold for removing electron from grain well to surface (phi_s), in Ryd
Referenced by GrainTemperature(), PE_init(), and qheat_init().
double ChargeBin::ThresSurfInc |
same as ThresSurf, but for incoming electrons (using Zg instead of Zg+1), in Ryd
Referenced by GrainCollHeating().
double ChargeBin::ThresSurfVal |
threshold for removing electron from valence band to surface (phi_s^v), in Ryd
Referenced by PE_init(), and qheat_init().
double ChargeBin::xi[LIMELM+2] |
cache for GrainScreen results
electron yield per absorbed photon (incl. Auger and secondary electrons)
Referenced by GrainElecEmis1(), p_clear0(), PE_init(), and qheat_init().
electron yield per absorbed photon (only primary electrons)
Referenced by p_clear0(), and qheat_init().