Source code for pyccl.halomodel

from . import ccllib as lib
from .pyutils import _vectorize_fn2, _vectorize_fn4


[docs]def halo_concentration(cosmo, halo_mass, a, odelta=200): """Halo mass concentration relation Args: cosmo (:obj:`Cosmology`): Cosmological parameters. halo_mass (float or array_like): Halo masses; Msun. a (float): scale factor. odelta (float): overdensity parameter (default: 200) Returns: float or array_like: Dimensionless halo concentration, ratio rv/rs """ cosmo.compute_sigma() return _vectorize_fn4( lib.halo_concentration, lib.halo_concentration_vec, cosmo, halo_mass, a, odelta)
[docs]def onehalo_matter_power(cosmo, k, a): """One-halo term for matter power spectrum assuming NFW density profiles Args: cosmo (:obj:`Cosmology`): Cosmological parameters. a (float): scale factor. k (float or array_like): wavenumber Returns: onehalo_matter_power (float or array_like): one-halo term for matter power spectrum """ cosmo.compute_sigma() return _vectorize_fn2(lib.onehalo_matter_power, lib.onehalo_matter_power_vec, cosmo, k, a)
[docs]def twohalo_matter_power(cosmo, k, a): """Two-halo term for matter power spectrum assuming NFW density profiles Args: cosmo (:obj:`Cosmology`): Cosmological parameters. a (float): scale factor. k (float or array_like): wavenumber Returns: two-halo matter power spectrum (float or array_Like): two-halo term for matter power spectrum """ cosmo.compute_sigma() return _vectorize_fn2( lib.twohalo_matter_power, lib.twohalo_matter_power_vec, cosmo, k, a)
[docs]def halomodel_matter_power(cosmo, k, a): """Matter power spectrum from halo model assuming NFW density profiles Args: cosmo (:obj:`Cosmology`): Cosmological parameters. a (float): scale factor. k (float or array_like): wavenumber Returns: halomodel_matter_power (float or array_like): matter power spectrum from halo model """ cosmo.compute_sigma() return _vectorize_fn2( lib.halomodel_matter_power, lib.halomodel_matter_power_vec, cosmo, k, a)