GEAR model¶
Pressure Floor¶
In order to avoid the artificial collapse of unresolved clumps, a minimum in pressure is applied to the particles. This additional pressure can be seen as the pressure due to unresolved hydrodynamics turbulence and is given by:
where \(\rho\) is the density, \(\gamma\) the adiabatic index, \(G\) is the gravitational constant, \(h\) the smoothing length, \(N_\textrm{Jeans}\) is the number of particle required in order to resolve a clump and \(\sigma\) the velocity dispersion.
This must be directly implemented into the hydro schemes, therefore only a subset of schemes (Gadget-2, SPHENIX and Pressure-Energy) have the floor available. In order to implement it, you need equation 12 in Hopkins 2013:
and simply replace the \(P_i, P_j\) by the pressure with the floor. Here the \(x, y\) are simple weights that should never have the pressure floor included even if they are related to the pressure (e.g. pressure-entropy).
Cooling: Grackle¶
Grackle is a chemistry and cooling library presented in B. Smith et al. 2016
(do not forget to cite if used). Four different modes are available:
equilibrium, 6 species network (H, H\( ^+ \), e\( ^- \), He, He\( ^+ \)
and He\( ^{++} \)), 9 species network (adds H\(^-\), H\(_2\) and
H\(_2^+\)) and 12 species (adds D, D\(^+\) and HD). Following the same
order, the swift cooling options are grackle_0, grackle_1, grackle_2
and grackle_3 (the numbers correspond to the value of
primordial_chemistry in Grackle). It also includes some self-shielding
methods and UV background. In order to use the Grackle cooling, you will need
to provide an HDF5 table computed by Cloudy.
When starting a simulation without providing the different fractions, the code supposes an equilibrium and computes the fractions automatically.
In order to compile SWIFT with Grackle, you need to provide the options with-chemistry=GEAR and with-grackle=$GRACKLE_ROOT
where $GRACKLE_ROOT is the root of the install directory (not the lib).
You will need a Grackle version later than 3.1. To compile it, run
the following commands from the root directory of Grackle:
./configure; cd src/clib.
Update the variables LOCAL_HDF5_INSTALL and MACH_INSTALL_PREFIX in
the file src/clib/Make.mach.linux-gnu.
Finish with make machine-linux-gnu; make && make install.
If you encounter any problem, you can look at the Grackle documentation
You can now provide the path given for MACH_INSTALL_PREFIX to with-grackle.