Top |
#define | NC_TYPE_HIPERT_ADIAB |
#define | NC_TYPE_HIPERT_IADIAB |
struct | NcHIPertIAdiabInterface |
enum | NcHIPertAdiabVars |
NcHIPertAdiab | |
NcHIPertIAdiab |
GEnum ╰── NcHIPertAdiabVars GInterface ╰── NcHIPertIAdiab GObject ╰── NcmCSQ1D ╰── NcHIPertAdiab
This object provides the computation of the adiabatic mode for the cosmological perturbations. It solves the equation of motion for the gauge invariant variable (see Vitenti (2013) for notation and details) $$ \zeta \equiv \Psi - \frac{2\bar{K}}{\kappa(\bar{\rho} + \bar{p})} + H\mathcal{V}. $$ Its conjugated momentum is give by \begin{split} P_\zeta &= \frac{2\bar{D}^2_\bar{K}\Psi}{x^3H}, \end{split}
The equations of motion in their first order form are
\begin{align}
\zeta^\prime &= \frac{P_\zeta}{m_\zeta}, \\
P_\zeta^\prime &= -m_\zeta\mu_\zeta^2\zeta. \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,
\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}}.
$$
gdouble nc_hipert_iadiab_eval_xi (NcHIPertIAdiab *iad
,const gdouble tau
,const gdouble k
);
Computes the value of $\xi = \ln(m\nu)$.
gdouble nc_hipert_iadiab_eval_F1 (NcHIPertIAdiab *iad
,const gdouble tau
,const gdouble k
);
Computes the value of $F_1 = \dot{\xi}/(2\nu)$.
gdouble nc_hipert_iadiab_eval_nu (NcHIPertIAdiab *iad
,const gdouble tau
,const gdouble k
);
Computes the value of $\nu$.
gdouble nc_hipert_iadiab_eval_m (NcHIPertIAdiab *iad
,const gdouble tau
,const gdouble k
);
Computes the value of $m$.
gdouble
nc_hipert_iadiab_eval_unit (NcHIPertIAdiab *iad
);
Numerical factor for the power spectrum of the adiabatic mode.
gdouble nc_hipert_iadiab_eval_x (NcHIPertIAdiab *iad
,const gdouble tau
);
Evaluates the value of $x = a_0/a$ at a given time $\tau$.
gdouble nc_hipert_iadiab_eval_p2Psi (NcHIPertIAdiab *iad
,const gdouble tau
,const gdouble k
);
Evaluates the conversion factor to convert the momentum of the adiabatic mode to the gauge invariant variable $\Psi$.
gdouble nc_hipert_iadiab_eval_p2drho (NcHIPertIAdiab *iad
,const gdouble tau
,const gdouble k
);
Evaluates the conversion factor to convert the momentum of the adiabatic mode to the gauge invariant variable $\delta\rho$.
gdouble nc_hipert_iadiab_eval_lapse (NcHIPertIAdiab *iad
,const gdouble tau
);
Evaluates the lapse function at a given time $\tau$.
gdouble nc_hipert_iadiab_eval_tau_hubble (NcHIPertIAdiab *iad
,const gdouble k
);
Evaluates the time at where the Hubble radius is equal to the wave number $k$.
gdouble nc_hipert_iadiab_eval_tau_jeans (NcHIPertIAdiab *iad
,const gdouble k
);
Evaluates the time at where the Jeans scale is equal to the wave number $k$.
gdouble nc_hipert_iadiab_eval_hubble (NcHIPertIAdiab *iad
,const gdouble tau
);
Evaluates the Hubble function at a given time $\tau$.
NcHIPertAdiab *
nc_hipert_adiab_new (void
);
Creates a new NcHIPertAdiab object.
NcHIPertAdiab *
nc_hipert_adiab_ref (NcHIPertAdiab *pa
);
Increases the reference count of pa
.
void
nc_hipert_adiab_free (NcHIPertAdiab *pa
);
Decreases the reference count of pa
.
void
nc_hipert_adiab_clear (NcHIPertAdiab **pa
);
Decreases the reference count of *pa
and sets *pa
to NULL.
void nc_hipert_adiab_set_k (NcHIPertAdiab *adiab
,const gdouble k
);
Sets the wave number $k$.
gdouble
nc_hipert_adiab_get_k (NcHIPertAdiab *adiab
);
Gets the wave number $k$.
gdouble nc_hipert_adiab_eval_cosmic_time (NcHIPertAdiab *adiab
,NcmModel *model
,const gdouble tau
);
Evaluates the cosmic time at a given conformal time $\tau$.
gdouble nc_hipert_adiab_eval_delta_critial (NcHIPertAdiab *adiab
,NcmModel *model
,const gdouble tau
);
Evaluates the critical density contrast at a given conformal time $\tau$.
gdouble nc_hipert_adiab_eval_powspec_zeta_at (NcHIPertAdiab *adiab
,NcmModel *model
,const gdouble tau
);
Evaluates the power spectrum of the gauge invariant variable $\zeta$ at a given time $\tau$. The power spectrum is given by $$ P_\zeta = u^2\frac{2\pi^2}{k^3} \frac{J_{11}}{2}. $$ where $u$ is the numerical factor for the power spectrum of the adiabatic mode, $k$ is the wave number.
gdouble nc_hipert_adiab_eval_powspec_Psi_at (NcHIPertAdiab *adiab
,NcmModel *model
,const gdouble tau
);
Evaluates the power spectrum of the gauge invariant variable $\Psi$ at a given time $\tau$. The power spectrum is given by $$ P_\Psi = u^2\frac{2\pi^2}{k^3} \frac{J_{22}}{2}. $$
gdouble nc_hipert_adiab_eval_powspec_drho_at (NcHIPertAdiab *adiab
,NcmModel *model
,const gdouble tau
);
Evaluates the power spectrum of the gauge invariant variable $\delta\rho$ at a given time $\tau$. The power spectrum is given by $$ P_{\delta\rho} = u^2\frac{2\pi^2}{k^3} \frac{J_{22}}{2}. $$
void nc_hipert_adiab_prepare_spectrum (NcHIPertAdiab *adiab
,NcmModel *model
,GArray *k_array
,GArray *tau_array
);
Prepares the computation of the power spectrum of the adiabatic mode.
adiab |
||
model |
a NcmModel |
|
k_array |
array of wave numbers. |
[element-type gdouble] |
tau_array |
array of times to evaluate the power spectrum. |
[element-type gdouble] |
NcmPowspecSpline2d * nc_hipert_adiab_eval_powspec_zeta (NcHIPertAdiab *adiab
,NcmModel *model
);
Evaluates the power spectrum for the gauge invariant variable $\zeta$.
NcmPowspecSpline2d * nc_hipert_adiab_eval_powspec_Psi (NcHIPertAdiab *adiab
,NcmModel *model
);
Evaluates the power spectrum for the gauge invariant variable $\Psi$.
NcmPowspecSpline2d * nc_hipert_adiab_eval_powspec_drho (NcHIPertAdiab *adiab
,NcmModel *model
);
Evaluates the power spectrum for the gauge invariant variable $\delta\rho$.