pyccl.halos.profiles.nfw module

class pyccl.halos.profiles.nfw.HaloProfileNFW(self, *, mass_def, concentration, fourier_analytic=True, projected_analytic=False, cumul2d_analytic=False, truncated=True)[source]

Bases: HaloProfileMatter

Navarro-Frenk-White profile.

\[\rho(r) = \frac{\rho_0} {\frac{r}{r_s}\left(1+\frac{r}{r_s}\right)^2}\]

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\,[\log(1+c) - c/(1+c)]}\]

By default, this profile is truncated at \(r = r_\Delta(M)\).

Parameters:
  • mass_def (MassDef or str) – a mass definition object, or a name string.

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

  • fourier_analytic (bool) – set to True if you want to compute the Fourier profile analytically (and not through FFTLog).

  • projected_analytic (bool) – set to True if you want to compute the 2D projected profile analytically (and not through FFTLog).

  • cumul2d_analytic (bool) – set to True if you want to compute the 2D cumulative surface density analytically (and not through FFTLog).

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