CLASS MANUAL
nonlinear_test.h
1 
3 #include "primordial.h"
4 
5 #ifndef __NONLINEAR__
6 #define __NONLINEAR__
7 
8 #define _M_EV_TOO_BIG_FOR_HALOFIT_ 10.
10 enum non_linear_method {nl_none,nl_halofit};
11 
20 struct nonlinear {
21 
28 
29  enum non_linear_method method;
30 
32 
36 
37  int k_size;
38  double * k;
39  int tau_size;
40  double * tau;
42  double * nl_corr_density;
43  double * k_nl;
44 
46 
50 
51  short nonlinear_verbose;
53  ErrorMsg error_message;
56 };
57 
58 /********************************************************************************/
59 
60 /*
61  * Boilerplate for C++
62  */
63 #ifdef __cplusplus
64 extern "C" {
65 #endif
66 
67  int nonlinear_k_nl_at_z(
68  struct background *pba,
69  struct nonlinear * pnl,
70  double z,
71  double * k_nl
72  );
73 
74  int nonlinear_init(
75  struct precision *ppr,
76  struct background *pba,
77  struct thermo *pth,
78  struct perturbs *ppt,
79  struct primordial *ppm,
80  struct nonlinear *pnl
81  );
82 
83  int nonlinear_free(
84  struct nonlinear *pnl
85  );
86 
87  int nonlinear_pk_l(struct perturbs *ppt,
88  struct primordial *ppm,
89  struct nonlinear *pnl,
90  int index_tau,
91  double *pk_l);
92 
94  struct precision *ppr,
95  struct background *pba,
96  struct primordial *ppm,
97  struct nonlinear *pnl,
98  double tau,
99  double *pk_l,
100  double *pk_nl,
101  double *k_nl
102  );
103 
104 #ifdef __cplusplus
105 }
106 #endif
107 
108 /**************************************************************/
109 
110 #endif
int nonlinear_init(struct precision *ppr, struct background *pba, struct thermo *pth, struct perturbs *ppt, struct primordial *ppm, struct nonlinear *pnl)
Definition: nonlinear.c:52
Definition: background.h:25
Definition: perturbations.h:95
short nonlinear_verbose
Definition: nonlinear.h:51
enum non_linear_method method
Definition: nonlinear.h:29
Definition: thermodynamics.h:58
int nonlinear_halofit(struct precision *ppr, struct background *pba, struct primordial *ppm, struct nonlinear *pnl, double tau, double *pk_l, double *pk_nl, double *lnk_l, double *lnpk_l, double *ddlnpk_l, double *k_nl)
Definition: nonlinear.c:314
double * nl_corr_density
Definition: nonlinear.h:42
int k_size
Definition: nonlinear.h:37
ErrorMsg error_message
Definition: nonlinear.h:53
double * tau
Definition: nonlinear.h:40
double * k
Definition: nonlinear.h:38
int tau_size
Definition: nonlinear.h:39
double * k_nl
Definition: nonlinear.h:43
Definition: common.h:345
Definition: primordial.h:79
Definition: nonlinear.h:20