py-SP(k) - A hydrodynamical simulation-based model for the impact of baryon physics on the non-linear matter power spectrum
_____ ____ ____ _
____ __ __ / ___// __ \_/_/ /__| |
/ __ \/ / / /_____\__ \/ /_/ / // //_// /
/ /_/ / /_/ /_____/__/ / ____/ // ,< / /
/ .___/\__, / /____/_/ / //_/|_|/_/
/_/ /____/ |_| /_/
py-SP(k) (Salcido et al. 2023) is a python package aimed at predicting the suppression of the total matter power spectrum due to baryonic physics as a function of the baryon fraction of haloes and redshift.
The module requires the following:
- numpy
- scipy
The easiest way to install py-SP(k) is using pip:
pip install pyspk [--user]
The --user flag may be required if you do not have root privileges.
py-SP(k) is not restrictive to a particular shape of the baryon fraction – halo mass relation. In order to provide flexibility to the user, we have implemented 4 different methods to provide py-SP(k) with the required
py-SP(k) can be provided with power-law fitted parameters to the
where spk.sup_model()
uses a default pivot point of
Next, we show a simple example using power-law fit parameters:
import pyspk as spk
z = 0.125
fb_a = 0.4
fb_pow = 0.3
fb_pivot = 10 ** 13.5
k, sup = spk.sup_model(SO=200, z=z, fb_a=fb_a, fb_pow=fb_pow, fb_pivot=fb_pivot)
For the mass range that can be relatively well probed in current X-ray and Sunyaev-Zel'dovich effect observations (roughly
We implemented a modified version of the functional form presented in Akino et al. (2022), to fit the total
where astropy
to specify the cosmological parameters in py-SP(k).
Note that this power-law has a normalisation that is redshift dependent, while the the slope is constant in redshift. While this provides a less flexible approach compared with Methods 1 (simple power-law) and Method 4 (binned data), we find that this parametrisation provides a reasonable agreement with our simulations up to redshift
In the following example we use the redshift-dependent power-law fit parameters with a flat LambdaCDM cosmology. Note that any astropy
cosmology could be used instead.
import pyspk.model as spk
from astropy.cosmology import FlatLambdaCDM
H0 = 70
Omega_m = 0.2793
cosmo = FlatLambdaCDM(H0=H0, Om0=Omega_m)
alpha = 4.189
beta = 1.273
gamma = 0.298
z = 0.5
k, sup = spk.sup_model(SO=500, z=z, alpha=alpha, beta=beta, gamma=gamma, cosmo=cosmo)
We implemented a redshift-dependent double power-law fit to the total
where astropy
to specify the cosmological parameters in py-SP(k).
We find that this redshift-dependent double power-law form provides a good fit to the whole range of baryon fractions in the ANTILLES simulations.
In the following example we use the redshift-dependent double power-law fit parameters with a flat LambdaCDM cosmology. Note that any astropy
cosmology could be used instead.
import pyspk.model as spk
from astropy.cosmology import FlatLambdaCDM
H0 = 68.0
Omega_m = 0.306
cosmo = FlatLambdaCDM(H0=H0, Om0=Omega_m)
epsilon = 0.410
alpha = -0.385
beta = 0.451
gamma = 0.125
m_pivot = 1e13
z = 0.2
k, sup = spk.sup_model(SO=500, z=z, epsilon=epsilon, alpha=alpha, beta=beta, gamma=gamma, m_pivot=m_pivot, cosmo=cosmo)
The final, and most flexible method is to provide py-SP(k) with the baryon fraction binned in bins of halo mass. This could be, for example, obtained from observational constraints, measured directly form simulations, or sampled from a predefined distribution or functional form. For an example using data obtained from the BAHAMAS simulations (McCarthy et al. 2017), please refer to the examples provided.
While py-SP(k) was calibrated using a wide range of sub-grid feedback parameters, some applications may require a more limited range of baryon fractions that encompass current observational constraints. For such applications, we used the gas mass - halo mass and stellar mass - halo mass constraints from the fits in Table 5 in Akino et al. (2022), and find the subset of simulations from our 400 models that agree to within
We utilised the simulations satisfying these restrictions to determine the redshift-dependent power-law parameters for the
Priors inferred from simulations that fall within
Parameter | Description | Prior |
---|---|---|
Normaliasation |
|
|
Slope |
|
|
Redshift evolution |
|
where
Priors inferred from simulations that fall within
Parameter | Description | Prior |
---|---|---|
Normaliasation |
|
|
Slope |
|
|
Redshift evolution |
|
where
Please cite py-SP(k) using:
@ARTICLE{SPK_Salcido_2023,
author = {Salcido, Jaime and McCarthy, Ian G and Kwan, Juliana and Upadhye, Amol and Font, Andreea S},
title = "{SP(k) – a hydrodynamical simulation-based model for the impact of baryon physics on the non-linear matter power spectrum}",
journal = {Monthly Notices of the Royal Astronomical Society},
volume = {523},
number = {2},
pages = {2247-2262},
year = {2023},
month = {05},
issn = {0035-8711},
doi = {10.1093/mnras/stad1474},
url = {https://doi.org/10.1093/mnras/stad1474},
eprint = {https://academic.oup.com/mnras/article-pdf/523/2/2247/50512773/stad1474.pdf},
}
For any questions and enquires please contact me via email at [email protected]