/MG-PICOLA-PUBLIC

This is a modified version of the L-PICOLA code extending the COLA approach for simulating cosmological structure formation to theories that exhibit scale-dependent growth at the level of 2LPT.

Primary LanguageCGNU General Public License v2.0GPL-2.0

MG-PICOLA-PUBLIC

MG-PICOLA v1.0, March 2017 Author: Hans A. Winther

The code extends the COLA (COmoving Lagrangian Acceleration) method for simulating cosmological structure formation from LCDM to theories that exhibit scale-dependent growth at the level of 2LPT. The code includes the fast approximate screening method of Winther & Ferreira (2014). For the scientific paper explaining the approach see Winther, Koyama, Manera, Wright and Zhao (2017).

This code is based on the L-PICOLA code written by Cullan Howlett & Marc Manera. For a documentation of L-PICOLA see L-PICOLA/Documentation

  • Requires the FFTW3 library (needs to be compiled with --enable-float to use the SINGLE_PRECISION option).

  • Requires GSL (GNU Scientific Library)

  • Compile the code as make -f Makefile.model and run as mpirun -np 1 MG_PICOLA_MODEL paramfile.txt. See paramfiles for some example parameter-files.

  • To implement a new model see src_v3/user_defined_functions.h. The code have f(R), DGP and general (m(a), beta(a)) models included.

  • A simple code to extract power-spectra from output-files (GADGET / ASCII) can be found in SimplePofk. Will add this and a halo-finder to the code at some point. See MatchMaker for a FoF halo-finder that can be run on the GADGET output-files.

  • The scale-dependent version needs the define SCALEDEPENDENT. This version requires several Fourier transforms per time-step which makes the code ~5 times slower.

  • The lightcone version of the code have not been tested, but should work fine for the scale-independent version of the case (i.e. using LCDM growth-factors).

  • Some optimizations should be done in the SCALEDEPENDENT versions with respect to Output(). Currently we recompute the LPT fields twice here. Should be changed.

MG-PICOLA is distributed under the GNU Public License v3 (see COPYING for details).