cloudy  trunk
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Public Member Functions | Data Fields | Private Member Functions
GrainBin Class Reference

#include <grainvar.h>

Collaboration diagram for GrainBin:
Collaboration graph
[legend]

Public Member Functions

 GrainBin ()
 
 ~GrainBin ()
 
void clear ()
 

Data Fields

df_type nDustFunc
 
bool lgPAHsInIonizedRegion
 
bool lgIterStart
 
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 GrnDpth
 
double cnv_H_pGR
 
double cnv_H_pCM3
 
double cnv_CM3_pGR
 
double cnv_CM3_pH
 
double cnv_GR_pH
 
double cnv_GR_pCM3
 
double RSFCheck
 
vector< double > dstab1
 
vector< double > pure_sc1
 
vector< double > asym
 
vector< double > dstab1_x_anu
 
double dstems [NDEMS]
 
double dstslp [NDEMS]
 
double dstslp2 [NDEMS]
 
bool lgTdustConverged
 
realnum tedust
 
realnum TeGrainMax
 
realnum avdust
 
long LowestZg
 
long nfill
 
vector< ShellData * > sd
 
vector< realnumy0b06
 
double AveDustZ
 
long ZloSave
 
double Capacity
 
double dstpot
 
double RateUp
 
double RateDn
 
double StickElecNeg
 
double StickElecPos
 
realnum avdpot
 
realnum le_thres
 
vector< 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_ELRD
 
double rate_h2_form_grains_used
 
realnum DustDftVel
 
realnum avdft
 
long nChrgOrg
 
long nChrg
 
ChargeBinchrg [NCHS]
 

Private Member Functions

void p_clear0 ()
 
void p_clear1 ()
 

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

Constructor & Destructor Documentation

GrainBin::GrainBin ( )
inline

Definition at line 302 of file grainvar.h.

References p_clear1().

Here is the call graph for this function:

GrainBin::~GrainBin ( )
inline

Definition at line 306 of file grainvar.h.

References p_clear0().

Here is the call graph for this function:

Member Function Documentation

void GrainBin::clear ( )
inline

Definition at line 310 of file grainvar.h.

References p_clear0(), and p_clear1().

Here is the call graph for this function:

void GrainBin::p_clear0 ( )
private

Definition at line 246 of file grains.cpp.

References asym, chrg, dstab1, dstab1_x_anu, inv_att_len, NCHS, pure_sc1, sd, and y0b06.

Referenced by clear(), and ~GrainBin().

void GrainBin::p_clear1 ( )
private

Field Documentation

double GrainBin::AccomCoef[LIMELM]

accommodation coefficient, needed for collisional heating of grain

Definition at line 402 of file grainvar.h.

vector<double> GrainBin::asym

asymmetry factor (1-g)

Definition at line 368 of file grainvar.h.

Referenced by p_clear0().

realnum GrainBin::atomWeight

molecular weight per atom, in amu

Definition at line 326 of file grainvar.h.

realnum GrainBin::AvArea

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

Definition at line 326 of file grainvar.h.

realnum GrainBin::avdft

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

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

Referenced by p_clear1().

realnum GrainBin::avdpot

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

Definition at line 399 of file grainvar.h.

Referenced by p_clear1().

realnum GrainBin::avdust

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

Definition at line 377 of file grainvar.h.

Referenced by p_clear1().

double GrainBin::AveDustZ

average charge per grain, in electrons

Definition at line 391 of file grainvar.h.

Referenced by p_clear1().

realnum GrainBin::AvRadius

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

Definition at line 326 of file grainvar.h.

realnum GrainBin::AvVol

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

Definition at line 326 of file grainvar.h.

realnum GrainBin::BandGap

gap between valence and conduction band, in Ryd

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

Referenced by p_clear1().

double GrainBin::Capacity

grain capacity, in Farad/grain

Definition at line 393 of file grainvar.h.

char GrainBin::chDstLab[13]

general information on the grains label for the species

Definition at line 322 of file grainvar.h.

double GrainBin::ChemEn

net amount of energy donated by recombining ions

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

Referenced by p_clear1().

ChargeBin* GrainBin::chrg[NCHS]

this holds the charge dependent data

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

Referenced by p_clear0().

vector<double> GrainBin::dstab1_x_anu

helper array, dstab1[i]*anu[i] for default depl

Definition at line 369 of file grainvar.h.

Referenced by p_clear0().

realnum GrainBin::dstAbund

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

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

Referenced by p_clear1().

double GrainBin::dstpot

grain potential in Ryd

Definition at line 394 of file grainvar.h.

Referenced by p_clear1().

double GrainBin::dstslp[NDEMS]

auxiliary array for spline interpolation

Definition at line 372 of file grainvar.h.

Referenced by p_clear1().

double GrainBin::dstslp2[NDEMS]

auxiliary array for inverse spline interpolation

Definition at line 372 of file grainvar.h.

Referenced by p_clear1().

realnum GrainBin::DustDftVel

grain drift grain drift velocity for this zone

Definition at line 438 of file grainvar.h.

Referenced by p_clear1().

double GrainBin::DustEnth[NDEMS]

grain enthalpy at dsttmp[], in Ryd/grain

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

realnum GrainBin::DustWorkFcn

work function, in Ryd

Definition at line 326 of file grainvar.h.

double GrainBin::eec

pow(dustp[0],-0.85), needed for electron esacpe length

Definition at line 323 of file grainvar.h.

realnum GrainBin::elmAbund[LIMELM]

chemical composition, abundance at default depl, see comment below

Definition at line 326 of file grainvar.h.

double GrainBin::EnthSlp[NDEMS]

auxiliary array for spline interpolation

Definition at line 426 of file grainvar.h.

Referenced by p_clear1().

double GrainBin::EnthSlp2[NDEMS]

auxiliary array for inverse spline interpolation

Definition at line 426 of file grainvar.h.

Referenced by p_clear1().

double GrainBin::eyc

1./AvRadius + 1.e7, needed for electron yield

Definition at line 324 of file grainvar.h.

double GrainBin::GasHeatPhotoEl

photoelectric heating of the gas, added in GrGH 0

Definition at line 405 of file grainvar.h.

Referenced by p_clear1().

double GrainBin::GrainCoolTherm

grain cooling due to thermionic emissions, summed over charge states

Definition at line 405 of file grainvar.h.

Referenced by p_clear1().

double GrainBin::GrainGasCool

gas cooling due to collisions with grains

Definition at line 405 of file grainvar.h.

Referenced by p_clear1().

double GrainBin::GrainHeat

total heating of current grain type

Definition at line 405 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 350 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 425 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 326 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 326 of file grainvar.h.

vector<realnum> GrainBin::inv_att_len

inverse attenuation length (in cm)

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

Referenced by p_clear1().

bool GrainBin::lgEverQHeat

was quantum heating used in any zone ?

Definition at line 416 of file grainvar.h.

Referenced by p_clear1().

bool GrainBin::lgIterStart

are we converging the grain physics for the first time this iteration?

Definition at line 319 of file grainvar.h.

bool GrainBin::lgPAHsInIonizedRegion

were PAHs present in the ionized region ?

Definition at line 318 of file grainvar.h.

Referenced by p_clear1().

bool GrainBin::lgQHeat

quantum heating physics is quantum heating turned on ?

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

Referenced by p_clear1().

bool GrainBin::lgTdustConverged

is dust temperature converged ?

Definition at line 376 of file grainvar.h.

Referenced by p_clear1().

bool GrainBin::lgUseQHeat

should quantum heating be used for this zone ?

Definition at line 416 of file grainvar.h.

Referenced by p_clear1().

long GrainBin::LowestZg

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) lowest charge a grain can ever have, in e

Definition at line 387 of file grainvar.h.

Referenced by p_clear1().

mat_type GrainBin::matType

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

Definition at line 340 of file grainvar.h.

long GrainBin::nChrg

number of charge states used for the current zone

Definition at line 442 of file grainvar.h.

Referenced by p_clear1().

long GrainBin::nChrgOrg

number of charge states at the start of the iteration

Definition at line 441 of file grainvar.h.

Referenced by p_clear1().

df_type GrainBin::nDustFunc

grain logic has user requested custom grain abundance function ?

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

Referenced by p_clear0().

long GrainBin::QHeatFailures

counter for number of times qheat algorithm failed

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

Referenced by p_clear1().

double GrainBin::qtmin

lowest grain temperature used in calculations, set per zone

Definition at line 423 of file grainvar.h.

Referenced by p_clear1().

double GrainBin::qtmin_zone1

lowest grain temperature used in calculations, initial zone

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

Referenced by p_clear1().

double GrainBin::rate_h2_form_grains_ELRD

H2 formation rate, Rollig et al. 2013 with Eley-Rideal effect, units S^-1, actual depl

Definition at line 433 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 431 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 434 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 394 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 394 of file grainvar.h.

Referenced by p_clear1().

double GrainBin::RSFCheck

grain opacities save resolution scale factor for later check

Definition at line 362 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 389 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 394 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 377 of file grainvar.h.

Referenced by p_clear1().

realnum GrainBin::TeGrainMax

highest equilibrium temperature as a function of radius

Definition at line 377 of file grainvar.h.

Referenced by p_clear1().

realnum GrainBin::ThermEff

efficiency of thermionic emission, between 0 and 1

Definition at line 326 of file grainvar.h.

double GrainBin::thermionic

heating due to thermionic emission

Definition at line 405 of file grainvar.h.

Referenced by p_clear1().

realnum GrainBin::Tsublimat

sublimation temperature

Definition at line 326 of file grainvar.h.

vector<realnum> GrainBin::y0b06

bulk yield for band according to Eq. 9 of WDB06

Definition at line 390 of file grainvar.h.

Referenced by p_clear0().

long GrainBin::ZloSave

grain charge at the start of the iteration, in e

Definition at line 392 of file grainvar.h.


The documentation for this class was generated from the following files: