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
LALInspiralFrequency3.c
Go to the documentation of this file.
1/*
2* Copyright (C) 2007 David Churches, B.S. Sathyaprakash, Duncan Brown, 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 LALInspiralFrequency3.c calculates the frequency the
26 * waveform from an inspiralling binary system as a function of time up to 3.5
27 * post-Nowtonian order.
28 *
29 * ### Prototypes ###
30 *
31 * <tt>LALInspiralFrequency3()</tt>
32 * <ul>
33 * <li> \c frequency: Output containing the inspiral waveform.</li>
34 * <li> \c td: Input containing PN expansion coefficients \f$F_k\f$ (cf. \ref table_flux "this table")
35 * of frequency as a function of time.</li>
36 * <li> \c ak: Input containing all PN expansion coefficients.</li>
37 * </ul>
38 *
39 * ### Description ###
40 *
41 * This module computes the instantaneous frequency of an inspiral wave using
42 * \f{equation}{
43 * F(t) = F_N(\theta) \sum F_k \theta^k,
44 * \f}
45 * where the expansion coefficients \f$F_k,\f$ Newtonian value \f$F_N\f$ and the
46 * time-variable \f$\theta\f$ are defined in \ref table_flux "this table".
47 *
48 * ### Algorithm ###
49 *
50 *
51 * ### Uses ###
52 *
53 * None.
54 *
55 * ### Notes ###
56 *
57 * The frequency evolution defined by post-Newtonian expansion is not monotonic.
58 * Indeed, the equations become highly inaccurate close to the last stable orbit (lso)
59 * and breakdown at or slightly after lso, and the frequency begins to decrease at later times.
60 * It turns out that the evolution is monotonic at least up to lso.
61 *
62 */
63
64
65#include <math.h>
66#include <lal/LALAtomicDatatypes.h>
67#include <lal/LALInspiral.h>
68#include <lal/XLALError.h>
69
70
73 REAL8 td,
74 expnCoeffs *ak
75 )
76{
77 REAL8 theta,theta3;
78 REAL8 frequency;
79
80 if (ak == NULL)
82
83 theta = pow(td,-0.125);
84 theta3 = theta*theta*theta;
85
86 frequency = theta3*ak->ftaN;
87
88 return frequency;
89}
90
91
92
95 REAL8 td,
96 expnCoeffs *ak
97 )
98{
99 REAL8 theta,theta2,theta3;
100 REAL8 frequency;
101
102 if (ak == NULL)
104
105 theta = pow(td,-0.125);
106 theta2 = theta*theta;
107 theta3 = theta2*theta;
108
109 frequency = theta3*ak->ftaN * (1.
110 + ak->fta2*theta2);
111
112 return frequency;
113}
114
115
116
117REAL8
119 REAL8 td,
120 expnCoeffs *ak
121 )
122{
123 REAL8 theta,theta2,theta3;
124 REAL8 frequency;
125
126 if (ak == NULL)
128
129 theta = pow(td,-0.125);
130 theta2 = theta*theta;
131 theta3 = theta2*theta;
132
133 frequency = theta3*ak->ftaN * (1.
134 + ak->fta2*theta2
135 + ak->fta3*theta3);
136
137 return frequency;
138}
139
140
141
142REAL8
144 REAL8 td,
145 expnCoeffs *ak
146 )
147{
148 REAL8 theta,theta2,theta3,theta4;
149 REAL8 frequency;
150
151 if (ak == NULL)
153
154 theta = pow(td,-0.125);
155 theta2 = theta*theta;
156 theta3 = theta2*theta;
157 theta4 = theta3*theta;
158
159 frequency = theta3*ak->ftaN * (1.
160 + ak->fta2*theta2
161 + ak->fta3*theta3
162 + ak->fta4*theta4);
163
164 return frequency;
165}
166
167
168
169REAL8
171 REAL8 td,
172 expnCoeffs *ak
173 )
174{
175 REAL8 theta,theta2,theta3,theta4,theta5;
176 REAL8 frequency;
177
178 if (ak == NULL)
180
181 theta = pow(td,-0.125);
182 theta2 = theta*theta;
183 theta3 = theta2*theta;
184 theta4 = theta3*theta;
185 theta5 = theta4*theta;
186
187 frequency = theta3*ak->ftaN * (1.
188 + ak->fta2*theta2
189 + ak->fta3*theta3
190 + ak->fta4*theta4
191 + ak->fta5*theta5);
192
193 return frequency;
194}
195
196
197
198REAL8
200 REAL8 td,
201 expnCoeffs *ak
202 )
203{
204 REAL8 theta,theta2,theta3,theta4,theta5,theta6;
205 REAL8 frequency;
206
207 if (ak == NULL)
209
210 theta = pow(td,-0.125);
211 theta2 = theta*theta;
212 theta3 = theta2*theta;
213 theta4 = theta3*theta;
214 theta5 = theta4*theta;
215 theta6 = theta5*theta;
216
217 frequency = theta3*ak->ftaN * (1.
218 + ak->fta2*theta2
219 + ak->fta3*theta3
220 + ak->fta4*theta4
221 + ak->fta5*theta5
222 + (ak->fta6 + ak->ftl6*log(td))*theta6);
223
224 return frequency;
225}
226
227
228
229REAL8
231 REAL8 td,
232 expnCoeffs *ak
233 )
234{
235 REAL8 theta,theta2,theta3,theta4,theta5,theta6,theta7;
236 REAL8 frequency;
237
238 if (ak == NULL)
240
241 theta = pow(td,-0.125);
242 theta2 = theta*theta;
243 theta3 = theta2*theta;
244 theta4 = theta3*theta;
245 theta5 = theta4*theta;
246 theta6 = theta5*theta;
247 theta7 = theta6*theta;
248
249 frequency = theta3*ak->ftaN * (1.
250 + ak->fta2*theta2
251 + ak->fta3*theta3
252 + ak->fta4*theta4
253 + ak->fta5*theta5
254 + (ak->fta6 + ak->ftl6*log(td))*theta6
255 + ak->fta7*theta7);
256
257 return frequency;
258}
REAL8 XLALInspiralFrequency3_3PN(REAL8 td, expnCoeffs *ak)
REAL8 XLALInspiralFrequency3_4PN(REAL8 td, expnCoeffs *ak)
REAL8 XLALInspiralFrequency3_0PN(REAL8 td, expnCoeffs *ak)
REAL8 XLALInspiralFrequency3_2PN(REAL8 td, expnCoeffs *ak)
REAL8 XLALInspiralFrequency3_7PN(REAL8 td, expnCoeffs *ak)
REAL8 XLALInspiralFrequency3_6PN(REAL8 td, expnCoeffs *ak)
REAL8 XLALInspiralFrequency3_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 fta4
Definition: LALInspiral.h:454
REAL8 ftaN
Definition: LALInspiral.h:454
REAL8 fta6
Definition: LALInspiral.h:454
REAL8 fta2
Definition: LALInspiral.h:454
REAL8 fta3
Definition: LALInspiral.h:454
REAL8 fta7
Definition: LALInspiral.h:454
REAL8 fta5
Definition: LALInspiral.h:454
REAL8 ftl6
Definition: LALInspiral.h:454