LALSimulation  5.4.0.1-fe68b98
LALSimIMRSpinEOB.h
Go to the documentation of this file.
1 #include <lal/LALSimInspiral.h>
2 #include <lal/LALSimIMR.h>
3 #include <gsl/gsl_spline.h>
4 #include <math.h>
5 
6 #include "LALSimIMREOBNRv2.h"
7 
8 #ifndef _LALSIMIMRSPINEOB_H
9 #define _LALSIMIMRSPINEOB_H
10 
11 #ifdef __GNUC__
12 #define UNUSED __attribute__ ((unused))
13 #else
14 #define UNUSED
15 #endif
16 
17 
18 
19 /**
20  * Set the total number of multipoles
21  * */
22 #define MAX_NUM_MODES 7
23 
24 
25 struct
27 {
31 
32  struct SpinEOBModes *next;
33 };
34 
35 /**
36  * Parameters for the spinning EOB model, used in calculating the Hamiltonian.
37  * The Hamiltonian is given in Barausse and Buonanno (http://arxiv.org/pdf/0912.3517)
38  * The parameters correspond to the following as found in the paper:
39  * KK - K found in the equations for \f$\Delta_i\f$ (Eqn 5.77-5.81)
40  * k0 - \f$\Delta_0\f$ given in Eqn 5.77
41  * k1 - \f$\Delta_1\f$ given in Eqn 5.78
42  * k2 - \f$\Delta_2\f$ given in Eqn 5.79
43  * k3 - \f$\Delta_3\f$ given in Eqn 5.80
44  * k4 - \f$\Delta_4\f$ given in Eqn 5.81
45  * b3 - \f$\omega^{fd}_2\f$ given in Eqn 5.40
46  * bb3 - \f$\omega^{fd}_1\f$ given in Eqn 5.40
47  * d1 - SO calibration parameter of SEOBNRv1
48  * d1v2 - SO calibration parameter of SEOBNRv2
49  * dheffSS - SS calibration parameter of SEOBNRv1
50  * dheffSSv2 - SS calibration parameter of SEOBNRv2
51  * tidal1 - tidal params of body 1
52  * tidal2 - tidal params of body 2
53  */
54 
55 typedef struct
56 tagSpinEOBHCoeffs
57 {
58  double KK;
59  double k0;
60  double k1;
61  double k2;
62  double k3;
63  double k4;
64  double k5;
65  double k5l;
66  double b3;
67  double bb3;
68  double d1;
69  double d1v2;
70  double dheffSS;
71  double dheffSSv2;
76 }
78 
79 typedef struct
80 tagSEOBHCoeffConstants
81 {
82 
83  double a0k2; //Coefficient of a^0 in k2
84  double a1k2; //Coefficient of a^1 in k2
85 
86  double a0k3; //Coefficient of a^0 in k3
87  double a1k3; //Coefficient of a^1 in k3
88 
89  double a0k4; //Coefficient of a^0 in k4
90  double a1k4; //Coefficient of a^1 in k4
91  double a2k4; //Coefficient of a^2 in k4
92 
93  double a0k5; //Coefficient of a^0 in k5
94  double a1k5; //Coefficient of a^1 in k5
95  double a2k5; //Coefficient of a^2 in k5
96 
97 }
99 
101 
102 /**
103  * Parameters for the spinning EOB model.
104  * 1) eobParams contains parameters common to nonspin and spin EOBNR models,
105  * including mass ratio, masses, pre-computed coefficients for potential, flux and waveforms,
106  * NQC coefficients and Newtonian multiple prefixes.
107  * 2) seobCoeffs contans parameters for calculating the spin EOB Hamiltonian.
108  * 3) s1Vec and s2Vec are individual spins, in unit of total mass.
109  * 4) sigmaStar and sigmaKerr are effective spins of the test-particle and background.
110  * 5) a is the spin value being used for test-particle limit spin terms.
111  * 6) alignedSpins and tortoise are controling flags.
112  */
113 
114 typedef struct
115 tagSpinEOBParams
116 {
131  int tortoise;
134  int use_hm;
142 }
144 
145 /* We need to encapsulate the data for the GSL derivative function */
146 typedef
147 struct tagHcapDerivParams
148 {
149  const REAL8 *values;
152 }
154 
155 /* We need to encapsulate the data for calculating spherical 2nd derivatives */
156 typedef
157 struct tagHcapSphDeriv2Params
158 {
159  const REAL8 *sphValues;
164 }
166 
167 /* We need to encapsulate the data for the GSL derivative function */
168 typedef
169 struct tagPrecEulerAnglesIntegration
170 {
171  gsl_spline *alpha_spline;
172  gsl_spline *beta_spline;
173  gsl_interp_accel *alpha_acc;
174  gsl_interp_accel *beta_acc;
175 }
177 
178 
179 
180 
181 
182 
183 
184 
185 
186 
187 
188 
189 #endif /* _LALSIMIMRSPINEOB_H */
const UINT4 lmModes[NMODES][2]
SEOBHCoeffConstants XLALEOBSpinPrecCalcSEOBHCoeffConstants(REAL8 eta)
Optimized routine for calculating coefficients for the v3 Hamiltonian.
#define MAX_NUM_MODES
Set the total number of multipoles.
double REAL8
uint32_t UINT4
int32_t INT4
Approximant
Enum that specifies the PN approximant to be used in computing the waveform.
The coefficients which are used in calculating the non-quasicircular correction to the EOBNRv2 model.
Structure containing all the parameters needed for the EOB waveform.
const REAL8 * values
SpinEOBParams * params
const REAL8 * sphValues
SpinEOBParams * params
gsl_interp_accel * alpha_acc
gsl_interp_accel * beta_acc
Parameters for the spinning EOB model, used in calculating the Hamiltonian.
UINT4 SpinAlignedEOBversion
TidalEOBParams * tidal1
TidalEOBParams * tidal2
struct SpinEOBModes * next
Parameters for the spinning EOB model.
SpinEOBHCoeffs * seobCoeffs
REAL8Vector * sigmaStar
EOBNonQCCoeffs * nqcCoeffs
REAL8Vector * s1Vec
EOBParams * eobParams
REAL8Vector * sigmaKerr
SEOBHCoeffConstants * seobCoeffConsts
Approximant seobApproximant
REAL8Vector * s2Vec
Tidal parameters for EOB model of NS: mByM - dimensionless ratio m_{NS}/M lambda2Tidal - dimensionles...