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 or str) – a mass definition object, or a name string.

  • concentration (Concentration) – concentration-mass relation to use with this profile.

  • truncated (bool) – set to True if the profile should be truncated at \(r = r_\Delta\).

  • projected_quad (bool) – set to True to calculate the projected profile with numerical integration.

  • alpha (float or str) – \(\alpha\) parameter, or set to 'cosmo' to calculate the value from cosmology.

update_parameters(alpha=None)[source]

Update any of the parameters associated with this profile. Any parameter set to None won’t be updated.

Parameters:

alpha (float or str) – \(\alpha\) parameter, or set to 'cosmo' to calculate the value from cosmology.