pyccl.halos.profiles.einasto module
- class pyccl.halos.profiles.einasto.HaloProfileEinasto(self, *, mass_def, concentration, truncated=False, projected_quad=False, alpha='cosmo')[source]
Bases:
HaloProfileMatter
Einasto 1965 profile.
\[\rho(r) = \rho_0\,\exp(-2 ((r/r_s)^\alpha-1) / \alpha)\]where \(r_s\) is related to the comoving spherical overdensity halo radius \(r_\Delta(M)\) through the concentration parameter \(c(M)\) as
\[r_\Delta(M) = c(M)\,r_s\]and the normalization \(\rho_0\) is
\[\rho_0 = \frac{M}{4\pi\,r_s^3} \frac{2^{(3/\alpha)}\,\alpha^{(1-3/\alpha)} \,{\rm exp}(-2/\alpha)} {\gamma(\frac{3}{\alpha}, \frac{2}{\alpha}c^{\alpha})},\]where \(\gamma\) is the lower incomplete gamma function.
The index \(\alpha\) can be a free parameter or dependent on halo mass and redshift. In the latter case, we use the parameterization of Diemer & Kravtsov.
- Parameters:
mass_def (
MassDef
orstr
) – a mass definition object, or a name string.concentration (
Concentration
) – concentration-mass relation to use with this profile.truncated (
bool
) – set toTrue
if the profile should be truncated at \(r = r_\Delta\).projected_quad (
bool
) – set toTrue
to calculate the projected profile with numerical integration.alpha (
float
orstr
) – \(\alpha\) parameter, or set to'cosmo'
to calculate the value from cosmology.