Fast Methods for Cosmological Simulations
FastSim serves as a tool for quick N-body simulations in modified gravity.
common.h
Go to the documentation of this file.
1 #ifndef _COMMON_
2 #define _COMMON_
3 
4 #include <stdio.h>
5 #include <stdlib.h>
6 #include <string.h>
7 #include <math.h>
8 #include <gsl/gsl_spline.h>
9 #include <gsl/gsl_roots.h>
10 #include "params.h"
11 //#include "dam_utils.h"
12 #include "cosmo_mad.h"
13 
14 #define DTOR 0.01745329251
15 
16 typedef struct {
17  gsl_interp_accel *intacc;
18  gsl_spline *spline;
19  double x0,xf;
20  double y0,yf;
21 } SplPar;
22 
23 typedef struct {
24  double om,ol,ob;
25  double w0,wa,h0;
26  double ns,s8;
27  char **fname_window;
28  char fname_bias[256];
29  char fname_sbias[256];
30  char fname_pk[256];
31  char prefix_out[256];
32  int lmax;
33  Csm_params *cpar;
34  double chi_horizon;
35  double chi_LSS;
37  double dchi;
38  int do_nc;
39  int do_shear;
41  int do_isw;
42  int has_bg;
43  int has_dens;
44  int has_rsd;
56  double *cl_dd;
57  double *cl_d1l2;
58  double *cl_d2l1;
59  double *cl_dc;
60  double *cl_di;
61  double *cl_ll;
62  double *cl_lc;
63  double *cl_li;
64  double *cl_cc;
65  double *cl_ci;
66  double *cl_ii;
69  double th_min;
70  double th_max;
71  int n_th;
73  double *wt_dd;
74  double *wt_d1l2;
75  double *wt_d2l1;
76  double *wt_dc;
77  double *wt_di;
78  double *wt_ll_pp;
79  double *wt_ll_mm;
80  double *wt_lc;
81  double *wt_li;
82  double *wt_cc;
83  double *wt_ci;
84  double *wt_ii;
85 } RunParams;
86 
87 //Defined in common.c
88 void dam_report_error(int level,char *fmt,...);
89 void *dam_malloc(size_t size);
90 void *dam_calloc(size_t nmemb,size_t size);
91 FILE *dam_fopen(const char *path,const char *mode);
92 int dam_linecount(FILE *f);
93 SplPar *spline_init(int n,double *x,double *y,double y0,double yf);
94 double spline_eval(double x,SplPar *spl);
95 void spline_free(SplPar *spl);
96 RunParams *param_new(void);
97 void param_free(RunParams *par);
98 
99 //Defined in cosmo.c
100 RunParams *init_params(char *fname_ini);
101 
102 //Defined in transfers.c
103 double transfer_wrap(int l,double k,RunParams *par,char *trtype,int ibin);
104 
105 //Defined in spectra.c
106 void compute_spectra(RunParams *par);
107 void compute_w_theta(RunParams *par);
108 
109 //Defined in io.c
110 int read_parameter_file(char *fname,RunParams *par);
111 void write_output(RunParams *par);
112 
113 #endif //_COMMON_
double * cl_ci
Definition: common.h:65
double * wt_d1l2
Definition: common.h:74
SplPar * sbias
Definition: common.h:55
double chi_horizon
Definition: common.h:34
double * wt_di
Definition: common.h:77
double * wt_li
Definition: common.h:81
double prefac_lensing
Definition: common.h:36
int read_parameter_file(char *fname, RunParams *par)
Definition: io.c:112
double transfer_wrap(int l, double k, RunParams *par, char *trtype, int ibin)
Definition: transfers.c:107
double * cl_d1l2
Definition: common.h:57
int do_isw
Definition: common.h:41
void * dam_calloc(size_t nmemb, size_t size)
Definition: common.c:11
double chi_LSS
Definition: common.h:35
double * wt_dc
Definition: common.h:76
SplPar * hofchi
Definition: common.h:48
Csm_params * cpar
Definition: common.h:33
int dam_linecount(FILE *f)
Definition: common.c:29
SplPar * zofchi
Definition: common.h:47
int lmax
Definition: common.h:32
double * wt_lc
Definition: common.h:80
void compute_w_theta(RunParams *par)
Definition: spectra.c:149
void spline_free(SplPar *spl)
Definition: common.c:81
double * wt_ll_pp
Definition: common.h:78
RunParams * init_params(char *fname_ini)
Definition: cosmo.c:186
int do_cmblens
Definition: common.h:40
double th_max
Definition: common.h:70
void compute_spectra(RunParams *par)
Definition: spectra.c:40
SplPar * gfofchi
Definition: common.h:49
double om
Definition: common.h:24
double * cl_cc
Definition: common.h:64
SplPar ** wind_0
Definition: common.h:51
int n_th
Definition: common.h:71
double * cl_di
Definition: common.h:60
int n_th_logint
Definition: common.h:72
static CCL_BEGIN_DECLS double x[111][8]
void dam_report_error(int level, char *fmt,...)
Definition: common.c:39
SplPar * aofchi
Definition: common.h:46
FILE * dam_fopen(const char *path, const char *mode)
Definition: common.c:20
double * cl_d2l1
Definition: common.h:58
double dchi
Definition: common.h:37
double * cl_ll
Definition: common.h:61
SplPar * bias
Definition: common.h:54
int do_shear
Definition: common.h:39
int do_nc
Definition: common.h:38
double * cl_dd
Definition: common.h:56
int has_rsd
Definition: common.h:44
double * wt_cc
Definition: common.h:82
SplPar ** wind_M
Definition: common.h:52
int has_dens
Definition: common.h:43
RunParams * param_new(void)
Definition: common.c:88
double th_min
Definition: common.h:69
double spline_eval(double x, SplPar *spl)
Definition: common.c:71
double * cl_li
Definition: common.h:63
double wa
Definition: common.h:25
void * dam_malloc(size_t size)
Definition: common.c:3
double * wt_d2l1
Definition: common.h:75
int has_bg
Definition: common.h:42
char ** fname_window
Definition: common.h:27
SplPar ** wind_L
Definition: common.h:53
SplPar * fgofchi
Definition: common.h:50
double * cl_ii
Definition: common.h:66
static double mode[351]
double * wt_ii
Definition: common.h:84
int has_lensing
Definition: common.h:45
void param_free(RunParams *par)
Definition: common.c:162
double * wt_ll_mm
Definition: common.h:79
double * cl_dc
Definition: common.h:59
double * wt_dd
Definition: common.h:73
double s8
Definition: common.h:26
SplPar * spline_init(int n, double *x, double *y, double y0, double yf)
Definition: common.c:57
int do_w_theta
Definition: common.h:67
int do_w_theta_logbin
Definition: common.h:68
void write_output(RunParams *par)
Definition: io.c:36
double * wt_ci
Definition: common.h:83
double * cl_lc
Definition: common.h:62