Class
NumCosmoHaloDensityProfile
Description [src]
class NumCosmo.HaloDensityProfile : NumCosmoMath.Model
{
/* No available fields */
}
Abstract class for spherical halo density profiles.
This class describes the radial matter density profile of a halo in real
space. Each implementation provides the dimensionless 3D density
\begin{equation}
\hat\rho(x) \equiv \frac{\rho(x r_s)}{\rho_s}, \quad \rho(r) = \rho_s \hat\rho\left(\frac{r}{r_s}\right),
\end{equation}
where $\rho_s$ is the density scale and $r_s$ the scale radius (the virtual
function nc_halo_density_profile_eval_dl_density()). The pair
$(\rho_s, r_s)$ is fixed by a mass $M_\Delta$ and concentration $c_\Delta$
supplied by a NcHaloMassSummary attached at construction time. Spherical
mass, projected surface density, and cylinder mass are derived from
$\hat\rho$, either in closed form (when an implementation overrides the
corresponding virtual method) or by numerical integration over the interval
$(X_i, X_f)$ (NcHaloDensityProfile:lnXi, NcHaloDensityProfile:lnXf) to the
relative tolerance NcHaloDensityProfile:reltol.
Distances are in $\mathrm{Mpc}$, masses in $\mathrm{M}\odot$, densities in $\mathrm{M}\odot\,\mathrm{Mpc}^{-3}$, and surface mass densities in $\mathrm{M}_\odot\,\mathrm{Mpc}^{-2}$.
For the parametrization, the projected quantities, and the closed-form expressions of each profile family, see the theoretical background page: Halo Density Profiles.
Functions
nc_halo_density_profile_clear
Atomically decrements the reference count of dp by one. If the reference count drops to 0,
all memory allocated by dp is released. Set the pointer to NULL;.
Instance methods
nc_halo_density_profile_eval_2d_density
This function computes the 2D projection of the density profile at radius $R$ and redshift $z$, see Eq. \eqref{}.
nc_halo_density_profile_eval_2d_density_array
This function computes 2D projection of the density profile at radius $R$ and redshift $z$, see Eq. \eqref{}.
nc_halo_density_profile_eval_cyl_mass
This function computes the total mass enclose in the cylinder of radius $R$, see Eq. \eqref{}.
nc_halo_density_profile_eval_cyl_mass_array
This function computes the total mass enclose in the cylinder of radius $R$, see Eq. \eqref{}.
nc_halo_density_profile_eval_density_array
This function computes the density profile in real space.
nc_halo_density_profile_eval_dl_2d_density
This function computes the dimensionless 2D density profile, see Eq. \eqref{eq:def:hatSigma}.
nc_halo_density_profile_eval_dl_cyl_mass
This function computes the dimensionless cylinder mass, see Eq. \eqref{eq:def:cylmass}.
nc_halo_density_profile_eval_dl_density
This function computes the dimensionless density profile, see Eq. \eqref{def:dlrho}.
nc_halo_density_profile_eval_dl_spher_mass
This function computes the 2d projection of the dimensionless density profile as described in Eq. \eqref{def:Ix2_dld}.
nc_halo_density_profile_eval_numint_dl_2d_density
This function computes the dimensionless 2D density profile, see Eq. \eqref{eq:def:hatSigma}. This is the default implementation that will be used unless the child object provides one. This interface is present for testing purpose.
nc_halo_density_profile_eval_numint_dl_cyl_mass
This function computes the dimensionless cylinder mass, see Eq. \eqref{eq:def:cylmass}. This is the default implementation that will be used unless the child object provides one. This interface is present for testing purpose.
nc_halo_density_profile_eval_numint_dl_spher_mass
This function computes the enclosed mass in a sphere within radius $X$, i.e., the 2d projection of the dimensionless density profile as described in Eq. \eqref{def:Ix2_dld}. This is the default implementation that will be used unless the child object provides one. This interface is present for testing purpose.
nc_halo_density_profile_eval_spher_mass
This function computes the total mass enclosed in the sphere of radius $r$, see Eq. \eqref{eq:def:Mr}.
nc_halo_density_profile_eval_spher_mass_delta
This function computes the total mass enclosed in the sphere of radius $r_\Delta$, see Eq. \eqref{eq:def:Mr}.
nc_halo_density_profile_free
Atomically decrements the reference count of dp by one. If the reference count drops to 0,
all memory allocated by dp is released.
nc_halo_density_profile_get_numint_splines
This function provides the splines computed in this object, NcHaloDensityProfile:
dl_2d_density_s and dl_cyl_mass_s.
nc_halo_density_profile_get_phys_limits
Gets the physical computation interval $(R_i,\, R_f)$.
This interval is relevant only if the object relies on
the numerical computation of the functions:
- nc_halo_density_profile_eval_dl_2d_density()
- nc_halo_density_profile_eval_dl_cyl_mass().
nc_halo_density_profile_r_s
This function computes the $r_s$ parameter as described in Eq. \eqref{def:r_s}.
nc_halo_density_profile_r_s_rho_s
This function computes $r_s$ and $\rho_s$ parameters as described in Eqs. \eqref{def:r_s}, \eqref{def:rho_s} and \eqref{def:rho_s0}.
nc_halo_density_profile_rho_s
This function computes the $\rho_s$ parameter as described in Eqs. \eqref{def:rho_s} and \eqref{def:rho_s0}.
Properties
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)$.
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.
Class structure
struct NumCosmoHaloDensityProfileClass {
gdouble (* eval_dl_density) (
NcHaloDensityProfile* dp,
const gdouble x
);
gdouble (* eval_dl_spher_mass) (
NcHaloDensityProfile* dp,
const gdouble x
);
gdouble (* eval_dl_2d_density) (
NcHaloDensityProfile* dp,
const gdouble X
);
gdouble (* eval_dl_cyl_mass) (
NcHaloDensityProfile* dp,
const gdouble X
);
}
No description available.
Class members
eval_dl_density: gdouble (* eval_dl_density) ( NcHaloDensityProfile* dp, const gdouble x )No description available.
eval_dl_spher_mass: gdouble (* eval_dl_spher_mass) ( NcHaloDensityProfile* dp, const gdouble x )No description available.
eval_dl_2d_density: gdouble (* eval_dl_2d_density) ( NcHaloDensityProfile* dp, const gdouble X )No description available.
eval_dl_cyl_mass: gdouble (* eval_dl_cyl_mass) ( NcHaloDensityProfile* dp, const gdouble X )No description available.
Virtual methods
NumCosmo.HaloDensityProfileClass.eval_dl_2d_density
This function computes the dimensionless 2D density profile, see Eq. \eqref{eq:def:hatSigma}.
NumCosmo.HaloDensityProfileClass.eval_dl_cyl_mass
This function computes the dimensionless cylinder mass, see Eq. \eqref{eq:def:cylmass}.
NumCosmo.HaloDensityProfileClass.eval_dl_density
This function computes the dimensionless density profile, see Eq. \eqref{def:dlrho}.
NumCosmo.HaloDensityProfileClass.eval_dl_spher_mass
This function computes the 2d projection of the dimensionless density profile as described in Eq. \eqref{def:Ix2_dld}.