Recombination

Recombination — Cosmic recombination object

Synopsis

struct              NcThermodynRecomb;
enum                NcThermodynRecombType;
gdouble             nc_thermodyn_H_ionization_rate      (NcHICosmo *model,
                                                         gdouble XH,
                                                         gdouble Tm,
                                                         gdouble XHeII,
                                                         gdouble x);
void                nc_thermodyn_H_ionization_rate_grad (NcHICosmo *model,
                                                         gdouble Xp,
                                                         gdouble Tm,
                                                         gdouble XHeII,
                                                         gdouble x,
                                                         gsl_vector *grad);
gdouble             nc_thermodyn_H_ionization_saha      (NcHICosmo *model,
                                                         gdouble x);
gdouble             nc_thermodyn_HeII_ionization_rate   (NcHICosmo *model,
                                                         gdouble Xp,
                                                         gdouble Tm,
                                                         gdouble XHeII,
                                                         gdouble x);
void                nc_thermodyn_HeII_ionization_rate_grad
                                                        (NcHICosmo *model,
                                                         gdouble Xp,
                                                         gdouble Tm,
                                                         gdouble XHeII,
                                                         gdouble x,
                                                         gsl_vector *grad);
gdouble             nc_thermodyn_HeII_ionization_saha   (NcHICosmo *model,
                                                         gdouble x);
gdouble             nc_thermodyn_HeII_ionization_saha_x (NcHICosmo *model,
                                                         gdouble frac);
gdouble             nc_thermodyn_HeI_ionization_saha    (NcHICosmo *model,
                                                         gdouble x);
gdouble             nc_thermodyn_recomb_H_case_B        (NcHICosmo *model,
                                                         gdouble Tm);
gdouble             nc_thermodyn_recomb_H_case_B_dTm    (NcHICosmo *model,
                                                         gdouble Tm);
gdouble             nc_thermodyn_recomb_HeI_case_B      (NcHICosmo *model,
                                                         gdouble Tm);
gdouble             nc_thermodyn_recomb_HeI_case_B_dTm  (NcHICosmo *model,
                                                         gdouble Tm);
gdouble             nc_thermodyn_recomb_dtau_dx         (NcThermodynRecomb *recomb,
                                                         gdouble x);
void                nc_thermodyn_recomb_dtau_dx_init_spline
                                                        (NcThermodynRecomb *recomb);
gboolean            nc_thermodyn_recomb_evolve          (NcThermodynRecomb *recomb,
                                                         gdouble x);
void                nc_thermodyn_recomb_free            (NcThermodynRecomb *recomb);
gdouble             nc_thermodyn_recomb_g               (NcThermodynRecomb *recomb,
                                                         gdouble x);
gdouble             nc_thermodyn_recomb_gbar            (NcThermodynRecomb *recomb,
                                                         gdouble x);
gdouble             nc_thermodyn_recomb_gbbar           (NcThermodynRecomb *recomb,
                                                         gdouble x);
gdouble             nc_thermodyn_recomb_get_Xe          (NcThermodynRecomb *recomb);
gdouble             nc_thermodyn_recomb_get_Xe_at       (NcThermodynRecomb *recomb,
                                                         gdouble x);
gdouble             nc_thermodyn_recomb_log_g           (NcThermodynRecomb *recomb,
                                                         gdouble x);
NcThermodynRecomb * nc_thermodyn_recomb_new             (NcHICosmo *model,
                                                         NcThermodynRecombType type);
gdouble             nc_thermodyn_recomb_optical_depth   (NcThermodynRecomb *recomb,
                                                         gdouble x);
gdouble             nc_thermodyn_recomb_optical_depth_R_x0_x1
                                                        (NcThermodynRecomb *recomb,
                                                         gdouble x0,
                                                         gdouble x1);
gdouble             nc_thermodyn_recomb_optical_depth_x0_x1
                                                        (NcThermodynRecomb *recomb,
                                                         gdouble x0,
                                                         gdouble x1);
gdouble             nc_thermodyn_recomb_peak_x          (NcThermodynRecomb *recomb);
gboolean            nc_thermodyn_recomb_reinit          (NcThermodynRecomb *recomb);
gboolean            nc_thermodyn_recomb_reset           (NcThermodynRecomb *recomb);
gdouble             nc_thermodyn_recomb_taubar          (NcThermodynRecomb *recomb,
                                                         gdouble x);
gdouble             nc_thermodyn_recomb_taubbar         (NcThermodynRecomb *recomb,
                                                         gdouble x);
void                nc_thermodyn_recomb_taubbar_val     (NcThermodynRecomb *recomb,
                                                         gdouble x,
                                                         gdouble *taubar,
                                                         gdouble *taubbar);
gdouble             nc_thermodyn_recomb_taubbbar        (NcThermodynRecomb *recomb,
                                                         gdouble x);

Description

The default value of the helium primordial abundance is given the macro NC_C_PRIM_HE_Y_P. The primordial helium fraction is define by NC_C_PRIM_HE_XHe.

Details

struct NcThermodynRecomb

struct NcThermodynRecomb {
};

FIXME


enum NcThermodynRecombType

typedef enum {
  NC_THERMODYN_RECOMB_SINGLE = 0,
  NC_THERMODYN_RECOMB_SINGLE_Tm,
  NC_THERMODYN_RECOMB_FULL
} NcThermodynRecombType;

FIXME

NC_THERMODYN_RECOMB_SINGLE

FIXME

NC_THERMODYN_RECOMB_SINGLE_Tm

FIXME

NC_THERMODYN_RECOMB_FULL

FIXME

nc_thermodyn_H_ionization_rate ()

gdouble             nc_thermodyn_H_ionization_rate      (NcHICosmo *model,
                                                         gdouble XH,
                                                         gdouble Tm,
                                                         gdouble XHeII,
                                                         gdouble x);

FIXME

model :

a NcmModel, cosmological parameters for a given model

XH :

FIXME

Tm :

FIXME

XHeII :

FIXME

x :

normalized scale factor inverse [; x = 1 + z = a_0/a ;]

Returns :

FIXME

nc_thermodyn_H_ionization_rate_grad ()

void                nc_thermodyn_H_ionization_rate_grad (NcHICosmo *model,
                                                         gdouble Xp,
                                                         gdouble Tm,
                                                         gdouble XHeII,
                                                         gdouble x,
                                                         gsl_vector *grad);

FIXME dX_e_dx implemented using Weinbergs book

model :

a NcmModel, cosmological parameters for a given model

Xp :

FIXME

Tm :

FIXME

XHeII :

FIXME

x :

normalized scale factor inverse [; x = 1 + z = a_0/a ;]

grad :

FIXME

nc_thermodyn_H_ionization_saha ()

gdouble             nc_thermodyn_H_ionization_saha      (NcHICosmo *model,
                                                         gdouble x);

brief Calculate the equilibrium ionized/non-ionized hydrogen abundance ratio [; X_{H^+}X_e / X_{H} ;].

This calculation is done using the saha equation as in Weinberg's cosmology book page XXX. Note that this function is valid only in the equilibrium. See also Recombination.

model :

a NcmModel, cosmological parameters for a given model

x :

normalized scale factor inverse [; x = 1 + z = a_0/a ;]

Returns :

the abundance ratio [; X_{H^+}X_e / X_{H} ;]

nc_thermodyn_HeII_ionization_rate ()

gdouble             nc_thermodyn_HeII_ionization_rate   (NcHICosmo *model,
                                                         gdouble Xp,
                                                         gdouble Tm,
                                                         gdouble XHeII,
                                                         gdouble x);

dX_e_dx implemented using Weinbergs book

model :

a NcmModel, cosmological parameters for a given model

Xp :

FIXME

Tm :

FIXME

XHeII :

FIXME

x :

normalized scale factor inverse [; x = 1 + z = a_0/a ;]

Returns :

FIXME

nc_thermodyn_HeII_ionization_rate_grad ()

void                nc_thermodyn_HeII_ionization_rate_grad
                                                        (NcHICosmo *model,
                                                         gdouble Xp,
                                                         gdouble Tm,
                                                         gdouble XHeII,
                                                         gdouble x,
                                                         gsl_vector *grad);

dX_e_dx implemented using Weinbergs book

model :

a NcmModel, cosmological parameters for a given model

Xp :

FIXME

Tm :

FIXME

XHeII :

FIXME

x :

normalized scale factor inverse [; x = 1 + z = a_0/a ;]

grad :

FIXME

nc_thermodyn_HeII_ionization_saha ()

gdouble             nc_thermodyn_HeII_ionization_saha   (NcHICosmo *model,
                                                         gdouble x);

brief Calculate the equilibrium double/single ionized helium ratio ([; X_{He^{++}}X_e/X_{He^+} ;]).

This calculation is done using the saha equation as in \ref seager1999 . Note that this function is valid only in the equilibrium. See also \ref recomb_sec_var.

model :

a NcmModel, cosmological parameters for a given model

x :

normalized scale factor inverse [; x = 1 + z = a_0/a ;]

Returns :

the ratio [; X_{He^{++}}X_e/X_{He^+} ;]

nc_thermodyn_HeII_ionization_saha_x ()

gdouble             nc_thermodyn_HeII_ionization_saha_x (NcHICosmo *model,
                                                         gdouble frac);

brief Calculate the redshift where the ratio frac occur.

This calculation is done using the saha equation as in \ref seager1999 . Note that this function is valid only in the equilibrium. See also \ref recomb_sec_var.

model :

a NcmModel, cosmological parameters for a given model

frac :

[; X_{He^{++}}X_e/X_{He^+} ;]

Returns :

the value of [; x ;] where the ratio frac occur.

nc_thermodyn_HeI_ionization_saha ()

gdouble             nc_thermodyn_HeI_ionization_saha    (NcHICosmo *model,
                                                         gdouble x);

brief Calculate the equilibrium single/non-ionized helium ratio ([; X_{He^{+}}X_e/X_{He} ;]).

This calculation is done using the saha equation as in \ref seager1999 . Note that this function is valid only in the equilibrium. See also \ref recomb_sec_var.

model :

a NcmModel, cosmological parameters for a given model

x :

normalized scale factor inverse [; x = 1 + z = a_0/a ;]

Returns :

the ratio [; X_{He^{+}}X_e/X_{He} ;]

nc_thermodyn_recomb_H_case_B ()

gdouble             nc_thermodyn_recomb_H_case_B        (NcHICosmo *model,
                                                         gdouble Tm);

brief The case B [; H^+ ;] recombination coefficient.

The fitting formula of the case B recombination coefficient for [; H^+ ;] as in \ref pequignot1991 "Pequignot".

model :

a NcmModel, cosmological parameters for a given model

Tm :

the matter (baryons) temperature [; T_b ;]

Returns :

the value of the case B recombination coefficient for [; H^+ ;] [; \alpha_H ;] .

nc_thermodyn_recomb_H_case_B_dTm ()

gdouble             nc_thermodyn_recomb_H_case_B_dTm    (NcHICosmo *model,
                                                         gdouble Tm);

brief The case B [; H^+ ;] recombination coefficient derivative with respect to Tm.

The derivative of the fitting formula of the case B recombination coefficient for [; H^+ ;] nc_thermodyn_recomb_H_case_B.

model :

a NcmModel, cosmological parameters for a given model

Tm :

the matter (baryons) temperature [; T_b ;]

Returns :

the value of the case B recombination coefficient for [; H^+ ;] [; d\alpha_H/dT_b ;].

nc_thermodyn_recomb_HeI_case_B ()

gdouble             nc_thermodyn_recomb_HeI_case_B      (NcHICosmo *model,
                                                         gdouble Tm);

brief The case B [; He^+ ;] recombination coefficient.

The fitting formula of the case B recombination coefficient for [; He^+ ;] as in \ref hummer1998 "Hummer and Storey".

model :

a NcmModel, cosmological parameters for a given model

Tm :

the matter (baryons) temperature [; T_b ;]

Returns :

the value of the case B recombination coefficient for [; He^+ ;] [; \alpha_H ;] .

nc_thermodyn_recomb_HeI_case_B_dTm ()

gdouble             nc_thermodyn_recomb_HeI_case_B_dTm  (NcHICosmo *model,
                                                         gdouble Tm);

brief The case B [; He^+ ;] recombination coefficient derivative with respect to Tm.

The derivative of the fitting formula of the case B recombination coefficient for [; He^+ ;] nc_thermodyn_recomb_HeI_case_B.

model :

a NcmModel, cosmological parameters for a given model

Tm :

the matter (baryons) temperature [; T_b ;]

Returns :

the value of the case B recombination coefficient for [; He^+ ;] [; d\alpha_H/dT_b ;].

nc_thermodyn_recomb_dtau_dx ()

gdouble             nc_thermodyn_recomb_dtau_dx         (NcThermodynRecomb *recomb,
                                                         gdouble x);

FIXME

recomb :

a NcThermodynRecomb

x :

FIXME

Returns :

FIXME

nc_thermodyn_recomb_dtau_dx_init_spline ()

void                nc_thermodyn_recomb_dtau_dx_init_spline
                                                        (NcThermodynRecomb *recomb);

FIXME

recomb :

a NcThermodynRecomb

nc_thermodyn_recomb_evolve ()

gboolean            nc_thermodyn_recomb_evolve          (NcThermodynRecomb *recomb,
                                                         gdouble x);

FIXME

recomb :

a NcThermodynRecomb

x :

FIXME

Returns :

FIXME

nc_thermodyn_recomb_free ()

void                nc_thermodyn_recomb_free            (NcThermodynRecomb *recomb);

FIXME

recomb :

a NcThermodynRecomb

nc_thermodyn_recomb_g ()

gdouble             nc_thermodyn_recomb_g               (NcThermodynRecomb *recomb,
                                                         gdouble x);

FIXME

recomb :

a NcThermodynRecomb

x :

FIXME

Returns :

FIXME

nc_thermodyn_recomb_gbar ()

gdouble             nc_thermodyn_recomb_gbar            (NcThermodynRecomb *recomb,
                                                         gdouble x);

FIXME

recomb :

a NcThermodynRecomb

x :

FIXME

Returns :

FIXME

nc_thermodyn_recomb_gbbar ()

gdouble             nc_thermodyn_recomb_gbbar           (NcThermodynRecomb *recomb,
                                                         gdouble x);

FIXME

recomb :

a NcThermodynRecomb

x :

FIXME

Returns :

FIXME

nc_thermodyn_recomb_get_Xe ()

gdouble             nc_thermodyn_recomb_get_Xe          (NcThermodynRecomb *recomb);

FIXME

recomb :

a NcThermodynRecomb

Returns :

FIXME

nc_thermodyn_recomb_get_Xe_at ()

gdouble             nc_thermodyn_recomb_get_Xe_at       (NcThermodynRecomb *recomb,
                                                         gdouble x);

FIXME

recomb :

a NcThermodynRecomb

x :

FIXME

Returns :

FIXME

nc_thermodyn_recomb_log_g ()

gdouble             nc_thermodyn_recomb_log_g           (NcThermodynRecomb *recomb,
                                                         gdouble x);

FIXME

recomb :

a NcThermodynRecomb

x :

FIXME

Returns :

FIXME

nc_thermodyn_recomb_new ()

NcThermodynRecomb * nc_thermodyn_recomb_new             (NcHICosmo *model,
                                                         NcThermodynRecombType type);

FIXME

model :

a NcmModel, cosmological parameters for a given model

type :

a NcThermodynRecombType

nc_thermodyn_recomb_optical_depth ()

gdouble             nc_thermodyn_recomb_optical_depth   (NcThermodynRecomb *recomb,
                                                         gdouble x);

FIXME

recomb :

a NcThermodynRecomb

x :

FIXME

Returns :

FIXME

nc_thermodyn_recomb_optical_depth_R_x0_x1 ()

gdouble             nc_thermodyn_recomb_optical_depth_R_x0_x1
                                                        (NcThermodynRecomb *recomb,
                                                         gdouble x0,
                                                         gdouble x1);

FIXME

recomb :

a NcThermodynRecomb

x0 :

FIXME

x1 :

FIXME

Returns :

FIXME

nc_thermodyn_recomb_optical_depth_x0_x1 ()

gdouble             nc_thermodyn_recomb_optical_depth_x0_x1
                                                        (NcThermodynRecomb *recomb,
                                                         gdouble x0,
                                                         gdouble x1);

FIXME

recomb :

a NcThermodynRecomb

x0 :

FIXME

x1 :

FIXME

Returns :

FIXME

nc_thermodyn_recomb_peak_x ()

gdouble             nc_thermodyn_recomb_peak_x          (NcThermodynRecomb *recomb);

FIXME

recomb :

a NcThermodynRecomb

Returns :

FIXME

nc_thermodyn_recomb_reinit ()

gboolean            nc_thermodyn_recomb_reinit          (NcThermodynRecomb *recomb);

FIXME

recomb :

a NcThermodynRecomb

Returns :

FIXME

nc_thermodyn_recomb_reset ()

gboolean            nc_thermodyn_recomb_reset           (NcThermodynRecomb *recomb);

FIXME

recomb :

a NcThermodynRecomb

Returns :

FIXME

nc_thermodyn_recomb_taubar ()

gdouble             nc_thermodyn_recomb_taubar          (NcThermodynRecomb *recomb,
                                                         gdouble x);

FIXME

recomb :

a NcThermodynRecomb

x :

FIXME

Returns :

FIXME

nc_thermodyn_recomb_taubbar ()

gdouble             nc_thermodyn_recomb_taubbar         (NcThermodynRecomb *recomb,
                                                         gdouble x);

FIXME

recomb :

a NcThermodynRecomb

x :

FIXME

Returns :

FIXME

nc_thermodyn_recomb_taubbar_val ()

void                nc_thermodyn_recomb_taubbar_val     (NcThermodynRecomb *recomb,
                                                         gdouble x,
                                                         gdouble *taubar,
                                                         gdouble *taubbar);

FIXME

recomb :

a NcThermodynRecomb

x :

FIXME

taubar :

FIXME

taubbar :

FIXME

nc_thermodyn_recomb_taubbbar ()

gdouble             nc_thermodyn_recomb_taubbbar        (NcThermodynRecomb *recomb,
                                                         gdouble x);

FIXME

recomb :

a NcThermodynRecomb

x :

FIXME

Returns :

FIXME