Class
NumCosmoHaloDensityProfileHernquist
Description [src]
final class NumCosmo.HaloDensityProfileHernquist : NumCosmo.HaloDensityProfile
{
/* No available fields */
}
Density profile of Hernquist type.
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.
Constructors
nc_halo_density_profile_hernquist_new
This function returns the NcHaloDensityProfileHernquist implementation of
NcHaloDensityProfile given NcHaloMassSummary.
Instance methods
Methods inherited from NcHaloDensityProfile (29)
Please see NcHaloDensityProfile for a full list of methods.
Properties
Properties inherited from NcHaloDensityProfile (3)
NumCosmo.HaloDensityProfile:lnXf
Logarithm of the upper limit of the interval where the projected densities are computed $\ln(X_f)$.
NumCosmo.HaloDensityProfile:lnXi
Logarithm of the lower limit of the interval where the projected densities are computed $\ln(X_i)$.
NumCosmo.HaloDensityProfile:reltol
Relative tolerance used in the numerical computations.
Properties inherited from NcmModel (9)
NumCosmoMath.Model:implementation
NumCosmoMath.Model:name
NumCosmoMath.Model:nick
NumCosmoMath.Model:params-types
NumCosmoMath.Model:reparam
NumCosmoMath.Model:scalar-params-len
NumCosmoMath.Model:sparam-array
NumCosmoMath.Model:submodel-array
NumCosmoMath.Model:vector-params-len
Signals
Signals inherited from GObject (1)
GObject::notify
The notify signal is emitted on an object when one of its properties has its value set through g_object_set_property(), g_object_set(), et al.