NcHaloDensityProfileHernquist

NcHaloDensityProfileHernquist — Density profile of Hernquist type.

Functions

Object Hierarchy

    GObject
    ╰── NcmModel
        ╰── NcHaloDensityProfile
            ╰── NcHaloDensityProfileHernquist

Description

This object implements the NcHaloDensityProfile class for a Hernquist 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 Hernquist profile is given by \begin{equation} \hat{\rho}(x) = \frac{1}{x(1 + x)^3}, \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 Hernquist implementation provides \begin{equation} I_{x^2\hat\rho}(x) = \frac{x^2}{2(1 + x)^2}. \end{equation}

The Hernquist dimensionless surface mass density [virtual function nc_halo_density_profile_eval_dl_2d_density()] is \begin{equation} \hat{\Sigma}(X) = \frac{1}{\left( X^2 - 1 \right)^2} \left[\frac{\left(2 + X^2 \right) \arctan \left(\sqrt{X^2 - 1} \right)}{\sqrt{\left( X^2 - 1 \right)}} - 3\right]. \end{equation} For $X^2 - 1 < 0$ the equation above can be written in terms of $\mathrm{arctanh}(\sqrt{\vert X^2 - 1 \vert})$. 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 Hernquist enclosed mass is [virtual function nc_halo_density_profile_eval_dl_cyl_mass()] \begin{equation} \hat{\overline{\Sigma}} (< X) = X^2 / (X^2 - 1) * \eft[1 - 2 * \arctan \left(\sqrt{\vert X - 1 \vert / (X + 1)\right)\right];, \end{equation} Similar expressions in terms of $\mathrm{arctanh}$ and approximations, as described above, are used here.

References: , arxiv:1712.04512.

Functions

nc_halo_density_profile_hernquist_new ()

NcHaloDensityProfileHernquist *
nc_halo_density_profile_hernquist_new (const NcHaloDensityProfileMassDef mdef,
                                       const gdouble Delta);

This function returns the NcHaloDensityProfileHernquist 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 NcHaloDensityProfileHernquist.