Cooling Parameters¶
Simple Cooling Options¶
RadiativeCooling
(external)This flag (1 - on, 0 - off) controls whether or not a radiative cooling module is called for each grid. There are currently several possibilities, controlled by the value of another flag. See Radiative Cooling and UV Physics Parameters for more information on the various cooling methods. Default: 0
- If the
MultiSpecies
flag is off, then equilibrium cooling is assumed and one of the following two will happen. If the parameterGadgetCooling
is set to 1, the primordial equilibrium code is called (see below). IfGadgetCooling
is set to 0, a file calledcool_rates.in
is read to set a cooling curve. This file consists of a set of temperature and the associated cgs cooling rate; a sample compute with a metallicity Z=0.3 Raymond-Smith code is provided ininput/cool_rates.in
. This has a cutoff at 10000 K (Sarazin & White 1987). Another choice will beinput/cool_rates.in_300K
which goes further down to 300 K (Rosen & Bregman 1995). - If the
MultiSpecies
flag is on, then the cooling rate is computed directly by the species abundances. This routine (which uses a backward differenced multi-step algorithm) is borrowed from the Hercules code written by Peter Anninos and Yu Zhang, featuring rates from Tom Abel. Other varieties of cooling are controlled by theMetalCooling
parameter, as discused below.
- If the
RadiativeCoolingModel
(external)- This switches between the tabular look up cooling that is standard (RadiativeCoolingModel=1) and an analytic fit to the Wolfire et al 2003, ApJ, 587, 278 made by Koyama and Inutsuka 2006 (RadiativeCoolingModel = 3, arXiv:astro-ph/0605528). Default: 1
GadgetCooling
(external)- This flag (1 - on, 0 - off) turns on (when set to 1) a set of
routines that calculate cooling rates based on the assumption of a
six-species primordial gas (H, He, no H2 or D) in equilibrium, and
is valid for temperatures greater than 10,000 K. This requires the
file
TREECOOL
to execute. Default: 0 GadgetEquilibriumCooling
(external)- An implementation of the ionization equilibrium cooling code used
in the GADGET code which includes both radiative cooling and a
uniform metagalactic UV background specified by the
TREECOOL
file (in theamr_mpi/exe
directory). When this parameter is turned on,MultiSpecies
andRadiationFieldType
are forced to 0 andRadiativeCooling
is forced to 1. [Not in public release version] MetalCooling
(external)- This flag (0 - off, 1 - metal cooling from Glover & Jappsen 2007,
2 - Cen et al (1995), 3 - Cloudy cooling from Smith, Sigurdsson, &
Abel 2008) turns on metal cooling for runs that track
metallicity. Option 1 is valid for temperatures between 100 K and
108K because it considers fine-structure line emission
from carbon, oxygen, and silicon and includes the additional metal
cooling rates from Sutherland & Dopita (1993). Option 2 is only
valid for temperatures above 104K. Option 3 uses
multi-dimensional tables of heating/cooling values created with
Cloudy and optionally coupled to the
MultiSpecies
chemistry/cooling solver. This method is valid from 10 K to 108K. See the Cloudy Cooling parameters below. Default: 0. MetalCoolingTable
(internal)- This field contains the metal cooling table required for
MetalCooling
option 1. In the top level directory input/, there are two filesmetal_cool.dat
andmetal_cool_pop3.dat
that consider metal cooling for solar abundance and abundances from pair-instability supernovae, respectively. In the same directory, one can find an IDL routine (make_Zcool_table.pro
) that generates these tables. Default:metal_cool.dat
MultiSpecies
(external)- If this flag (1, 2, 3- on, 0 - off) is on, then the code follows not just the total density, but also the ionization states of Hydrogen and Helium. If set to 2, then a nine-species model (including H2, H2+ and H-) will be computed, otherwise only six species are followed (H, H+, He, He+, He++, e-). If set to 3, then a 12 species model is followed, including D, D+ and HD. This routine, like the last one, is based on work done by Abel, Zhang and Anninos. Default: 0
MultiMetals
(external)- This was added so that the user could turn on or off additional metal fields - currently there is the standard metallicity field (Metal_Density) and two additional metal fields (Z_Field1 and Z_Field2). Acceptable values are 1 or 0, Default: 0 (off).
ThreeBodyRate
(external)- Which Three Body rate should be used for H2 formation?: 0 = Abel, Bryan, Norman 2002, 1 = PSS83, 2= CW83, 3 = FH07, 4= G08. (Turk et al 2011 covers these)
CIECooling
(external)- Should CIE (Ripamonti & Abel 2004) cooling be included at high densities?
H2OpticalDepthApproximation
(external)- Should the H2 cooling be attenuated (RA04)?
H2FormationOnDust
(external)- Turns on H2 formation on dust grains and gas-grain heat transfer following Omukai (2000). Default: 0 (OFF)
NumberOfDustTemperatureBins
(external)- Number of dust temperature bins for the dust cooling and H2 formation rates. Default: 250
DustTemperatureStart
(external)- Minimum dust temperature for dust rates. Default: 1.0
DustTemperatureEnd
(external)- Maximum dust temperature for dust rates. Default: 1500
OutputDustTemperature
(external)- Flag to write out the dust temperature field. Default: 0
PhotoelectricHeating
(external)- If set to be 1, the following parameter will be added uniformly to the gas without any shielding (Tasker & Bryan 2008). Default: 0
PhotoelectricHeatingRate
(external)- This is the parameter used as Gamma_pe for uniform photoelectric heating. Default: 8.5e-26 erg s^-1 cm^-3
Cloudy Cooling¶
Cloudy cooling from Smith, Sigurdsson, & Abel (2008) interpolates
over tables of precomputed cooling data. Cloudy cooling is turned
on by setting MetalCooling
to 3. RadiativeCooling
must also be set
to 1. Depending on the cooling data used, it can be coupled with
MultiSpecies
= 1, 2, or 3 so that the metal-free cooling comes from
the MultiSpecies
machinery and the Cloudy tables provide only the
metal cooling. Datasets range in dimension from 1 to 5. Dim 1:
interpolate over temperature. Dim 2: density and temperature. Dim
3: density, metallicity, and temperature. Dim 4: density,
metallicity, electron fraction, and temperature. Dim 5: density,
metallicity, electron fraction, spectral strength, and temperature.
See Smith, Sigurdsson, & Abel (2008) for more information on
creating Cloudy datasets.
CloudyCoolingGridFile
(external)- A string specifying the path to the Cloudy cooling dataset.
IncludeCloudyHeating
(external)- An integer (0 or 1) specifying whether the heating rates are to be included in the calculation of the cooling. Some Cloudy datasets are made with the intention that only the cooling rates are to be used. Default: 0 (off).
CMBTemperatureFloor
(external)- An integer (0 or 1) specifying whether a temperature floor is created at the temperature of the cosmic microwave background (TCMB = 2.72 (1 + z) K). This is accomplished in the code by subtracting the cooling rate at TCMB such that Cooling = Cooling(T) - Cooling(TCMB). Default: 1 (on).
CloudyElectronFractionFactor
(external)- A float value to account for additional electrons contributed by metals. This is only used with Cloudy datasets with dimension greater than or equal to 4. The value of this factor is calculated as the sum of (Ai * i) over all elements i heavier than He, where Ai is the solar number abundance relative to H. For the solar abundance pattern from the latest version of Cloudy, using all metals through Zn, this value is 9.153959e-3. Default: 9.153959e-3.
The Grackle¶
The Grackle is an external chemistry and cooling library originally derived from Enzo’s MultiSpecies chemistry and Cloudy cooling modules. See here for a full description, including why you might use this over Enzo’s internal chemistry and cooling. For more information on Grackle parameter, see also the Grackle documentation. Note, some Grackle parameters have been mapped to Enzo parameters for simplicity.
use_grackle
(int)- Flag to use the Grackle machinery (1 - on, 0 - off). Default: 0.
with_radiative_cooling
(int)- Flag to include radiative cooling and actually update the thermal energy during the chemistry solver. If off, the chemistry species will still be updated. The most common reason to set this to off is to iterate the chemistry network to an equilibrium state (1 - on, 0 - off). Default: 1.
MultiSpecies
(int) [mapped to Grackle parameterprimordial_chemistry
]Flag to control which primordial chemistry network is used. Default: 0.
- 0: no chemistry network. Radiative cooling for primordial species is solved by interpolating from lookup tables calculated with Cloudy.
- 1: 6-species atomic H and He. Active species: H, H+, He, He+, ++, e-.
- 2: 9-species network including atomic species above and species for molecular hydrogen formation. This network includes formation from the H- and H2+ channels, three-body formation (H+H+H and H+H+H2), H2 rotational transitions, chemical heating, and collision-induced emission (optional). Active species: above + H-, H2, H2+.
- 3: 12-species network include all above plus HD rotation cooling. Active species: above plus D, D+, HD.
H2FormationOnDust
(int) [mapped to Grackle parameterh2_on_dust
]- See Enzo equivalent above. Default: 0.
MetalCooling
(int) [mapped to Grackle parametermetal_cooling
]- Flag to enable metal cooling using the Cloudy tables. If enabled, the cooling table to be used must be specified with the
grackle_data_file
parameter (1 - on, 0 - off). Default: 0. CMBTemperatureFloor
(int) [mapped to Grackle parametercmb_temperature_floor
]- See Enzo equivalent above. Default: 1.
UVbackground
(int)- Flag to enable a UV background. If enabled, the cooling table to be used must be specified with the
grackle_data_file
parameter (1 - on, 0 - off). Default: 0. grackle_data_file
(string)- Path to the data file containing the metal cooling and UV background tables. Default: “”.
Gamma
(float)- See Enzo equivalent above. Default: 5/3.
ThreeBodyRate
(int) [mapped to Grackle parameterthree_body_rate
]- See Enzo equivalent above. Default: 0.
CIECooling
(int) [mapped to Grackle parametercie_cooling
]- See Enzo equivalent above. Default: 0.
H2OpticalDepthApproximation
(int) [mapped to Grackle parameterh2_optical_depth_approximation
]- See Enzo equivalent above. Default: 0.
PhotoelectricHeating
(int) [mapped to Grackle parameterphotoelectric_heating
]- See Enzo equivalent above. Default: 0.
PhotoelectricHeatingRate
(float) [mapped to Grackle parameterphotoelectric_heating_rate
]- See Enzo equivalent above. Default: 8.5e-26.
Compton_xray_heating
(int)- Flag to enable Compton heating from an X-ray background following Madau & Efstathiou (1999). Default: 0.
LWbackground_intensity
(float)- Intensity of a constant Lyman-Werner H2 photo-dissociating radiation field in units of 10-21 erg s-1 cm-2 Hz-1 sr-1. Default: 0.
LWbackground_sawtooth_suppression
(int)- Flag to enable suppression of Lyman-Werner flux due to Lyman-series absorption (giving a sawtooth pattern), taken from Haiman & Abel, & Rees (2000). Default: 0.