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 292 of file grainvar.h.
|
inline |
Definition at line 298 of file grainvar.h.
References p_clear1().
|
inline |
Definition at line 302 of file grainvar.h.
References p_clear0().
|
inline |
Definition at line 306 of file grainvar.h.
References p_clear0(), and p_clear1().
|
private |
Definition at line 272 of file grains.cpp.
References asym, chrg, dstab1, inv_att_len, NCHS, pure_sc1, sd, and y0b06.
Referenced by clear(), and ~GrainBin().
|
private |
Definition at line 291 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, dstpotsav, dstslp, dstslp2, DustDftVel, DustEnth, EnthSlp, EnthSlp2, GasHeatPhotoEl, GrainCoolTherm, GrainGasCool, GrainHeat, GrainHeatColl, GrnDpth, gv, HeatingRate1, le_thres, lgChrgConverged, lgEverQHeat, lgPAHsInIonizedRegion, lgQHeat, lgQHTooWide, lgTdustConverged, lgUseQHeat, LowestPot, LowestZg, nChrg, nChrgOrg, NCHS, NDEMS, nDustFunc, nfill, QHeatFailures, qnflux, qnflux2, qtmin, qtmin_zone1, rate_h2_form_grains_CT02, 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 398 of file grainvar.h.
vector<double> GrainBin::asym |
realnum GrainBin::atomWeight |
molecular weight per atom, in amu
Definition at line 329 of file grainvar.h.
realnum GrainBin::AvArea |
average grain surface area, <4pi*a^2>, in cm^2, CURRENTLY NOT USED
Definition at line 323 of file grainvar.h.
realnum GrainBin::avdft |
Integral(vdrift*dReff) for average drift velocity, OUTPUT ONLY
Definition at line 435 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 334 of file grainvar.h.
Referenced by p_clear1().
realnum GrainBin::avdpot |
Integral(Vg*dReff) for average grain potential, OUTPUT ONLY
Definition at line 395 of file grainvar.h.
Referenced by p_clear1().
realnum GrainBin::avdust |
Integral(Tdust*dReff) for average equilibrium temperature, OUTPUT ONLY
Definition at line 373 of file grainvar.h.
Referenced by p_clear1().
double GrainBin::AveDustZ |
average charge per grain, in electrons
Definition at line 386 of file grainvar.h.
Referenced by p_clear1().
realnum GrainBin::AvRadius |
average grain radius, <a^3>/<a^2>, in cm
Definition at line 322 of file grainvar.h.
realnum GrainBin::AvVol |
average grain volume, <4/3pi*a^3>, in cm^3
Definition at line 324 of file grainvar.h.
realnum GrainBin::BandGap |
gap between valence and conduction band, in Ryd
Definition at line 332 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 401 of file grainvar.h.
Referenced by p_clear1().
double GrainBin::Capacity |
grain capacity, in Farad/grain
Definition at line 387 of file grainvar.h.
char GrainBin::chDstLab[13] |
general information on the grains label for the species
Definition at line 317 of file grainvar.h.
double GrainBin::ChemEn |
net amount of energy donated by recombining ions
Definition at line 407 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 408 of file grainvar.h.
Referenced by p_clear1().
this holds the charge dependent data
Definition at line 439 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 351 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 352 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 353 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 350 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 349 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 361 of file grainvar.h.
Referenced by p_clear0().
realnum GrainBin::dstAbund |
grain abundance in zone, dstfactor*GrainMetal*GrnVryDpth(radius)
Definition at line 346 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 366 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 345 of file grainvar.h.
Referenced by p_clear1().
double GrainBin::dstpot |
double GrainBin::dstpotsav |
grain potential at start of iteration
Definition at line 389 of file grainvar.h.
Referenced by p_clear1().
double GrainBin::dstslp[NDEMS] |
auxiliary array for spline interpolation
Definition at line 367 of file grainvar.h.
Referenced by p_clear1().
double GrainBin::dstslp2[NDEMS] |
auxiliary array for inverse spline interpolation
Definition at line 368 of file grainvar.h.
Referenced by p_clear1().
realnum GrainBin::DustDftVel |
grain drift grain drift velocity for this zone
Definition at line 434 of file grainvar.h.
Referenced by p_clear1().
double GrainBin::DustEnth[NDEMS] |
grain enthalpy at dsttmp[], in Ryd/grain
Definition at line 423 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 320 of file grainvar.h.
realnum GrainBin::DustWorkFcn |
work function, in Ryd
Definition at line 331 of file grainvar.h.
double GrainBin::eec |
pow(dustp[0],-0.85), needed for electron esacpe length
Definition at line 318 of file grainvar.h.
chemical composition, abundance at default depl, see comment below
Definition at line 328 of file grainvar.h.
double GrainBin::EnthSlp[NDEMS] |
auxiliary array for spline interpolation
Definition at line 424 of file grainvar.h.
Referenced by p_clear1().
double GrainBin::EnthSlp2[NDEMS] |
auxiliary array for inverse spline interpolation
Definition at line 425 of file grainvar.h.
Referenced by p_clear1().
double GrainBin::eyc |
1./AvRadius + 1.e7, needed for electron yield
Definition at line 319 of file grainvar.h.
double GrainBin::GasHeatPhotoEl |
photoelectric heating of the gas, added in GrGH 0
Definition at line 403 of file grainvar.h.
Referenced by p_clear1().
double GrainBin::GrainCoolTherm |
grain cooling due to thermionic emissions, summed over charge states
Definition at line 402 of file grainvar.h.
Referenced by p_clear1().
double GrainBin::GrainGasCool |
gas cooling due to collisions with grains
Definition at line 406 of file grainvar.h.
Referenced by p_clear1().
double GrainBin::GrainHeat |
total heating of current grain type
Definition at line 404 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 347 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 422 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 325 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 327 of file grainvar.h.
vector<realnum> GrainBin::inv_att_len |
inverse attenuation length (in cm)
Definition at line 397 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 396 of file grainvar.h.
Referenced by p_clear1().
bool GrainBin::lgChrgConverged |
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)
did grain charge algorithm converge ?
Definition at line 381 of file grainvar.h.
Referenced by p_clear1().
bool GrainBin::lgEverQHeat |
was quantum heating used in any zone ?
Definition at line 414 of file grainvar.h.
Referenced by p_clear1().
bool GrainBin::lgPAHsInIonizedRegion |
were PAHs present in the ionized region ?
Definition at line 314 of file grainvar.h.
Referenced by p_clear1().
bool GrainBin::lgQHeat |
quantum heating physics is quantum heating turned on ?
Definition at line 412 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 415 of file grainvar.h.
Referenced by p_clear1().
bool GrainBin::lgTdustConverged |
is dust temperature converged ?
Definition at line 370 of file grainvar.h.
Referenced by p_clear1().
bool GrainBin::lgUseQHeat |
should quantum heating be used for this zone ?
Definition at line 413 of file grainvar.h.
Referenced by p_clear1().
double GrainBin::LowestPot |
lowest potential a grain can ever have, in Ryd
Definition at line 390 of file grainvar.h.
Referenced by p_clear1().
long GrainBin::LowestZg |
lowest charge a grain can ever have, in e
Definition at line 382 of file grainvar.h.
Referenced by p_clear1().
mat_type GrainBin::matType |
material type, 1 = carbonaceous, 2 = silicate, 3 = PAH, etc...
Definition at line 335 of file grainvar.h.
long GrainBin::nChrg |
number of charge states used for the current zone
Definition at line 438 of file grainvar.h.
Referenced by p_clear1().
long GrainBin::nChrgOrg |
number of charge states at the start of the iteration
Definition at line 437 of file grainvar.h.
Referenced by p_clear1().
df_type GrainBin::nDustFunc |
grain logic has user requested custom grain abundance function ?
Definition at line 313 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 383 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 362 of file grainvar.h.
Referenced by p_clear0().
long GrainBin::QHeatFailures |
counter for number of times qheat algorithm failed
Definition at line 416 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 417 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 418 of file grainvar.h.
Referenced by p_clear1().
double GrainBin::qtmin |
lowest grain temperature used in calculations, set per zone
Definition at line 420 of file grainvar.h.
Referenced by p_clear1().
double GrainBin::qtmin_zone1 |
lowest grain temperature used in calculations, initial zone
Definition at line 421 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 429 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 428 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 430 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 392 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 391 of file grainvar.h.
Referenced by p_clear1().
double GrainBin::RSFCheck |
grain opacities save resolution scale factor for later check
Definition at line 357 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 384 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 393 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 371 of file grainvar.h.
Referenced by p_clear1().
realnum GrainBin::TeGrainMax |
highest equilibrium temperature as a function of radius
Definition at line 372 of file grainvar.h.
Referenced by p_clear1().
realnum GrainBin::ThermEff |
efficiency of thermionic emission, between 0 and 1
Definition at line 333 of file grainvar.h.
double GrainBin::thermionic |
heating due to thermionic emission
Definition at line 409 of file grainvar.h.
Referenced by p_clear1().
realnum GrainBin::Tsublimat |
sublimation temperature
Definition at line 330 of file grainvar.h.
vector<realnum> GrainBin::y0b06 |
bulk yield for band according to Eq. 9 of WDB06
Definition at line 385 of file grainvar.h.
Referenced by p_clear0().