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  ChargeBin
struct  GrainBin
struct  t_gv

Defines

#define IGNORE_QUANTUM_HEATING   1
#define NDEMS   200L
#define GRAIN_TMIN   1.e-3
#define GRAIN_TMID   5.e3
#define GRAIN_TMAX   1.2e9
#define NDUST   500L
#define NCHS   30L
#define NCHRG_DEFAULT   2L
#define NQGRID   10000L
#define CONSERV_TOL   1.e-3
#define MAX_READ_RECORDS   50L
#define READ_RECORD_LENGTH   200L

Enumerations

enum  enth_type {
  ENTH_CAR, ENTH_CAR2, ENTH_SIL, ENTH_SIL2,
  ENTH_PAH, ENTH_PAH2
}
enum  zmin_type { ZMIN_CAR, ZMIN_SIL, ZMIN_BAKES }
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

EXTERN struct t_gv gv

Define Documentation

#define CONSERV_TOL   1.e-3

all grains should conserve charge and energy to within this precision

Definition at line 31 of file grainvar.h.

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

#define GRAIN_TMAX   1.2e9

Definition at line 15 of file grainvar.h.

Referenced by GrainChargeTemp(), and InitEmissivities().

#define GRAIN_TMID   5.e3

Definition at line 14 of file grainvar.h.

Referenced by InitEmissivities().

#define GRAIN_TMIN   1.e-3

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

Definition at line 13 of file grainvar.h.

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

#define IGNORE_QUANTUM_HEATING   1

flag that determines if quantum heating is to be taken into account in H2 grain surface formation rate, uncomment to revert to old treatment, PvH

Definition at line 7 of file grainvar.h.

#define MAX_READ_RECORDS   50L

maximum number of filenames that mie_read_opc can store

Definition at line 104 of file grainvar.h.

Referenced by mie_read_opc().

#define NCHRG_DEFAULT   2L

default number of charge states to be used

Definition at line 23 of file grainvar.h.

Referenced by GrainZero().

#define NCHS   30L

maximum number of discrete grain charges that can be used in charge distribution

Definition at line 21 of file grainvar.h.

Referenced by GrainCharge(), GrainsInit(), NewChargeData(), NewGrainBin(), ParseSet(), ReturnGrainBins(), and UpdatePot().

#define NDEMS   200L

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

Definition at line 10 of file grainvar.h.

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

#define NDUST   500L

maximum number of grain bins that can be allocated

Definition at line 18 of file grainvar.h.

Referenced by GrainsInit(), NewGrainBin(), ParseAssertResults(), and ReturnGrainBins().

#define NQGRID   10000L

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

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

#define READ_RECORD_LENGTH   200L

NB NB -- keep this equal to FILENAME_PATH_LENGTH

Definition at line 106 of file grainvar.h.


Enumeration Type Documentation

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 34 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 75 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 57 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. 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 89 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 63 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 51 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 69 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

ZMIN_BAKES 

all grains, Bakes & Tielens, 1994, ApJ, 427, 822

Definition at line 44 of file grainvar.h.


Variable Documentation

EXTERN struct t_gv gv

NB NB NB NB NB NB

this is the master data structure for grain physics, it is statically allocated

!! apart from bin[NDUST], NOTHING in this structure should have dimension NDUST !!

all entries that depend on grain type should go in the GrainBin structure above

NB NB NB NB NB NB

Referenced by AbundancesPrt(), ClosePunchFiles(), CO_create_react(), CO_Init(), conorm(), ContRate(), ConvBase(), ConvEdenIoniz(), ConvIoniz(), ConvPresTempEdenIoniz(), CoolEvaluate(), eden_sum(), ele_ion_ladder(), GetFracPop(), GetPotValues(), GetProbDistr_HighLimit(), GetProbDistr_LowLimit(), GrainCharge(), GrainChargeTemp(), GrainChrgTransferRates(), GrainCollHeating(), GrainDrift(), GrainDrive(), GrainElecEmis1(), GrainElecRecomb1(), GrainIonColl(), GrainMakeDiffuse(), GrainRestartIter(), GrainScreen(), GrainsInit(), GrainStartIter(), GrainTemperature(), GrainUpdateRadius1(), GrainUpdateRadius2(), GrainZero(), grn_abs(), GrnStdDpth(), GrnVryDpth(), H2_PunchDo(), HeatSum(), hmole_step(), InitEmissivities(), InitEnthalpy(), inv_ufunct(), ion_photo(), ion_recomb(), ion_solver(), IonIron(), IonSilic(), iso_ionize_recombine(), IterStart(), lgCheckAsserts(), lindst(), lines_grains(), mie_read_opc(), mie_write_opc(), mole_H2_form(), NewChargeData(), NewGrainBin(), OpacityAddTotal(), ParseDont(), ParseGrain(), ParseMetal(), ParsePunch(), ParseSet(), PE_init(), PlanckIntegral(), PrtComment(), PrtFinal(), PrtZone(), PunchDo(), PunchFilesInit(), PutLine(), qheat(), qheat_init(), radius_increment(), RebinQHeatResults(), ReturnGrainBins(), RT_diffuse(), SetNChrgStates(), TryDoubleStep(), uderiv(), ufunct(), UpdatePot(), UpdatePot1(), UpdatePot2(), UpdateRecomZ0(), and vib_evap().

 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Friends Defines

Generated for cloudy by doxygen 1.6.1