Top | ![]() |
![]() |
![]() |
![]() |
NcHICosmoNcHICosmo — Abstract class for implementing homogeneous and isotropic cosmological models. |
Functions
Types and Values
enum | NcHICosmoImpl |
#define | NC_HICOSMO_IMPL_RH_Mpc |
#define | NC_HICOSMO_IMPL_RH_planck |
#define | NC_HICOSMO_IMPL_Omega_k0 |
#define | NC_HICOSMO_IMPL_Omega_m0 |
#define | NC_HICOSMO_IMPL_h |
#define | NC_HICOSMO_IMPL_h2 |
#define | NC_HICOSMO_IMPL_Omega_b0h2 |
#define | NC_HICOSMO_IMPL_Omega_g0h2 |
#define | NC_HICOSMO_IMPL_Omega_nu0h2 |
#define | NC_HICOSMO_IMPL_Omega_c0h2 |
#define | NC_HICOSMO_IMPL_Omega_r0h2 |
#define | NC_HICOSMO_IMPL_Omega_m0h2 |
#define | NC_HICOSMO_IMPL_H_Yp |
#define | NC_HICOSMO_IMPL_XHe |
#define | NC_HICOSMO_IMPL_E2Omega_t |
#define | NC_HICOSMO_IMPL_H |
#define | NC_HICOSMO_IMPL_dH_dz |
#define | NC_HICOSMO_IMPL_E |
#define | NC_HICOSMO_IMPL_Em2 |
#define | NC_HICOSMO_IMPL_q |
#define | NC_HICOSMO_IMPL_j |
#define | NC_HICOSMO_IMPL_wec |
#define | NC_HICOSMO_IMPL_dec |
struct | NcHICosmo |
#define | NC_HICOSMO_DEFAULT_PARAMS_RELTOL |
#define | NC_HICOSMO_DEFAULT_PARAMS_ABSTOL |
Object Hierarchy
GFlags ╰── NcHICosmoImpl GObject ╰── NcmModel ╰── NcHICosmo ├── NcHICosmoDE ├── NcHICosmoLCDM ├── NcHICosmoQConst ├── NcHICosmoQGRW ├── NcHICosmoQLinear ╰── NcHICosmoQSpline
Functions
nc_hicosmo_set_H0_impl ()
void nc_hicosmo_set_H0_impl (NcHICosmoClass *model_class
,NcHICosmoFunc0 f
);
Sets the implementation of H0 to f
.
[skip]
nc_hicosmo_set_Omega_b0_impl ()
void nc_hicosmo_set_Omega_b0_impl (NcHICosmoClass *model_class
,NcHICosmoFunc0 f
);
FIXME
[skip]
nc_hicosmo_set_Omega_g0_impl ()
void nc_hicosmo_set_Omega_g0_impl (NcHICosmoClass *model_class
,NcHICosmoFunc0 f
);
FIXME
[skip]
nc_hicosmo_set_Omega_nu0_impl ()
void nc_hicosmo_set_Omega_nu0_impl (NcHICosmoClass *model_class
,NcHICosmoFunc0 f
);
FIXME
[skip]
nc_hicosmo_set_Omega_r0_impl ()
void nc_hicosmo_set_Omega_r0_impl (NcHICosmoClass *model_class
,NcHICosmoFunc0 f
);
FIXME
[skip]
nc_hicosmo_set_Omega_c0_impl ()
void nc_hicosmo_set_Omega_c0_impl (NcHICosmoClass *model_class
,NcHICosmoFunc0 f
);
FIXME
[skip]
nc_hicosmo_set_Omega_t0_impl ()
void nc_hicosmo_set_Omega_t0_impl (NcHICosmoClass *model_class
,NcHICosmoFunc0 f
);
FIXME
[skip]
nc_hicosmo_set_T_gamma0_impl ()
void nc_hicosmo_set_T_gamma0_impl (NcHICosmoClass *model_class
,NcHICosmoFunc0 f
);
FIXME
[skip]
nc_hicosmo_set_Yp_4He_impl ()
void nc_hicosmo_set_Yp_4He_impl (NcHICosmoClass *model_class
,NcHICosmoFunc0 f
);
FIXME
[skip]
nc_hicosmo_set_z_lss_impl ()
void nc_hicosmo_set_z_lss_impl (NcHICosmoClass *model_class
,NcHICosmoFunc0 f
);
FIXME
[skip]
nc_hicosmo_set_as_drag_impl ()
void nc_hicosmo_set_as_drag_impl (NcHICosmoClass *model_class
,NcHICosmoFunc0 f
);
FIXME
[skip]
nc_hicosmo_set_xb_impl ()
void nc_hicosmo_set_xb_impl (NcHICosmoClass *model_class
,NcHICosmoFunc0 f
);
FIXME
[skip]
nc_hicosmo_set_E2_impl ()
void nc_hicosmo_set_E2_impl (NcHICosmoClass *model_class
,NcHICosmoFunc1Z f
);
Normalized Hubble function squared, $E^2(z)$.
[skip]
nc_hicosmo_set_dE2_dz_impl ()
void nc_hicosmo_set_dE2_dz_impl (NcHICosmoClass *model_class
,NcHICosmoFunc1Z f
);
First derivative with respect to the redshift of the normalized Hubble function squared, $\frac{dE^2(z)}{dz}$.
[skip]
nc_hicosmo_set_d2E2_dz2_impl ()
void nc_hicosmo_set_d2E2_dz2_impl (NcHICosmoClass *model_class
,NcHICosmoFunc1Z f
);
Second derivative with respect to the redshift of the normalized Hubble function squared, $\frac{d^2E^2(z)}{dz^2}$.
[skip]
nc_hicosmo_set_bgp_cs2_impl ()
void nc_hicosmo_set_bgp_cs2_impl (NcHICosmoClass *model_class
,NcHICosmoFunc1Z f
);
FIXME
[skip]
nc_hicosmo_set_Dc_impl ()
void nc_hicosmo_set_Dc_impl (NcHICosmoClass *model_class
,NcHICosmoFunc1Z f
);
FIXME
[skip]
nc_hicosmo_new_from_name ()
NcHICosmo * nc_hicosmo_new_from_name (GType parent_type
,gchar *cosmo_name
);
Creates a new instance of cosmo_name
,
asserting that it descends from parent_type
.
nc_hicosmo_ref ()
NcHICosmo *
nc_hicosmo_ref (NcHICosmo *cosmo
);
Increases the reference count of cosmo
by one.
nc_hicosmo_free ()
void
nc_hicosmo_free (NcHICosmo *cosmo
);
Decreases the reference count of cosmo
by one.
nc_hicosmo_clear ()
void
nc_hicosmo_clear (NcHICosmo **cosmo
);
The reference count of cosmo
is decreased and the pointer is set to NULL.
nc_hicosmo_log_all_models ()
void
nc_hicosmo_log_all_models (GType parent
);
Logs all models descending from parent
.
nc_hicosmo_zt ()
gdouble nc_hicosmo_zt (NcHICosmo *cosmo
,gdouble z_max
);
Computes the deceleration-acceleration transition redshift, $z_t$ (find numerically the first root of $q(z)$ in the interval $[0,z_\mathrm{max}]$). If $z_t$ is not found, i.e., $q(z) \neq 0$ in the entire redshift interval, the function returns NAN.
Redshift interval: $[0.0, z_max
]$.
nc_hicosmo_H0 ()
gdouble
nc_hicosmo_H0 (NcHICosmo *cosmo
);
The value of the Hubble constant in unit of $\mathrm{m}\,\mathrm{s}^{-1}\,\mathrm{kpc}^{-1}$,
see ncm_c_kpc()
.
[virtual H0]
nc_hicosmo_RH_Mpc ()
gdouble
nc_hicosmo_RH_Mpc (NcHICosmo *cosmo
);
Calculates the Hubble radius in unit of Mpc, i.e., $R_H = (c / (H_0 \times 1\,\mathrm{Mpc}))$.
nc_hicosmo_RH_planck ()
gdouble
nc_hicosmo_RH_planck (NcHICosmo *cosmo
);
Calculates the Hubble radius in unit of
Mpc, i.e., $R_H = (c / (H_0 \times l_\mathrm{planck}))$.
See ncm_c_planck_length()
.
nc_hicosmo_h ()
gdouble
nc_hicosmo_h (NcHICosmo *cosmo
);
Reduced Hubble constant, $h \equiv H_0 / (1\times\mathrm{m}\mathrm{s}^{-1}\mathrm{kpc}^{-1})$.
nc_hicosmo_h2 ()
gdouble
nc_hicosmo_h2 (NcHICosmo *cosmo
);
Reduced Hubble constant [nc_hicosmo_h()
] squared $h^2$.
nc_hicosmo_Omega_b0 ()
gdouble
nc_hicosmo_Omega_b0 (NcHICosmo *cosmo
);
Dimensionless baryon density today $\Omega_{b0} = \rho_{b0} / \rho_{\mathrm{crit}0}$,
see nc_hicosmo_crit_density()
.
[virtual Omega_b0]
nc_hicosmo_Omega_c0 ()
gdouble
nc_hicosmo_Omega_c0 (NcHICosmo *cosmo
);
Dimensionless cold dark matter density today $\Omega_{c0} = \rho_{c0} / \rho_{\mathrm{crit}0}$,
see nc_hicosmo_crit_density()
.
[virtual Omega_c0]
nc_hicosmo_Omega_g0 ()
gdouble
nc_hicosmo_Omega_g0 (NcHICosmo *cosmo
);
Dimensionless photon density today $\Omega_{\gamma0} = \rho_{\gamma0} / \rho_{\mathrm{crit}0}$,
see nc_hicosmo_crit_density()
.
[virtual Omega_g0]
nc_hicosmo_Omega_nu0 ()
gdouble
nc_hicosmo_Omega_nu0 (NcHICosmo *cosmo
);
Dimensionless relativistic neutrinos density today $\Omega_{\nu0} = \rho_{\nu0} / \rho_{\mathrm{crit}0}$,
see nc_hicosmo_crit_density()
.
[virtual Omega_nu0]
nc_hicosmo_Omega_r0 ()
gdouble
nc_hicosmo_Omega_r0 (NcHICosmo *cosmo
);
Dimensionless total radiation density today $\Omega_{r0} = \rho_{r0} / \rho_{\mathrm{crit}0}$,
see nc_hicosmo_crit_density()
.
[virtual Omega_r0]
nc_hicosmo_Omega_m0 ()
gdouble
nc_hicosmo_Omega_m0 (NcHICosmo *cosmo
);
Dimensionless total dust density today $\Omega_{m0} = \rho_{m0} / \rho_{\mathrm{crit}0}$,
see nc_hicosmo_crit_density()
.
nc_hicosmo_Omega_b0h2 ()
gdouble
nc_hicosmo_Omega_b0h2 (NcHICosmo *cosmo
);
Dimensionless baryon density today [nc_hicosmo_Omega_b0()
] times $h^2$.
nc_hicosmo_Omega_c0h2 ()
gdouble
nc_hicosmo_Omega_c0h2 (NcHICosmo *cosmo
);
Dimensionless cold dark matter density today [nc_hicosmo_Omega_c0()
] times $h^2$.
nc_hicosmo_Omega_g0h2 ()
gdouble
nc_hicosmo_Omega_g0h2 (NcHICosmo *cosmo
);
Dimensionless photon density today [nc_hicosmo_Omega_g0()
] times $h^2$.
nc_hicosmo_Omega_nu0h2 ()
gdouble
nc_hicosmo_Omega_nu0h2 (NcHICosmo *cosmo
);
Dimensionless relativistic neutrinos density today [nc_hicosmo_Omega_nu0()
] times $h^2$.
nc_hicosmo_Omega_m0h2 ()
gdouble
nc_hicosmo_Omega_m0h2 (NcHICosmo *cosmo
);
Dimensionless total dust density today [nc_hicosmo_Omega_m0()
] times $h^2$.
nc_hicosmo_Omega_r0h2 ()
gdouble
nc_hicosmo_Omega_r0h2 (NcHICosmo *cosmo
);
Dimensionless total radiation density today [nc_hicosmo_Omega_r0()
] times $h^2$.
nc_hicosmo_Omega_t0 ()
gdouble
nc_hicosmo_Omega_t0 (NcHICosmo *cosmo
);
Dimensionless total matter density today $\Omega_{t0} = \rho_{t0} / \rho_{\mathrm{crit}0}$,
see nc_hicosmo_crit_density()
.
[virtual Omega_t0]
nc_hicosmo_Omega_k0 ()
gdouble
nc_hicosmo_Omega_k0 (NcHICosmo *cosmo
);
The curvature parameter today, $\Omega_{k0}$.
nc_hicosmo_T_gamma0 ()
gdouble
nc_hicosmo_T_gamma0 (NcHICosmo *cosmo
);
Gets the cosmic microwave background radiation temperature today.
[virtual T_gamma0]
nc_hicosmo_Yp_4He ()
gdouble
nc_hicosmo_Yp_4He (NcHICosmo *cosmo
);
Gets the primordial Helium mass fraction, i.e., $$Y_p = \frac{m_\mathrm{He}n_\mathrm{He}} {m_\mathrm{He}n_\mathrm{He} + m_\mathrm{H}n_\mathrm{H}},$$ where $m_\mathrm{He}$, $n_\mathrm{He}$, $m_\mathrm{H}$ and $m_\mathrm{H}$ are respectively Helium-4 mass and number density and Hydrogen-1 mass and number density.
[virtual Yp_4He]
nc_hicosmo_Yp_1H ()
gdouble
nc_hicosmo_Yp_1H (NcHICosmo *cosmo
);
The primordial hydrogen mass fraction $$Y_{\text{1H}p} = 1 - Y_p,$$
where $Y_p$ is the helium mass fraction, see nc_hicosmo_Yp_4He()
.
nc_hicosmo_XHe ()
gdouble
nc_hicosmo_XHe (NcHICosmo *cosmo
);
The primordial Helium to Hydrogen ratio $$X_\text{He} =
\frac{n_\text{He}}{n_\text{H}} = \frac{m_\text{1H}}{m_\text{4He}}
\frac{Y_p}{Y_{\text{1H}p}},$$ see nc_hicosmo_Yp_1H()
and nc_hicosmo_Yp_4He()
.
nc_hicosmo_crit_density ()
gdouble
nc_hicosmo_crit_density (NcHICosmo *cosmo
);
Calculares the critical density $\rho_\mathrm{crit}$ using
ncm_c_crit_density_h2()
$\times$ nc_hicosmo_h2()
.
nc_hicosmo_baryon_density ()
gdouble
nc_hicosmo_baryon_density (NcHICosmo *cosmo
);
Calculares the baryon density $\rho_{b0} = \rho_{\mathrm{crit}0} \Omega_{b0}$
using nc_hicosmo_crit_density()
$\times$ nc_hicosmo_Omega_b0()
.
nc_hicosmo_He_number_density ()
gdouble
nc_hicosmo_He_number_density (NcHICosmo *cosmo
);
Calculares the Helium-4 number density $n_\mathrm{4He} = Y_p n_{b0} / m_\mathrm{4He}$
using nc_hicosmo_Yp_4He()
$\times$ nc_hicosmo_baryon_density()
/ ncm_c_rest_energy_4He()
.
nc_hicosmo_H_number_density ()
gdouble
nc_hicosmo_H_number_density (NcHICosmo *cosmo
);
Calculares the Hydrogen-1 number density $n_\mathrm{1H} = Y_{\mathrm{1H}p} n_{b0} / m_\mathrm{1H}$
using nc_hicosmo_Yp_1H()
$\times$ nc_hicosmo_baryon_density()
/ ncm_c_rest_energy_1H()
.
nc_hicosmo_E2Omega_t ()
gdouble nc_hicosmo_E2Omega_t (NcHICosmo *cosmo
,gdouble z
);
The value of the normalized Hubble function square times the total dimensionless density $\Omega_t$.
nc_hicosmo_H ()
gdouble nc_hicosmo_H (NcHICosmo *cosmo
,gdouble z
);
The value of the Hubble function in unity of $\mathrm{m}\,\mathrm{s}^{-1}\,\mathrm{kpc}^{-1}$,
see ncm_c_kpc()
.
nc_hicosmo_E ()
gdouble nc_hicosmo_E (NcHICosmo *cosmo
,gdouble z
);
This function computes the normalized Hubble function $E(z)$.
nc_hicosmo_E2 ()
gdouble nc_hicosmo_E2 (NcHICosmo *cosmo
,gdouble z
);
Normalized Hubble function squared.
[virtual E2]
nc_hicosmo_Em2 ()
gdouble nc_hicosmo_Em2 (NcHICosmo *cosmo
,gdouble z
);
This function computes the inverse of the square normalized Hubble function.
nc_hicosmo_dE2_dz ()
gdouble nc_hicosmo_dE2_dz (NcHICosmo *cosmo
,gdouble z
);
FIXME
[virtual dE2_dz]
nc_hicosmo_d2E2_dz2 ()
gdouble nc_hicosmo_d2E2_dz2 (NcHICosmo *cosmo
,gdouble z
);
FIXME
[virtual d2E2_dz2]
nc_hicosmo_bgp_cs2 ()
gdouble nc_hicosmo_bgp_cs2 (NcHICosmo *cosmo
,gdouble z
);
Baryon-photon plasma speed of sound squared, $$c_s^{b\gamma2} = (\dot{\rho}_b + \dot{\rho}_\gamma) / (p_b + p_\gamma).$$
[virtual bgp_cs2]
Types and Values
enum NcHICosmoImpl
Flags defining the implementation options of the NcHICosmo abstract object.
Members
Hubble constant |
||
Baryonic density today $\Omega_{b0}$ |
||
Cold dark matter density today $\Omega_{c0}$ |
||
Photons density today $\Omega_{\gamma0}$ |
||
Ultra-relativistic neutrinos density today $\Omega_{\nu0}$ |
||
Radiation density today $\Omega_{r0}$ |
||
Total density today $\Omega_{t0}$ |
||
Radiation temperature today |
||
Primordial Helium mass fraction |
||
Redshift of the last scatering surface |
||
Acoustic Scale at drag redshift |
||
Maximum redshift |
||
Adimensional Hubble function squared |
||
Derivative of the dimensionless Hubble function squared. |
||
Second derivative of the dimensionless Hubble function squared. |
||
Baryon-photon plasma speed of sound squared $c_s^2$. |
||
Comoving distance |
NC_HICOSMO_IMPL_Omega_m0
#define NC_HICOSMO_IMPL_Omega_m0 (NC_HICOSMO_IMPL_Omega_c0 | NC_HICOSMO_IMPL_Omega_b0)
NC_HICOSMO_IMPL_Omega_b0h2
#define NC_HICOSMO_IMPL_Omega_b0h2 (NC_HICOSMO_IMPL_Omega_b0 | NC_HICOSMO_IMPL_h2)
NC_HICOSMO_IMPL_Omega_g0h2
#define NC_HICOSMO_IMPL_Omega_g0h2 (NC_HICOSMO_IMPL_Omega_g0 | NC_HICOSMO_IMPL_h2)
NC_HICOSMO_IMPL_Omega_nu0h2
#define NC_HICOSMO_IMPL_Omega_nu0h2 (NC_HICOSMO_IMPL_Omega_nu0 | NC_HICOSMO_IMPL_h2)
NC_HICOSMO_IMPL_Omega_c0h2
#define NC_HICOSMO_IMPL_Omega_c0h2 (NC_HICOSMO_IMPL_Omega_c0 | NC_HICOSMO_IMPL_h2)
NC_HICOSMO_IMPL_Omega_r0h2
#define NC_HICOSMO_IMPL_Omega_r0h2 (NC_HICOSMO_IMPL_Omega_r0 | NC_HICOSMO_IMPL_h2)
NC_HICOSMO_IMPL_Omega_m0h2
#define NC_HICOSMO_IMPL_Omega_m0h2 (NC_HICOSMO_IMPL_Omega_m0 | NC_HICOSMO_IMPL_h2)
NC_HICOSMO_IMPL_E2Omega_t
#define NC_HICOSMO_IMPL_E2Omega_t (NC_HICOSMO_IMPL_E2 | NC_HICOSMO_IMPL_Omega_k0)
NC_HICOSMO_IMPL_dH_dz
#define NC_HICOSMO_IMPL_dH_dz (NC_HICOSMO_IMPL_H0 | NC_HICOSMO_IMPL_E2 | NC_HICOSMO_IMPL_dE2_dz)
NC_HICOSMO_IMPL_j
#define NC_HICOSMO_IMPL_j (NC_HICOSMO_IMPL_E2 | NC_HICOSMO_IMPL_dE2_dz | NC_HICOSMO_IMPL_d2E2_dz2)