skypy.halos.mass.ellipsoidal_collapse_function

skypy.halos.mass.ellipsoidal_collapse_function(sigma, params)[source] [edit on github]

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.

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...])