cloudy trunk
Loading...
Searching...
No Matches
GrainBin Class Reference

#include <grainvar.h>

Collaboration diagram for GrainBin:

Public Member Functions

 GrainBin ()
 ~GrainBin ()
void clear ()

Data Fields

df_type nDustFunc
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 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
double dstems [NDEMS]
double dstslp [NDEMS]
double dstslp2 [NDEMS]
bool lgTdustConverged
realnum tedust
realnum TeGrainMax
realnum avdust
bool lgChrgConverged
long LowestZg
long nfill
vector< ShellData * > sd
vector< realnumy0b06
double AveDustZ
double Capacity
double dstpot
double dstpotsav
double LowestPot
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_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 292 of file grainvar.h.

Constructor & Destructor Documentation

◆ GrainBin()

GrainBin::GrainBin ( )
inline

Definition at line 298 of file grainvar.h.

References p_clear1().

Here is the call graph for this function:

◆ ~GrainBin()

GrainBin::~GrainBin ( )
inline

Definition at line 302 of file grainvar.h.

References p_clear0().

Here is the call graph for this function:

Member Function Documentation

◆ clear()

void GrainBin::clear ( )
inline

Definition at line 306 of file grainvar.h.

References p_clear0(), and p_clear1().

Here is the call graph for this function:

◆ p_clear0()

void GrainBin::p_clear0 ( )
private

Definition at line 272 of file grains.cpp.

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

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

◆ p_clear1()

Field Documentation

◆ AccomCoef

double GrainBin::AccomCoef[LIMELM]

accommodation coefficient, needed for collisional heating of grain

Definition at line 398 of file grainvar.h.

◆ asym

vector<double> GrainBin::asym

asymmetry factor (1-g)

Definition at line 363 of file grainvar.h.

Referenced by p_clear0().

◆ atomWeight

realnum GrainBin::atomWeight

molecular weight per atom, in amu

Definition at line 329 of file grainvar.h.

◆ AvArea

realnum GrainBin::AvArea

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

Definition at line 323 of file grainvar.h.

◆ avdft

realnum GrainBin::avdft

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

Definition at line 435 of file grainvar.h.

Referenced by p_clear1().

◆ avDGRatio

realnum GrainBin::avDGRatio

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

Definition at line 334 of file grainvar.h.

Referenced by p_clear1().

◆ avdpot

realnum GrainBin::avdpot

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

Definition at line 395 of file grainvar.h.

Referenced by p_clear1().

◆ avdust

realnum GrainBin::avdust

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

Definition at line 373 of file grainvar.h.

Referenced by p_clear1().

◆ AveDustZ

double GrainBin::AveDustZ

average charge per grain, in electrons

Definition at line 386 of file grainvar.h.

Referenced by p_clear1().

◆ AvRadius

realnum GrainBin::AvRadius

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

Definition at line 322 of file grainvar.h.

◆ AvVol

realnum GrainBin::AvVol

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

Definition at line 324 of file grainvar.h.

◆ BandGap

realnum GrainBin::BandGap

gap between valence and conduction band, in Ryd

Definition at line 332 of file grainvar.h.

◆ BolFlux

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

Referenced by p_clear1().

◆ Capacity

double GrainBin::Capacity

grain capacity, in Farad/grain

Definition at line 387 of file grainvar.h.

◆ chDstLab

char GrainBin::chDstLab[13]

general information on the grains label for the species

Definition at line 317 of file grainvar.h.

◆ ChemEn

double GrainBin::ChemEn

net amount of energy donated by recombining ions

Definition at line 407 of file grainvar.h.

Referenced by p_clear1().

◆ ChemEnH2

double GrainBin::ChemEnH2

net amount of energy donated by H2 formation on grain surface

Definition at line 408 of file grainvar.h.

Referenced by p_clear1().

◆ chrg

ChargeBin* GrainBin::chrg[NCHS]

this holds the charge dependent data

Definition at line 439 of file grainvar.h.

Referenced by p_clear0(), and p_clear1().

◆ cnv_CM3_pGR

double GrainBin::cnv_CM3_pGR

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

Definition at line 351 of file grainvar.h.

Referenced by p_clear1().

◆ cnv_CM3_pH

double GrainBin::cnv_CM3_pH

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

Definition at line 352 of file grainvar.h.

Referenced by p_clear1().

◆ cnv_GR_pCM3

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

◆ cnv_GR_pH

double GrainBin::cnv_GR_pH

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

Definition at line 353 of file grainvar.h.

Referenced by p_clear1().

◆ cnv_H_pCM3

double GrainBin::cnv_H_pCM3

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

Definition at line 350 of file grainvar.h.

Referenced by p_clear1().

◆ cnv_H_pGR

double GrainBin::cnv_H_pGR

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

Definition at line 349 of file grainvar.h.

Referenced by p_clear1().

◆ dstab1

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

Referenced by p_clear0().

◆ dstAbund

realnum GrainBin::dstAbund

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

Definition at line 346 of file grainvar.h.

Referenced by p_clear1().

◆ dstems

double GrainBin::dstems[NDEMS]

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

Definition at line 366 of file grainvar.h.

Referenced by p_clear1().

◆ dstfactor

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

Referenced by p_clear1().

◆ dstpot

double GrainBin::dstpot

grain potential in Ryd

Definition at line 388 of file grainvar.h.

Referenced by p_clear1().

◆ dstpotsav

double GrainBin::dstpotsav

grain potential at start of iteration

Definition at line 389 of file grainvar.h.

Referenced by p_clear1().

◆ dstslp

double GrainBin::dstslp[NDEMS]

auxiliary array for spline interpolation

Definition at line 367 of file grainvar.h.

Referenced by p_clear1().

◆ dstslp2

double GrainBin::dstslp2[NDEMS]

auxiliary array for inverse spline interpolation

Definition at line 368 of file grainvar.h.

Referenced by p_clear1().

◆ DustDftVel

realnum GrainBin::DustDftVel

grain drift grain drift velocity for this zone

Definition at line 434 of file grainvar.h.

Referenced by p_clear1().

◆ DustEnth

double GrainBin::DustEnth[NDEMS]

grain enthalpy at dsttmp[], in Ryd/grain

Definition at line 423 of file grainvar.h.

Referenced by p_clear1().

◆ dustp

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

◆ DustWorkFcn

realnum GrainBin::DustWorkFcn

work function, in Ryd

Definition at line 331 of file grainvar.h.

◆ eec

double GrainBin::eec

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

Definition at line 318 of file grainvar.h.

◆ elmAbund

realnum GrainBin::elmAbund[LIMELM]

chemical composition, abundance at default depl, see comment below

Definition at line 328 of file grainvar.h.

◆ EnthSlp

double GrainBin::EnthSlp[NDEMS]

auxiliary array for spline interpolation

Definition at line 424 of file grainvar.h.

Referenced by p_clear1().

◆ EnthSlp2

double GrainBin::EnthSlp2[NDEMS]

auxiliary array for inverse spline interpolation

Definition at line 425 of file grainvar.h.

Referenced by p_clear1().

◆ eyc

double GrainBin::eyc

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

Definition at line 319 of file grainvar.h.

◆ GasHeatPhotoEl

double GrainBin::GasHeatPhotoEl

photoelectric heating of the gas, added in GrGH 0

Definition at line 403 of file grainvar.h.

Referenced by p_clear1().

◆ GrainCoolTherm

double GrainBin::GrainCoolTherm

grain cooling due to thermionic emissions, summed over charge states

Definition at line 402 of file grainvar.h.

Referenced by p_clear1().

◆ GrainGasCool

double GrainBin::GrainGasCool

gas cooling due to collisions with grains

Definition at line 406 of file grainvar.h.

Referenced by p_clear1().

◆ GrainHeat

double GrainBin::GrainHeat

total heating of current grain type

Definition at line 404 of file grainvar.h.

Referenced by p_clear1().

◆ GrainHeatColl

double GrainBin::GrainHeatColl

collisional heating of current grain type

Definition at line 405 of file grainvar.h.

Referenced by p_clear1().

◆ GrnDpth

realnum GrainBin::GrnDpth

grain abundance scale factor in zone, GrnStdDpth(radius), used by set PAH constant / H0 commands

Definition at line 347 of file grainvar.h.

Referenced by p_clear1().

◆ HeatingRate1

double GrainBin::HeatingRate1

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

Definition at line 422 of file grainvar.h.

Referenced by p_clear1().

◆ IntArea

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.

◆ IntRadius

realnum GrainBin::IntRadius

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

Definition at line 325 of file grainvar.h.

◆ IntVol

realnum GrainBin::IntVol

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

Definition at line 327 of file grainvar.h.

◆ inv_att_len

vector<realnum> GrainBin::inv_att_len

inverse attenuation length (in cm)

Definition at line 397 of file grainvar.h.

Referenced by p_clear0().

◆ le_thres

realnum GrainBin::le_thres

threshold for using X-ray prescription for l_e, in Ryd

Definition at line 396 of file grainvar.h.

Referenced by p_clear1().

◆ lgChrgConverged

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

Referenced by p_clear1().

◆ lgEverQHeat

bool GrainBin::lgEverQHeat

was quantum heating used in any zone ?

Definition at line 414 of file grainvar.h.

Referenced by p_clear1().

◆ lgPAHsInIonizedRegion

bool GrainBin::lgPAHsInIonizedRegion

were PAHs present in the ionized region ?

Definition at line 314 of file grainvar.h.

Referenced by p_clear1().

◆ lgQHeat

bool GrainBin::lgQHeat

quantum heating physics is quantum heating turned on ?

Definition at line 412 of file grainvar.h.

Referenced by p_clear1().

◆ lgQHTooWide

bool GrainBin::lgQHTooWide

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

Definition at line 415 of file grainvar.h.

Referenced by p_clear1().

◆ lgTdustConverged

bool GrainBin::lgTdustConverged

is dust temperature converged ?

Definition at line 370 of file grainvar.h.

Referenced by p_clear1().

◆ lgUseQHeat

bool GrainBin::lgUseQHeat

should quantum heating be used for this zone ?

Definition at line 413 of file grainvar.h.

Referenced by p_clear1().

◆ LowestPot

double GrainBin::LowestPot

lowest potential a grain can ever have, in Ryd

Definition at line 390 of file grainvar.h.

Referenced by p_clear1().

◆ LowestZg

long GrainBin::LowestZg

lowest charge a grain can ever have, in e

Definition at line 382 of file grainvar.h.

Referenced by p_clear1().

◆ matType

mat_type GrainBin::matType

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

Definition at line 335 of file grainvar.h.

◆ nChrg

long GrainBin::nChrg

number of charge states used for the current zone

Definition at line 438 of file grainvar.h.

Referenced by p_clear1().

◆ nChrgOrg

long GrainBin::nChrgOrg

number of charge states at the start of the iteration

Definition at line 437 of file grainvar.h.

Referenced by p_clear1().

◆ nDustFunc

df_type GrainBin::nDustFunc

grain logic has user requested custom grain abundance function ?

Definition at line 313 of file grainvar.h.

Referenced by p_clear1().

◆ nfill

long GrainBin::nfill

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

Definition at line 383 of file grainvar.h.

Referenced by p_clear1().

◆ pure_sc1

vector<double> GrainBin::pure_sc1

scattering cross section per grain species, for default depl

Definition at line 362 of file grainvar.h.

Referenced by p_clear0().

◆ QHeatFailures

long GrainBin::QHeatFailures

counter for number of times qheat algorithm failed

Definition at line 416 of file grainvar.h.

Referenced by p_clear1().

◆ qnflux

long GrainBin::qnflux

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

Definition at line 417 of file grainvar.h.

Referenced by p_clear1().

◆ qnflux2

long GrainBin::qnflux2

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

Definition at line 418 of file grainvar.h.

Referenced by p_clear1().

◆ qtmin

double GrainBin::qtmin

lowest grain temperature used in calculations, set per zone

Definition at line 420 of file grainvar.h.

Referenced by p_clear1().

◆ qtmin_zone1

double GrainBin::qtmin_zone1

lowest grain temperature used in calculations, initial zone

Definition at line 421 of file grainvar.h.

Referenced by p_clear1().

◆ rate_h2_form_grains_CT02

double GrainBin::rate_h2_form_grains_CT02

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

Definition at line 429 of file grainvar.h.

Referenced by p_clear1().

◆ rate_h2_form_grains_HM79

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

Referenced by p_clear1().

◆ rate_h2_form_grains_used

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

Referenced by p_clear1().

◆ RateDn

double GrainBin::RateDn

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

Definition at line 392 of file grainvar.h.

Referenced by p_clear1().

◆ RateUp

double GrainBin::RateUp

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

Definition at line 391 of file grainvar.h.

Referenced by p_clear1().

◆ RSFCheck

double GrainBin::RSFCheck

grain opacities save resolution scale factor for later check

Definition at line 357 of file grainvar.h.

Referenced by p_clear1().

◆ sd

vector<ShellData*> GrainBin::sd

specific data for each atomic shell in this grain material

Definition at line 384 of file grainvar.h.

Referenced by p_clear0(), and p_clear1().

◆ StickElecNeg

double GrainBin::StickElecNeg

sticking efficiency for electrons on negative or neutral grains

Definition at line 393 of file grainvar.h.

Referenced by p_clear1().

◆ StickElecPos

double GrainBin::StickElecPos

sticking efficiency for electrons on positive grains

Definition at line 394 of file grainvar.h.

Referenced by p_clear1().

◆ tedust

realnum GrainBin::tedust

equilibrium temperature for this zone

Definition at line 371 of file grainvar.h.

Referenced by p_clear1().

◆ TeGrainMax

realnum GrainBin::TeGrainMax

highest equilibrium temperature as a function of radius

Definition at line 372 of file grainvar.h.

Referenced by p_clear1().

◆ ThermEff

realnum GrainBin::ThermEff

efficiency of thermionic emission, between 0 and 1

Definition at line 333 of file grainvar.h.

◆ thermionic

double GrainBin::thermionic

heating due to thermionic emission

Definition at line 409 of file grainvar.h.

Referenced by p_clear1().

◆ Tsublimat

realnum GrainBin::Tsublimat

sublimation temperature

Definition at line 330 of file grainvar.h.

◆ y0b06

vector<realnum> GrainBin::y0b06

bulk yield for band according to Eq. 9 of WDB06

Definition at line 385 of file grainvar.h.

Referenced by p_clear0().


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