Class

NumCosmoGrowthFunc

Description [src]

class NumCosmo.GrowthFunc : GObject.Object
{
  /* No available fields */
}

Growth function of linear perturbations.

This object implements the integration of second order differential equation (ODE) for the matter (baryons + cold dark matter: $\Omega_m$, see nc_hicosmo_E2Omega_m() and nc_hicosmo_E2()) density contrast, $\delta$, in the linear regime of perturbations, see for instance [Matínez and Saar (2002)][XMartinez2002]. The equation is given by \begin{equation} \ddot{ \delta } + 2 \frac{\dot{a}}{a} \dot{ \delta } - 4\pi G \bar{\rho}(a)\delta = 0, \end{equation} where, $a$ is the scale factor of the universe, $G$ is the universal gravitational constant, $\bar{\rho}$ is the mean matter density at $a$, and the derivatives are taken with respect to the cosmic time, $t$. By changing the variable from cosmic time to $x=(1+z)$, the ODE becomes, \begin{equation}\label{eq:mov} \delta” + \left( \frac{E’(x)}{E(x)} - \frac{1}{x} \right) \delta’ - \frac{3}{2} \frac{\Omega_{m}(x)}{x^2}\delta = 0. \end{equation} Where $’$ denote derivatives with respect to $x$ and $\Omega_{m}(x)$ is the matter density as a function of the redshift $z$, \begin{equation} \Omega_{m}(z) = \frac{(1+z)^3}{E(z)^{2}} \Omega_{m,0} \,\, , \end{equation} and $E$ is the normalized Hubble function [nc_hicosmo_E()].

The ODE initial conditions are defined at $a_i / a_0 = 10^{-12}$ (NcGrowthFunc:x-i), where the universe is well approximated by a radiation and matter model. Therefore, within this assumption the growing mode is simply \begin{equation} \delta(a) \propto 1 + \frac{3\Omega_{m,0}}{2\Omega_{r,0}}\frac{a}{a_0}, \end{equation} Note that it was chosen a large enough redshift ($z \approx 10^{12}$) such that it is safe to assume that the dark energy component and curvature are negligible.

As usual, the growth function is set to unit at the present time, $D(a_0) = 1$.

Ancestors

Constructors

nc_growth_func_new

This function allocates memory for a new NcGrowthFunc object.

Functions

nc_growth_func_clear

Atomically decrements the reference count of gf by one. If the reference count drops to 0, all memory allocated by gf is released. Set pointer to NULL.

Instance methods

nc_growth_func_eval

This function evaluates the normalized growth function at redshift $z$, $D(z)$.

nc_growth_func_eval_both

This function evaluates the normalized growth function $D$ and its derivative $\mathrm{d}D/\mathrm{d}a$ at redshift $z$.

nc_growth_func_eval_deriv

This function evaluates the derivative of the normalized growth function $\mathrm{d}D/\mathrm{d}a$ at redshift $z$, also called as linear growth rate. Where $a$ is the scale factor.

nc_growth_func_free

Atomically decrements the reference count of gf by one. If the reference count drops to 0, all memory allocated by gf is released.

nc_growth_func_get_abstol
No description available.

nc_growth_func_get_dust_norma_Da0

This function returns today’s growth function true value, $D(a_0)$, without imposing the normalization.

nc_growth_func_get_reltol
No description available.

nc_growth_func_get_x_i
No description available.

nc_growth_func_prepare

This function prepares the object gf using cosmo, such that all the available NcGrowthFunc functions can be evaluated, e.g. nc_growth_func_eval() and nc_growth_func_eval_deriv().

nc_growth_func_prepare_if_needed

This function prepares the object gf using cosmo if it was changed since last preparation.

nc_growth_func_ref

Increases the reference count of gf atomically.

nc_growth_func_set_abstol

Sets the absolute tolerance (NcGrowthFunc:abstol) used when integrating Eq. \eqref{eq:mov}.

nc_growth_func_set_reltol

Sets the relative tolerance (NcGrowthFunc:reltol) used when integrating Eq. \eqref{eq:mov}.

nc_growth_func_set_x_i

Sets the initial redshift variable $x_i = 1 + z_i$ where the integration begins.

Methods inherited from GObject (43)

Please see GObject for a full list of methods.

Properties

NumCosmo.GrowthFunc:abstol

Absolute tolerance used when integrating the ODE \eqref{eq:mov}. Default value: $0$.

NumCosmo.GrowthFunc:reltol

Relative tolerance used when integrating the ODE \eqref{eq:mov}. Default value: $10^{-13}$.

NumCosmo.GrowthFunc:x-i

Initial redshift variable $x_i = 1 + z_i = a_0 / a_i$ where to begin the integration of Eq. \eqref{eq:mov}, it must be large enough such that radiation plus matter is a good description of the background energy content. Default value: $10^{12}$.

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 NumCosmoGrowthFuncClass {
  /* no available fields */
}

No description available.