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

#include <grainvar.h>

Collaboration diagram for ChargeBin:

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< realnumyhat
 
flex_arr< realnumyhat_primary
 
flex_arr< realnumehat
 
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 ()
 

Detailed Description

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

Constructor & Destructor Documentation

◆ ChargeBin()

ChargeBin::ChargeBin ( )
inline

References p_clear1().

Here is the call graph for this function:

Member Function Documentation

◆ clear()

void ChargeBin::clear ( )
inline

References p_clear0(), and p_clear1().

Here is the call graph for this function:

◆ p_clear0()

void ChargeBin::p_clear0 ( )
private

References cs_pdt, ehat, fac1, fac2, yhat, and yhat_primary.

Referenced by clear().

◆ p_clear1()

void ChargeBin::p_clear1 ( )
private

References DustZ, FracPop, nfill, and tedust.

Referenced by ChargeBin(), and clear().

Member Data Documentation

◆ BolFlux

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

◆ bolflux1

double ChargeBin::bolflux1

reminder of heating integral over all fields, Ryd/H/s at default depl

Referenced by GrainTemperature().

◆ ChemEn

realnum ChargeBin::ChemEn[LIMELM][LIMELM+1]

net contribution of ion recomb to grain heating, in Ryd

Referenced by GrainCollHeating().

◆ ChemEnH2

double ChargeBin::ChemEnH2

net amount of energy donated by H2 formation on grain surface

◆ ChemEnIon

double ChargeBin::ChemEnIon

net amount of energy donated by recombining ions

◆ cs_pdt

flex_arr<double> ChargeBin::cs_pdt

photo-detachment cross section, for default depl

Referenced by GrainElecEmis1(), GrainTemperature(), GrainUpdateRadius2(), p_clear0(), and PE_init().

◆ DustZ

long ChargeBin::DustZ

◆ ehat

flex_arr<realnum> ChargeBin::ehat

average energy per photo-electron (incl. Auger and secondary electrons), Ryd

Referenced by p_clear0(), PE_init(), and qheat_init().

◆ Emin

double ChargeBin::Emin

negative threshold to be overcome by outgoing electron, in Ryd

◆ EminInc

double ChargeBin::EminInc

same as Emin, but for incoming electrons (using Zg instead of Zg+1), in Ryd

◆ ESum1a

double ChargeBin::ESum1a

cache for PE rate from band and inner shells (incl. Auger elec. & secondaries)

Referenced by GrainElecEmis1().

◆ ESum1b

double ChargeBin::ESum1b

cache for PE rate from conduction band

Referenced by GrainElecEmis1().

◆ ESum2

double ChargeBin::ESum2

cache for electron loss due to recombination with colliding ions

Referenced by GrainElecEmis1().

◆ eta

double ChargeBin::eta[LIMELM+2]

cache for GrainScreen results

◆ fac1

flex_arr<double> ChargeBin::fac1

auxiliary data for GrainTemperature

Referenced by GrainTemperature(), p_clear0(), and qheat_init().

◆ fac2

flex_arr<double> ChargeBin::fac2

auxiliary data for GrainTemperature

Referenced by GrainTemperature(), and p_clear0().

◆ FracPop

double ChargeBin::FracPop

fractional population for lower and upper charge state

Referenced by GrainChrgTransferRates(), GrainCollHeating(), GrainTemperature(), GrainUpdateRadius2(), p_clear1(), and qheat_init().

◆ GasHeatPhotoEl

double ChargeBin::GasHeatPhotoEl

photoelectric heating of the gas, added in GrGH 0

◆ GasHeatTherm

double ChargeBin::GasHeatTherm

heating due to thermionic emission

◆ GrainCoolTherm

double ChargeBin::GrainCoolTherm

grain cooling due to thermionic emissions, summed over charge states

◆ GrainHeat

double ChargeBin::GrainHeat

total heating of current grain type

◆ GrainHeatColl

double ChargeBin::GrainHeatColl

collisional heating of current grain type

◆ hcon1

double ChargeBin::hcon1

reminder of heating integral over incident flux, Ryd/H/s at default depl

Referenced by GrainTemperature().

◆ HeatingRate2

double ChargeBin::HeatingRate2

quantum heating quantum heating by electron recomb - thermionic cooling, erg/H/s, default depl

Referenced by GrainCollHeating(), and qheat_init().

◆ hots1

double ChargeBin::hots1

reminder of heating integral over diffuse fields, Ryd/H/s at default depl

Referenced by GrainTemperature().

◆ ipThresInf

long ChargeBin::ipThresInf

pointer to ThresInf in anu array

Referenced by GrainElecEmis1(), GrainTemperature(), GrainUpdateRadius2(), PE_init(), and qheat_init().

◆ ipThresInfVal

long ChargeBin::ipThresInfVal

pointer to ThresInfVal in anu array

Referenced by GrainElecEmis1(), PE_init(), and qheat_init().

◆ nfill

long ChargeBin::nfill

remember how far the flex_arr's were filled in

Referenced by p_clear1(), and qheat_init().

◆ pe1

double ChargeBin::pe1

reminder of photoelectric heating integral, Ryd/H/s at default depl

Referenced by GrainTemperature().

◆ PotSurf

double ChargeBin::PotSurf

potential difference between grain surface and infinity (phi_g), in Ryd

Referenced by GrainCollHeating(), GrainTemperature(), PE_init(), and qheat_init().

◆ PotSurfInc

double ChargeBin::PotSurfInc

same as PotSurf, but for incoming electrons (using Zg instead of Zg+1), in Ryd

Referenced by GrainCollHeating(), and qheat_init().

◆ RecomEn

realnum ChargeBin::RecomEn[LIMELM][LIMELM+1]

chemical energy released into grain upon impact, in Ryd

Referenced by GrainCollHeating().

◆ RecomZ0

long ChargeBin::RecomZ0[LIMELM][LIMELM+1]

ionization stage the atom/ion recombines to upon impact

Referenced by GrainChrgTransferRates(), GrainCollHeating(), and GrainElecEmis1().

◆ RSum1

double ChargeBin::RSum1

cache for electron gain from colliding electrons

◆ RSum2

double ChargeBin::RSum2

cache for electron gain from colliding ions

◆ tedust

realnum ChargeBin::tedust

grain heating equilibrium temperature for this zone

Referenced by p_clear1().

◆ ThermRate

double ChargeBin::ThermRate

thermionic rate, in e/cm^2/s

Referenced by GrainTemperature().

◆ ThresInf

double ChargeBin::ThresInf

threshold for removing electron from grain well to infinity (phi), in Ryd

◆ ThresInfInc

double ChargeBin::ThresInfInc

same as ThresInf, but for incoming electrons (using Zg instead of Zg+1), in Ryd

Referenced by qheat_init().

◆ ThresInfVal

double ChargeBin::ThresInfVal

threshold for removing electron from valence band to infinity (phi^v), in Ryd

◆ ThresSurf

double ChargeBin::ThresSurf

threshold for removing electron from grain well to surface (phi_s), in Ryd

Referenced by GrainTemperature(), PE_init(), and qheat_init().

◆ ThresSurfInc

double ChargeBin::ThresSurfInc

same as ThresSurf, but for incoming electrons (using Zg instead of Zg+1), in Ryd

Referenced by GrainCollHeating().

◆ ThresSurfVal

double ChargeBin::ThresSurfVal

threshold for removing electron from valence band to surface (phi_s^v), in Ryd

Referenced by PE_init(), and qheat_init().

◆ xi

double ChargeBin::xi[LIMELM+2]

cache for GrainScreen results

◆ yhat

flex_arr<realnum> ChargeBin::yhat

electron yield per absorbed photon (incl. Auger and secondary electrons)

Referenced by GrainElecEmis1(), p_clear0(), PE_init(), and qheat_init().

◆ yhat_primary

flex_arr<realnum> ChargeBin::yhat_primary

electron yield per absorbed photon (only primary electrons)

Referenced by p_clear0(), and qheat_init().


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