Class
NumCosmoRecomb
Description [src]
abstract class NumCosmo.Recomb : GObject.Object
{
/* No available fields */
}
Abstract class for cosmic recombination.
NcRecomb describes a general recombination process: the equilibrium (Saha)
ionization fractions of hydrogen and helium, the free-electron fraction
$X_\mathrm{e}$, and the derived optical depth and visibility function. Using
the redshift time $\lambda \equiv -\ln(1+z)$, the optical depth derivative is
\begin{equation}
\frac{\mathrm{d}\tau}{\mathrm{d}\lambda} = -\frac{c\,\sigma_T n_B X_\mathrm{e}}{H},
\end{equation}
and the visibility function is $v_\tau = (\mathrm{d}\tau/\mathrm{d}\lambda)\,e^{-\tau}$.
For the abundance definitions, the Saha equilibrium relations, and the optical-depth conventions, see the theoretical background page: Cosmic Recombination. Further background in Weinberg (2008), Cosmology.
Functions
nc_recomb_HI_ion_saha
Calculates the equilibrium ionized/non-ionized hydrogen abundance ratio $X_{\HyII}X_\e / X_{\HyI}$. See Eq. \eqref{eq:saha:HyI}.
nc_recomb_HeII_ion_saha
Calculates the equilibrium double/single ionized helium ratio ($X_{\HeIII}X_\e/X_{\HeII}$). See Eq. \eqref{eq:saha:HeII}.
nc_recomb_HeII_ion_saha_x
Calculates the redshift where the ratio $$X_{\HeIII}X_\e/X_{\HeII} = f.$$.
nc_recomb_HeII_ion_saha_x_by_HeIII_He
Calculates the redshift where the ratio $$X_{\HeIII}/X_{\He} = f.$$.
nc_recomb_HeI_ion_saha
Calculates the equilibrium single/non-ionized helium ratio $X_{\HeII}X_\e/X_{\HeI}$. See Eq. \eqref{eq:saha:HeI}.
nc_recomb_He_fully_ionized_Xe
Assuming that all helium is single or double ionized and all hydrogen is ionized, we have $$X_\e = 1 + X_\HeII + 2X_\HeIII,\quad X_\He = X_\HeII + X_\HeIII,$$ thus, $$X_\HeIII = X_\e-X_\He-1,\quad X_\HeII = 1 + 2X_\He - X_\e.$$ Using nc_recomb_HeII_ion_saha() and nc_hicosmo_XHe() we obtain $X_\e$.
nc_recomb_He_fully_ionized_dtau_dlambda
The derivative of the optical depth [Eq. \eqref{eq:def:dtaudlambda}], considering fully ionized helium and hydrogen [nc_recomb_He_fully_ionized_Xe ()].
nc_recomb_clear
Decreases the reference count of recomb if
recomb is not NULL, then sets *recomb to NULL.
nc_recomb_dtau_dlambda_Xe
The derivative of the optical depth [Eq. \eqref{eq:def:dtaudlambda}] over the ionization fraction $X_\e$ [Eq. \eqref{eq:def:Xe}].
Instance methods
nc_recomb_d2tau_dlambda2
Computes the second derivative of the optical depth with respect to $\lambda$,
$\frac{\mathrm{d}^2\tau}{\mathrm{d}\lambda^2}$, at lambda.
nc_recomb_d2v_tau_dlambda2
Computes the second derivative of the visibility function [Eq. \eqref{eq:def:vtau}] at lambda.
nc_recomb_d3tau_dlambda3
Computes the third derivative of the optical depth with respect to $\lambda$,
$\frac{\mathrm{d}^3\tau}{\mathrm{d}\lambda^3}$, at lambda.
nc_recomb_dtau_dlambda
Computes the derivative of the optical depth with respect to $\lambda$,
$\frac{\mathrm{d}\tau}{\mathrm{d}\lambda}$, at lambda.
nc_recomb_dtau_dx
Computes the derivative of the optical depth with respect to $x = 1 + z$,
$\frac{\mathrm{d}\tau}{\mathrm{d}x}$, at lambda.
nc_recomb_dv_tau_dlambda
Computes the derivative of the visibility function [Eq. \eqref{eq:def:vtau}] at lambda.
nc_recomb_equilibrium_XHI
Calculates the hydrogen-I fraction $X_\HyI$ assuming equilibrium at all times. It solves the system containing all Saha’s equations Eqs \eqref{eq:saha:HyI}, \eqref{eq:saha:HeI} and \eqref{eq:saha:HeII} and the constraints Eq \eqref{eq:Hy:add}, \eqref{eq:He:add} and \eqref{eq:def:Xe}.
nc_recomb_equilibrium_XHII
Calculates the hydrogen-II fraction $X_\HyII$ assuming equilibrium at all times. It solves the system containing all Saha’s equations Eqs \eqref{eq:saha:HyI}, \eqref{eq:saha:HeI} and \eqref{eq:saha:HeII} and the constraints Eq \eqref{eq:Hy:add}, \eqref{eq:He:add} and \eqref{eq:def:Xe}.
nc_recomb_equilibrium_XHeI
Calculates the helium-I fraction $X_\HeI$ assuming equilibrium at all times. It solves the system containing all Saha’s equations Eqs \eqref{eq:saha:HyI}, \eqref{eq:saha:HeI} and \eqref{eq:saha:HeII} and the constraints Eq \eqref{eq:Hy:add}, \eqref{eq:He:add} and \eqref{eq:def:Xe}.
nc_recomb_equilibrium_XHeII
Calculates the helium-II fraction $X_\HeII$ assuming equilibrium at all times. It solves the system containing all Saha’s equations Eqs \eqref{eq:saha:HyI}, \eqref{eq:saha:HeI} and \eqref{eq:saha:HeII} and the constraints Eq \eqref{eq:Hy:add}, \eqref{eq:He:add} and \eqref{eq:def:Xe}.
nc_recomb_equilibrium_XHeIII
Calculates the helium-III fraction $X_\HeIII$ assuming equilibrium at all times. It solves the system containing all Saha’s equations Eqs \eqref{eq:saha:HyI}, \eqref{eq:saha:HeI} and \eqref{eq:saha:HeII} and the constraints Eq \eqref{eq:Hy:add}, \eqref{eq:He:add} and \eqref{eq:def:Xe}.
nc_recomb_equilibrium_Xe
Calculates the ionization fraction $X_\e$ assuming equilibrium at all times. It solves the system containing all Saha’s equations Eqs \eqref{eq:saha:HyI}, \eqref{eq:saha:HeI} and \eqref{eq:saha:HeII} and the constraints Eq \eqref{eq:Hy:add}, \eqref{eq:He:add} and \eqref{eq:def:Xe}.
nc_recomb_get_tau_cutoff_lambda
Calculates the value of $\lambda$ where the optical depth [Eq \eqref{eq:def:tau}] attains a value such that $e^{-\tau(\lambda_\text{cutoff})} = \epsilon_\text{double}$, i.e., equal to the smallest value of a double which add to one.
nc_recomb_get_tau_cutoff_z
Calculates the value of $z(\lambda)$ where the optical depth [Eq \eqref{eq:def:tau}] attains a value such that $e^{-\tau(\lambda_\text{cutoff})} = \epsilon_\text{double}$, i.e., equal to the smallest value of a double which add to one.
nc_recomb_get_tau_drag_lambda
Calculates the value of $\lambda$ where the optical depth times $R$ [Eq. \eqref{eq:def:tau}] is equal to one, i.e., $\tau_\mathrm{drag}(\lambda^\star) = 1$.
nc_recomb_get_tau_drag_z
Calculates the value of $z(\lambda)$ where the optical depth times $R$ (drag depth) [Eq. \eqref{eq:def:tau}] is equal to one, i.e., $\tau_\mathrm{drag}(\lambda^\star) = 1$.
nc_recomb_get_tau_lambda
Calculates the value of $\lambda$ where the optical depth [Eq \eqref{eq:def:tau}] is equal to one, i.e., $\tau(\lambda^\star) = 1$.
nc_recomb_get_tau_z
Calculates the value of $z(\lambda)$ where the optical depth [Eq \eqref{eq:def:tau}] is equal to one, i.e., $\tau(\lambda^\star) = 1$.
nc_recomb_get_v_tau_max_lambda
Calculates the maximum of the visibility function [Eq. \eqref{eq:def:vtau}], the value of $\lambda_\text{max}$ where $dv_\tau(\lambda_\text{max})/d\lambda = 0$.
nc_recomb_get_v_tau_max_z
Calculates the maximum of the visibility function [Eq. \eqref{eq:def:vtau}], the value of $z(\lambda_\text{max})$ where $dv_\tau(\lambda_\text{max})/d\lambda = 0$.
nc_recomb_log_v_tau
Computes the logarithm base e of the visibility function [Eq. \eqref{eq:def:vtau}] at lambda.
nc_recomb_prepare_if_needed
Prepares the object using the model cosmo if it was changed
since last preparation.
nc_recomb_tau_drag
Computes the drag depth, $$\tau_d \equiv \int_0^\lambda \mathrm{d}\lambda R^{-1} \frac{n_e \sigma_T}{1+z},$$ where $R = \frac{3\bar{\rho}b}{4\bar{\rho}\gamma}$.
nc_recomb_v_tau_lambda_features
Calculates the maximum of the visibility function [Eq \eqref{eq:def:vtau}], i.e, the value of $\lambda_\text{max}$ where $dv_\tau(\lambda_\text{max})/d\lambda = 0$, and the values where the visibility drops to $v_\tau(\lambda_\text{max})e^{-\text{logref}}$ to the left $\lambda_l$ and to the right $\lambda_u$ of $\lambda_\text{max}$.
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 NumCosmoRecombClass {
void (* prepare) (
NcRecomb* recomb,
NcHICosmo* cosmo
);
gdouble (* Xe) (
NcRecomb* recomb,
NcHICosmo* cosmo,
const gdouble lambda
);
gdouble (* XHII) (
NcRecomb* recomb,
NcHICosmo* cosmo,
const gdouble lambda
);
gdouble (* XHeII) (
NcRecomb* recomb,
NcHICosmo* cosmo,
const gdouble lambda
);
}
No description available.
Class members
prepare: void (* prepare) ( NcRecomb* recomb, NcHICosmo* cosmo )No description available.
Xe: gdouble (* Xe) ( NcRecomb* recomb, NcHICosmo* cosmo, const gdouble lambda )No description available.
XHII: gdouble (* XHII) ( NcRecomb* recomb, NcHICosmo* cosmo, const gdouble lambda )No description available.
XHeII: gdouble (* XHeII) ( NcRecomb* recomb, NcHICosmo* cosmo, const gdouble lambda )No description available.