Developing a Python library that accelerates n-body simulations in diverse cosmological models, suggesting enhanced computational efficiency.
We present <ns0:monospace>PySCo</ns0:monospace>, a fast and user-friendly Python library designed to run cosmological N-body simulations across various cosmological models, such as ΛCDM (Λ with cold dark matter) and w0waCDM, and alternative theories of gravity, including f (R), MOND (modified newtonian dynamics) and time-dependent gravitational constant parameterisations. <ns0:monospace>PySCo</ns0:monospace> employs particle-mesh solvers, using multigrid or fast Fourier transform (FFT) methods in their different variations. Additionally, <ns0:monospace>PySCo</ns0:monospace> can be easily integrated as an external library, providing utilities for particle and mesh computations. The library offers key features, including an initial condition generator based on up to third-order Lagrangian perturbation theory (LPT), power spectrum estimation, and computes the background and growth of density perturbations. In this paper, we detail <ns0:monospace>PySCo’s</ns0:monospace> architecture and algorithms and conduct extensive comparisons with other codes and numerical methods. Our analysis shows that, with sufficient small-scale resolution, the power spectrum at redshift z = 0 remains independent of the initial redshift at the 0.1% level for zini ≥ 125, 30, and 10 when using first, second, and third-order LPT, respectively. Moreover, we demonstrate that acceleration (or force) calculations should employ a configuration-space finite-difference stencil for central derivatives with at least five points, as three-point derivatives result in significant power suppression at small scales. Although the seven-point Laplacian method used in multigrid also leads to power suppression on small scales, this effect can largely be mitigated when computing ratios. In terms of performance, <ns0:monospace>PySCo</ns0:monospace> only requires approximately one CPU hour to complete a Newtonian simulation with 5123 particles (and an equal number of cells) on a laptop. Due to its speed and ease of use, <ns0:monospace>PySCo</ns0:monospace> is ideal for rapidly generating vast ensemble of simulations and exploring parameter spaces, allowing variations in gravity theories, dark energy models, and numerical approaches. This versatility makes <ns0:monospace>PySCo</ns0:monospace> a valuable tool for producing emulators, covariance matrices, or training datasets for machine learning.
No takes yet. Share an insight, caveat, or question.
Michel-Andrès Breton (2025) studied this question.
Synapse has enriched 5 closely related papers on similar clinical questions. Consider them for comparative context: