CLASSpp Manual
Cosmology reference and developer manual
Loading...
Searching...
No Matches
nonlinear.h
Go to the documentation of this file.
1
3#include <vector>
4
5#include "primordial.h"
6#include "trigonometric_integrals.h"
7
8#ifndef __NONLINEAR__
9#define __NONLINEAR__
10
11#define _M_EV_TOO_BIG_FOR_HALOFIT_ \
12 10.
14#define _M_SUN_ 1.98847e30
16#define _MAX_NUM_EXTRAPOLATION_ 100000
17
18enum non_linear_method { nl_none, nl_halofit, nl_HMcode };
19enum pk_outputs { pk_linear, pk_nonlinear };
20
21enum source_extrapolation {
22 extrap_zero,
23 extrap_only_max,
24 extrap_only_max_units,
25 extrap_max_scaled,
26 extrap_hmcode,
27 extrap_user_defined
28};
29
30enum halofit_integral_type { halofit_integral_one, halofit_integral_two, halofit_integral_three };
31
32enum hmcode_baryonic_feedback_model {
33 nl_emu_dmonly,
34 nl_owls_dmonly,
35 nl_owls_ref,
36 nl_owls_agn,
37 nl_owls_dblim,
38 nl_user_defined
39};
40enum out_sigmas { out_sigma, out_sigma_prime, out_sigma_disp };
41
49struct nonlinear {
56
57 enum non_linear_method method =
58 nl_none;
60 enum source_extrapolation extrapolation_method =
61 extrap_max_scaled;
63 enum hmcode_baryonic_feedback_model feedback =
64 nl_emu_dmonly;
66 double c_min;
67 double eta_0;
68 double z_infinity =
69 10.;
72
73 bool has_pk_eq = false;
78
82};
83
93
94 std::vector<double> rtab;
95 std::vector<double> stab;
96 std::vector<double> ddstab;
98 std::vector<double> growtable;
99 std::vector<double> ztable;
100 std::vector<double> tautable;
101
102 std::vector<double*> sigma_8; /* row pointers into sigma_8_storage */
103 std::vector<double*> sigma_disp; /* row pointers into sigma_disp_storage */
104 std::vector<double*> sigma_disp_100; /* row pointers into sigma_disp_100_storage */
105 std::vector<double*> sigma_prime; /* row pointers into sigma_prime_storage */
106
107 std::vector<std::vector<double>> sigma_8_storage;
108 std::vector<std::vector<double>> sigma_disp_storage;
109 std::vector<std::vector<double>> sigma_disp_100_storage;
110 std::vector<std::vector<double>> sigma_prime_storage;
111
112 double dark_energy_correction;
117};
118
119#endif
bool has_pk_eq
Definition nonlinear.h:73
double c_min
Definition nonlinear.h:66
std::vector< double > ddstab
Definition nonlinear.h:96
std::vector< double > growtable
Definition nonlinear.h:98
short nonlinear_verbose
Definition nonlinear.h:79
double eta_0
Definition nonlinear.h:67
enum non_linear_method method
Definition nonlinear.h:57
double z_infinity
Definition nonlinear.h:68
std::vector< double > stab
Definition nonlinear.h:95
enum source_extrapolation extrapolation_method
Definition nonlinear.h:60
Definition nonlinear.h:49
Definition nonlinear.h:89