Cosmological Initial Conditions for AMR and SPH Simulations (CICsASS)


The initial conditions generator used in arxiv:1204.1344 and arxiv:1204:1345 and written in collaboration with Ryan O’Leary is available here.

This code generates outputs that can be used with both the GADGET and Enzo cosmology codes.  Minor modifications will allow it to be used with other codes.  Part of the reason for writing this code is that we wanted the flexibility to experiment with different initial setups and also include a supersonic velocity of the baryons relative to the dark matter using multiple cosmology codes.  There are a few advantages for using this code:

  1. 1)It allows for initial conditions that include consistently a coherent baryonic flow over the box (using linear solutions that assume Compton drag of the CMB on the baryons goes to zero at z=1000, as motivated in Tseliakhovich & Hirata ’10).  For all box sizes that are currently capable of resolving the Jeans scale during the Dark Ages, the approximation that this flow is coherent is excellent (whereas the approximation of neglecting this bulk flow can be bad).  In our experience, the small relative velocity between the dark matter and baryons also has the ancillary benefit of suppressing dramatically the impact of particle coupling in GADGET.

  1. 2)This code initializes the baryons and dark matter with the full 1st order Lagrangian perturbation theory.  This includes the correct rate of growth of modes at times when the density and velocities are not equal or on scales at which pressure matters. We found that other initial conditions generators made approximations (especially for the matter  velocities) that are not valid when the dark matter and baryons do not trace each other or on scales where gas pressure impacts growth.  This code either can use the transfer functions calculated with CAMB code in the case without relative velocities (an example using currently preferred parameters is supplied) or the transfer function calculated with relative velocities.  It can include temperature fluctuations in the initial conditions if a temperature transfer function is provided.  (Temperature fluctuations are also included if you use our approximate transfer function that allows for relative velocities.)

  1. 3)It also has the flexibility to either start the particles at positions set by a glass file or to start them from a grid.  We supply a 1283 glass file that has been evolved a factor of 104 in scale factor that can be tiled and used with [n 128]3 particle simulations, where n is an integer.

  1. 4)The initial conditions consistently account for radiation and the standard Cosmological thermal history. In addition, we point out where to initialize flags / make changes in GADGET2 and Enzo so that each code correctly accounts for radiation and the thermal history of the gas prior to astrophysical reheating (This does not include molecular and atomic cooling, which is important in the densest environments. This cooling is built into Enzo, but with GADGET you will need GADGET3)

However, for many applications this code is not superior to other codes. For dark matter only simulations, one might as well use a scheme that uses 2LPT.    This code is not parallelized over distributed memory, and it does not currently do zoom ins.  (Although, you can easily sample a region with higher resolution using this code, but it currently has to be done with the same Fourier grid.  This may not be so bad if the Jeans scale is resolved outside of the zoom-in region.)

The figure at the top of this page shows the results of GADGET and Enzo simulations run with different Mach numbers for the differential velocity between the baryons and the dark matter.  The average Mach number in the concordance cosmology is about 2 (but with significant spatial fluctuations about this value).

A Cosmological InitIal Conditions CODE