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$.
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_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_dust_norma_Da0
This function returns today’s growth function true value, $D(a_0)$, without imposing the normalization.
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_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.
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.