Documented halo-model computation of line power spectrum, including clustering and stochastic contributions beyond Poisson limit. More...
#include "header.h"
Functions | |
| double | PS_line_HM (struct Cosmology *Cx, double k, double z, double M_min, long mode_mf, long line_type, int line_id) |
| Compute the clustering contribution to the line power spectrum using halo-model. More... | |
| double | PS_shot_HM (struct Cosmology *Cx, double k, double z, double M_min, double *input, long mode_mf, long line_type, int line_id) |
| Compute the shot noise contributions, including corrections beyond poisson limit (see 1706.08738 for more details) If nfw=1, the dependance of the power spectrum on the halo profile is neglected. More... | |
| static int | mhmc_integ (const int *ndim, const cubareal x[], const int *ncomp, cubareal ff[], void *p) |
| The integrand function passed passed to Cuhre integration routine of CUBA library to compute the corrections to mass integration. More... | |
| void | mhmc (struct Cosmology *Cx, double z, long mode_mf, double *result) |
| Compute the corrections to mass integration of HM matter power spectrum. More... | |
| static int | HM_1h2h_integ (const int *ndim, const cubareal x[], const int *ncomp, cubareal ff[], void *p) |
| The integrand function passed passed to Cuhre integration routine to compute 1- and 2-halo integrals. More... | |
| void | HM_1h2h (struct Cosmology *Cx, double k, double z, double M_min, long mode_mf, long line_type, long mode_hm, double *result) |
| Compute the mass integrals needed for 1- and 1-halo line, line-matter and matter power spectrum If nfw=1, the dependance of the power spectrum on the halo profile is neglected. More... | |
| static int | b22_ls_integrand (const int *ndim, const cubareal x[], const int *ncomp, cubareal ff[], void *p) |
| The integrand function passed passed to Cuhre integration routine to compute large-scale limit of b22 (shot-noise contribution) More... | |
| double | b22_ls (struct Cosmology *Cx, double z) |
| Compute the large-scale limit of P_b2b2 loop. More... | |
Documented halo-model computation of line power spectrum, including clustering and stochastic contributions beyond Poisson limit.
Azadeh Moradinezhad Dizgah, November 4th 2021
This module has two main functions:
The other functions in these modules are utilities for computing the above two main functions.
In summary, the following functions can be called from other modules:
| double b22_ls | ( | struct Cosmology * | Cx, |
| double | z | ||
| ) |
Compute the large-scale limit of P_b2b2 loop.
| Cx | Input: Cosmology structure |
| z | Input: redshift |


|
static |
The integrand function passed passed to Cuhre integration routine to compute large-scale limit of b22 (shot-noise contribution)
| ndim | Input: Dimensionality of the domain of integration |
| x | Input: An array of integration variables |
| ncomp | Input: Dimensionality of the integrand function |
| ff | Input: Array of values of the integrand of dimension fdim |
| p | Input: integration parmaeters return the error status |


| void HM_1h2h | ( | struct Cosmology * | Cx, |
| double | k, | ||
| double | z, | ||
| double | M_min, | ||
| long | mode_mf, | ||
| long | line_type, | ||
| long | mode_hm, | ||
| double * | result | ||
| ) |
Compute the mass integrals needed for 1- and 1-halo line, line-matter and matter power spectrum If nfw=1, the dependance of the power spectrum on the halo profile is neglected.
Otherwise, NFW halo profile is assumed
| Cx | Input: Cosmology structure |
| k | Input: wavenumber in unit of 1/Mpc. |
| z | Input: redshift |
| M_min | Input: minimum halo mass for mass integrals |
| mode_mf | Input: theoretical model of halo mass function to use. It can be set to sheth-Tormen (ST), Tinker (TR) or Press-Schecter (PSC) |
| line_type | Input: name of the line to compute. It can be set to CII, CO10, CO21, CO32, CO43, CO54, CO65 |
| mode_hm | Input: a switch to decide whetehr to compute gthe mass integrations. It can be set to:
|
| result | Output: anarray of the integration results. Number of elements varies depending on mode_hm switch:
|


|
static |
The integrand function passed passed to Cuhre integration routine to compute 1- and 2-halo integrals.
| ndim | Input: Dimensionality of the domain of integration |
| x | Input: An array of integration variables |
| ncomp | Input: Dimensionality of the integrand function |
| ff | Input: Array of values of the integrand of dimension fdim |
| p | Input: integration parmaeters return the error status |
we assume the profile of both matter and line are NFW
integrand of line 1halo term
integrand of 2halo term proportional to b1, the linear local-in-matter halo bias
integrand of 1halo term of line-matter cross-spectrum


| void mhmc | ( | struct Cosmology * | Cx, |
| double | z, | ||
| long | mode_mf, | ||
| double * | result | ||
| ) |
Compute the corrections to mass integration of HM matter power spectrum.
| Cx | Input: Cosmology structure |
| z | Input: redshift |
| mode_mf | Inpute: theoretical model of halo mass function to use. It can be set to Press-Schecter (PSC), sheth-Tormen (ST), Tinker (TR) |
| result | Output: a 2d array of the integration results,
|


|
static |
The integrand function passed passed to Cuhre integration routine of CUBA library to compute the corrections to mass integration.
When computing the matter power spectrum using halo-model, the mass integrations for 1- and 2-loop terms get contributions from halos of all masses. For numerical computation, we need to impose a lower and upper integration limit. While the result of the integration are not sensitive to the upper bound (due to the fact that the mass function drops rapidly at high M_h) the choice of the lower bound affects the results. We can compute the leading order corrections to the integral that are accurate up to (k R_s)^2. (see App. A of arXiv:1511.02231 for more details.)
| ndim | Input: Dimensionality of the domain of integration |
| x | Input: An array of integration variables |
| ncomp | Input: Dimensionality of the integrand function |
| ff | Input: Array of values of the integrand of dimension fdim |
| p | Input: integration parmaeters return the error status |


| double PS_line_HM | ( | struct Cosmology * | Cx, |
| double | k, | ||
| double | z, | ||
| double | M_min, | ||
| long | mode_mf, | ||
| long | line_type, | ||
| int | line_id | ||
| ) |
Compute the clustering contribution to the line power spectrum using halo-model.
If nfw=1, the dependance of the power spectrum on the halo profile is neglected. Otherwise, NFW halo profile is assumed
| Cx | Input: pointer to Cosmology structure |
| k | Input: wavenumber in unit of 1/Mpc. |
| z | Input: redshift |
| M_min | Input: minimum halo mass for mass integrals |
| mode_mf | Inpute: theoretical model of halo mass function to use. It can be set to sheth-Tormen (ST), Tinker (TR) or Press-Schecter (PSC) |
| line_type | Inpute: name of the line to compute. It can be set to CII, CO10, CO21, CO32, CO43, CO54, CO65 |
| line_id | Inpute: id of the line to be considered. |
Boltzmann constant in unit of erg K^-1
in unit of erg/s
CII
to plot the power spectrum in units of micro K^2 Mpc^3
in unit of M_sun/Mpc^3


| double PS_shot_HM | ( | struct Cosmology * | Cx, |
| double | k, | ||
| double | z, | ||
| double | M_min, | ||
| double * | input, | ||
| long | mode_mf, | ||
| long | line_type, | ||
| int | line_id | ||
| ) |
Compute the shot noise contributions, including corrections beyond poisson limit (see 1706.08738 for more details) If nfw=1, the dependance of the power spectrum on the halo profile is neglected.
Otherwise, NFW halo profile is assumed
| Cx | Input: Cosmology structure |
| k | Input: wavenumber in unit of 1/Mpc. |
| z | Input: redshift |
| M_min | Input: minimum halo mass for mass integrals |
| input | inpute: an array of input values with 4 values, Tave_line, b1_line, pb22_ls, line_shot, rhom_bar |
| mode_mf | Inpute: theoretical model of halo mass function to use. It can be set to sheth-Tormen (ST), Tinker (TR) or Press-Schecter (PSC) |
| line_type | Inpute: name of the line to compute. It can be set to CII, CO10, CO21, CO32, CO43, CO54, CO65 |
Boltzmann constant in unit of erg K^-1
in unit of erg/s
CII
Since the following quantities do not depend on k, I am computing them once and pass them as input to this function
to plot the power spectrum in units of micro K^2 Mpc^3
in unit of M_sun/Mpc^3
in unit of M_sun/Mpc^3
in unit of M_sun/Mpc^3

