cloudy
trunk
|
#include <grainvar.h>
Public Member Functions | |
GrainBin () | |
~GrainBin () | |
void | clear () |
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 grain type (i.e. all data that can differ from one grain bin to the next),
each data item will be referenced as: gv.bin[nd]->data_item
this structure is allocated for each grain bin at run time.
Data items that are generic for all grain types, or are summed over all grain types, should go in gv below !!
NB NB NB NB NB NB
Definition at line 296 of file grainvar.h.
|
inline |
Definition at line 302 of file grainvar.h.
References p_clear1().
|
inline |
Definition at line 306 of file grainvar.h.
References p_clear0().
|
inline |
Definition at line 310 of file grainvar.h.
References p_clear0(), and p_clear1().
|
private |
Definition at line 246 of file grains.cpp.
References asym, chrg, dstab1, dstab1_x_anu, inv_att_len, NCHS, pure_sc1, sd, and y0b06.
Referenced by clear(), and ~GrainBin().
|
private |
Definition at line 266 of file grains.cpp.
References avdft, avDGRatio, avdpot, avdust, AveDustZ, BolFlux, ChemEn, ChemEnH2, chrg, cnv_CM3_pGR, cnv_CM3_pH, cnv_GR_pCM3, cnv_GR_pH, cnv_H_pCM3, cnv_H_pGR, DF_STANDARD, dstAbund, dstems, dstfactor, dstpot, dstslp, dstslp2, DustDftVel, DustEnth, EnthSlp, EnthSlp2, GasHeatPhotoEl, GrainCoolTherm, GrainGasCool, GrainHeat, GrainHeatColl, GrnDpth, gv, HeatingRate1, le_thres, lgEverQHeat, lgPAHsInIonizedRegion, lgQHeat, lgQHTooWide, lgTdustConverged, lgUseQHeat, LowestZg, nChrg, nChrgOrg, GrainVar::nChrgRequested, NCHS, NDEMS, nDustFunc, nfill, QHeatFailures, qnflux, qnflux2, qtmin, qtmin_zone1, rate_h2_form_grains_CT02, rate_h2_form_grains_ELRD, rate_h2_form_grains_HM79, rate_h2_form_grains_used, RateDn, RateUp, RSFCheck, sd, StickElecNeg, StickElecPos, tedust, TeGrainMax, and thermionic.
Referenced by clear(), and GrainBin().
double GrainBin::AccomCoef[LIMELM] |
accommodation coefficient, needed for collisional heating of grain
Definition at line 402 of file grainvar.h.
vector<double> GrainBin::asym |
realnum GrainBin::atomWeight |
molecular weight per atom, in amu
Definition at line 326 of file grainvar.h.
realnum GrainBin::AvArea |
average grain surface area, <4pi*a^2>, in cm^2, CURRENTLY NOT USED
Definition at line 326 of file grainvar.h.
realnum GrainBin::avdft |
Integral(vdrift*dReff) for average drift velocity, OUTPUT ONLY
Definition at line 438 of file grainvar.h.
Referenced by p_clear1().
realnum GrainBin::avDGRatio |
Integral(D/G*dReff) for average dust to gas ratio, OUTPUT ONLY
Definition at line 326 of file grainvar.h.
Referenced by p_clear1().
realnum GrainBin::avdpot |
Integral(Vg*dReff) for average grain potential, OUTPUT ONLY
Definition at line 399 of file grainvar.h.
Referenced by p_clear1().
realnum GrainBin::avdust |
Integral(Tdust*dReff) for average equilibrium temperature, OUTPUT ONLY
Definition at line 377 of file grainvar.h.
Referenced by p_clear1().
double GrainBin::AveDustZ |
average charge per grain, in electrons
Definition at line 391 of file grainvar.h.
Referenced by p_clear1().
realnum GrainBin::AvRadius |
average grain radius, <a^3>/<a^2>, in cm
Definition at line 326 of file grainvar.h.
realnum GrainBin::AvVol |
average grain volume, <4/3pi*a^3>, in cm^3
Definition at line 326 of file grainvar.h.
realnum GrainBin::BandGap |
gap between valence and conduction band, in Ryd
Definition at line 326 of file grainvar.h.
double GrainBin::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 405 of file grainvar.h.
Referenced by p_clear1().
double GrainBin::Capacity |
grain capacity, in Farad/grain
Definition at line 393 of file grainvar.h.
char GrainBin::chDstLab[13] |
general information on the grains label for the species
Definition at line 322 of file grainvar.h.
double GrainBin::ChemEn |
net amount of energy donated by recombining ions
Definition at line 405 of file grainvar.h.
Referenced by p_clear1().
double GrainBin::ChemEnH2 |
net amount of energy donated by H2 formation on grain surface
Definition at line 405 of file grainvar.h.
Referenced by p_clear1().
this holds the charge dependent data
Definition at line 443 of file grainvar.h.
Referenced by p_clear0(), and p_clear1().
double GrainBin::cnv_CM3_pGR |
grain unit conversion, <unit>/cm^3 (actual depl) -> <unit>/grain
Definition at line 354 of file grainvar.h.
Referenced by p_clear1().
double GrainBin::cnv_CM3_pH |
grain unit conversion, <unit>/cm^3 (actual depl) -> <unit>/H (default depl)
Definition at line 354 of file grainvar.h.
Referenced by p_clear1().
double GrainBin::cnv_GR_pCM3 |
grain unit conversion, <unit>/grain -> <unit>/cm^3 (actual depl)
Definition at line 354 of file grainvar.h.
Referenced by p_clear1().
double GrainBin::cnv_GR_pH |
grain unit conversion, <unit>/grain -> <unit>/H (default depl)
Definition at line 354 of file grainvar.h.
Referenced by p_clear1().
double GrainBin::cnv_H_pCM3 |
grain unit conversion, <unit>/H (default depl) -> <unit>/cm^3 (actual depl)
Definition at line 354 of file grainvar.h.
Referenced by p_clear1().
double GrainBin::cnv_H_pGR |
grain unit conversion, <unit>/H (default depl) -> <unit>/grain
Definition at line 354 of file grainvar.h.
Referenced by p_clear1().
vector<double> GrainBin::dstab1 |
>>chng 02 dec 30, separated scattering cross section and asymmetry factor (1-g), NB NB NB – note that pure_sc1 DOES NOT contain the asymmetry factor, while gv.dstsc DOES !!! absorption cross section per grain species, for default depl
Definition at line 366 of file grainvar.h.
Referenced by p_clear0().
vector<double> GrainBin::dstab1_x_anu |
helper array, dstab1[i]*anu[i] for default depl
Definition at line 369 of file grainvar.h.
Referenced by p_clear0().
realnum GrainBin::dstAbund |
grain abundance in zone, dstfactor*GrainMetal*GrnVryDpth(radius)
Definition at line 350 of file grainvar.h.
Referenced by p_clear1().
double GrainBin::dstems[NDEMS] |
equilibrium temperature grain emissivity at dsttmp[], default depl, normalized per H
Definition at line 372 of file grainvar.h.
Referenced by p_clear1().
realnum GrainBin::dstfactor |
chemical abundances of grains in elmAbund are defined as follows: e.g. for MgSiFeO4 the oxygen abundance would be given by elmAbund[nd][7] = 4.*dustp[nd][2]*dustp[nd][3]*dustp[nd][4] chemical abundances of grains are normalized such that in any given zone the total fractional abundance of an element Z locked up in grains is given by SumFracAbund(nelem) = Sum_over_nd ( gv.bin[nd]->elmAbund[nelem]*gv.dstAbund[nd] ) grain depletion, normalization conversion factors grain depletion factor, dep from GRAINS command
Definition at line 350 of file grainvar.h.
Referenced by p_clear1().
double GrainBin::dstpot |
double GrainBin::dstslp[NDEMS] |
auxiliary array for spline interpolation
Definition at line 372 of file grainvar.h.
Referenced by p_clear1().
double GrainBin::dstslp2[NDEMS] |
auxiliary array for inverse spline interpolation
Definition at line 372 of file grainvar.h.
Referenced by p_clear1().
realnum GrainBin::DustDftVel |
grain drift grain drift velocity for this zone
Definition at line 438 of file grainvar.h.
Referenced by p_clear1().
double GrainBin::DustEnth[NDEMS] |
grain enthalpy at dsttmp[], in Ryd/grain
Definition at line 426 of file grainvar.h.
Referenced by p_clear1().
realnum GrainBin::dustp[5] |
0 = specific weight (g/cm^3), 1 = mol. weight (amu), 2 = default abundance, 3 = default depletion, 4 = fraction of the mass in this grain bin
Definition at line 326 of file grainvar.h.
realnum GrainBin::DustWorkFcn |
work function, in Ryd
Definition at line 326 of file grainvar.h.
double GrainBin::eec |
pow(dustp[0],-0.85), needed for electron esacpe length
Definition at line 323 of file grainvar.h.
chemical composition, abundance at default depl, see comment below
Definition at line 326 of file grainvar.h.
double GrainBin::EnthSlp[NDEMS] |
auxiliary array for spline interpolation
Definition at line 426 of file grainvar.h.
Referenced by p_clear1().
double GrainBin::EnthSlp2[NDEMS] |
auxiliary array for inverse spline interpolation
Definition at line 426 of file grainvar.h.
Referenced by p_clear1().
double GrainBin::eyc |
1./AvRadius + 1.e7, needed for electron yield
Definition at line 324 of file grainvar.h.
double GrainBin::GasHeatPhotoEl |
photoelectric heating of the gas, added in GrGH 0
Definition at line 405 of file grainvar.h.
Referenced by p_clear1().
double GrainBin::GrainCoolTherm |
grain cooling due to thermionic emissions, summed over charge states
Definition at line 405 of file grainvar.h.
Referenced by p_clear1().
double GrainBin::GrainGasCool |
gas cooling due to collisions with grains
Definition at line 405 of file grainvar.h.
Referenced by p_clear1().
double GrainBin::GrainHeat |
total heating of current grain type
Definition at line 405 of file grainvar.h.
Referenced by p_clear1().
double GrainBin::GrainHeatColl |
collisional heating of current grain type
Definition at line 405 of file grainvar.h.
Referenced by p_clear1().
realnum GrainBin::GrnDpth |
grain abundance scale factor in zone, GrnStdDpth(radius), used by set PAH constant / H0 commands
Definition at line 350 of file grainvar.h.
Referenced by p_clear1().
double GrainBin::HeatingRate1 |
quantum heating due to molecule/ion collisions, erg/H/s, default depl
Definition at line 425 of file grainvar.h.
Referenced by p_clear1().
realnum GrainBin::IntArea |
integrated grain surface area Int(4pi*a^2), normalized per H, in cm^2/H
Definition at line 326 of file grainvar.h.
realnum GrainBin::IntRadius |
integrated grain radius Int(a), normalized per H, in cm/H
Definition at line 326 of file grainvar.h.
realnum GrainBin::IntVol |
integrated grain volume Int(4/3pi*a^3), normalized per H, in cm^3/H
Definition at line 326 of file grainvar.h.
vector<realnum> GrainBin::inv_att_len |
inverse attenuation length (in cm)
Definition at line 401 of file grainvar.h.
Referenced by p_clear0().
realnum GrainBin::le_thres |
threshold for using X-ray prescription for l_e, in Ryd
Definition at line 399 of file grainvar.h.
Referenced by p_clear1().
bool GrainBin::lgEverQHeat |
was quantum heating used in any zone ?
Definition at line 416 of file grainvar.h.
Referenced by p_clear1().
bool GrainBin::lgIterStart |
are we converging the grain physics for the first time this iteration?
Definition at line 319 of file grainvar.h.
bool GrainBin::lgPAHsInIonizedRegion |
were PAHs present in the ionized region ?
Definition at line 318 of file grainvar.h.
Referenced by p_clear1().
bool GrainBin::lgQHeat |
quantum heating physics is quantum heating turned on ?
Definition at line 416 of file grainvar.h.
Referenced by p_clear1().
bool GrainBin::lgQHTooWide |
is probability distribution too wide to fit in NQGRID array elements ?
Definition at line 416 of file grainvar.h.
Referenced by p_clear1().
bool GrainBin::lgTdustConverged |
is dust temperature converged ?
Definition at line 376 of file grainvar.h.
Referenced by p_clear1().
bool GrainBin::lgUseQHeat |
should quantum heating be used for this zone ?
Definition at line 416 of file grainvar.h.
Referenced by p_clear1().
long GrainBin::LowestZg |
grain charging, photoelectric effect, thermionic emissions
all charge and energy rates will be calculated by resolving the charge distribution into nChrg integral charge states. To implement this, certain parameters have been moved into the ChargeBin structure, currently limiting the maximum number of charge states the code can handle. For details see: >>refer grain physics van Hoof et al., 2001, ASP Conf. Series 247, p. 353 (astroph/0107183) lowest charge a grain can ever have, in e
Definition at line 387 of file grainvar.h.
Referenced by p_clear1().
mat_type GrainBin::matType |
material type, 1 = carbonaceous, 2 = silicate, 3 = PAH, etc...
Definition at line 340 of file grainvar.h.
long GrainBin::nChrg |
number of charge states used for the current zone
Definition at line 442 of file grainvar.h.
Referenced by p_clear1().
long GrainBin::nChrgOrg |
number of charge states at the start of the iteration
Definition at line 441 of file grainvar.h.
Referenced by p_clear1().
df_type GrainBin::nDustFunc |
grain logic has user requested custom grain abundance function ?
Definition at line 317 of file grainvar.h.
Referenced by p_clear1().
long GrainBin::nfill |
remember how far the flex_arr's in the ShellData were filled in
Definition at line 388 of file grainvar.h.
Referenced by p_clear1().
vector<double> GrainBin::pure_sc1 |
scattering cross section per grain species, for default depl
Definition at line 367 of file grainvar.h.
Referenced by p_clear0().
long GrainBin::QHeatFailures |
counter for number of times qheat algorithm failed
Definition at line 420 of file grainvar.h.
Referenced by p_clear1().
long GrainBin::qnflux |
like rfield.nflux, but may point to higher energy, for phiTilde and Phi
Definition at line 420 of file grainvar.h.
Referenced by p_clear1().
long GrainBin::qnflux2 |
like rfield.nflux, only for max electron energy, for phiTilde and Phi
Definition at line 420 of file grainvar.h.
Referenced by p_clear1().
double GrainBin::qtmin |
lowest grain temperature used in calculations, set per zone
Definition at line 423 of file grainvar.h.
Referenced by p_clear1().
double GrainBin::qtmin_zone1 |
lowest grain temperature used in calculations, initial zone
Definition at line 424 of file grainvar.h.
Referenced by p_clear1().
double GrainBin::rate_h2_form_grains_CT02 |
H2 formation rate, Cazaux & Tielens 02, units S^-1, actual depl
Definition at line 432 of file grainvar.h.
Referenced by p_clear1().
double GrainBin::rate_h2_form_grains_ELRD |
H2 formation rate, Rollig et al. 2013 with Eley-Rideal effect, units S^-1, actual depl
Definition at line 433 of file grainvar.h.
Referenced by p_clear1().
double GrainBin::rate_h2_form_grains_HM79 |
H2 physics - each has units s-1 H2 formation rate, Hollenbach & McKee 79, units S^-1, actual depl
Definition at line 431 of file grainvar.h.
Referenced by p_clear1().
double GrainBin::rate_h2_form_grains_used |
H2 rate actually used, evaluated in hmole.c, units s^-1, actual depl
when multiplied with hden, this is formation rate in H2-molecules/cm^3/s
Definition at line 434 of file grainvar.h.
Referenced by p_clear1().
double GrainBin::RateDn |
total charging rate down, used for balance check, in e/cm^2/s
Definition at line 394 of file grainvar.h.
Referenced by p_clear1().
double GrainBin::RateUp |
total charging rate up, used for balance check, in e/cm^2/s
Definition at line 394 of file grainvar.h.
Referenced by p_clear1().
double GrainBin::RSFCheck |
grain opacities save resolution scale factor for later check
Definition at line 362 of file grainvar.h.
Referenced by p_clear1().
vector<ShellData*> GrainBin::sd |
specific data for each atomic shell in this grain material
Definition at line 389 of file grainvar.h.
Referenced by p_clear0(), and p_clear1().
double GrainBin::StickElecNeg |
sticking efficiency for electrons on negative or neutral grains
Definition at line 394 of file grainvar.h.
Referenced by p_clear1().
double GrainBin::StickElecPos |
sticking efficiency for electrons on positive grains
Definition at line 394 of file grainvar.h.
Referenced by p_clear1().
realnum GrainBin::tedust |
equilibrium temperature for this zone
Definition at line 377 of file grainvar.h.
Referenced by p_clear1().
realnum GrainBin::TeGrainMax |
highest equilibrium temperature as a function of radius
Definition at line 377 of file grainvar.h.
Referenced by p_clear1().
realnum GrainBin::ThermEff |
efficiency of thermionic emission, between 0 and 1
Definition at line 326 of file grainvar.h.
double GrainBin::thermionic |
heating due to thermionic emission
Definition at line 405 of file grainvar.h.
Referenced by p_clear1().
realnum GrainBin::Tsublimat |
sublimation temperature
Definition at line 326 of file grainvar.h.
vector<realnum> GrainBin::y0b06 |
bulk yield for band according to Eq. 9 of WDB06
Definition at line 390 of file grainvar.h.
Referenced by p_clear0().
long GrainBin::ZloSave |
grain charge at the start of the iteration, in e
Definition at line 392 of file grainvar.h.