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

Ancestors

Constructors

nc_hipert_two_fluids_new

Creates a new NcHIPertTwoFluids object.

Functions

nc_hipert_two_fluids_clear

Decreases the reference count of ptf and sets ptf to NULL.

nc_hipert_two_fluids_error_quark
No description available.

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_compute_spectrum

Computes the spectrum at a given scale factor.

nc_hipert_two_fluids_compute_zeta_spectrum

Compute the spectra for the two fluids system.

nc_hipert_two_fluids_eom

Calculates the equation of motion coefficients for the $(\zeta,\,S)$ system.

nc_hipert_two_fluids_evol_mode
No description available.

nc_hipert_two_fluids_evolve

Evolve the system until alphaf.

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_free

Decreases the reference count of ptf.

nc_hipert_two_fluids_get_final_time

Retrieves the final log-redshift time.

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_initial_time

Retrieves the initial log-redshift time.

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_peek_state

Get the current time and values of the numerical solution.

nc_hipert_two_fluids_ref

Increases the reference count of ptf.

nc_hipert_two_fluids_set_final_time

Sets the final log-redshift time.

nc_hipert_two_fluids_set_init_cond

Sets the initial conditions for the two fluids system evolution.

nc_hipert_two_fluids_set_initial_time

Sets the initial log-redshift time.

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.

nc_hipert_two_fluids_wkb

Calculates the WKB approximation for the $(\zeta,\,S)$ system.

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
No description available.

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.

Methods inherited from GObject (43)

Please see GObject for a full list of methods.

Properties

NumCosmo.HIPertTwoFluids:alpha-f
No description available.

NumCosmo.HIPertTwoFluids:alpha-i
No description available.

NumCosmo.HIPertTwoFluids:wkb-reltol
No description available.

Properties inherited from NcHIPert (5)
NumCosmo.HIPert:abstol
No description available.

NumCosmo.HIPert:alphai
No description available.

NumCosmo.HIPert:k
No description available.

NumCosmo.HIPert:reltol
No description available.

NumCosmo.HIPert:sys-size
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 NumCosmoHIPertTwoFluidsClass {
  NcHIPertClass parent_class;
  
}

No description available.

Class members
parent_class: NcHIPertClass

No description available.