Author: Svetlin Tassev
Ported to Python 3 by Phil Bull
Website: pycola3 | Original pyCOLA
Documentation (old version): PDF Documentation
License: GPLv3+ License
pycola3
is a multithreaded Python/Cython N-body code, implementing the
Comoving Lagrangian Acceleration (COLA) method in the temporal and
spatial domains.
pycola3
is based on the following two papers:
-
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
-
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 pycola3
or the COLA method in the spatial and/or time domains for
scientific work, we kindly ask you to reference the papers above.
-
pycola3
is free and open-source software, distributed under the GPLv3 license. -
Currently, the best way to install
pycola3
is to clone this git repository and run the setup script like so:
python setup.py install
If you are using Python 3.9, you may need to install pyfftw3
using conda
first, before attempting to run the setup.py
script.
While there is a pip
package for pycola3
, it is currently not functional due to dependency/binary compatibility issues.
pycola3
depends on the following packages:
- numpy
- scipy
- cython
- pyfftw
- h5py
- multiprocessing
Read the manual here.