/pycola

Primary LanguagePythonGNU General Public License v3.0GPL-3.0

Author: Svetlin V. Tassev (Harvard U, Princeton U)

Initial public release date: Jul 3,2014

pyCOLA is a multithreaded Python/Cython N-body code, implementing the Comoving Lagrangian Acceleration (COLA) method in the temporal and spatial domains.

pyCOLA is based on the following two papers:

  1. Solving Large Scale Structure in Ten Easy Steps with COLA, S. Tassev, M. Zaldarriaga, D. J. Eisenstein, Journal of Cosmology and Astroparticle Physics, 06, 036 (2013), arXiv:1301.0322

  2. sCOLA: The N-body COLA Method Extended to the Spatial Domain, S. Tassev, D. J. Eisenstein, B. D. Wandelt, M. Zaldarriaga, (2015)

If you use pyCOLA or the COLA method in the spatial and/or time domains for scientific work, we kindly ask you to reference the papers above.

  • pyCOLA is free and open-source software, distributed under the GPLv3 license.

  • To build the code, you need to run:

#!bash

  python setup.py build_ext --inplace
  • To compile successfully, you need to have the following packages installed: Python 2.7, Cython, NumPy, SciPy,pyFFTW, h5py, as well as their respective dependencies. Note that pyFFTW v0.9.2 does not support large arrays, so one needs to install the development version from github, where the bug has been fixed.

  • Read the manual here.