#include <grainvar.h>
Collaboration diagram for GrainBin:
this is the data structure for all grain data that depends on grain type (i.e. all data that used to have an [NDUST] dependance in days of old),
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 234 of file grainvar.h.
double GrainBin::AccomCoef[LIMELM] |
accommodation coefficient, needed for collisional heating of grain
Definition at line 324 of file grainvar.h.
Referenced by GrainCollHeating().
double * GrainBin::asym |
[NC_ELL] asymmetry factor (1-g)
Definition at line 286 of file grainvar.h.
Referenced by GrainDrift(), GrainUpdateRadius2(), NewGrainBin(), and ReturnGrainBins().
molecular weight per atom, in amu
Definition at line 245 of file grainvar.h.
average grain surface area, <4pi*a^2>, in cm^2, CURRENTLY NOT USED
Definition at line 245 of file grainvar.h.
Integral(vdrift*dReff) for average drift velocity, OUTPUT ONLY
Definition at line 360 of file grainvar.h.
Referenced by GrainDrive(), and GrainStartIter().
Integral(D/G*dReff) for average dust to gas ratio, OUTPUT ONLY
Definition at line 245 of file grainvar.h.
Referenced by GrainDrive(), and GrainStartIter().
Integral(Vg*dReff) for average grain potential, OUTPUT ONLY
Definition at line 321 of file grainvar.h.
Referenced by GrainDrive(), GrainStartIter(), and lgCheckAsserts().
Integral(Tdust*dReff) for average equilibrium temperature, OUTPUT ONLY
Definition at line 296 of file grainvar.h.
Referenced by GrainDrive(), GrainStartIter(), and lgCheckAsserts().
double GrainBin::AveDustZ |
average charge per grain, in electrons
Definition at line 312 of file grainvar.h.
Referenced by GrainCharge(), and GrainDrive().
average grain radius, <a^3>/<a^2>, in cm
Definition at line 245 of file grainvar.h.
Referenced by GetPotValues(), and y1psa().
average grain volume, <4/3pi*a^3>, in cm^3
Definition at line 245 of file grainvar.h.
Referenced by AbundancesPrt(), and InitBinAugerData().
gap between valence and conduction band, in Ryd
Definition at line 245 of file grainvar.h.
Referenced by GetPotValues().
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 327 of file grainvar.h.
Referenced by GrainDrive(), and GrainTemperature().
double GrainBin::Capacity |
grain capacity, in Farad/grain
Definition at line 312 of file grainvar.h.
Referenced by GrainScreen(), and one_elec().
char GrainBin::chDstLab[13] |
general information on the grains label for the species
Definition at line 241 of file grainvar.h.
Referenced by GetProbDistr_HighLimit(), GetProbDistr_LowLimit(), GrainCharge(), GrainTemperature(), and qheat().
double GrainBin::ChemEn |
net amount of energy donated by recombining ions
Definition at line 327 of file grainvar.h.
Referenced by GrainCollHeating(), and GrainDrive().
double GrainBin::ChemEnH2 |
net amount of energy donated by H2 formation on grain surface
Definition at line 327 of file grainvar.h.
Referenced by GrainDrive().
this holds the charge dependent data
Definition at line 365 of file grainvar.h.
Referenced by GrainCharge(), GrainChrgTransferRates(), GrainCollHeating(), GrainDrive(), GrainElecEmis1(), GrainElecRecomb1(), GrainIonColl(), GrainScreen(), GrainTemperature(), GrainUpdateRadius2(), NewChargeData(), NewGrainBin(), PE_init(), qheat(), qheat_init(), ReturnGrainBins(), UpdatePot(), UpdatePot1(), UpdatePot2(), UpdateRecomZ0(), y0b01(), and Yfunc().
double GrainBin::cnv_CM3_pGR |
grain unit conversion, <unit>/cm^3 (actual depl) -> <unit>/grain
Definition at line 273 of file grainvar.h.
Referenced by GrainUpdateRadius1(), and NewGrainBin().
double GrainBin::cnv_CM3_pH |
grain unit conversion, <unit>/cm^3 (actual depl) -> <unit>/H (default depl)
Definition at line 273 of file grainvar.h.
Referenced by GrainUpdateRadius1(), and NewGrainBin().
double GrainBin::cnv_GR_pCM3 |
grain unit conversion, <unit>/grain -> <unit>/cm^3 (actual depl)
Definition at line 273 of file grainvar.h.
Referenced by GetProbDistr_HighLimit(), GetProbDistr_LowLimit(), GrainUpdateRadius1(), NewGrainBin(), and RebinQHeatResults().
double GrainBin::cnv_GR_pH |
grain unit conversion, <unit>/grain -> <unit>/H (default depl)
Definition at line 273 of file grainvar.h.
Referenced by GetProbDistr_HighLimit(), NewGrainBin(), and RebinQHeatResults().
double GrainBin::cnv_H_pCM3 |
grain unit conversion, <unit>/H (default depl) -> <unit>/cm^3 (actual depl)
Definition at line 273 of file grainvar.h.
Referenced by GrainChrgTransferRates(), GrainUpdateRadius1(), grn_abs(), NewGrainBin(), qheat(), and qheat_init().
double GrainBin::cnv_H_pGR |
grain unit conversion, <unit>/H (default depl) -> <unit>/grain
Definition at line 273 of file grainvar.h.
Referenced by GetProbDistr_HighLimit(), GetProbDistr_LowLimit(), GrainUpdateRadius1(), InitBinAugerData(), NewGrainBin(), qheat(), and TryDoubleStep().
double* GrainBin::dstab1 |
[NC_ELL] absorption cross section per grain species, for default depl
Definition at line 286 of file grainvar.h.
Referenced by GrainDrift(), GrainElecEmis1(), GrainMakeDiffuse(), GrainTemperature(), GrainUpdateRadius2(), NewGrainBin(), PE_init(), PlanckIntegral(), qheat_init(), and ReturnGrainBins().
grain abundance in zone, dstfactor*GrainMetal*GrnVryDpth(radius)
Definition at line 269 of file grainvar.h.
Referenced by AbundancesPrt(), GrainMakeDiffuse(), GrainUpdateRadius1(), GrainUpdateRadius2(), and NewGrainBin().
double GrainBin::dstems[NDEMS] |
equilibrium temperature grain emissivity at dsttmp[], default depl, normalized per H
Definition at line 291 of file grainvar.h.
Referenced by GetProbDistr_HighLimit(), GetProbDistr_LowLimit(), InitEmissivities(), qheat(), RebinQHeatResults(), and TryDoubleStep().
grain depletion, normalization conversion factors grain depletion factor, dep from GRAINS command
Definition at line 269 of file grainvar.h.
Referenced by GrainUpdateRadius1(), and NewGrainBin().
double GrainBin::dstpot |
grain potential in Ryd
Definition at line 312 of file grainvar.h.
Referenced by GrainCharge(), GrainDrift(), GrainDrive(), GrainRestartIter(), and GrainStartIter().
double GrainBin::dstpotsav |
grain potential at start of iteration
Definition at line 312 of file grainvar.h.
Referenced by GrainRestartIter(), and GrainStartIter().
double GrainBin::dstslp[NDEMS] |
auxiliary array for spline interpolation
Definition at line 291 of file grainvar.h.
Referenced by GetProbDistr_HighLimit(), InitEmissivities(), and RebinQHeatResults().
double GrainBin::dstslp2[NDEMS] |
auxiliary array for inverse spline interpolation
Definition at line 291 of file grainvar.h.
Referenced by GetProbDistr_HighLimit(), GetProbDistr_LowLimit(), InitEmissivities(), qheat(), and TryDoubleStep().
grain drift grain drift velocity for this zone
Definition at line 360 of file grainvar.h.
Referenced by GrainDrift(), GrainDrive(), and NewGrainBin().
double GrainBin::DustEnth[NDEMS] |
grain enthalpy at dsttmp[], in Ryd/grain
Definition at line 349 of file grainvar.h.
Referenced by GetProbDistr_HighLimit(), InitEnthalpy(), inv_ufunct(), qheat(), and ufunct().
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 245 of file grainvar.h.
Referenced by AbundancesPrt().
work function, in Ryd
Definition at line 245 of file grainvar.h.
Referenced by GetPotValues(), UpdatePot1(), and y0b01().
double GrainBin::eec |
pow(dustp[0],-0.85), needed for electron esacpe length
Definition at line 242 of file grainvar.h.
Referenced by elec_esc_length().
chemical composition, abundance at default depl, see comment below
Definition at line 245 of file grainvar.h.
Referenced by GrainUpdateRadius1(), and InitBinAugerData().
grain opacities save highest energy read in for later check
Definition at line 281 of file grainvar.h.
Referenced by NewGrainBin().
double GrainBin::EnthSlp[NDEMS] |
auxiliary array for spline interpolation
Definition at line 349 of file grainvar.h.
Referenced by InitEnthalpy(), and ufunct().
double GrainBin::EnthSlp2[NDEMS] |
auxiliary array for inverse spline interpolation
Definition at line 349 of file grainvar.h.
Referenced by InitEnthalpy(), and inv_ufunct().
double GrainBin::eyc |
1./AvRadius + 1.e7, needed for electron yield
Definition at line 243 of file grainvar.h.
Referenced by Yfunc().
double GrainBin::GasHeatPhotoEl |
photoelectric heating of the gas, added in GrGH 0
Definition at line 327 of file grainvar.h.
Referenced by GrainDrive(), GrainTemperature(), and lines_grains().
double GrainBin::GrainCoolTherm |
grain cooling due to thermionic emissions, summed over charge states
Definition at line 327 of file grainvar.h.
Referenced by GrainDrive(), GrainTemperature(), and qheat().
double GrainBin::GrainGasCool |
gas cooling due to collisions with grains
Definition at line 327 of file grainvar.h.
Referenced by NewGrainBin().
double GrainBin::GrainHeat |
total heating of current grain type
Definition at line 327 of file grainvar.h.
Referenced by GetProbDistr_HighLimit(), GetProbDistr_LowLimit(), GrainDrive(), NewGrainBin(), qheat(), qheat_init(), and RebinQHeatResults().
double GrainBin::GrainHeatColl |
collisional heating of current grain type
Definition at line 327 of file grainvar.h.
Referenced by GrainDrive(), and qheat().
grain abundance scale factor in zone, GrnVryDpth(radius), used by set PAH constant / H0 commands
Definition at line 269 of file grainvar.h.
Referenced by AbundancesPrt(), GrainUpdateRadius1(), and NewGrainBin().
double GrainBin::HeatingRate1 |
quantum heating due to molecule/ion collisions, erg/H/s, default depl
Definition at line 346 of file grainvar.h.
Referenced by qheat().
integrated grain surface area Int(4pi*a^2), normalized per H, in cm^2/H
Definition at line 245 of file grainvar.h.
Referenced by GrainChrgTransferRates(), GrainDrift(), GrainElecEmis1(), and grn_abs().
integrated grain radius Int(a), normalized per H, in cm/H
Definition at line 245 of file grainvar.h.
integrated grain volume Int(4/3pi*a^3), normalized per H, in cm^3/H
Definition at line 245 of file grainvar.h.
Referenced by AbundancesPrt().
inv_att_len[NC_ELL]: inverse attenuation length (in cm)
Definition at line 321 of file grainvar.h.
Referenced by NewGrainBin(), ReturnGrainBins(), y0psa(), and y1psa().
threshold for using X-ray prescription for l_e, in Ryd
Definition at line 321 of file grainvar.h.
Referenced by elec_esc_length(), and NewGrainBin().
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 306 of file grainvar.h.
Referenced by GrainCharge().
bool GrainBin::lgDustFunc |
grain logic has user requested custom grain abundance function ?
Definition at line 237 of file grainvar.h.
Referenced by GrnVryDpth(), and NewGrainBin().
was quantum heating used in any zone ?
Definition at line 338 of file grainvar.h.
Referenced by GrainDrive(), and GrainStartIter().
were PAHs present in the ionized region ?
Definition at line 238 of file grainvar.h.
Referenced by GrainChargeTemp(), GrainDrive(), and GrainStartIter().
bool GrainBin::lgQHeat |
quantum heating physics is quantum heating turned on ?
Definition at line 338 of file grainvar.h.
Referenced by GrainMakeDiffuse(), NewGrainBin(), qheat(), and qheat_init().
is probability distribution too wide to fit in NQGRID array elements ?
Definition at line 338 of file grainvar.h.
Referenced by GrainStartIter(), and qheat().
is dust temperature converged ?
Definition at line 295 of file grainvar.h.
bool GrainBin::lgUseQHeat |
should quantum heating be used for this zone ?
Definition at line 338 of file grainvar.h.
Referenced by GrainDrive(), and GrainMakeDiffuse().
double GrainBin::LowestPot |
lowest potential a grain can ever have, in Ryd
Definition at line 312 of file grainvar.h.
long GrainBin::LowestZg |
lowest charge a grain can ever have, in e
Definition at line 307 of file grainvar.h.
Referenced by GetFracPop(), GrainCharge(), GrainElecRecomb1(), GrainIonColl(), and UpdatePot().
material type, 1 = carbonaceous, 2 = silicate, 3 = PAH, etc...
Definition at line 259 of file grainvar.h.
Referenced by AbundancesPrt(), GetPotValues(), GrainChargeTemp(), GrainMakeDiffuse(), GrnStdDpth(), uderiv(), y0b01(), and Yfunc().
long GrainBin::nChrg |
number of charge states used for the current zone
Definition at line 364 of file grainvar.h.
Referenced by GetFracPop(), GrainCharge(), GrainChrgTransferRates(), GrainCollHeating(), GrainDrive(), GrainElecEmis1(), GrainElecRecomb1(), GrainRestartIter(), GrainStartIter(), GrainTemperature(), GrainUpdateRadius2(), NewGrainBin(), PE_init(), qheat(), qheat_init(), and UpdatePot().
long GrainBin::nChrgOrg |
number of charge states at the start of the iteration
Definition at line 363 of file grainvar.h.
Referenced by GrainRestartIter(), and GrainStartIter().
long GrainBin::nfill |
remember how far the flex_arr's in the ShellData were filled in
Definition at line 309 of file grainvar.h.
Referenced by NewGrainBin(), and UpdatePot().
long int GrainBin::NFPCheck |
save number of grid points read for later check
Definition at line 282 of file grainvar.h.
unsigned long GrainBin::nShells |
no. of shells in grain, 0 = band, 1 = K shell for first element, etc.
Definition at line 308 of file grainvar.h.
Referenced by InitBinAugerData(), and UpdatePot1().
double * GrainBin::pure_sc1 |
[NC_ELL] scattering cross section per grain species, for default depl
Definition at line 286 of file grainvar.h.
Referenced by GrainDrift(), GrainUpdateRadius2(), NewGrainBin(), and ReturnGrainBins().
counter for number of times qheat algorithm failed
Definition at line 342 of file grainvar.h.
Referenced by GrainDrive(), and GrainStartIter().
long GrainBin::qnflux |
like rfield.nflux, but may point to higher energy, for phiTilde and Phi
Definition at line 342 of file grainvar.h.
Referenced by NewGrainBin(), qheat(), qheat_init(), and TryDoubleStep().
long GrainBin::qnflux2 |
like rfield.nflux, only for max electron energy, for phiTilde and Phi
Definition at line 342 of file grainvar.h.
Referenced by qheat_init().
double GrainBin::qtmin |
lowest grain temperature used in calculations, set per zone
Definition at line 346 of file grainvar.h.
Referenced by GetProbDistr_LowLimit(), GrainStartIter(), and qheat().
double GrainBin::qtmin_zone1 |
lowest grain temperature used in calculations, initial zone
Definition at line 346 of file grainvar.h.
Referenced by GrainStartIter().
H2 formation rate, Cazaux & Tielens 02, units S^-1, actual depl
Definition at line 355 of file grainvar.h.
H2 physics - each has units s-1 H2 formation rate, Hollenbach & McKee 79, units S^-1, actual depl
Definition at line 354 of file grainvar.h.
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 356 of file grainvar.h.
Referenced by NewGrainBin().
double GrainBin::RateDn |
total charging rate down, used for balance check, in e/cm^2/s
Definition at line 312 of file grainvar.h.
double GrainBin::RateUp |
total charging rate up, used for balance check, in e/cm^2/s
Definition at line 312 of file grainvar.h.
specific data for each shell
Definition at line 310 of file grainvar.h.
Referenced by InitBinAugerData(), NewGrainBin(), ReturnGrainBins(), UpdatePot1(), and y0psa().
double GrainBin::StickElecNeg |
sticking efficiency for electrons on negative or neutral grains
Definition at line 312 of file grainvar.h.
Referenced by GrainElecRecomb1().
double GrainBin::StickElecPos |
sticking efficiency for electrons on positive grains
Definition at line 312 of file grainvar.h.
Referenced by GrainElecRecomb1().
equilibrium temperature for this zone
Definition at line 296 of file grainvar.h.
Referenced by GetProbDistr_LowLimit(), GrainDrive(), NewGrainBin(), qheat(), UpdatePot2(), and vib_evap().
highest equilibrium temperature as a function of radius
Definition at line 296 of file grainvar.h.
Referenced by GrainDrive(), GrainStartIter(), and NewGrainBin().
efficiency of thermionic emission, between 0 and 1
Definition at line 245 of file grainvar.h.
Referenced by UpdatePot2().
double GrainBin::thermionic |
heating due to thermionic emission
Definition at line 327 of file grainvar.h.
Referenced by GrainDrive(), and GrainTemperature().
sublimation temperature
Definition at line 245 of file grainvar.h.
y0b06[NC_ELL]: bulk yield for band according to Eq. 9 of WDB06
Definition at line 311 of file grainvar.h.
Referenced by NewGrainBin(), ReturnGrainBins(), and y0b().