cloudy trunk
Data Fields

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

accommodation coefficient, needed for collisional heating of grain

Definition at line 324 of file grainvar.h.

Referenced by GrainCollHeating(), and mie_read_opc().

double * GrainBin::asym

[NC_ELL] asymmetry factor (1-g)

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

Referenced by mie_read_opc().

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

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

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

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

Definition at line 321 of file grainvar.h.

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

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

Definition at line 296 of file grainvar.h.

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

average charge per grain, in electrons

Definition at line 312 of file grainvar.h.

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

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

Definition at line 245 of file grainvar.h.

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

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

Definition at line 245 of file grainvar.h.

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

gap between valence and conduction band, in Ryd

Definition at line 245 of file grainvar.h.

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

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(), GrainMakeDiffuse(), and GrainTemperature().

grain capacity, in Farad/grain

Definition at line 312 of file grainvar.h.

Referenced by GrainScreen(), mie_read_opc(), and one_elec().

general information on the grains label for the species

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

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

net amount of energy donated by H2 formation on grain surface

Definition at line 327 of file grainvar.h.

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

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

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

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

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

Definition at line 273 of file grainvar.h.

Referenced by GetProbDistr_HighLimit(), GetProbDistr_LowLimit(), GrainsInit(), GrainUpdateRadius1(), InitBinAugerData(), 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] absorption cross section per grain species, for default depl

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

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

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(), 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 269 of file grainvar.h.

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

grain potential at start of iteration

Definition at line 312 of file grainvar.h.

Referenced by GrainRestartIter(), and GrainStartIter().

auxiliary array for spline interpolation

Definition at line 291 of file grainvar.h.

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

auxiliary array for inverse spline interpolation

Definition at line 291 of file grainvar.h.

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

grain drift grain drift velocity for this zone

Definition at line 360 of file grainvar.h.

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

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(), GrainsInit(), mie_read_opc(), PunchDo(), and radius_increment().

work function, in Ryd

Definition at line 245 of file grainvar.h.

Referenced by GetPotValues(), GrainsInit(), mie_read_opc(), 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(), and mie_read_opc().

chemical composition, abundance at default depl, see comment below

Definition at line 245 of file grainvar.h.

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

grain opacities save highest energy read in for later check

Definition at line 281 of file grainvar.h.

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

auxiliary array for spline interpolation

Definition at line 349 of file grainvar.h.

Referenced by InitEnthalpy(), and ufunct().

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 mie_read_opc(), and Yfunc().

photoelectric heating of the gas, added in GrGH 0

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

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

gas cooling due to collisions with grains

Definition at line 327 of file grainvar.h.

Referenced by GrainChargeTemp(), and NewGrainBin().

collisional heating of current grain type

Definition at line 327 of file grainvar.h.

Referenced by GrainChargeTemp(), GrainDrive(), GrainTemperature(), 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(), GrainsInit(), GrainUpdateRadius1(), and NewGrainBin().

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

Definition at line 346 of file grainvar.h.

Referenced by GrainCollHeating(), qheat(), and qheat_init().

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

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

inv_att_len[NC_ELL]: inverse attenuation length (in cm)

Definition at line 321 of file grainvar.h.

Referenced by InitBinAugerData(), mie_read_opc(), 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(), GrainsInit(), 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(), and GrainMakeDiffuse().

grain logic has user requested custom grain abundance function ?

Definition at line 237 of file grainvar.h.

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

was quantum heating used in any zone ?

Definition at line 338 of file grainvar.h.

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

were PAHs present in the ionized region ?

Definition at line 238 of file grainvar.h.

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

quantum heating physics is quantum heating turned on ?

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

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

is dust temperature converged ?

Definition at line 295 of file grainvar.h.

Referenced by GrainChargeTemp(), and GrainMakeDiffuse().

should quantum heating be used for this zone ?

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

Referenced by GrainsInit().

lowest charge a grain can ever have, in e

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

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

number of charge states at the start of the iteration

Definition at line 363 of file grainvar.h.

Referenced by GrainRestartIter(), and GrainStartIter().

remember how far the flex_arr's in the ShellData were filled in

Definition at line 309 of file grainvar.h.

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

save number of grid points read for later check

Definition at line 282 of file grainvar.h.

Referenced by conorm(), and mie_read_opc().

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 GrainsInit(), InitBinAugerData(), and UpdatePot1().

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

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

Referenced by qheat_init(), and UpdatePot().

lowest grain temperature used in calculations, set per zone

Definition at line 346 of file grainvar.h.

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

lowest grain temperature used in calculations, initial zone

Definition at line 346 of file grainvar.h.

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

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

Definition at line 355 of file grainvar.h.

Referenced by hmole_step().

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.

Referenced by hmole_step().

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

Referenced by GrainCollHeating(), and GrainMakeDiffuse().

specific data for each shell

Definition at line 310 of file grainvar.h.

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

sticking efficiency for electrons on negative or neutral grains

Definition at line 312 of file grainvar.h.

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

sticking efficiency for electrons on positive grains

Definition at line 312 of file grainvar.h.

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

highest equilibrium temperature as a function of radius

Definition at line 296 of file grainvar.h.

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

efficiency of thermionic emission, between 0 and 1

Definition at line 245 of file grainvar.h.

Referenced by mie_read_opc(), and UpdatePot2().

heating due to thermionic emission

Definition at line 327 of file grainvar.h.

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

sublimation temperature

Definition at line 245 of file grainvar.h.

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

y0b06[NC_ELL]: bulk yield for band according to Eq. 9 of WDB06

Definition at line 311 of file grainvar.h.

Referenced by GrainsInit(), InitBinAugerData(), NewGrainBin(), ReturnGrainBins(), and y0b().


The documentation for this struct was generated from the following file:
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Friends Defines

Generated for cloudy by doxygen 1.7.3