Loading [MathJax]/extensions/TeX/AMSsymbols.js
LALInspiral 5.0.3.1-ea7c608
All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Modules Pages
LALInspiralPhasing3.c
Go to the documentation of this file.
1/*
2* Copyright (C) 2007 David Churches, B.S. Sathyaprakash, Drew Keppel
3*
4* This program is free software; you can redistribute it and/or modify
5* it under the terms of the GNU General Public License as published by
6* the Free Software Foundation; either version 2 of the License, or
7* (at your option) any later version.
8*
9* This program is distributed in the hope that it will be useful,
10* but WITHOUT ANY WARRANTY; without even the implied warranty of
11* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12* GNU General Public License for more details.
13*
14* You should have received a copy of the GNU General Public License
15* along with with program; see the file COPYING. If not, write to the
16* Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
17* MA 02110-1301 USA
18*/
19
20/**
21 * \author Sathyaprakash, B. S.
22 * \file
23 * \ingroup LALInspiral_h
24 *
25 * \brief The code \ref LALInspiralPhasing3.c calculates the phase the waveform
26 * from an inspiralling binary system as a function of time up to second post-Nowtonian
27 * order.
28 *
29 * <tt>LALInspiralPhasing3()</tt>
30 * <ul>
31 * <li> \c phase: Output, the phase of the wave at the current epoch.</li>
32 * <li> \c td: Input, the PN expansion coefficients of phase \f$\phi^t_k\f$ as a function
33 * of time (cf. \ref table_flux "this table".</li>
34 * <li> \c ak: Input containing PN expansion coefficients.</li>
35 * </ul>
36 *
37 * ### Description ###
38 *
39 * The phase of the inspiral wave corresponding to the \c Approximant \c TaylorT2
40 * as in \eqref{eq_InspiralWavePhase3}.
41 *
42 * ### Algorithm ###
43 *
44 * None.
45 *
46 * ### Uses ###
47 *
48 * None.
49 *
50 * ### Notes ###
51 *
52 * None.
53 *
54 */
55
56#include <math.h>
57#include <lal/LALAtomicDatatypes.h>
58#include <lal/LALInspiral.h>
59#include <lal/XLALError.h>
60
61
64 REAL8 td,
65 expnCoeffs *ak
66 )
67{
68 REAL8 theta5;
69 REAL8 phase;
70
71 if (ak == NULL)
73
74 theta5 = pow(td,-0.625);
75 phase = (ak->ptaN/theta5);
76
77 return phase;
78}
79
80
81
84 REAL8 td,
85 expnCoeffs *ak
86 )
87{
88 REAL8 theta,theta2,theta5;
89 REAL8 phase;
90
91 if (ak == NULL)
93
94 theta = pow(td,-0.125);
95 theta2 = theta*theta;
96 theta5 = theta2*theta2*theta;
97
98 phase = (ak->ptaN/theta5) * (1.
99 + ak->pta2*theta2);
100
101 return phase;
102}
103
104
105
106REAL8
108 REAL8 td,
109 expnCoeffs *ak
110 )
111{
112 REAL8 theta,theta2,theta3,theta5;
113 REAL8 phase;
114
115 if (ak == NULL)
117
118 theta = pow(td,-0.125);
119 theta2 = theta*theta;
120 theta3 = theta2*theta;
121 theta5 = theta2*theta3;
122
123 phase = (ak->ptaN/theta5) * (1.
124 + ak->pta2*theta2
125 + ak->pta3*theta3);
126
127 return phase;
128}
129
130
131
132REAL8
134 REAL8 td,
135 expnCoeffs *ak
136 )
137{
138 REAL8 theta,theta2,theta3,theta4,theta5;
139 REAL8 phase;
140
141 if (ak == NULL)
143
144 theta = pow(td,-0.125);
145 theta2 = theta*theta;
146 theta3 = theta2*theta;
147 theta4 = theta3*theta;
148 theta5 = theta4*theta;
149
150 phase = (ak->ptaN/theta5) * (1.
151 + ak->pta2*theta2
152 + ak->pta3*theta3
153 + ak->pta4*theta4);
154
155 return phase;
156}
157
158
159
160REAL8
162 REAL8 td,
163 expnCoeffs *ak
164 )
165{
166 REAL8 theta,theta2,theta3,theta4,theta5;
167 REAL8 phase;
168
169 if (ak == NULL)
171
172 theta = pow(td,-0.125);
173 theta2 = theta*theta;
174 theta3 = theta2*theta;
175 theta4 = theta3*theta;
176 theta5 = theta4*theta;
177
178 phase = (ak->ptaN/theta5) * (1.
179 + ak->pta2*theta2
180 + ak->pta3*theta3
181 + ak->pta4*theta4
182 + ak->pta5 * log(td/ak->tn) * theta5);
183
184 return phase;
185}
186
187
188
189REAL8
191 REAL8 td,
192 expnCoeffs *ak
193 )
194{
195 REAL8 theta,theta2,theta3,theta4,theta5,theta6;
196 REAL8 phase;
197
198 if (ak == NULL)
200
201 theta = pow(td,-0.125);
202 theta2 = theta*theta;
203 theta3 = theta2*theta;
204 theta4 = theta3*theta;
205 theta5 = theta4*theta;
206 theta6 = theta5*theta;
207
208 phase = (ak->ptaN/theta5) * (1.
209 + ak->pta2*theta2
210 + ak->pta3*theta3
211 + ak->pta4*theta4
212 + ak->pta5*log(td/ak->tn)*theta5
213 +(ak->ptl6*log(td/256.) + ak->pta6)*theta6);
214
215 return phase;
216}
217
218
219
220REAL8
222 REAL8 td,
223 expnCoeffs *ak
224 )
225{
226 REAL8 theta,theta2,theta3,theta4,theta5,theta6,theta7;
227 REAL8 phase;
228
229 if (ak == NULL)
231
232 theta = pow(td,-0.125);
233 theta2 = theta*theta;
234 theta3 = theta2*theta;
235 theta4 = theta3*theta;
236 theta5 = theta4*theta;
237 theta6 = theta5*theta;
238 theta7 = theta6*theta;
239
240 phase = (ak->ptaN/theta5) * (1.
241 + ak->pta2*theta2
242 + ak->pta3*theta3
243 + ak->pta4*theta4
244 + ak->pta5*log(td/ak->tn)*theta5
245 +(ak->ptl6*log(td/256.) + ak->pta6)*theta6
246 + ak->pta7*theta7);
247
248 return phase;
249}
REAL8 XLALInspiralPhasing3_3PN(REAL8 td, expnCoeffs *ak)
REAL8 XLALInspiralPhasing3_6PN(REAL8 td, expnCoeffs *ak)
REAL8 XLALInspiralPhasing3_0PN(REAL8 td, expnCoeffs *ak)
REAL8 XLALInspiralPhasing3_7PN(REAL8 td, expnCoeffs *ak)
REAL8 XLALInspiralPhasing3_4PN(REAL8 td, expnCoeffs *ak)
REAL8 XLALInspiralPhasing3_2PN(REAL8 td, expnCoeffs *ak)
REAL8 XLALInspiralPhasing3_5PN(REAL8 td, expnCoeffs *ak)
double theta
double REAL8
#define XLAL_ERROR_REAL8(...)
XLAL_EFAULT
This structure contains various post-Newtonian and P-approximant expansion coefficients; the meanings...
Definition: LALInspiral.h:399
REAL8 pta5
Definition: LALInspiral.h:449
REAL8 ptaN
Definition: LALInspiral.h:449
REAL8 pta7
Definition: LALInspiral.h:449
REAL8 pta4
Definition: LALInspiral.h:449
REAL8 pta2
Definition: LALInspiral.h:449
REAL8 ptl6
Definition: LALInspiral.h:449
REAL8 pta3
Definition: LALInspiral.h:449
REAL8 pta6
Definition: LALInspiral.h:449