Fast Methods for Cosmological Simulations
FastSim serves as a tool for quick N-body simulations in modified gravity.
ccl_sample_power.c File Reference
#include <math.h>
#include <stdio.h>
#include <ccl.h>
#include <ccl_params.h>
Include dependency graph for ccl_sample_power.c:

Go to the source code of this file.

Functions

int main (int argc, char *argv[])
 

Function Documentation

int main ( int  argc,
char *  argv[] 
)

Definition at line 7 of file ccl_sample_power.c.

References ccl_cosmology_create(), ccl_cosmology_free(), ccl_halofit, ccl_linear, ccl_linear_matter_power(), ccl_nonlin_matter_power(), ccl_parameters_create_flat_lcdm(), ccl_sigma8(), ccl_sigmaR(), ccl_splines, ccl_cosmology::config, cl_cmbl_bm::cosmo, default_config, ccl_test_distances::h, K_MAX, ccl_spline_params::K_MIN, ccl_configuration::matter_power_spectrum_method, ccl_test_distances::n_s, ccl_test_distances::Omega_b, ccl_test_distances::Omega_c, p, and halomod_bm::params.

8 {
9  int status=0;
10  double Omega_c = 0.25;
11  double Omega_b = 0.05;
12  double h = 0.7;
13  double normp = 0.8; //2.1e-9
14  double n_s = 0.96;
15 
18 
19  ccl_parameters params = ccl_parameters_create_flat_lcdm(Omega_c, Omega_b, h, normp, n_s, &status);
20  ccl_cosmology * cosmo = ccl_cosmology_create(params, config);
21 
22  printf("# k [1/Mpc],P(k,z=0),P(k,z=1),P(k,z=2),P(k,z=3)\n");
23 
24  double k,p,p1,p2,p3=0;
25  double a_at_z1=0.5;
26  double a_at_z2=1./3.;
27  double a_at_z3=0.25;
29  for (k = ccl_splines->K_MIN; k<ccl_splines->K_MAX; k*=1.05) {
30  p = ccl_linear_matter_power(cosmo, k,1.0, &status);
31  p1 = ccl_linear_matter_power(cosmo,k, a_at_z1,&status);
32  p2 = ccl_linear_matter_power(cosmo,k, a_at_z2,&status);
33  p3 = ccl_linear_matter_power(cosmo,k, a_at_z3,&status);
34  printf("%le %le %le %le %le\n", k, p,p1,p2,p3);
35  }
36  }
37  else {
39  for (k = ccl_splines->K_MIN; k<ccl_splines->K_MAX; k*=1.05) {
40  p = ccl_nonlin_matter_power(cosmo, k,1.0,&status);
41  p1 = ccl_nonlin_matter_power(cosmo,k, a_at_z1,&status);
42  p2 = ccl_nonlin_matter_power(cosmo,k, a_at_z2,&status);
43  p3 = ccl_nonlin_matter_power(cosmo,k, a_at_z3,&status);
44  printf("%le %le %le %le %le\n", k, p,p1,p2,p3);
45  }
46  }
47  else {
48  printf("ccl_sample_power.c: Unknown power spectrum method.\n");
49  return 1;
50  }
51  }
52  printf("sigma8 = %.6lE\n", ccl_sigmaR(cosmo,8./h, 1.0, &status));
53  printf("Consistency check: sigma8 = %.6lE\n", ccl_sigma8(cosmo,&status));
54  printf("Completed. Status = %d\n",status);
55 
56  ccl_cosmology_free(cosmo);
57 
58  return 0;
59 }
matter_power_spectrum_t matter_power_spectrum_method
Definition: ccl_config.h:112
double ccl_nonlin_matter_power(ccl_cosmology *cosmo, double k, double a, int *status)
Definition: ccl_power.c:1562
#define K_MAX
ccl_spline_params * ccl_splines
Definition: ccl_core.c:47
ccl_cosmology * ccl_cosmology_create(ccl_parameters params, ccl_configuration config)
Definition: ccl_core.c:173
double ccl_linear_matter_power(ccl_cosmology *cosmo, double k, double a, int *status)
Definition: ccl_power.c:1506
void ccl_cosmology_free(ccl_cosmology *cosmo)
Definition: ccl_core.c:829
dictionary params
Definition: halomod_bm.py:27
static int p
Definition: ccl_emu17.c:25
double ccl_sigma8(ccl_cosmology *cosmo, int *status)
Definition: ccl_power.c:1777
const ccl_configuration default_config
Definition: ccl_core.c:21
ccl_configuration config
Definition: ccl_core.h:125
ccl_parameters ccl_parameters_create_flat_lcdm(double Omega_c, double Omega_b, double h, double norm_pk, double n_s, int *status)
Definition: ccl_core.c:505
double ccl_sigmaR(ccl_cosmology *cosmo, double R, double a, int *status)
Definition: ccl_power.c:1715