GrainBin Struct Reference

#include <grainvar.h>

Collaboration diagram for GrainBin:

Collaboration graph
[legend]

Data Fields

bool lgDustFunc
bool lgPAHsInIonizedRegion
char chDstLab [13]
double eec
double eyc
realnum dustp [5]
realnum AvRadius
realnum AvArea
realnum AvVol
realnum IntRadius
realnum IntArea
realnum IntVol
realnum elmAbund [LIMELM]
realnum atomWeight
realnum Tsublimat
realnum DustWorkFcn
realnum BandGap
realnum ThermEff
realnum avDGRatio
mat_type matType
realnum dstfactor
realnum dstAbund
realnum GrnVryDpth
double cnv_H_pGR
double cnv_H_pCM3
double cnv_CM3_pGR
double cnv_CM3_pH
double cnv_GR_pH
double cnv_GR_pCM3
realnum EnergyCheck
long int NFPCheck
double * dstab1
double * pure_sc1
double * asym
double dstems [NDEMS]
double dstslp [NDEMS]
double dstslp2 [NDEMS]
bool lgTdustConverged
realnum tedust
realnum TeGrainMax
realnum avdust
bool lgChrgConverged
long LowestZg
unsigned long nShells
long nfill
ShellDatasd [NSHL]
realnumy0b06
double AveDustZ
double Capacity
double dstpot
double dstpotsav
double LowestPot
double RateUp
double RateDn
double StickElecNeg
double StickElecPos
realnum avdpot
realnum le_thres
realnuminv_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
realnum DustDftVel
realnum 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 234 of file grainvar.h.


Field Documentation

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().

realnum GrainBin::atomWeight

molecular weight per atom, in amu

Definition at line 245 of file grainvar.h.

realnum GrainBin::AvArea

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

Definition at line 245 of file grainvar.h.

realnum GrainBin::avdft

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

Definition at line 360 of file grainvar.h.

Referenced by GrainDrive(), and GrainStartIter().

realnum GrainBin::avDGRatio

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().

realnum GrainBin::avdpot

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

Definition at line 321 of file grainvar.h.

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

realnum GrainBin::avdust

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().

realnum GrainBin::AvRadius

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

Definition at line 245 of file grainvar.h.

Referenced by GetPotValues(), and y1psa().

realnum GrainBin::AvVol

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

Definition at line 245 of file grainvar.h.

Referenced by AbundancesPrt(), and InitBinAugerData().

realnum GrainBin::BandGap

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().

ChargeBin* GrainBin::chrg[NCHS]

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().

realnum GrainBin::dstAbund

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().

realnum GrainBin::dstfactor

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().

realnum GrainBin::DustDftVel

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().

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

Referenced by AbundancesPrt().

realnum GrainBin::DustWorkFcn

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().

realnum GrainBin::elmAbund[LIMELM]

chemical composition, abundance at default depl, see comment below

Definition at line 245 of file grainvar.h.

Referenced by GrainUpdateRadius1(), and InitBinAugerData().

realnum GrainBin::EnergyCheck

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().

realnum GrainBin::GrnVryDpth

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().

realnum GrainBin::IntArea

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().

realnum GrainBin::IntRadius

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

Definition at line 245 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 245 of file grainvar.h.

Referenced by AbundancesPrt().

realnum * GrainBin::inv_att_len

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().

realnum GrainBin::le_thres

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().

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 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().

bool GrainBin::lgEverQHeat

was quantum heating used in any zone ?

Definition at line 338 of file grainvar.h.

Referenced by GrainDrive(), and GrainStartIter().

bool GrainBin::lgPAHsInIonizedRegion

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().

bool GrainBin::lgQHTooWide

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

Definition at line 338 of file grainvar.h.

Referenced by GrainStartIter(), and qheat().

bool GrainBin::lgTdustConverged

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().

mat_type GrainBin::matType

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().

long GrainBin::QHeatFailures

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().

double GrainBin::rate_h2_form_grains_CT02

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

Definition at line 355 of file grainvar.h.

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

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 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.

ShellData* GrainBin::sd[NSHL]

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().

realnum GrainBin::tedust

equilibrium temperature for this zone

Definition at line 296 of file grainvar.h.

Referenced by GetProbDistr_LowLimit(), GrainDrive(), NewGrainBin(), qheat(), UpdatePot2(), and vib_evap().

realnum GrainBin::TeGrainMax

highest equilibrium temperature as a function of radius

Definition at line 296 of file grainvar.h.

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

realnum GrainBin::ThermEff

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().

realnum GrainBin::Tsublimat

sublimation temperature

Definition at line 245 of file grainvar.h.

realnum* GrainBin::y0b06

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().


The documentation for this struct was generated from the following file:
Generated on Mon Feb 16 12:14:21 2009 for cloudy by  doxygen 1.4.7