Fast Methods for Cosmological Simulations
FastSim serves as a tool for quick N-body simulations in modified gravity.
ccl_utils.h
Go to the documentation of this file.
1 
2 #ifndef __CCL_UTILS_H_INCLUDED__
3 #define __CCL_UTILS_H_INCLUDED__
4 
5 #include <gsl/gsl_spline.h>
6 
7 #define CCL_MIN(a, b) (((a) < (b)) ? (a) : (b))
8 #define CCL_MAX(a, b) (((a) > (b)) ? (a) : (b))
9 
11 
19 double * ccl_linear_spacing(double xmin, double xmax, int N);
20 
30 double * ccl_linlog_spacing(double xminlog, double xmin, double xmax, int Nlin, int Nlog);
31 
39 double * ccl_log_spacing(double xmin, double xmax, int N);
40 //Returns array of N logarithmically-spaced values between xmin and xmax
41 
42 double ccl_j_bessel(int l,double x);
43 //Spherical Bessel function of order l (adapted from CAMB)
44 
49 typedef struct {
50  gsl_interp_accel *intacc; //GSL spline
51  gsl_spline *spline;
52  double x0,xf; //Interpolation limits
53  double y0,yf; //Constant values to use beyond interpolation limit
54 } SplPar;
55 
56 SplPar *ccl_spline_init(int n,double *x,double *y,double y0,double yf);
57 
58 double ccl_spline_eval(double x,SplPar *spl);
59 
60 void ccl_spline_free(SplPar *spl);
61 
63 
64 #endif
double yf
Definition: ccl_utils.h:53
double ccl_j_bessel(int l, double x)
Definition: ccl_utils.c:190
double * ccl_log_spacing(double xmin, double xmax, int N)
Definition: ccl_utils.c:102
#define CCL_BEGIN_DECLS
Definition: ccl_defs.h:17
double * ccl_linlog_spacing(double xminlog, double xmin, double xmax, int Nlin, int Nlog)
Definition: ccl_utils.c:43
gsl_spline * spline
Definition: ccl_utils.h:51
CCL_BEGIN_DECLS double * ccl_linear_spacing(double xmin, double xmax, int N)
Definition: ccl_utils.c:14
double ccl_spline_eval(double x, SplPar *spl)
Definition: ccl_utils.c:170
static CCL_BEGIN_DECLS double x[111][8]
gsl_interp_accel * intacc
Definition: ccl_utils.h:50
void ccl_spline_free(SplPar *spl)
Definition: ccl_utils.c:316
#define CCL_END_DECLS
Definition: ccl_defs.h:18
double xf
Definition: ccl_utils.h:52
static double xmax[8]
static double xmin[8]
SplPar * ccl_spline_init(int n, double *x, double *y, double y0, double yf)
Definition: ccl_utils.c:146