cloudy trunk
Loading...
Searching...
No Matches
grainvar.h File Reference
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

Macros

#define IGNORE_QUANTUM_HEATING   1

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
}
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_TOP
}

Variables

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 = 30
const int NCHU = NCHS/3
const int NCHRG_DEFAULT = 2
const int NQGRID = 10000
const double CONSERV_TOL = 1.e-3
GrainVar gv

Macro Definition Documentation

◆ IGNORE_QUANTUM_HEATING

#define IGNORE_QUANTUM_HEATING   1

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

Definition at line 11 of file grainvar.h.

Enumeration Type Documentation

◆ df_type

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

◆ enth_type

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

Definition at line 45 of file grainvar.h.

◆ H2_type

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

◆ ial_type

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

◆ mat_type

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

MAT_CAR2 

graphitic material, Draine & Li enthalpy

MAT_SIL2 

silicate grains, grey grains, Draine & Li enthalpy

MAT_PAH2 

PAH molecules, Draine & Li 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 99 of file grainvar.h.

◆ pe_type

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

◆ pot_type

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

◆ strg_type

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

◆ zmin_type

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

Variable Documentation

◆ CONSERV_TOL

const double CONSERV_TOL = 1.e-3

all grains should conserve charge and energy to within this precision

Definition at line 35 of file grainvar.h.

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

◆ GRAIN_TMAX

const double GRAIN_TMAX = 1.2e9

Definition at line 19 of file grainvar.h.

Referenced by GrainChargeTemp(), and InitEmissivities().

◆ GRAIN_TMID

const double GRAIN_TMID = 5.e3

Definition at line 18 of file grainvar.h.

Referenced by InitEmissivities().

◆ GRAIN_TMIN

const double GRAIN_TMIN = 1.e-3

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

Definition at line 17 of file grainvar.h.

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

◆ gv

GrainVar gv
extern

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(), 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(), ParseAbundances(), ParseCommands(), ParseDont(), ParseGrain(), ParseMetal(), ParseSave(), 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().

◆ NCHRG_DEFAULT

const int NCHRG_DEFAULT = 2

default number of charge states to be used

Definition at line 27 of file grainvar.h.

Referenced by GrainVar::p_clear1().

◆ NCHS

const int NCHS = 30

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

Definition at line 22 of file grainvar.h.

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

◆ NCHU

const int NCHU = NCHS/3

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

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

◆ NDEMS

const int NDEMS = 200

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

Definition at line 14 of file grainvar.h.

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

◆ NQGRID

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

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