Class
NumCosmoHIPertTwoFluids
Description [src]
final class NumCosmo.HIPertTwoFluids : NumCosmo.HIPert
{
/* No available fields */
}
Perturbation object for a two fluids system.
This object provides the computation of the two fluid system of cosmological perturbations. This problem is described by two fluids with energy density and pressure given respectively by $\bar{\rho}_i$ and $\bar{p}_i$ for $i = 1,2$.
The system is written in terms of the gauge invariant variable $$\zeta \equiv \Psi - \frac{2\bar{K}}{\kappa(\bar{\rho} + \bar{p})} + E\mathcal{V},$$ and the entropy mode $$S = \frac{\kappa\varpi}{x^3 H}(\mathcal{U}_1 - \mathcal{U}_2),$$ where $\mathcal{U}_i \equiv \psi + E\mathcal{V}_i$ and $$\varpi \equiv \frac{(\bar{\rho}_1+\bar{p}_1)(\bar{\rho}_2+\bar{p}_2)}{\bar{\rho}+\bar{p}}.$$
Their momentum are \begin{split} P_\zeta &= \frac{2\bar{D}^2_\bar{K}\Psi}{x^3E}, \ P_S &= \frac{\delta\rho_2}{\bar{\rho}_2+\bar{p}_2} - \frac{\delta\rho_1}{\bar{\rho}_1 + \bar{p}_1}. \end{split}
The equations of motion in their first order form are \begin{align} \zeta^\prime &= \frac{P_\zeta}{m_\zeta} + Y S, \ P_\zeta^\prime &= -m_\zeta\mu_\zeta^2\zeta, \ S^\prime &= \frac{P_S}{m_S} + Y \zeta, \ P_S^\prime &= -m_S\mu_S^2S. \end{align} The mass $m_\zeta$ and the frequency $\mu_\zeta$ are defined by \begin{align} m_\zeta &= \frac{3\Delta_\bar{K}(\bar{\rho} + \bar{p})}{\rho_\text{crit0} N x^3 c_s^2 E^2}, \ \mu_\zeta^2 &= x^2N^2c_s^2k^2, \ m_S &= \frac{x^3}{c_m^2\varpi N}, \ \mu_S^2 &= x^2N^2c_m^2k^2, \ Y &= \frac{c_n^2}{c_s^2c_m^2}\frac{1}{m_\zeta m_S \Delta_\bar{K} N E}. \end{align} where $\bar{\rho} + \bar{p}$ is the background total energy density plus pressure, $E^2 = H^2/H_0^2$ is the dimensionless Hubble function squared (nc_hicosmo_E2()), $c_s^2$ the speed of sound, $N$ is the lapse function that in this case (using $\alpha$ as time variable) is $N \equiv \vert{}E\vert^{-1}$, $\rho_\text{crit0}$ is the critical density today defined by $\rho_\text{crit0} \equiv 3H_0^2/\kappa$ and $$\Delta_\bar{K} \equiv \frac{k^2}{k^2 + \Omega_{k0}}.$$.
Instance methods
nc_hipert_two_fluids_compute_spectra
Computes the spectrum at a set of alpha values and a set of k values.
nc_hipert_two_fluids_eom
Calculates the equation of motion coefficients for the $(\zeta,\,S)$ system.
nc_hipert_two_fluids_evolve_array
Evolve the system until alphaf and store the results in an array. Only steps with
difference satisfying the relative and absolute tolerances are stored.
nc_hipert_two_fluids_get_init_cond_QP
Calculates the initial condition for the $(Q,\,P)$ system with initial phase for the
R solution $\beta_R = $ beta_R. The variable main_mode chooses which mode is
excited (1 or 2).
nc_hipert_two_fluids_get_init_cond_zetaS
Calculates the initial condition for the $\zeta{}S$ system with initial phase for the
R solution $\beta_R = $ beta_R. The variable main_mode chooses which mode is
excited (1 or 2).
nc_hipert_two_fluids_get_wkb_limit
Get the initial time where the WKB approximation is valid up to prec. The algorithm
uses alpha_i as the initial guess.
nc_hipert_two_fluids_get_wkb_reltol
Retrieves the relative tolerance that defines the transition point between the WKB approximation and the numerical solver.
nc_hipert_two_fluids_set_wkb_reltol
Sets the relative tolerance used to determine the validity range of the WKB approximation. Beyond this threshold, the numerical solver is activated.
nc_hipert_two_fluids_to_zeta_s
Transform in-place the variables init_cond from $(Q,\,P)$ to $(\zeta,\,S)$, assuming
they are calculated at $\alpha$ = alpha.
Methods inherited from NcHIPert (11)
nc_hipert_get_abstol
Gets the value of the relative tolerance.
nc_hipert_get_mode_k
Gets the value of the mode $k$.
nc_hipert_get_reltol
Gets the value of the relative tolerance.
nc_hipert_prepared
nc_hipert_reset_solver
Destroy and recreates the solver.
nc_hipert_set_abstol
Sets the value of the absolute tolerance.
nc_hipert_set_mode_k
Sets the value of the mode to be computed.
nc_hipert_set_prepared
Sets the object to prepared.
nc_hipert_set_reltol
Sets the value of the relative tolerance.
nc_hipert_set_stiff_solver
Sets the ode algorithm to use.
nc_hipert_set_sys_size
Sets the system size.
Properties
Properties inherited from NcHIPert (5)
NumCosmo.HIPert:abstol
NumCosmo.HIPert:alphai
NumCosmo.HIPert:k
NumCosmo.HIPert:reltol
NumCosmo.HIPert:sys-size
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.