CosmoBolognaLib
Free Software C++/Python libraries for cosmological calculations
cbl::cosmology::EisensteinHu Class Reference

The class EisensteinHu. More...

#include <EisensteinHu.h>

Public Member Functions

int TFmdm_set_cosm (double omega_matter, double omega_baryon, double omega_hdm, int degen_hdm, double omega_lambda, double hubble, double redshift, double As=2.56e-9, double k_pivot=0.05, double n_spec=0.96)
 set the cosmological parameters More...
 
double TFmdm_onek_mpc (double kk)
 compute the transfer function \( T(k) \) More...
 
double TFmdm_onek_hmpc (double kk)
 compute the transfer function \( T(k) \) More...
 
double Pk (double kk)
 get the power spectrum in unit of h^{-3}Mpc^{-3} More...
 
std::vector< double > Pk (std::vector< double > kk)
 get the power spectrum in unit of h^{-3}Mpc^{-3} More...
 
Constructors/destructors
 EisensteinHu ()=default
 default constructor
 
 ~EisensteinHu ()=default
 default destructor
 

Protected Attributes

double alpha_gamma
 sqrt(alpha_nu)
 
double alpha_nu
 the small-scale suppression
 
double beta_c
 the correction to the log in the small-scale
 
double num_degen_hdm
 number of degenerate massive neutrino species
 
double f_baryon
 baryon fraction
 
double f_bnu
 baryon + Massive Neutrino fraction
 
double f_cb
 baryon + CDM fraction
 
double f_cdm
 CDM fraction.
 
double f_hdm
 massive Neutrino fraction
 
double growth_k0
 D_1(z) – the growth function as k->0.
 
double growth_to_z0
 D_1(z)/D_1(0) – the growth relative to z=0.
 
double hhubble
 need to pass Hubble constant to TFmdm_onek_hmpc()
 
double k_equality
 the comoving wave number of the horizon at equality
 
double obhh
 Omega_baryon * hubble^2.
 
double omega_curv
 = 1 - omega_matter - omega_lambda
 
double omega_lambda_z
 Omega_lambda at the given redshift.
 
double omega_matter_z
 Omega_matter at the given redshift.
 
double omhh
 Omega_matter * hubble^2.
 
double onhh
 Omega_hdm * hubble^2.
 
double p_c
 the correction to the exponent before drag epoch
 
double p_cb
 the correction to the exponent after drag epoch
 
double sound_horizon_fit
 the sound horizon at the drag epoch
 
double theta_cmb
 the temperature of the CMB; in units of 2.7 K
 
double y_drag
 ratio of z_equality to z_drag
 
double z_drag
 redshift of the drag epoch
 
double z_equality
 redshift of matter-radiation equality
 
double gamma_eff
 effective \(gamma\)
 
double growth_cb
 growth factor for CDM+Baryon perturbations
 
double growth_cbnu
 growth factor for CDM+Baryon+Neutrino pert.
 
double max_fs_correction
 correction near maximal free streaming
 
double qq
 wavenumber rescaled by \(\gamma\)
 
double qq_eff
 wavenumber rescaled by effective Gamma
 
double qq_nu
 wavenumber compared to maximal free streaming
 
double tf_master
 master TF
 
double tf_sup
 suppressed TF
 
double y_freestream
 the epoch of free-streaming for a given scale
 
double tf_cb
 the transfer function for density-weighted CDM + Baryon perturbations.
 
double tf_cbnu
 the transfer function for density-weighted CDM + Baryon + Massive Neutrino perturbations.
 
double pk_normalization
 the power spectrum normalization
 
double ns
 the spectral index
 

Detailed Description

The class EisensteinHu.

"Headers/EisensteinHu.h"

This class is used to handle objects of type EisensteinHu . It contains all the functions and fitting formulae for CDM + Baryon + Massive Neutrino (MDM) cosmologies

Definition at line 54 of file EisensteinHu.h.

Member Function Documentation

◆ Pk() [1/2]

double cbl::cosmology::EisensteinHu::Pk ( double  kk)
inline

get the power spectrum in unit of h^{-3}Mpc^{-3}

Parameters
kkwavenumber in h Mpc^-1
Returns
the power spectrum in unit of h^{-3}Mpc^{-3}

Definition at line 407 of file EisensteinHu.h.

◆ Pk() [2/2]

std::vector<double> cbl::cosmology::EisensteinHu::Pk ( std::vector< double >  kk)
inline

get the power spectrum in unit of h^{-3}Mpc^{-3}

Parameters
kkvector of wavenumbers in h Mpc^-1
Returns
vector with the power spectrum in unit of h^{-3}Mpc^{-3}

Definition at line 424 of file EisensteinHu.h.

◆ TFmdm_onek_hmpc()

double cbl::cosmology::EisensteinHu::TFmdm_onek_hmpc ( double  kk)
inline

compute the transfer function \( T(k) \)

Given a wavenumber in h Mpc^-1, return the transfer function for the cosmology held in the global variables.

Parameters
kkWavenumber in h Mpc^-1
Returns
the transfer function for density-weighted CDM+Baryon perturbations

Definition at line 395 of file EisensteinHu.h.

◆ TFmdm_onek_mpc()

double cbl::cosmology::EisensteinHu::TFmdm_onek_mpc ( double  kk)
inline

compute the transfer function \( T(k) \)

Given a wavenumber in Mpc^-1, return the transfer function for the cosmology held in the global variables.

Parameters
kkWavenumber in Mpc^-1
Returns
the transfer function for density-weighted CDM+Baryon perturbations

Definition at line 351 of file EisensteinHu.h.

◆ TFmdm_set_cosm()

int cbl::cosmology::EisensteinHu::TFmdm_set_cosm ( double  omega_matter,
double  omega_baryon,
double  omega_hdm,
int  degen_hdm,
double  omega_lambda,
double  hubble,
double  redshift,
double  As = 2.56e-9,
double  k_pivot = 0.05,
double  n_spec = 0.96 
)
inline

set the cosmological parameters

This routine takes cosmological parameters and a redshift and sets up all the internal scalar quantities needed to compute the transfer function.

Parameters
omega_matterdensity of CDM, baryons, and massive neutrinos, in units of the critical density
omega_baryondensity of baryons, in units of critical
omega_hdmdensity of massive neutrinos, in units of critical
degen_hdmnumber of degenerate massive neutrino species
omega_lambdacosmological constant
hubbleHubble constant, in units of 100 km/s/Mpc
redshiftthe redshift at which to evaluate
Asthe amplitude of the curvature perturbations
k_pivotthe scalar pivot k in \(Mpc^{-1}\)
n_specthe primordial spectral index
Returns
0 if all is well, 1 if a warning was issued

Definition at line 231 of file EisensteinHu.h.


The documentation for this class was generated from the following file: