halomod.profiles.PowerLawWithExpCut

class halomod.profiles.PowerLawWithExpCut(cm_relation, mdef=<hmf.halos.mass_definitions.SOMean object>, z=0.0, cosmo=FlatLambdaCDM(name="Planck15", H0=67.7 km / (Mpc s), Om0=0.307, Tcmb0=2.725 K, Neff=3.05, m_nu=[0.   0.   0.06] eV, Ob0=0.0486), **model_parameters)[source]

A simple power law with exponential cut-off.

Default is taken to be the z=1 case of [1].

Notes

This is an empirical form proposed with the formula

\[\rho(r) = \rho_s * R_s^b / r^b * e^{-ar/R_s}\]

References

1

Spinelli, M. et al., “The atomic hydrogen content of the post-reionization Universe”, https://ui.adsabs.harvard.edu/abs/2020MNRAS.493.5434S/abstract.

Methods

__init__(cm_relation[, mdef, z, cosmo, Om0, …])

Initialize self.

cdf(r[, c, m, coord])

The cumulative distribution function, \(m(<x)/m_v\)

cm_relation(m)

The halo_concentration-mass relation

get_models()

Get a dictionary of all implemented models for this component.

halo_mass_to_radius(m[, at_z])

Return the halo radius corresponding to m.

halo_radius_to_mass(r[, at_z])

Return the halo mass corresponding to r.

lam(r, m[, norm, c, coord])

The density profile convolved with itself.

populate(n, m[, c, centre])

Populate a halo with the current halo profile of mass m with n tracers.

rho(r, m[, norm, c, coord])

The density at radius r of a halo of mass m.

scale_radius(m[, at_z])

Return the scale radius for a halo of mass m.

u(k, m[, norm, c, coord])

The fourier-transform of the density halo_profile

virial_velocity([m, r])

Return the virial velocity for a halo of mass m.