CLASS MANUAL
nonlinear.h
Go to the documentation of this file.
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;
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;
46 
50 
53  ErrorMsg error_message;
56 };
57 
58 /********************************************************************************/
59 
60 /* @cond INCLUDE_WITH_DOXYGEN */
61 /*
62  * Boilerplate for C++
63  */
64 #ifdef __cplusplus
65 extern "C" {
66 #endif
67 
68  int nonlinear_k_nl_at_z(
69  struct background *pba,
70  struct nonlinear * pnl,
71  double z,
72  double * k_nl
73  );
74 
75  int nonlinear_init(
76  struct precision *ppr,
77  struct background *pba,
78  struct thermo *pth,
79  struct perturbs *ppt,
80  struct primordial *ppm,
81  struct nonlinear *pnl
82  );
83 
84  int nonlinear_free(
85  struct nonlinear *pnl
86  );
87 
88  int nonlinear_pk_l(struct perturbs *ppt,
89  struct primordial *ppm,
90  struct nonlinear *pnl,
91  int index_tau,
92  double *pk_l,
93  double *lnk,
94  double *lnpk,
95  double *ddlnpk);
96 
98  struct precision *ppr,
99  struct background *pba,
100  struct primordial *ppm,
101  struct nonlinear *pnl,
102  double tau,
103  double *pk_l,
104  double *lnk,
105  double *lnpk,
106  double *ddlnpk,
107  double *pk_nl,
108  double *k_nl
109  );
110 
111 #ifdef __cplusplus
112 }
113 #endif
114 
115 /**************************************************************/
116 
117 #endif
118 /* @endcond */
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