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.

Ancestors

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;.

nc_halo_density_profile_id
No description available.

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

This function computes the density profile in real space.

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_lnXf

Gets the computation interval upper limit $\ln(X_f)$.

nc_halo_density_profile_get_lnXi

Gets the computation interval lower limit $\ln(X_i)$.

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_get_reltol

Gets the current relative tolerance.

nc_halo_density_profile_peek_mass_summary

Peeks the NcHaloMassSummary submodel.

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_ref

Increases the reference count of dp by one.

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}.

nc_halo_density_profile_set_lnXf

Sets the numerical computation upper limit.

nc_halo_density_profile_set_lnXi

Sets the numerical computation lower limit.

nc_halo_density_profile_set_reltol

Sets the relative tolerance used in the numerical computations.

Methods inherited from NcmModel (89)

Please see NcmModel for a full list of methods.

Methods inherited from GObject (43)

Please see GObject for a full list of methods.

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)$.

NumCosmo.HaloDensityProfile:reltol

Relative tolerance used in the numerical computations.

Properties inherited from NcmModel (9)
NumCosmoMath.Model:implementation
No description available.
NumCosmoMath.Model:name
No description available.
NumCosmoMath.Model:nick
No description available.
NumCosmoMath.Model:params-types
No description available.
NumCosmoMath.Model:reparam
No description available.
NumCosmoMath.Model:scalar-params-len
No description available.
NumCosmoMath.Model:sparam-array
No description available.
NumCosmoMath.Model:submodel-array
No description available.
NumCosmoMath.Model:vector-params-len
No description available.

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}.