cloudy trunk
Loading...
Searching...
No Matches
ChargeBin Class Reference

#include <grainvar.h>

Collaboration diagram for ChargeBin:

Public Member Functions

 ChargeBin ()
 ~ChargeBin ()
void clear ()

Data Fields

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

Definition at line 199 of file grainvar.h.

Constructor & Destructor Documentation

◆ ChargeBin()

ChargeBin::ChargeBin ( )
inline

Definition at line 205 of file grainvar.h.

References p_clear1().

Here is the call graph for this function:

◆ ~ChargeBin()

ChargeBin::~ChargeBin ( )
inline

Definition at line 209 of file grainvar.h.

References p_clear0().

Here is the call graph for this function:

Member Function Documentation

◆ clear()

void ChargeBin::clear ( )
inline

Definition at line 213 of file grainvar.h.

References p_clear0(), and p_clear1().

Here is the call graph for this function:

◆ p_clear0()

void ChargeBin::p_clear0 ( )
private

Definition at line 254 of file grains.cpp.

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

Referenced by clear(), and ~ChargeBin().

◆ p_clear1()

void ChargeBin::p_clear1 ( )
private

Definition at line 264 of file grains.cpp.

References DustZ, FracPop, nfill, and tedust.

Referenced by ChargeBin(), and clear().

Field 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

Definition at line 265 of file grainvar.h.

◆ bolflux1

double ChargeBin::bolflux1

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

Definition at line 256 of file grainvar.h.

Referenced by GrainTemperature().

◆ ChemEn

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

net contribution of ion recomb to grain heating, in Ryd

Definition at line 262 of file grainvar.h.

Referenced by GrainCollHeating().

◆ ChemEnH2

double ChargeBin::ChemEnH2

net amount of energy donated by H2 formation on grain surface

Definition at line 272 of file grainvar.h.

◆ ChemEnIon

double ChargeBin::ChemEnIon

net amount of energy donated by recombining ions

Definition at line 271 of file grainvar.h.

◆ cs_pdt

flex_arr<double> ChargeBin::cs_pdt

photo-detachment cross section, for default depl

Definition at line 239 of file grainvar.h.

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

◆ DustZ

long ChargeBin::DustZ

grain charging grain charge, in e

Definition at line 220 of file grainvar.h.

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

◆ ehat

flex_arr<realnum> ChargeBin::ehat

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

Definition at line 238 of file grainvar.h.

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

◆ Emin

double ChargeBin::Emin

negative threshold to be overcome by outgoing electron, in Ryd

Definition at line 225 of file grainvar.h.

◆ EminInc

double ChargeBin::EminInc

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

Definition at line 226 of file grainvar.h.

◆ ESum1a

double ChargeBin::ESum1a

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

Definition at line 248 of file grainvar.h.

◆ ESum1b

double ChargeBin::ESum1b

cache for PE rate from conduction band

Definition at line 249 of file grainvar.h.

◆ ESum2

double ChargeBin::ESum2

cache for electron loss due to recombination with colliding ions

Definition at line 250 of file grainvar.h.

◆ eta

double ChargeBin::eta[LIMELM+2]

cache for GrainScreen results

Definition at line 243 of file grainvar.h.

◆ fac1

flex_arr<double> ChargeBin::fac1

auxiliary data for GrainTemperature

Definition at line 258 of file grainvar.h.

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

◆ fac2

flex_arr<double> ChargeBin::fac2

auxiliary data for GrainTemperature

Definition at line 259 of file grainvar.h.

Referenced by GrainTemperature(), and p_clear0().

◆ FracPop

double ChargeBin::FracPop

fractional population for lower and upper charge state

Definition at line 224 of file grainvar.h.

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

◆ GasHeatPhotoEl

double ChargeBin::GasHeatPhotoEl

photoelectric heating of the gas, added in GrGH 0

Definition at line 268 of file grainvar.h.

◆ GasHeatTherm

double ChargeBin::GasHeatTherm

heating due to thermionic emission

Definition at line 269 of file grainvar.h.

◆ GrainCoolTherm

double ChargeBin::GrainCoolTherm

grain cooling due to thermionic emissions, summed over charge states

Definition at line 270 of file grainvar.h.

◆ GrainHeat

double ChargeBin::GrainHeat

total heating of current grain type

Definition at line 266 of file grainvar.h.

◆ GrainHeatColl

double ChargeBin::GrainHeatColl

collisional heating of current grain type

Definition at line 267 of file grainvar.h.

◆ hcon1

double ChargeBin::hcon1

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

Definition at line 254 of file grainvar.h.

Referenced by GrainTemperature().

◆ HeatingRate2

double ChargeBin::HeatingRate2

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

Definition at line 275 of file grainvar.h.

Referenced by GrainCollHeating(), and qheat_init().

◆ hots1

double ChargeBin::hots1

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

Definition at line 255 of file grainvar.h.

Referenced by GrainTemperature().

◆ ipThresInf

long ChargeBin::ipThresInf

pointer to ThresInf in anu array

Definition at line 221 of file grainvar.h.

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

◆ ipThresInfVal

long ChargeBin::ipThresInfVal

pointer to ThresInfVal in anu array

Definition at line 222 of file grainvar.h.

Referenced by PE_init(), and qheat_init().

◆ nfill

long ChargeBin::nfill

remember how far the flex_arr's were filled in

Definition at line 223 of file grainvar.h.

Referenced by p_clear1().

◆ pe1

double ChargeBin::pe1

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

Definition at line 257 of file grainvar.h.

Referenced by GrainTemperature().

◆ PotSurf

double ChargeBin::PotSurf

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

Definition at line 227 of file grainvar.h.

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

Definition at line 228 of file grainvar.h.

Referenced by GrainCollHeating(), and qheat_init().

◆ RecomEn

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

chemical energy released into grain upon impact, in Ryd

Definition at line 261 of file grainvar.h.

Referenced by GrainCollHeating().

◆ RecomZ0

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

ionization stage the atom/ion recombines to upon impact

Definition at line 241 of file grainvar.h.

Referenced by GrainChrgTransferRates(), and GrainCollHeating().

◆ RSum1

double ChargeBin::RSum1

cache for electron gain from colliding electrons

Definition at line 246 of file grainvar.h.

◆ RSum2

double ChargeBin::RSum2

cache for electron gain from colliding ions

Definition at line 247 of file grainvar.h.

◆ tedust

realnum ChargeBin::tedust

grain heating equilibrium temperature for this zone

Definition at line 253 of file grainvar.h.

Referenced by p_clear1().

◆ ThermRate

double ChargeBin::ThermRate

thermionic rate, in e/cm^2/s

Definition at line 235 of file grainvar.h.

Referenced by GrainTemperature().

◆ ThresInf

double ChargeBin::ThresInf

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

Definition at line 229 of file grainvar.h.

◆ ThresInfInc

double ChargeBin::ThresInfInc

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

Definition at line 230 of file grainvar.h.

Referenced by qheat_init().

◆ ThresInfVal

double ChargeBin::ThresInfVal

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

Definition at line 231 of file grainvar.h.

◆ ThresSurf

double ChargeBin::ThresSurf

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

Definition at line 232 of file grainvar.h.

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

Definition at line 233 of file grainvar.h.

Referenced by GrainCollHeating().

◆ ThresSurfVal

double ChargeBin::ThresSurfVal

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

Definition at line 234 of file grainvar.h.

Referenced by PE_init(), and qheat_init().

◆ xi

double ChargeBin::xi[LIMELM+2]

cache for GrainScreen results

Definition at line 244 of file grainvar.h.

◆ yhat

flex_arr<realnum> ChargeBin::yhat

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

Definition at line 236 of file grainvar.h.

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

◆ yhat_primary

flex_arr<realnum> ChargeBin::yhat_primary

electron yield per absorbed photon (only primary electrons)

Definition at line 237 of file grainvar.h.

Referenced by p_clear0(), and qheat_init().


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