GrainBin Struct Reference

#include <grainvar.h>

Collaboration diagram for GrainBin:

Collaboration graph
[legend]

Data Fields

bool lgDustFunc
bool lgPAHsInIonizedRegion
char chDstLab [13]
float dustp [5]
float AvRadius
float AvArea
float AvVol
float IntRadius
float IntArea
float IntVol
float elmAbund [LIMELM]
float atomWeight
float Tsublimat
float DustWorkFcn
float BandGap
float ThermEff
float avDGRatio
mat_type matType
float dstfactor
float dstAbund
double cnv_H_pGR
double cnv_H_pCM3
double cnv_CM3_pGR
double cnv_CM3_pH
double cnv_GR_pH
double cnv_GR_pCM3
float EnergyCheck
long int NFPCheck
double * dstab1
double * pure_sc1
double * asym
double dstems [NDEMS]
double dstslp [NDEMS]
double dstslp2 [NDEMS]
bool lgTdustConverged
float tedust
float TeGrainMax
float avdust
bool lgChrgConverged
long LowestZg
double AveDustZ
double Capacity
double dstpot
double dstpotsav
double LowestPot
double RateUp
double RateDn
double StickElecNeg
double StickElecPos
float avdpot
float * y1
float * inv_att_len
double AccomCoef [LIMELM]
double BolFlux
double GrainCoolTherm
double GasHeatPhotoEl
double GrainHeat
double GrainHeatColl
double GrainGasCool
double ChemEn
double ChemEnH2
double thermionic
bool lgQHeat
bool lgUseQHeat
bool lgEverQHeat
bool lgQHTooWide
long QHeatFailures
long qnflux
long qnflux2
double qtmin
double qtmin_zone1
double HeatingRate1
double DustEnth [NDEMS]
double EnthSlp [NDEMS]
double EnthSlp2 [NDEMS]
double rate_h2_form_grains_HM79
double rate_h2_form_grains_CT02
double rate_h2_form_grains_used
float DustDftVel
float avdft
long nChrgOrg
long nChrg
ChargeBinchrg [NCHS]

Detailed Description

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 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 198 of file grainvar.h.


Field Documentation

inverse attenuation length (in cm)

Definition at line 280 of file grainvar.h.

Referenced by GrainCollHeating(), and mie_read_opc().

double * GrainBin::asym

<[NC_ELL] asymmetry factor (1-g)

Definition at line 246 of file grainvar.h.

Referenced by GrainDrift(), GrainsInit(), GrainUpdateRadius2(), mie_read_opc(), NewGrainBin(), PunchDo(), radius_increment(), and ReturnGrainBins().

molecular weight per atom, in amu

Definition at line 207 of file grainvar.h.

Referenced by GrainCollHeating(), GrainsInit(), and mie_read_opc().

average grain surface area, <4pi*a^2>, in cm^2, CURRENTLY NOT USED

Definition at line 207 of file grainvar.h.

Referenced by mie_read_opc().

Integral(vdrift*dReff) for average drift velocity, OUTPUT ONLY

Definition at line 316 of file grainvar.h.

Referenced by GrainDrive(), GrainStartIter(), PrtFinal(), and radius_increment().

Integral(D/G*dReff) for average dust to gas ratio, OUTPUT ONLY

Definition at line 207 of file grainvar.h.

Referenced by GrainDrive(), GrainStartIter(), PrtFinal(), and radius_increment().

Integral(Vg*dReff) for average grain potential, OUTPUT ONLY

Definition at line 277 of file grainvar.h.

Referenced by GrainDrive(), GrainStartIter(), PrtFinal(), and radius_increment().

Integral(Tdust*dReff) for average equilibrium temperature, OUTPUT ONLY

Definition at line 256 of file grainvar.h.

Referenced by GrainDrive(), GrainStartIter(), lgCheckAsserts(), PrtFinal(), and radius_increment().

average charge per grain, in electrons

Definition at line 268 of file grainvar.h.

Referenced by GrainCharge(), GrainChargeTemp(), GrainDrive(), PrtZone(), and PunchDo().

average grain radius, <a^3>/<a^2>, in cm

Definition at line 207 of file grainvar.h.

Referenced by GetPotValues(), GrainsInit(), mie_read_opc(), and PunchDo().

average grain volume, <4/3pi*a^3>, in cm^3

Definition at line 207 of file grainvar.h.

Referenced by AbundancesPrt(), GrainsInit(), and mie_read_opc().

gap between valence and conduction band, in Ryd

Definition at line 207 of file grainvar.h.

Referenced by GetPotValues(), GrainsInit(), and mie_read_opc().

accomodation coefficient, needed for collisional heating of grain 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 283 of file grainvar.h.

Referenced by GrainDrive(), GrainMakeDiffuse(), and GrainTemperature().

grain capacity, in Farad/grain

Definition at line 268 of file grainvar.h.

Referenced by GrainScreen(), and mie_read_opc().

were PAHs present in the ionized region ? general information on the grains label for the species

Definition at line 205 of file grainvar.h.

Referenced by GetFracPop(), GetProbDistr_HighLimit(), GetProbDistr_LowLimit(), GrainCharge(), GrainChargeTemp(), GrainsInit(), GrainTemperature(), mie_read_opc(), PrtComment(), PrtFinal(), PrtZone(), PunchDo(), and qheat().

net amount of energy donated by recombining ions

Definition at line 283 of file grainvar.h.

Referenced by GrainChargeTemp(), GrainCollHeating(), and GrainDrive().

net amount of energy donated by H2 formation on grain surface

Definition at line 283 of file grainvar.h.

Referenced by GrainChargeTemp(), GrainCollHeating(), and GrainDrive().

grain unit conversion, <unit>/cm^3 (actual depl) -> <unit>/grain

Definition at line 233 of file grainvar.h.

Referenced by GrainsInit(), GrainUpdateRadius1(), and NewGrainBin().

grain unit conversion, <unit>/cm^3 (actual depl) -> <unit>/H (default depl)

Definition at line 233 of file grainvar.h.

Referenced by GrainCollHeating(), GrainsInit(), GrainTemperature(), GrainUpdateRadius1(), and NewGrainBin().

grain unit conversion, <unit>/grain -> <unit>/cm^3 (actual depl)

Definition at line 233 of file grainvar.h.

Referenced by GetProbDistr_HighLimit(), GetProbDistr_LowLimit(), GrainChargeTemp(), GrainsInit(), GrainUpdateRadius1(), NewGrainBin(), and RebinQHeatResults().

grain unit conversion, <unit>/grain -> <unit>/H (default depl)

Definition at line 233 of file grainvar.h.

Referenced by GetProbDistr_HighLimit(), mie_read_opc(), NewGrainBin(), RebinQHeatResults(), and UpdatePot1().

grain unit conversion, <unit>/H (default depl) -> <unit>/cm^3 (actual depl)

Definition at line 233 of file grainvar.h.

Referenced by GrainChargeTemp(), GrainChrgTransferRates(), GrainCollHeating(), GrainMakeDiffuse(), GrainsInit(), GrainTemperature(), GrainUpdateRadius1(), grn_abs(), hmole_step(), NewGrainBin(), qheat(), and qheat_init().

grain unit conversion, <unit>/H (default depl) -> <unit>/grain

Definition at line 233 of file grainvar.h.

Referenced by GetProbDistr_HighLimit(), GetProbDistr_LowLimit(), GrainsInit(), GrainUpdateRadius1(), mie_read_opc(), NewGrainBin(), qheat(), and TryDoubleStep().

>>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 !!! [NC_ELL]

Definition at line 246 of file grainvar.h.

Referenced by GrainDrift(), GrainElecEmis1(), GrainMakeDiffuse(), GrainsInit(), GrainTemperature(), GrainUpdateRadius2(), mie_read_opc(), NewGrainBin(), PE_init(), PlanckIntegral(), PunchDo(), qheat_init(), radius_increment(), and ReturnGrainBins().

grain abundance in zone, dstfactor*GrainMetal*GrnVryDpth(radius)

Definition at line 231 of file grainvar.h.

Referenced by AbundancesPrt(), GrainMakeDiffuse(), GrainsInit(), GrainUpdateRadius1(), GrainUpdateRadius2(), NewGrainBin(), PunchDo(), and radius_increment().

double GrainBin::dstems[NDEMS]

equilibrium temperature grain emissivity at dsttmp[], default depl, normalized per H

Definition at line 251 of file grainvar.h.

Referenced by GetProbDistr_HighLimit(), GetProbDistr_LowLimit(), GrainChargeTemp(), GrainTemperature(), InitEmissivities(), qheat(), RebinQHeatResults(), and TryDoubleStep().

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 231 of file grainvar.h.

Referenced by GrainsInit(), GrainUpdateRadius1(), mie_read_opc(), and NewGrainBin().

grain potential at start of iteration

Definition at line 268 of file grainvar.h.

Referenced by GrainRestartIter(), and GrainStartIter().

double GrainBin::dstslp[NDEMS]

auxiliary array for spline interpolation

Definition at line 251 of file grainvar.h.

Referenced by GetProbDistr_HighLimit(), GrainTemperature(), InitEmissivities(), and RebinQHeatResults().

double GrainBin::dstslp2[NDEMS]

auxiliary array for inverse spline interpolation

Definition at line 251 of file grainvar.h.

Referenced by GetProbDistr_HighLimit(), GetProbDistr_LowLimit(), GrainChargeTemp(), GrainTemperature(), InitEmissivities(), qheat(), and TryDoubleStep().

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 grain drift grain drift velocity for this zone

Definition at line 316 of file grainvar.h.

Referenced by GrainDrift(), GrainDrive(), NewGrainBin(), PrtZone(), PunchDo(), and radius_increment().

double GrainBin::DustEnth[NDEMS]

Definition at line 305 of file grainvar.h.

Referenced by GetProbDistr_HighLimit(), InitEnthalpy(), inv_ufunct(), qheat(), and ufunct().

float 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 207 of file grainvar.h.

Referenced by GrainsInit(), mie_read_opc(), and radius_increment().

work function, in Ryd

Definition at line 207 of file grainvar.h.

Referenced by GetPotValues(), GrainsInit(), mie_read_opc(), and UpdatePot1().

chemical composition, abundance at default depl, see comment below

Definition at line 207 of file grainvar.h.

Referenced by GrainsInit(), GrainUpdateRadius1(), and mie_read_opc().

grain opacities save highest energy read in for later check

Definition at line 241 of file grainvar.h.

Referenced by conorm(), mie_read_opc(), and NewGrainBin().

double GrainBin::EnthSlp[NDEMS]

grain enthalpy at dsttmp[], in Ryd/grain auxiliary array for spline interpolation

Definition at line 305 of file grainvar.h.

Referenced by InitEnthalpy(), and ufunct().

double GrainBin::EnthSlp2[NDEMS]

auxiliary array for inverse spline interpolation

Definition at line 305 of file grainvar.h.

Referenced by InitEnthalpy(), and inv_ufunct().

photoelectric heating of the gas, added in GrGH 0

Definition at line 283 of file grainvar.h.

Referenced by GrainChargeTemp(), GrainDrive(), GrainTemperature(), lines_grains(), PrtZone(), and PunchDo().

grain cooling due to thermionic emissions, summed over charge states

Definition at line 283 of file grainvar.h.

Referenced by GrainCollHeating(), GrainDrive(), GrainTemperature(), and qheat().

gas cooling due to collisions with grains

Definition at line 283 of file grainvar.h.

Referenced by GrainChargeTemp(), and NewGrainBin().

collisional heating of current grain type

Definition at line 283 of file grainvar.h.

Referenced by GrainChargeTemp(), GrainDrive(), GrainTemperature(), and qheat().

quantum heating due to molecule/ion collisions, erg/H/s, default depl

Definition at line 302 of file grainvar.h.

Referenced by GrainCollHeating(), and qheat_init().

integrated grain surface area Int(4pi*a^2), normalized per H, in cm^2/H

Definition at line 207 of file grainvar.h.

Referenced by GrainChrgTransferRates(), GrainCollHeating(), GrainDrift(), GrainElecEmis1(), GrainsInit(), GrainTemperature(), grn_abs(), hmole_step(), mie_read_opc(), and PunchDo().

integrated grain radius Int(a), normalized per H, in cm/H

Definition at line 207 of file grainvar.h.

Referenced by mie_read_opc().

integrated grain volume Int(4/3pi*a^3), normalized per H, in cm^3/H

Definition at line 207 of file grainvar.h.

Referenced by AbundancesPrt(), and mie_read_opc().

[NC_ELL]

Definition at line 277 of file grainvar.h.

Referenced by GrainsInit(), mie_read_opc(), NewGrainBin(), and ReturnGrainBins().

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 266 of file grainvar.h.

Referenced by GrainCharge(), and GrainMakeDiffuse().

grain logic has user requested custom grain abundance function ?

Definition at line 201 of file grainvar.h.

Referenced by GrainsInit(), GrnVryDpth(), mie_read_opc(), and NewGrainBin().

was quantum heating used in any zone ?

Definition at line 294 of file grainvar.h.

Referenced by GrainDrive(), GrainStartIter(), PrtFinal(), and qheat().

Definition at line 202 of file grainvar.h.

Referenced by GrainChargeTemp(), GrainDrive(), GrainStartIter(), and PrtComment().

quantum heating physics is quantum heating turned on ?

Definition at line 294 of file grainvar.h.

Referenced by GrainMakeDiffuse(), GrainsInit(), hmole_step(), mie_read_opc(), NewGrainBin(), PrtZone(), qheat(), and qheat_init().

is probability distribution too wide to fit in NQGRID array elements ?

Definition at line 294 of file grainvar.h.

Referenced by GrainsInit(), GrainStartIter(), and qheat().

is dust temperature converged ?

Definition at line 255 of file grainvar.h.

Referenced by GrainChargeTemp(), and GrainMakeDiffuse().

should quantum heating be used for this zone ?

Definition at line 294 of file grainvar.h.

Referenced by GrainDrive(), GrainMakeDiffuse(), hmole_step(), PrtZone(), and qheat().

lowest potential a grain can ever have, in Ryd

Definition at line 268 of file grainvar.h.

Referenced by GrainsInit().

lowest charge a grain can ever have, in e

Definition at line 267 of file grainvar.h.

Referenced by GetFracPop(), GrainCharge(), GrainCollHeating(), GrainElecRecomb1(), GrainIonColl(), GrainsInit(), and UpdatePot().

material type, 1 = carbonaceous, 2 = silicate, 3 = PAH, etc...

Definition at line 221 of file grainvar.h.

Referenced by AbundancesPrt(), GetPotValues(), GrainChargeTemp(), GrainCollHeating(), GrainMakeDiffuse(), GrainsInit(), GrnStdDpth(), mie_read_opc(), mole_H2_form(), uderiv(), and UpdatePot1().

number of charge states at the start of the iteration

Definition at line 319 of file grainvar.h.

Referenced by GrainRestartIter(), and GrainStartIter().

save number of grid points read for later check

Definition at line 242 of file grainvar.h.

Referenced by conorm(), and mie_read_opc().

absorption cross section per grain species, for default depl <[NC_ELL] scattering cross section per grain species, for default depl

Definition at line 246 of file grainvar.h.

Referenced by GrainDrift(), GrainsInit(), GrainUpdateRadius2(), mie_read_opc(), NewGrainBin(), PunchDo(), radius_increment(), and ReturnGrainBins().

counter for number of times qheat algorithm failed

Definition at line 298 of file grainvar.h.

Referenced by GrainDrive(), GrainStartIter(), PrtComment(), and qheat().

like rfield.nflux, but may point to higher energy, for phiTilde and Phi

Definition at line 298 of file grainvar.h.

Referenced by NewGrainBin(), qheat(), qheat_init(), TryDoubleStep(), and UpdatePot().

like rfield.nflux, only for max electron energy, for phiTilde and Phi

Definition at line 298 of file grainvar.h.

Referenced by qheat_init(), and UpdatePot().

lowest grain temperature used in calculations, set per zone

Definition at line 302 of file grainvar.h.

Referenced by GetProbDistr_LowLimit(), GrainsInit(), GrainStartIter(), and qheat().

lowest grain temperature used in calculations, initial zone

Definition at line 302 of file grainvar.h.

Referenced by GrainsInit(), GrainStartIter(), and qheat().

H2 formation rate, Hollenbach & McKee 79, units S^-1, actual depl

Definition at line 311 of file grainvar.h.

Referenced by hmole_step().

H2 physics - each has units s-1

Definition at line 310 of file grainvar.h.

Referenced by hmole_step().

H2 formation rate, Cazaux & Tielens 02, units S^-1, actual depl

Definition at line 312 of file grainvar.h.

Referenced by GrainCollHeating(), hmole_step(), mole_H2_form(), NewGrainBin(), and PunchDo().

total charging rate down, used for balance check, in e/cm^2/s

Definition at line 268 of file grainvar.h.

Referenced by GrainCollHeating(), and GrainMakeDiffuse().

total charging rate up, used for balance check, in e/cm^2/s

Definition at line 268 of file grainvar.h.

Referenced by GrainCollHeating(), and GrainMakeDiffuse().

sticking efficiency for electrons on negative or neutral grains

Definition at line 268 of file grainvar.h.

Referenced by GrainCollHeating(), GrainElecRecomb1(), and GrainsInit().

sticking efficiency for electrons on positive grains

Definition at line 268 of file grainvar.h.

Referenced by GrainCollHeating(), GrainElecRecomb1(), and GrainsInit().

highest equilibrium temperature as a function of radius

Definition at line 256 of file grainvar.h.

Referenced by GrainDrive(), GrainStartIter(), GrainTemperature(), NewGrainBin(), and PrtComment().

efficiency of thermionic emission, between 0 and 1

Definition at line 207 of file grainvar.h.

Referenced by mie_read_opc(), and UpdatePot2().

heating due to thermionic emission

Definition at line 283 of file grainvar.h.

Referenced by GrainChargeTemp(), GrainDrive(), and GrainTemperature().

sublimation temperature

Definition at line 207 of file grainvar.h.

Referenced by GrainMakeDiffuse(), mie_read_opc(), and PrtComment().

float * GrainBin::y1

<[NC_ELL] size-dependent geometrical yield enhancement

Definition at line 277 of file grainvar.h.

Referenced by GrainsInit(), NewGrainBin(), ReturnGrainBins(), and UpdatePot1().


The documentation for this struct was generated from the following file:

Generated for cloudy by doxygen 1.5.9