NcHaloDensityProfileNFW

NcHaloDensityProfileNFW — Density profile of Navarro-Frenk-White type.

Functions

Object Hierarchy

    GObject
    ╰── NcmModel
        ╰── NcHaloDensityProfile
            ╰── NcHaloDensityProfileNFW

Description

This object implements the NcHaloDensityProfile class for a Navarro-Frenk-White (NFW) density profile.

As described NcHaloDensityProfile, we just need to implement the dimensionless 3D density $\hat{\rho}(x)$ [which refers to the virtual function nc_halo_density_profile_eval_dl_density()]. In particular, the NFW profile is given by \begin{equation} \hat{\rho}(x) = \frac{1}{x(1 + x)^2}, \end{equation} where $x = r/r_s$ and $r_s$ is the scale radius.

Both the mass $M_\Delta$ and the scale profile $\rho_s$ are written in terms of the integral $I_{x^2\hat\rho}(c_\Delta)$ [virtual function nc_halo_density_profile_eval_dl_spher_mass()]. The respective NFW implementation provides \begin{equation} I_{x^2\hat\rho}(x) = \ln(1 + x) - \frac{x}{1 + x}. \end{equation}

The NFW dimensionless surface mass density [virtual function nc_halo_density_profile_eval_dl_2d_density()] is \begin{equation} \hat{\Sigma}(X) = \frac{2}{X^2 -1} \left[1 - \frac{\arctan (\sqrt{X^2 -1})}{\sqrt{X^2 - 1}}\right]. \end{equation} For $X^2 - 1 < 0$ the equation above can be written in terms of $\mathrm{arctanh}(\sqrt{1 - X^2})/\sqrt{1 - X^2}$. If $\vert X - 1 \vert < 10^{-6}$ or $X < 10^{-6}$, $\hat{\Sigma} (X)$ is computed using the Taylor series expansion at $1$ or $0$ respectively (with sufficient terms in order to obtain double precision).

The NFW enclosed mass is [virtual function nc_halo_density_profile_eval_dl_cyl_mass()] \begin{equation} \hat{\overline{\Sigma}} (< X) = 2 \left[\frac{\arctan (\sqrt{X^2 - 1})}{\sqrt{X^2 - 1}} + \ln (X / 2)\right], \end{equation} Similar expressions in terms of $\mathrm{arctanh}$ and approximations, as described above, are used here.

References: Navarro (1996), Wright (2000), astro-ph/0206508 and arxiv:1010.0744.

Functions

nc_halo_density_profile_nfw_class_set_ni ()

void
nc_halo_density_profile_nfw_class_set_ni
                               (gboolean num);

This function substitutes the child methods by the parent ones if num is TRUE. It enforces the computations to be performed by numerical integration.

WARNING: this function modifies the behavior object. It should be used for testing only!

Parameters

num

boolean (true - numeric; false - analytic)

 

nc_halo_density_profile_nfw_new ()

NcHaloDensityProfileNFW *
nc_halo_density_profile_nfw_new (const NcHaloDensityProfileMassDef mdef,
                                 const gdouble Delta);

This function returns the NcHaloDensityProfileNFW implementation of NcHaloDensityProfile setting “mass-def” to mdef and “Delta” to Delta .

Parameters

mdef

a NcHaloDensityProfileMassDef

 

Delta

cluster threshold mass definition $\Delta$

 

Returns

a new instance of NcHaloDensityProfileNFW.