skypy.halos.mass.sheth_tormen_collapse_function¶
- skypy.halos.mass.sheth_tormen_collapse_function(sigma, *, params=(0.3222, 0.707, 0.3, 1.686))¶
Ellipsoidal collapse function. This function computes the mass function for ellipsoidal collapse, see equation 10 in [1] or [2].
- Parameters:
- sigma: (ns,) array_like
Array of the mass variance at different scales and at a given redshift.
- params: float
The \({A,a,p, delta_c}\) parameters of the Sheth-Tormen formalism.
- Returns:
- f_c: array_like
Array with the values of the collapse function.
References
[1]R. K. Sheth and G. Tormen, Mon. Not. Roy. Astron. Soc. 308, 119 (1999), astro-ph/9901122.
[2]https://www.slac.stanford.edu/econf/C070730/talks/ Wechsler_080207.pdf
Examples
>>> import numpy as np >>> from skypy.halos import mass >>> from skypy.power_spectrum import eisenstein_hu >>> from skypy.power_spectrum import growth_function
This example will compute the mass function for ellipsoidal collapse and a Planck15 cosmology at redshift 0. The power spectrum is given by the Eisenstein and Hu fitting formula:
>>> from astropy.cosmology import Planck15 >>> cosmo = Planck15 >>> D0 = 1.0 >>> k = np.logspace(-3, 1, num=5, base=10.0) >>> A_s, n_s = 2.1982e-09, 0.969453 >>> Pk = eisenstein_hu(k, A_s, n_s, cosmo, kwmap=0.02, wiggle=True)
The Sheth-Tormen collapse function at redshift 0:
>>> m = 10**np.arange(9.0, 12.0, 2) >>> sigma = np.sqrt(_sigma_squared(m, k, Pk, D0, cosmo)) >>> mass.sheth_tormen_collapse_function(sigma) array([0.204174..., 0.272237...])
And the Press-Schechter collapse function at redshift 0:
>>> mass.press_schechter_collapse_function(sigma) array([0.225083..., 0.368156...])
For any other collapse models:
>>> params_model = (0.3, 0.7, 0.3, 1.686) >>> mass.ellipsoidal_collapse_function(sigma, params=params_model) array([0.189615..., 0.252937...])