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


Generated for cloudy by doxygen 1.5.9