NcTransferFuncBBKS

NcTransferFuncBBKS — Bardeen, Bond, Kaiser and Szalay (BBKS) transfer function.

Stability Level

Stable, unless otherwise indicated

Functions

Properties

NcTransferFuncBBKSType type Read / Write / Construct

Types and Values

Object Hierarchy

    GEnum
    ╰── NcTransferFuncBBKSType
    GObject
    ╰── NcTransferFunc
        ╰── NcTransferFuncBBKS

Includes

#include <numcosmo/lss/nc_transfer_func_bbks.h>

Description

This objects implements the Bardeen, Bond, Kaiser and Szalay (BBKS) transfer function. See appendix G from Bardeen et al. (1986) [ads].

All three available transfer functions basically follow the same pattern, \begin{equation*} T(k) = \frac{\ln \left( 1 + 2.34q \right)}{2.34 q} \left[1 + 3.89 q + (16.1 q)^2 + (5.46 q)^3 + (6.71 q)^4 \right]^{-1/4} \, . \end{equation*} The difference is the parameter $q$:

  • Cold Dark Matter without baryons (NC_TRANSFER_FUNC_BBKS_TYPE_NOBARYONS): $$ q = k \frac{(T_{\mathrm{cmb}}/2.7)^2}{\Omega_m h^2} \, .$$

  • Cold Dark Matter with baryons (NC_TRANSFER_FUNC_BBKS_TYPE_BARYONS): $$ q = k \frac{(T_{\mathrm{cmb}}/2.7)^2}{\Omega_m h^2} \frac{1}{\exp\left( -\Omega_b - \sqrt{2h} \frac{\Omega_b}{\Omega_m} \right)} $$

  • Cold Dark Matter with baryons but without the radiation term (NC_TRANSFER_FUNC_BBKS_TYPE_CCL): $$ q = k \frac{1}{\Omega_m h^2} \frac{1}{\exp\left( -\Omega_b - \sqrt{2h} \frac{\Omega_b}{\Omega_m} \right)} $$

    Where $T_{\mathrm{cmb}}$ is cosmic microwave background radiation mean temperature today (nc_hicosmo_T_gamma0), $\Omega_m h^2$ is dimensionless total dust density today multiplied by the reduced Hubble constant, $h$, squared (nc_hicosmo_Omega_m0h2), $\Omega_b$ is the dimensionless baryon density today (nc_hicosmo_Omega_b0).

Functions

nc_transfer_func_bbks_new ()

NcTransferFunc *
nc_transfer_func_bbks_new (void);

Creates a new NcTransferFunc of the BBKS type.

Returns

A new NcTransferFunc.


nc_transfer_func_bbks_set_type ()

void
nc_transfer_func_bbks_set_type (NcTransferFuncBBKS *tf_bbks,
                                NcTransferFuncBBKSType bbks_type);

Sets BBKS variant type.

Parameters

tf_bbks

a NcTransferFuncBBKS

 

bbks_type

a NcTransferFuncBBKSType

 

Types and Values

enum NcTransferFuncBBKSType

BBKS transfer function variant.

Members

NC_TRANSFER_FUNC_BBKS_TYPE_NOBARYONS

BBKS without Baryions correction.

 

NC_TRANSFER_FUNC_BBKS_TYPE_BARYONS

BBKS with Baryions correction.

 

NC_TRANSFER_FUNC_BBKS_TYPE_CCL

BBKS with Baryions correction without T_gamma term (as implemented in CCL). Check why they modify it like this, is it an typo?

 

Property Details

The “type” property

  “type”                     NcTransferFuncBBKSType

The BBKS transfer function variant type to be applied in NcTransferFunc.

We have three options:

Owner: NcTransferFuncBBKS

Flags: Read / Write / Construct

Default value: NC_TRANSFER_FUNC_BBKS_TYPE_NOBARYONS