Class

NumCosmoRecombSeager

Description [src]

class NumCosmo.RecombSeager : NumCosmo.Recomb
{
  /* No available fields */
}

Cosmic recombination implementing Seager (1999).

Cosmic recombination as initially describe in [Seager (1999)][XSeager1999] and [Seager (2000)][XSeager2000]. The code includes now all modifications as in recfast 1.5.2, which includes the modifications discussed in [Wong (2008)][XWong2008]. Nonetheless, we do not include the modification for the matter temperature evolution as describe in [Scott (2009)][XScott2009]. Since we use a more robust integration method such modification for the temperature evolution is simply unnecessary.

See [NcRecomb][NcRecomb.description] for symbol definitions.

$ \newcommand{\He}{\text{He}} \newcommand{\HeI}{\text{HeI}} \newcommand{\HeII}{\text{HeII}} \newcommand{\HeIII}{\text{HeIII}} \newcommand{\Hy}{\text{H}} \newcommand{\HyI}{\text{HI}} \newcommand{\HyII}{\text{HII}} \newcommand{\e}{{\text{e}^-}} $

This code solves the system of equations for the singly ionized hydrogen $X_\HyII$ and helium $X_\HeII$ as well as for the baryon temperature $T_m$.

The equations are: \begin{align} \frac{\mathrm{d}X_\HyII}{\mathrm{d}x} &= \frac{X_\HyII X_\e n_\Hy - X_\HyI B_{\HyI, 1s\,{}^2\!S_{1/2}}(T_m)}{H x}\left[\alpha_\Hy(T_m)\frac{n_\Hy K_{\HyI} X_\HyI \Lambda_\Hy + 1}{n_\Hy K_{\HyI} X_\HyI \left[\Lambda_\Hy + B_{\HyI, 2s\,{}^2\!S_{1/2}}(T_m) \alpha_\Hy(T_m)\right] + 1}\right], \ \frac{\mathrm{d}T_m}{\mathrm{d}x} &= \frac{c}{Hx}\frac{8\sigma_\mathrm{T}a_\mathrm{R} T^4_r}{3m_\mathrm{e}c^2} \frac{X_\e(T_m - T_r)}{1 + X_\He + X_\e} + \frac{2T_m}{x}, \ \frac{\mathrm{d}X_\HeII}{\mathrm{d}x} &= \frac{X_\HeII X_\e n_\Hy - X_\HeI B_{\HeI, 1s\,{}^1\!S_{0}}(T_m)}{H x}\Bigg\{\left[\alpha_\He(T_m)\frac{n_\Hy K_{\HeI} X_\HeI \Lambda_\He + B^{\HeI, 2s\,{}^1\!S_{0}}{\HeI, 2p\,{}^1\!P{1}}(T_m)}{n_H K_{\HeI} X_\HeI \left[\Lambda_\He + B_{\HeI, 2s\,{}^1\!S_{0}}(T_m) \alpha_\He(T_m)\right] + B^{\HeI, 2s\,{}^1\!S_{0}}{\HeI, 2p\,{}^1\!P{1}}(T_m)}\right] \nonumber\ &+ \alpha_\He^\mathrm{t}(T_m)\frac{1}{n_H K_{\HeI}^\mathrm{t} X_\HeI B_{\HeI, 2p\,{}^3\!P_\mathrm{mean}}(T_m) \alpha_\He^\mathrm{t}(T_m) + 1} \Bigg\}, \end{align}

The Boltzmann factor for hydrogen levels are given by $$B_{\HyI, l}(T_m) = k_\mathrm{e}^3(T_m)\,\exp\left[-E_{\HyI, l} / (k_\mathrm{B}T_m)\right],$$ for $l = 1s\,{}^2\!S_{1/2}, 2s\,{}^2\!S_{1/2}$, see ncm_c_boltzmann_factor_HI_1s_2S0_5(), ncm_c_boltzmann_factor_HI_2s_2S0_5() and ncm_c_thermal_wn_e() for the definition of the electron thermal wavenumber $k_\mathrm{e}$.

For the helium-I levels the Boltzmann factors are $$B_{\HeI, l}(T_m) = 4 k_\mathrm{e}^3(T_m)\,\exp\left[-E_{\HeI, l} / (k_\mathrm{B}T_m)\right],$$ where the levels $l$ used are $1s\,{}^1\!S_{0}$, $2s\,{}^1\!S_{0}$ and $2p\,{}^1\!P_{1}$, see ncm_c_HeI_ion_wn_1s_1S0(), ncm_c_HeI_ion_wn_2s_1S0(), ncm_c_HeI_ion_wn_2p_1P1(). The symbol $B^{\HeI, 2s\,{}^1\!S_{0}}{\HeI, 2p\,{}^1\!P{1}}(T_m)$ represents the ratio of two Boltzmann factors, i.e., $$B^{\HeI, 2s\,{}^1\!S_{0}}{\HeI, 2p\,{}^1\!P{1}}(T_m) = \exp\left[-(E_{\HeI, 2s\,{}^1\!S_{0}} - E_{\HeI, 2p\,{}^1\!P_{1}})/ (k_\mathrm{B}T_m)\right].$$

The two photon decaying rates for $\Hy$ is $\Lambda_\Hy$ and is given by ncm_c_decay_H_rate_2s_1s(), and for helium-I is $\Lambda_\He$ given by ncm_c_decay_He_rate_2s_1s().

The Case B coefficient for $\Hy$, $\alpha_\Hy$ is calculated by nc_recomb_seager_pequignot_HI_case_B(), while the Case B coefficient for $\He$, $\alpha_\He$ and $\alpha_\He^\mathrm{t}$ are given respectively by nc_recomb_seager_hummer_HeI_case_B() and nc_recomb_seager_hummer_HeI_case_B_trip().

The flags in NcRecombSeagerOpt define which are the $K$ factors to be used and whether to include triplets factors in the $\He$ rate.

The code uses nc_recomb_HeII_ion_saha_x_by_HeIII_He() to obtain the value of $\lambda$ where the numerical integration will start. The integration is performed considering all components without any switching or approximation.

Ancestors

Constructors

nc_recomb_seager_new

Creates a new NcRecombSeager using default properties.

nc_recomb_seager_new_full

Creates a new NcRecombSeager using init_frac, zi and prec.

Functions

nc_recomb_seager_clear

Decreases the reference count of recomb_seager if recomb_seager is not NULL, then sets *recomb_seager to NULL.

Instance methods

nc_recomb_seager_free

Decreases the reference count of recomb_seager.

nc_recomb_seager_get_options

Gets integration options.

nc_recomb_seager_hummer_HeI_case_B

The case B $\HeII$ recombination coefficient.

nc_recomb_seager_hummer_HeI_case_B_dTm

The case B $\HeII$ recombination coefficient derivative with respect to Tm.

nc_recomb_seager_hummer_HeI_case_B_trip

The case B via triplets $\HeII$ recombination coefficient.

nc_recomb_seager_hummer_HeI_case_B_trip_dTm

The case B via triplets $\HeII$ recombination coefficient derivative with respect to Tm.

nc_recomb_seager_pequignot_HI_case_B

The case B $\HyII$ recombination coefficient.

nc_recomb_seager_pequignot_HI_case_B_dTm

The case B $\HyII$ recombination coefficient derivative with respect to $T_m$.

nc_recomb_seager_ref

Increases the reference count of recomb_seager.

nc_recomb_seager_set_options

Sets integration options NcRecombSeagerOpt. To set the integration options using the recfast compatible flags use nc_recomb_seager_set_switch().

nc_recomb_seager_set_switch

Sets integration options NcRecombSeagerOpt using the following map:.

Methods inherited from NcRecomb (36)

Please see NcRecomb for a full list of methods.

Methods inherited from GObject (43)

Please see GObject for a full list of methods.

Properties

NumCosmo.RecombSeager:options

Integration options.

Properties inherited from NcRecomb (3)
NumCosmo.Recomb:init-frac
No description available.

NumCosmo.Recomb:prec

The precision used in the calculations.

NumCosmo.Recomb:zi

Initial redshift to prepare the recombination functions.

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 NumCosmoRecombSeagerClass {
  /* no available fields */
}

No description available.