LALInspiralPhasing3.c

Go to the documentation of this file.
00001 /*
00002 *  Copyright (C) 2007 David Churches, B.S. Sathyaprakash
00003 *
00004 *  This program is free software; you can redistribute it and/or modify
00005 *  it under the terms of the GNU General Public License as published by
00006 *  the Free Software Foundation; either version 2 of the License, or
00007 *  (at your option) any later version.
00008 *
00009 *  This program is distributed in the hope that it will be useful,
00010 *  but WITHOUT ANY WARRANTY; without even the implied warranty of
00011 *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00012 *  GNU General Public License for more details.
00013 *
00014 *  You should have received a copy of the GNU General Public License
00015 *  along with with program; see the file COPYING. If not, write to the
00016 *  Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston,
00017 *  MA  02111-1307  USA
00018 */
00019 
00020 /*  <lalVerbatim file="LALInspiralPhasing3CV">
00021 Author: Sathyaprakash, B. S.
00022 $Id: LALInspiralPhasing3.c,v 1.4 2007/06/08 14:41:49 bema Exp $
00023 </lalVerbatim>  */
00024 
00025 /*  <lalLaTeX>
00026 
00027 \subsection{Module \texttt{LALInspiralPhasing3.c}}
00028 
00029 The code \texttt{LALInspiralPhasing3.c} calculates the phase the waveform 
00030 from an inspiralling binary system as a function of time up to second post-Nowtonian 
00031 order.
00032 
00033 \subsubsection*{Prototypes}
00034 
00035 \vspace{0.1in}
00036 
00037 \input{LALInspiralPhasing3CP}
00038 
00039 \index{\verb&LALInspiralPhasing3()&}
00040 \begin{itemize}
00041 \item {\tt phase:} Output, the phase of the wave at the current epoch.
00042 \item {\tt td:} Input, the PN expansion coefficients of phase $\phi^t_k$ as a function 
00043 of time (cf. Table \ref{table:flux}).
00044 \item {\tt ak:} Input containing PN expansion coefficients.
00045 \end{itemize}
00046 
00047 
00048 \subsubsection*{Description}
00049 The phase of the inspiral wave corresponding to the {\tt Approximant} {\tt TaylorT2} 
00050 as in Equation~\ref{eq:InspiralWavePhase3}.
00051 
00052 
00053 \subsubsection*{Algorithm}
00054 None.
00055 
00056 
00057 \subsubsection*{Uses}
00058 None.
00059 
00060 \subsubsection*{Notes}
00061 None.
00062 
00063 \vfill{\footnotesize\input{LALInspiralPhasing3CV}}
00064 
00065 </lalLaTeX>  */
00066 
00067 #include <lal/LALStdlib.h>
00068 #include <lal/LALInspiral.h>
00069 
00070 NRCSID (LALINSPIRALPHASING3C, "$Id: LALInspiralPhasing3.c,v 1.4 2007/06/08 14:41:49 bema Exp $");
00071 
00072 
00073 /*  <lalVerbatim file="LALInspiralPhasing3CP"> */
00074 
00075 void 
00076 LALInspiralPhasing3_0PN (
00077    LALStatus  *status,
00078    REAL8      *phase,
00079    REAL8       td,
00080    expnCoeffs *ak
00081    ) 
00082 { /* </lalVerbatim>  */
00083 
00084   REAL8 theta5;
00085 
00086   INITSTATUS (status, "LALInspiralPhasing3_0PN", LALINSPIRALPHASING3C);
00087   ATTATCHSTATUSPTR(status);
00088   ASSERT(ak, status, LALINSPIRALH_ENULL, LALINSPIRALH_MSGENULL);
00089 
00090   theta5 = pow(td,-0.625);
00091   *phase = (ak->ptaN/theta5);
00092   DETATCHSTATUSPTR(status);
00093   RETURN(status);
00094 }
00095 
00096 /*  <lalVerbatim file="LALInspiralPhasing3CP"> */
00097 
00098 void 
00099 LALInspiralPhasing3_2PN (
00100    LALStatus  *status,
00101    REAL8      *phase,
00102    REAL8       td,
00103    expnCoeffs *ak
00104    ) 
00105 { /* </lalVerbatim>  */
00106 
00107   REAL8 theta,theta2,theta5;
00108 
00109   INITSTATUS (status, "LALInspiralPhasing3_2PN", LALINSPIRALPHASING3C);
00110   ATTATCHSTATUSPTR(status);
00111   ASSERT(ak, status, LALINSPIRALH_ENULL, LALINSPIRALH_MSGENULL);
00112 
00113   theta = pow(td,-0.125);
00114   theta2 = theta*theta;
00115   theta5 = theta2*theta2*theta;
00116 
00117   *phase = (ak->ptaN/theta5) * (1. 
00118          + ak->pta2*theta2);
00119   DETATCHSTATUSPTR(status);
00120   RETURN(status);
00121 }
00122 
00123 /*  <lalVerbatim file="LALInspiralPhasing3CP"> */
00124 
00125 void 
00126 LALInspiralPhasing3_3PN (
00127    LALStatus  *status,
00128    REAL8      *phase,
00129    REAL8       td,
00130    expnCoeffs *ak
00131    ) 
00132 { /* </lalVerbatim>  */
00133 
00134   REAL8 theta,theta2,theta3,theta5;
00135 
00136   INITSTATUS (status, "LALInspiralPhasing3_3PN", LALINSPIRALPHASING3C);
00137   ATTATCHSTATUSPTR(status);
00138   ASSERT(ak, status, LALINSPIRALH_ENULL, LALINSPIRALH_MSGENULL);
00139 
00140   theta = pow(td,-0.125);
00141   theta2 = theta*theta;
00142   theta3 = theta2*theta;
00143   theta5 = theta2*theta3;
00144 
00145   *phase = (ak->ptaN/theta5) * (1. 
00146          + ak->pta2*theta2 
00147          + ak->pta3*theta3);
00148   DETATCHSTATUSPTR(status);
00149   RETURN(status);
00150 }
00151 
00152 /*  <lalVerbatim file="LALInspiralPhasing3CP"> */
00153 
00154 void 
00155 LALInspiralPhasing3_4PN (
00156    LALStatus  *status,
00157    REAL8      *phase,
00158    REAL8       td,
00159    expnCoeffs *ak
00160    ) 
00161 { /* </lalVerbatim>  */
00162 
00163   REAL8 theta,theta2,theta3,theta4,theta5;
00164 
00165   INITSTATUS (status, "LALInspiralPhasing3_4PN", LALINSPIRALPHASING3C);
00166   ATTATCHSTATUSPTR(status);
00167   ASSERT(ak, status, LALINSPIRALH_ENULL, LALINSPIRALH_MSGENULL);
00168 
00169   theta = pow(td,-0.125);
00170   theta2 = theta*theta;
00171   theta3 = theta2*theta;
00172   theta4 = theta3*theta;
00173   theta5 = theta4*theta;
00174 
00175   *phase = (ak->ptaN/theta5) * (1. 
00176          + ak->pta2*theta2 
00177          + ak->pta3*theta3
00178          + ak->pta4*theta4);
00179   DETATCHSTATUSPTR(status);
00180   RETURN(status);
00181 }
00182 
00183 /*  <lalVerbatim file="LALInspiralPhasing3CP"> */
00184 
00185 void 
00186 LALInspiralPhasing3_5PN (
00187    LALStatus  *status,
00188    REAL8      *phase,
00189    REAL8       td,
00190    expnCoeffs *ak
00191    ) 
00192 { /* </lalVerbatim>  */
00193 
00194   REAL8 theta,theta2,theta3,theta4,theta5;
00195 
00196   INITSTATUS (status, "LALInspiralPhasing3_5PN", LALINSPIRALPHASING3C);
00197   ATTATCHSTATUSPTR(status);
00198   ASSERT(ak, status, LALINSPIRALH_ENULL, LALINSPIRALH_MSGENULL);
00199 
00200   theta = pow(td,-0.125);
00201   theta2 = theta*theta;
00202   theta3 = theta2*theta;
00203   theta4 = theta3*theta;
00204   theta5 = theta4*theta;
00205 
00206   *phase = (ak->ptaN/theta5) * (1. 
00207          + ak->pta2*theta2 
00208          + ak->pta3*theta3
00209          + ak->pta4*theta4 
00210          + ak->pta5 * log(td/ak->tn) * theta5);
00211   DETATCHSTATUSPTR(status);
00212   RETURN(status);
00213 }
00214 
00215 /*  <lalVerbatim file="LALInspiralPhasing3CP"> */
00216 
00217 void 
00218 LALInspiralPhasing3_6PN (
00219    LALStatus  *status,
00220    REAL8      *phase,
00221    REAL8       td,
00222    expnCoeffs *ak
00223    ) 
00224 { /* </lalVerbatim>  */
00225 
00226   REAL8 theta,theta2,theta3,theta4,theta5,theta6;
00227 
00228   INITSTATUS (status, "LALInspiralPhasing3_6PN", LALINSPIRALPHASING3C);
00229   ATTATCHSTATUSPTR(status);
00230   ASSERT(ak, status, LALINSPIRALH_ENULL, LALINSPIRALH_MSGENULL);
00231 
00232   theta = pow(td,-0.125);
00233   theta2 = theta*theta;
00234   theta3 = theta2*theta;
00235   theta4 = theta3*theta;
00236   theta5 = theta4*theta;
00237   theta6 = theta5*theta;
00238 
00239   *phase = (ak->ptaN/theta5) * (1. 
00240          + ak->pta2*theta2 
00241          + ak->pta3*theta3
00242          + ak->pta4*theta4 
00243          + ak->pta5*log(td/ak->tn)*theta5
00244          +(ak->ptl6*log(td/256.) + ak->pta6)*theta6);
00245   DETATCHSTATUSPTR(status);
00246   RETURN(status);
00247 }
00248 
00249 /*  <lalVerbatim file="LALInspiralPhasing3CP"> */
00250 
00251 void 
00252 LALInspiralPhasing3_7PN (
00253    LALStatus  *status,
00254    REAL8      *phase,
00255    REAL8       td,
00256    expnCoeffs *ak
00257    ) 
00258 { /* </lalVerbatim>  */
00259 
00260   REAL8 theta,theta2,theta3,theta4,theta5,theta6,theta7;
00261 
00262   INITSTATUS (status, "LALInspiralPhasing3_7PN", LALINSPIRALPHASING3C);
00263   ATTATCHSTATUSPTR(status);
00264   ASSERT(ak, status, LALINSPIRALH_ENULL, LALINSPIRALH_MSGENULL);
00265 
00266   theta = pow(td,-0.125);
00267   theta2 = theta*theta;
00268   theta3 = theta2*theta;
00269   theta4 = theta3*theta;
00270   theta5 = theta4*theta;
00271   theta6 = theta5*theta;
00272   theta7 = theta6*theta;
00273 
00274   *phase = (ak->ptaN/theta5) * (1. 
00275          + ak->pta2*theta2 
00276          + ak->pta3*theta3
00277          + ak->pta4*theta4 
00278          + ak->pta5*log(td/ak->tn)*theta5
00279          +(ak->ptl6*log(td/256.) + ak->pta6)*theta6
00280          + ak->pta7*theta7);
00281   DETATCHSTATUSPTR(status);
00282   RETURN(status);
00283 }

Generated on Sat Aug 30 03:12:48 2008 for LAL by  doxygen 1.5.2