cloudy  trunk
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Data Structures | Enumerations | Variables
grainvar.h File Reference
#include "container_classes.h"
Include dependency graph for grainvar.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  GrainPar
 
class  ShellData
 
class  AEInfo
 
class  ChargeBin
 
class  GrainBin
 
class  GrainVar
 

Enumerations

enum  df_type { DF_STANDARD, DF_USER_FUNCTION, DF_SUBLIMATION }
 
enum  enth_type {
  ENTH_CAR, ENTH_CAR2, ENTH_SIL, ENTH_SIL2,
  ENTH_PAH, ENTH_PAH2, ENTH_SIC
}
 
enum  zmin_type { ZMIN_CAR, ZMIN_SIL }
 
enum  pot_type { POT_CAR, POT_SIL }
 
enum  ial_type { IAL_CAR, IAL_SIL }
 
enum  pe_type { PE_CAR, PE_SIL }
 
enum  strg_type { STRG_CAR, STRG_SIL }
 
enum  H2_type { H2_ICE, H2_SIL, H2_CAR, H2_TOP }
 
enum  mat_type {
  MAT_USR =0, MAT_CAR, MAT_SIL, MAT_PAH,
  MAT_CAR2, MAT_SIL2, MAT_PAH2, MAT_SIC,
  MAT_TOP
}
 

Variables

const bool ENABLE_QUANTUM_HEATING =false
 
const int NDEMS = 200
 
const double GRAIN_TMIN = 1.e-3
 
const double GRAIN_TMID = 5.e3
 
const double GRAIN_TMAX = 1.2e9
 
const int NCHS = 50
 
const int NCHU = NCHS/5
 
const int NCHRG_DEFAULT = 2
 
const int NQGRID = 10000
 
const double CONSERV_TOL = 1.e-3
 
GrainVar gv
 

Enumeration Type Documentation

enum df_type

the grain depletion functions - possible values of gv.nDustFunc

Enumerator
DF_STANDARD 

standard, PAHs vary, but classical grains do not

DF_USER_FUNCTION 

user supplied function, can be anything...

DF_SUBLIMATION 

grain abundance is suppressed above sublimation temperature

Definition at line 40 of file grainvar.h.

enum enth_type

the following constants are used to define the enthalpy function

Enumerator
ENTH_CAR 

graphite, Guhathakurtha & Draine 1989, ApJ, 345, 230

ENTH_CAR2 

graphite, Draine & Li 2001, ApJ, 551, 807

ENTH_SIL 

silicate, Guhathakurtha & Draine 1989, ApJ, 345, 230

ENTH_SIL2 

silicate, Draine & Li 2001, ApJ, 551, 807

ENTH_PAH 

PAH molecules, Dwek et al. 1997, ApJ, 345, 230

ENTH_PAH2 

PAH molecules, Draine & Li 2001, ApJ, 551, 807

ENTH_SIC 

SiC, Chekhovskoy V. Ya., 1971, J. Chem. Thermodynamics, 3, 289

Definition at line 47 of file grainvar.h.

enum H2_type

the following constants are used to define which H2 ro-vib distribution should be used at formation, see h2.c

Enumerator
H2_ICE 

ice mantles

H2_SIL 

silicate grains

H2_CAR 

graphitic material

H2_TOP 

H2_TOP is the number of different grain surfaces that are treated - used for H_2 processes that occur on grain surfaces NB NB, this MUST always be the last definition !!

Definition at line 88 of file grainvar.h.

enum ial_type

the following constants are used to define the expression for the inverse attenuation length

Enumerator
IAL_CAR 

graphitic material, Weingartner & Draine

IAL_SIL 

silicate grains, grey grains, Weingartner & Draine

Definition at line 70 of file grainvar.h.

enum mat_type

the following constants are used to define material types
NB NB - whenever you define a new material type, fill in the physical properties in GrainZero (i.e., make initializations for gv.which_enth[MAT_xxx], etc...) !!

Enumerator
MAT_USR 

reserved

MAT_CAR 

graphitic material, Guhathakurtha & Draine enthalpy

MAT_SIL 

silicate grains, grey grains, Guhathakurtha & Draine enthalpy

MAT_PAH 

PAH molecules, Dwek et al. enthalpy

MAT_CAR2 

graphitic material, Draine & Li enthalpy

MAT_SIL2 

silicate grains, grey grains, Draine & Li enthalpy

MAT_PAH2 

PAH molecules, Draine & Li enthalpy

MAT_SIC 

SiC molecules, Chekhovskoy enthalpy

MAT_TOP 

MAT_TOP is the number of different material types that are treated NB NB, this MUST always be the last definition !!

Definition at line 102 of file grainvar.h.

enum pe_type

the following constants are used to define the expression for the photo-electric effect

Enumerator
PE_CAR 

graphitic material, Weingartner & Draine

PE_SIL 

silicate grains, grey grains, Weingartner & Draine

Definition at line 76 of file grainvar.h.

enum pot_type

the following constants are used to define the expression for the ionization potential

Enumerator
POT_CAR 

graphitic material, Weingartner & Draine

POT_SIL 

silicate grains, grey grains, Weingartner & Draine

Definition at line 64 of file grainvar.h.

enum strg_type

the following constants are used to define where the emitted spectrum is stored

Enumerator
STRG_CAR 

graphitic spectrum

STRG_SIL 

silicate spectrum

Definition at line 82 of file grainvar.h.

enum zmin_type

the following constants are used to define the expression for Z_min

Enumerator
ZMIN_CAR 

graphitic material, Weingartner & Draine

ZMIN_SIL 

silicate grains, grey grains, Weingartner & Draine

Definition at line 58 of file grainvar.h.

Variable Documentation

const double CONSERV_TOL = 1.e-3

all grains should conserve charge and energy to within this precision

Definition at line 37 of file grainvar.h.

Referenced by GrainMakeDiffuse(), qheat(), qheat_init(), RebinQHeatResults(), and UpdatePot().

const bool ENABLE_QUANTUM_HEATING =false

flag that determines if quantum heating is to be taken into account in H2 grain surface formation rate, set this true to enable quantum heating treatment, PvH

Definition at line 13 of file grainvar.h.

Referenced by GrainsInit(), and mole_h2_grain_form().

const double GRAIN_TMAX = 1.2e9

Definition at line 21 of file grainvar.h.

Referenced by GrainChargeTemp(), and InitEmissivities().

const double GRAIN_TMID = 5.e3

Definition at line 20 of file grainvar.h.

Referenced by InitEmissivities().

const double GRAIN_TMIN = 1.e-3

these are used for setting up grain emissivities in InitEmissivities()

Definition at line 19 of file grainvar.h.

Referenced by GetProbDistr_LowLimit(), GrainChargeTemp(), InitEmissivities(), InitEnthalpy(), qheat(), and ScanProbDistr().

Definition at line 5 of file grainvar.cpp.

Referenced by AbundancesPrt(), CloseSaveFiles(), conorm(), ContRate(), ConvBase(), ConvPresTempEdenIoniz(), CoolEvaluate(), CoolSave(), eden_sum(), elec_esc_length(), fill_array(), flxCell(), GetFracPop(), GetPotValues(), GetProbDistr_HighLimit(), GetProbDistr_LowLimit(), GrainCharge(), GrainChargeTemp(), GrainChrgTransferRates(), GrainCollHeating(), GrainDrift(), GrainDrive(), GrainElecEmis1(), GrainElecRecomb1(), GrainIonColl(), GrainMakeDiffuse(), GrainRestartIter(), GrainScreen(), GrainsInit(), GrainStartIter(), GrainTemperature(), GrainUpdateRadius1(), GrainUpdateRadius2(), GrainZero(), grid_do(), GrnStdDpth(), GrnVryDpth(), diatomics::H2_PunchDo(), HeatSum(), InitBinAugerData(), InitEmissivities(), InitEnthalpy(), inv_ufunct(), ion_photo(), ion_recomb(), iso_level(), lgCheckMonitors(), lgNetEdenSrcSmall(), lines_grains(), t_mole_global::make_species(), mie_read_opc(), mie_write_opc(), diatomics::mole_H2_form(), mole_h2_grain_form(), mole_h_fixup(), mole_update_species_cache(), NewChargeData(), no_atoms(), one_elec(), OpacityAddTotal(), GrainBin::p_clear1(), ParseCommands(), ParseDont(), ParseGrain(), ParseMetal(), ParseSet(), PE_init(), PlanckIntegral(), PrintRates(), PrtComment(), PrtFinal(), PrtZone(), qheat(), qheat_init(), radius_increment(), ReadAugerData(), RebinQHeatResults(), RT_diffuse(), SaveDo(), SaveFilesInit(), SetNChrgStates(), TryDoubleStep(), uderiv(), ufunct(), UpdatePot(), UpdatePot1(), UpdatePot2(), UpdateRecomZ0(), y0b(), y0b01(), y0psa(), y1psa(), y2s(), and Yfunc().

const int NCHRG_DEFAULT = 2

default number of charge states to be used

Definition at line 29 of file grainvar.h.

Referenced by GrainVar::p_clear1().

const int NCHS = 50

maximum number of discrete grain charge states that will be kept in memory for possible reuse

Definition at line 24 of file grainvar.h.

Referenced by GrainCharge(), GrainsInit(), NewChargeData(), GrainBin::p_clear0(), GrainBin::p_clear1(), and UpdatePot().

const int NCHU = NCHS/5

this is the largest number of charge bins that may be in use at any one time; the remaining NCHS-NCHU charge bins are used for backing up data for possible later use

Definition at line 27 of file grainvar.h.

Referenced by GetFracPop(), GrainCharge(), GrainsInit(), ParseSet(), and SetNChrgStates().

const int NDEMS = 200

number of grid points for which grain emissivity is evaluated in InitEmissivities

Definition at line 16 of file grainvar.h.

Referenced by GetProbDistr_HighLimit(), GetProbDistr_LowLimit(), GrainChargeTemp(), GrainTemperature(), InitEmissivities(), InitEnthalpy(), inv_ufunct(), GrainBin::p_clear1(), qheat(), RebinQHeatResults(), TryDoubleStep(), and ufunct().

const int NQGRID = 10000

maximum size of temperature grid for quantum heating routine
>>chng 02 aug 01, changed 10000 -> 20000, because of laqheat2.in test
>>chng 04 nov 09, changed back to 10000 to save CPU time, laqheat2.in still OK

Definition at line 34 of file grainvar.h.

Referenced by GetProbDistr_HighLimit(), GetProbDistr_LowLimit(), GrainMakeDiffuse(), mole_h2_grain_form(), qheat(), RebinQHeatResults(), and TryDoubleStep().