CLASS MANUAL
|
#include "background.h"
Go to the source code of this file.
Data Structures | |
struct | thermo |
struct | recombination |
struct | reionization |
struct | thermodynamics_parameters_and_workspace |
Macros | |
#define | f1(x) (-0.75*x*(x*x/3.-1.)+0.5) |
#define | f2(x) (x*x*(0.5-x/3.)*6.) |
#define | _YHE_BIG_ 0.5 |
#define | _YHE_SMALL_ 0.01 |
Enumerations | |
enum | recombination_algorithm |
enum | reionization_parametrization { reio_none, reio_camb, reio_bins_tanh, reio_half_tanh, reio_many_tanh, reio_inter } |
enum | reionization_z_or_tau { reio_z, reio_tau } |
Documented includes for thermodynamics module
struct thermo |
All thermodynamics parameters and evolution that other modules need to know.
Once initialized by thermodynamics_init(), contains all the necessary information on the thermodynamics, and in particular, a table of thermodynamical quantities as a function of the redshift, used for interpolation in other modules.
Data Fields | ||
---|---|---|
double | YHe |
|
enum recombination_algorithm | recombination |
recombination code |
enum reionization_parametrization | reio_parametrization |
reionization scheme |
enum reionization_z_or_tau | reio_z_or_tau |
is the input parameter the reionization redshift or optical depth? |
double | tau_reio |
if above set to tau, input value of reionization optical depth |
double | z_reio |
if above set to z, input value of reionization redshift |
short | compute_cb2_derivatives |
do we want to include in computation derivatives of baryon sound speed? |
short | compute_damping_scale |
do we want to compute the simplest analytic approximation to the photon damping (or diffusion) scale? |
double | reionization_width |
parameters for reio_camb width of H reionization |
double | reionization_exponent |
shape of H reionization |
double | helium_fullreio_redshift |
redshift for of helium reionization |
double | helium_fullreio_width |
width of helium reionization |
int | binned_reio_num |
parameters for reio_bins_tanh with how many bins do we want to describe reionization? |
double * | binned_reio_z |
central z value for each bin |
double * | binned_reio_xe |
imposed |
double | binned_reio_step_sharpness |
sharpness of tanh() step interpolating between binned values |
int | many_tanh_num |
parameters for reio_many_tanh with how many jumps do we want to describe reionization? |
double * | many_tanh_z |
central z value for each tanh jump |
double * | many_tanh_xe |
imposed |
double | many_tanh_width |
sharpness of tanh() steps |
int | reio_inter_num |
parameters for reio_inter with how many jumps do we want to describe reionization? |
double * | reio_inter_z |
discrete z values |
double * | reio_inter_xe |
discrete |
double | annihilation |
parameters for energy injection |
short | has_on_the_spot |
parameter describing CDM annihilation (f <sigma*v> / m_cdm, see e.g. 0905.0003) |
double | decay |
flag to specify if we want to use the on-the-spot approximation |
double | annihilation_variation |
parameter describing CDM decay (f/tau, see e.g. 1109.6322) |
double | annihilation_z |
if this parameter is non-zero, the function F(z)=(f <sigma*v> / m_cdm)(z) will be a parabola in log-log scale between zmin and zmax, with a curvature given by annihlation_variation (must be negative), and with a maximum in zmax; it will be constant outside this range |
double | annihilation_zmax |
if annihilation_variation is non-zero, this is the value of z at which the parameter annihilation is defined, i.e. F(annihilation_z)=annihilation |
double | annihilation_zmin |
if annihilation_variation is non-zero, redshift above which annihilation rate is maximal |
double | annihilation_f_halo |
if annihilation_variation is non-zero, redshift below which annihilation rate is constant |
double | annihilation_z_halo |
takes the contribution of DM annihilation in halos into account |
int | index_th_xe |
ionization fraction |
int | index_th_dkappa |
Thomson scattering rate |
int | index_th_tau_d |
Baryon drag optical depth |
int | index_th_ddkappa |
scattering rate derivative |
int | index_th_dddkappa |
scattering rate second derivative |
int | index_th_exp_m_kappa |
|
int | index_th_g |
visibility function |
int | index_th_dg |
visibility function derivative |
int | index_th_ddg |
visibility function second derivative |
int | index_th_Tb |
baryon temperature |
int | index_th_cb2 |
squared baryon sound speed |
int | index_th_dcb2 |
derivative wrt conformal time of squared baryon sound speed |
int | index_th_ddcb2 |
second derivative wrt conformal time of squared baryon sound speed |
int | index_th_rate |
maximum variation rate of |
int | index_th_r_d |
simple analytic approximation to the photon comoving damping scale |
int | th_size |
size of thermodynamics vector |
int | tt_size |
number of lines (redshift steps) in the tables |
double * | z_table |
vector z_table[index_z] with values of redshift (vector of size tt_size) |
double * | thermodynamics_table |
table thermodynamics_table[index_z*pth->tt_size+pba->index_th] with all other quantities (array of size th_size*tt_size) |
double * | d2thermodynamics_dz2_table |
table d2thermodynamics_dz2_table[index_z*pth->tt_size+pba->index_th] with values of |
double | z_rec |
z at which the visibility reaches its maximum (= recombination redshift) |
double | tau_rec |
conformal time at which the visibility reaches its maximum (= recombination time) |
double | rs_rec |
comoving sound horizon at recombination |
double | ds_rec |
physical sound horizon at recombination |
double | ra_rec |
conformal angular diameter distance to recombination |
double | da_rec |
physical angular diameter distance to recombination |
double | rd_rec |
comoving photon damping scale at recombination |
double | z_d |
baryon drag redshift |
double | tau_d |
baryon drag time |
double | ds_d |
physical sound horizon at baryon drag |
double | rs_d |
comoving sound horizon at baryon drag |
double | tau_cut |
at at which the visibility goes below a fixed fraction of the maximum visibility, used for an approximation in perturbation module |
double | angular_rescaling |
[ratio ra_rec / (tau0-tau_rec)]: gives CMB rescaling in angular space relative to flat model (=1 for curvature K=0) |
double | tau_free_streaming |
minimum value of tau at which sfree-streaming approximation can be switched on |
double | tau_ini |
initial conformal time at which thermodynamical variables have been be integrated |
double | n_e |
total number density of electrons today (free or not) |
short | inter_normal |
flag for calling thermodynamics_at_z and find position in interpolation table normally |
short | inter_closeby |
flag for calling thermodynamics_at_z and find position in interpolation table starting from previous position in previous call |
short | thermodynamics_verbose |
flag regulating the amount of information sent to standard output (none if set to zero) |
ErrorMsg | error_message |
zone for writing error messages |
struct recombination |
Temporary structure where all the recombination history is defined and stored.
This structure is used internally by the thermodynamics module, but never passed to other modules.
struct reionization |
Temporary structure where all the reionization history is defined and stored.
This structure is used internally by the thermodynamics module, but never passed to other modules.
struct thermodynamics_parameters_and_workspace |
temporary parameters and workspace passed to the thermodynamics_derivs function
#define f1 | ( | x | ) | (-0.75*x*(x*x/3.-1.)+0.5) |
Two useful smooth step functions, for smoothing transitions in recfast.goes from 0 to 1 when x goes from -1 to 1
#define f2 | ( | x | ) | (x*x*(0.5-x/3.)*6.) |
goes from 0 to 1 when x goes from 0 to 1
#define _YHE_BIG_ 0.5 |
maximal
#define _YHE_SMALL_ 0.01 |
minimal
List of possible recombination algorithms.
List of possible reionization schemes.