61#include <lal/LALInspiral.h>
62#include <lal/LALStdlib.h>
63#include <lal/LALConstants.h>
96 REAL8 lso, eta, vpole, vlso;
99 REAL8 a12, a22, a32, a42, a52, a62, a72, a23, a33, a43, a53, a34, a44;
100 REAL8 oneby6=1.0/6.0;
117 if (
params->tSampling <= 0)
127 ak->
lambda = -1987./3080.;
128 ak->
theta = -11831./9240.;
161 beta = ((113.L - 76.L * ieta * eta) * (chi1 + chi2) / 24.L)
162 + (113.L * sqrt(1.L - 4.L * ieta * eta) * (chi1 - chi2) / 24.L);
163 sigma = 474.L * ieta * eta * chi1 * chi2 / 48.L;
173 ak->
ETa1 = -(9. + ieta*eta)/12.;
174 ak->
ETa2 = -(27. - 19*ieta*eta + ieta*eta*eta/3.)/8.;
176 - 110./9. * ak->
lambda)*ieta*eta
177 - 155./96. * ieta*eta*eta - 35./5184. * ieta*eta*eta*eta;
181 ak->
eTa1 = -1.-ieta*eta/3.;
182 ak->
eTa2 = -3.+35.*ieta*eta/12.;
184 - 103./36.*ieta*eta*eta + ieta*eta*eta*eta/81.;
194 c1 = ak->
ePa1 = 1.+ieta*eta/3.;
195 c2 = ak->
ePa2 = -(144. - 81.*ieta*eta + 4.*ieta*eta*eta) / (36.+12*ieta*eta);
214 ak->
vpoleP4 = pow(4.*(3.+ieta*eta)/(36.-35.*ieta*eta), 0.5);
222 *(-2.*c3 - 2.*
c2 - 2.*sqrt(-
c2*
c1)));
242 ak->
FTa2 = -1247./336.-35.*ieta*eta/12.;
244 ak->
FTa4 = -44711./9072.+9271.*ieta*eta/504.+65.*ieta*eta*eta/18.;
245 ak->
FTa5 = -(8191./672.+583./24.*ieta*eta)*
LAL_PI;
246 ak->
FTl6 = -1712./105.;
249 - 94403./3024. * ieta*eta*eta - 775./324. * ieta * eta*eta*eta;
250 ak->
FTa7 =
LAL_PI * (-16285./504. + 214745./1728. * ieta*eta
251 + 193385./3024.* ieta*eta*eta);
252 ak->
FTa8 = - 117.5043907226773;
253 ak->
FTl8 = 52.74308390022676;
260 ak->
pta2 = 3715./8064. + 55.*ieta*eta/96.;
262 ak->
pta4 = 9.275495/14.450688 + 2.84875*ieta*eta/2.58048
263 + 1855.*ieta*eta*eta/2048.;
264 ak->
pta5 = -(3.8645/17.2032 - 65./2048.*ieta*eta) *
LAL_PI;
266 - 107./56. * ak->
EulerC + (-123.292747421/4.161798144
268 - 55./16.* ak->
theta) * ieta * eta + 1.54565/18.35008 * ieta*eta*eta
269 - 1.179625/1.769472 * ieta*eta*eta*eta);
271 ak->
pta7 = (1.88516689/1.73408256 + 488825./516096. * ieta*eta
272 - 141769./516096. * ieta*eta*eta) *
LAL_PI;
273 ak->
ptl6 = 107./448.;
276 ak->
fta2 = 743./2688.+(11.*ieta*eta)/32.;
278 ak->
fta4 = 1.855099/14.450688 + 5.6975*ieta*eta/25.8048
279 + 3.71*ieta*eta*eta/20.48;
280 ak->
fta5 = -(7.729/21.504 - 13./256.*ieta*eta) *
LAL_PI;
282 + 1.07/2.80 * ak->
EulerC + 1.07/2.80 * log(2.)
283 + (1.23292747421/.20808990720 - 4.51/20.48 *
LAL_PI*
LAL_PI
284 - 77./48. * ak->
lambda + 11./16. * ak->
theta) * ieta*eta
285 - 3.0913/183.5008 * ieta*eta*eta
286 + 2.35925/17.69472 * ieta*eta*eta*eta);
288 ak->
fta7 = (-1.88516689/4.33520640 - 97765./258048. * ieta*eta
289 + 141769./1290240. * ieta*eta*eta)*
LAL_PI;
290 ak->
ftl6 = -107./2240.;
297 ak->
tva2 = (743./252. + 11./3. * ieta * eta);
299 ak->
tva4 = 30.58673/5.08032 + 54.29/5.04*ieta*eta + 61.7/7.2*ieta*eta*eta;
300 ak->
tva5 = -(77.29/2.52 -13./3.*ieta*eta) *
LAL_PI;
301 ak->
tva6 = - 1005.2469856691/2.3471078400
304 + 1533.5597827/1.5240960 * ieta*eta
305 - 15.211/1.728*ieta*eta*eta
306 + 25.565/1.296*ieta*eta*eta*eta
307 + 352./3.*ieta*eta*ak->
theta
308 - 2464./9.*ieta*eta*ak->
lambda;
309 ak->
tva7 = (-154.19335/1.27008 - 75703./756.*ieta*eta
310 + 14809./378.*ieta*eta*eta) *
LAL_PI;
311 ak->
tvl6 = 68.48/1.05;
313 ak->
pvaN = -1./(16.*eta);
314 ak->
pva2 = (3715./1008. + 55./12.*ieta*eta);
316 ak->
pva4 = (15293365./1016064. + 27145./1008.*ieta*eta
317 + 3085./144.*ieta*eta*eta);
318 ak->
pva5 = (38645./672. - 65./8. * ieta*eta) *
LAL_PI;
322 + 3080./9.*ak->
lambda - 440./3. * ak->
theta) * ieta*eta
323 + 76055./6912. * ieta*eta*eta - 127825./5184. * ieta*eta*eta*eta;
324 ak->
pva7 = (77096675./2032128. + 378515./12096.*ieta*eta
325 - 74045./6048.*ieta*eta*eta) *
LAL_PI;
326 ak->
pvl6 = - 1712./21.;
343 ak->
pfaN = 3.L/(128.L * eta);
344 ak->
pfa2 = 5.L*(743.L/84.L + 11.L * ieta*eta)/9.L;
346 ak->
pfa4 = 5.L*(3058.673L/7.056L + 5429.L/7.L * ieta*eta
347 + 617.L * ieta*eta*eta)/72.L - 10.L*sigma;
348 ak->
pfa5 = 5.L/9.L * (7729.L/84.L - 13.L * ieta*eta) *
LAL_PI;
349 ak->
pfl5 = 5.L/3.L * (7729.L/84.L - 13.L * ieta*eta) *
LAL_PI;
352 + ieta*eta * (-15335.597827L/3.048192L + 2255./12. *
LAL_PI *
LAL_PI - 1760./3.*ak->
theta +12320./9.*ak->
lambda)
353 + ieta*eta*eta * 76055.L/1728.L
354 - ieta*eta*eta*eta* 127825.L/1296.L ;
356 ak->
pfl6 = -6848.L/21.L;
358 ak->
pfa7 =
LAL_PI * 5.L/756.L * ( 15419335.L/336.L + 75703.L/2.L * ieta*eta - 14809.L * ieta*eta*eta);
389 XLALPrintError(
"XLAL Error - %s: Unknown PN order in switch\n", __func__);
435 + 2.*pow(
c1+
c2+c3,2.) + c3*(c4-2.*
c1))
436 +
c1*
c2*c3*c4*c5*(c5 + 2.*(
c1+
c2+c3+c4))
437 - a6)/(
c1*
c2*c3*c4*c5);
453 c7 = ((a23 + a32 + a12*
a4 -
a2*(2*a1*a3 +
a4)) *
454 (-a44 - a32*a52 + a1*a53 - a22*a62 + a33*a7
455 + a22*a5*a7 + a42*(3*a3*a5 + 2*
a2*a6 + a1*a7)
456 + a3*(2*
a2*a5*a6 + a1*a62 - a1*a5*a7)
457 - 2*
a4*((a32 + a1*a5)*a6 +
a2*(a52 + a3*a7))))/
458 ((a33 + a1*a42 + a22*a5 - a3*(2*
a2*
a4 + a1*a5))*
459 (a34 + a22*a42 - a43 - 2*a1*
a2*
a4*a5 + a12*a52
460 -
a2*a52 - a23*a6 - a12*
a4*a6 +
a2*
a4*a6
461 - a32*(3*
a2*
a4 + 2*a1*a5 + a6)
462 + 2*a3*((a22 +
a4)*a5 + a1*(a42 +
a2*a6))));
465 c8 = -(((a33 + a1*a42 + a22*a5 - a3*(2*
a2*
a4 + a1*a5)) *
466 (pow(
a4,5) + pow(a5,4) - 2*a33*a5*a6 + 2*a1*a3*a52*a6
467 + 2*a3*a5*a62 + a12*a62*a6 - 2*a3*a52*a7
468 + 2*a1*a32*a6*a7 - 2*a12*a5*a6*a7 + a32*a72
469 + pow(a3,4)*a8 - 2*a1*a32*a5*a8 + a12*a52*a8
470 - a32*a6*a8 - a43*(4*a3*a5 + 3*
a2*a6 + 2*a1*a7 + a8)
471 + a42*(3*
a2*a52 + 3*a32*a6 + 4*a1*a5*a6 + a62
472 + 4*
a2*a3*a7 + 2*a5*a7 + a22*a8 + 2*a1*a3*a8)
473 + a22*(a52*a6 - 2*a3*a6*a7 + 2*a3*a5*a8)
474 + a22*
a2*(a72 - a6*a8) -
a4*(3*a52*a6 - 2*a22*a62 + 2*a33*a7
475 + 4*a22*a5*a7 +
a2*a72 -
a2*a6*a8 - 3*a32*(a52 -
a2*a8)
476 + 2*a3*(
a2*a5*a6 + 2*a1*a62 + a6*a7 - a5*a8)
477 + 2*a1*(a52*a5 -
a2*a6*a7 +
a2*a5*a8) + a12*(-a72 + a6*a8))
478 +
a2*(-a62*a6 + 2*a5*a6*a7 + 2*a1*a5*(-a62 + a5*a7)
479 + a32*(a62 + 2*a5*a7) - a52*a8
480 - 2*a3*(a52*a5 + a1*(a72 - a6*a8)))))
481 / ((pow(a3,4) + a22*a42 - a43 - 2*a1*
a2*
a4*a5
482 + a12*a52 -
a2*a52 - a22*
a2*a6 - a12*
a4*a6 +
a2*
a4*a6
483 - a32*(3*
a2*
a4 + 2*a1*a5 + a6)
484 + 2*a3*((a22 +
a4)*a5 + a1*(a42 +
a2*a6)))
485 * (-pow(
a4,4) - a32*a52 + a1*a52*a5 - a22*a62 + a33*a7
486 + a22*a5*a7 + a42*(3*a3*a5 + 2*
a2*a6 + a1*a7)
487 + a3*(2*
a2*a5*a6 + a1*a62 - a1*a5*a7)
488 - 2*
a4*((a32 + a1*a5)*a6 +
a2*(a52 + a3*a7)))));
507 ak->
ST[
LAL_PNORDER_TWO] = ( (34103.0 + 122949.0*eta + 59472.0*eta*eta)/18144.0 );
523 - (1712.0/105.0)* ak->
EulerC
524 - (273811877.0/1088640.0)*eta - (88.0/3.0)*ak->
thetahat*eta
525 + (541.0/896.0)*eta*eta - (5605.0/2592.0)*eta*eta*eta
527 - (856.0/105.0)*log(16.0) );
530 ak->
ST[8] = (
LAL_PI/12096.0) * (-13245.0 + 717350.0*eta + 731960.0*eta*eta);
583static void LALPadeCoeffs7(
int n,
double *cs,
double *as)
591 static double a0, a1,
c0,
c1,
a2,
c2, a3, c3,
a4, c4, a5,
594 static double t3, t4, t8, t9, t10, t11, t12, t13, t14, t15, t21, t18, t19,
595 t22, t23, t24, t25, t26, t27, t28, t29, t30, t32, t33, t34, t37,
596 t38, t40, t41, t42, t43, t44, t45, t46, t47, t48, t50, t51, t52,
597 t53, t54, t55, t56, t57, t58, t59, t60, t61, t62, t63, t64, t65,
598 t66, t67, t68, t69, t70, t71, t72, t73, t76, t77, t78, t80, t81,
599 t82, t83, t84, t85, t86, t87, t88, t89, t90, t91, t92, t93, t95,
601 t100, t101, t103, t104, t106, t107, t108,
602 t109, t110, t111, t112, t113, t114, t115, t116, t117, t118, t119,
603 t120, t121, t123, t124, t125, t126, t127, t128, t130, t131, t133,
604 t134, t135, t136, t137, t138, t139, t140, t144, t145, t148, t150,
605 t151, t153, t155, t156, t157, t158, t160, t161, t162, t163, t164,
606 t165, t167, t168, t170, t171, t173, t174, t176, t177, t179, t181,
607 t182, t185, t188, t190, t191, t192, t193, t194, t196, t199, t201,
608 t202, t203, t205, t207, t210, t212, t214, t216, t217, t219, t229,
609 t231, t233, t234, t235, t236, t237, t238, t240, t243, t244, t245,
610 t247, t248, t249, t250, t251, t252, t254, t255, t260, t261, t262,
611 t265, t267, t268, t270, t271, t273, t275, t276, t278, t280, t281,
612 t283, t284, t286, t289;
617 for (i__ = 0; i__ <= i__1; ++i__) {
621 if (n == 0 || cs[0] == 0.) {
628 if (n == 1 || cs[1] == 0.) {
635 cs[2] = t3 * t4 *
a2 -
c1;
636 if (n == 2 || cs[2] == 0.) {
654 cs[3] = -(a3 + t10 + t13 * 2 + t15) * t3 * t19;
655 if (n == 3 || cs[3] == 0.) {
694 cs[4] = -(-
a4 + t23 + t25 * 2 + t27 + t29 * 2 + t30 * 3 + t32 * 3 + t34) *
696 if (n == 4 || cs[4] == 0.) {
722 t73 = a5 + t41 * 4 + t43 + t46 * 6 + t48 * 6 + t50 * 4 + t52 + t53 * 3 +
723 t55 * 2 + t56 * 2 + t59 * 3 + t62 * 3 + t64 * 2 + t67 + t69 * 2 +
741 cs[5] = -t73 * t3 * t4 * t78;
742 if (n == 5 || cs[5] == 0.) {
766 t113 = t82 * -3 + a6 - t84 * 12 - t87 * 6 - t89 * 4 - t91 * 6 - t13 * 2 *
767 t93 - t95 * 4 - t98 - t99 * t101 - t99 * 2 * t104 - t108 * 3 -
768 t109 * 9 - t110 * 3 - t111 * 12 - t112 * 2;
777 t123 = t51 *
c2 *
c0;
794 t140 = t115 * -2 - t117 - t118 * 3 - t120 - t121 * 6 - t123 * 5 - t124 *
795 10 - t127 - t128 * 10 - t10 * 2 * t93 - t99 * 2 * t131 - t133 * 5
796 - t135 * 3 - t136 * 4 - t138 * 4 - t139 * 2;
805 cs[6] = (t113 + t140) * t3 * t4 * t76 * t145;
806 if (n == 6 || cs[6] == 0.) {
835 t188 = t99 * 3 * t148 + t8 * 4 * t151 + t99 * 6 * t153 + t156 * 10 + t99 *
836 2 * t158 + t162 + t99 * t165 + t99 * 3 * t168 + t99 * 3 * t171 +
837 t99 * 2 * t174 + t99 * t177 + t10 * 2 * t179 + t8 * t182 + t10 *
838 2 * t101 + t8 * 2 * t185 + t10 * 4 * t131;
853 t214 = t10 * 6 * t104 + t191 * 10 + t193 * 5 + t8 * 9 * t194 + t8 * 12 *
854 t196 + t27 * 3 * t93 + t8 * 3 * t199 + t202 * 5 + t8 * 12 * t203
855 + t8 * 4 * t205 + t8 * 6 * t207 + t32 * 3 * t93 + t210 * 5 + t15 *
856 3 * t66 + t212 * 3 + t15 * 6 * t68;
865 t236 = t8 * 4 * t217 + t219 * 2 + t30 * 6 * t93 + t12 * 6 * t81 + t12 * 6
866 * t114 + t12 * 6 * t107 + t13 * 4 * t104 + t13 * 2 * t179 + t13 *
867 2 * t101 + t13 * 4 * t131 + t12 * 2 * t97 + t99 * 2 * t229 + t99 *
868 2 * t231 + t233 * 20 + t234 * 15 + t235 * 6;
881 t254 = t119 *
c2 *
c0;
882 t255 = t237 * 20 + t238 * 18 + t12 * 18 * t86 + t240 * 24 + t15 * 12 *
883 t63 + t12 * 12 * t134 + t244 + t245 * 20 + t34 * 4 * t54 + a7 +
884 t247 * 30 + t248 * 4 + t249 * 12 + t251 + t252 * 15 + t254 * 6;
889 t267 = t243 *
c2 *
c0;
903 cs[7] = -(t188 + t214 + t236 + t255) * t3 * t19 * t260 * t262;
906 c7 = -(15.*pow(c1,5.)*pow(c2,2.)
907 + 6.*pow(c1,2.)*
c2*pow(c3,3.)*c4
908 + 6.*
c1*
c2*pow(c3,3.)*pow(c4,2.)
911 + 2.*
c1*
c2*pow(c3,2.)*c4*c5*c6
912 + 3.*
c1*
c2*pow(c4,2.)*pow(c5,2.)*c3
913 +
c1*
c2*c3*c4*c5*pow(c6,2.)
914 + 6.*
c1*
c2*pow(c3,2.)*pow(c4,2.)*c5
915 + 2.*
c1*
c2*c3*pow(c4,2.)*c5*c6
916 + 3.*
c1*
c2*pow(c3,3.)*c4*c5
917 + 3.*
c1*
c2*pow(c4,3.)*c5*c3
918 +
c1*
c2*c3*c4*pow(c5,3.)
919 + 4.*pow(c2,2.)*
c1*c3*pow(c4,2.)*c5
920 + 2.*pow(c2,2.)*
c1*c3*c4*c5*c6
921 + 5.*
c1*pow(c2,2.)*pow(c3,4.)
922 + 10.*
c1*pow(c2,3.)*pow(c3,3.)
923 + 10.*
c1*pow(c2,4.)*pow(c3,2.)
924 + 5.*pow(c2,5.)*c3*
c1
926 + 4.*pow(c1,4.)*
c2*c3*c4
927 + 18.*pow(c1,2.)*pow(c2,2.)*pow(c3,2.)*c4
928 + 12.*pow(c1,2.)*pow(c2,3.)*c3*c4
929 + 12.*pow(c1,3.)*pow(c2,2.)*c3*c4
930 + 15.*pow(c1,3.)*pow(c2,4.)
931 + 12.*pow(c1,2.)*pow(c2,2.)*pow(c3,3.)
932 + 24.*pow(c1,2.)*pow(c2,3.)*pow(c3,2.)
933 + 20.*pow(c1,2.)*pow(c2,4.)*c3
934 + 18.*pow(c1,3.)*pow(c2,2.)*pow(c3,2.)
935 + 30.*pow(c1,3.)*pow(c2,3.)*c3
936 + 6.*pow(c1,2.)*pow(c2,5.)
937 + 4.*pow(c1,4.)*
c2*pow(c3,2.)
938 + 20.*pow(c1,4.)*pow(c2,2.)*c3
940 + 20.*pow(c1,4.)*pow(c2,3.)
942 + 5.*pow(c1,5.)*
c2*c3
943 + 3.*pow(c1,3.)*
c2*c3*pow(c4,2.)
944 + 6.*pow(c1,3.)*
c2*pow(c3,2.)*c4
945 + 3.*pow(c1,3.)*
c2*pow(c3,3.)
946 + 3.*pow(c1,3.)*
c2*c3*c4*c5
947 + 2.*pow(c1,2.)*
c2*c3*c4*pow(c5,2.)
948 + 6.*pow(c1,2.)*
c2*pow(c3,2.)*pow(c4,2.)
949 + 2.*pow(c1,2.)*
c2*c3*pow(c4,3.)
950 + 4.*pow(c1,2.)*
c2*pow(c3,2.)*c4*c5
951 + 4.*pow(c1,2.)*
c2*c3*pow(c4,2.)*c5
952 + 6.*
c1*pow(c2,2.)*pow(c3,2.)*c4*c5
953 + 2.*pow(c1,2.)*
c2*c3*c4*c5*c6
954 + 6.*pow(c1,2.)*pow(c2,2.)*c3*c4*c5
955 + 2.*pow(c1,2.)*
c2*pow(c3,4.)
956 + 6.*pow(c1,2.)*pow(c2,2.)*c3*pow(c4,2.)
957 + 2.*
c1*
c2*pow(c3,2.)*c4*pow(c5,2.)
958 + 3.*
c1*pow(c2,3.)*c3*c4*c5
959 + 9.*
c1*pow(c2,2.)*pow(c3,2.)*pow(c4,2.)
960 + 12.*
c1*pow(c2,2.)*pow(c3,3.)*c4
961 + 3.*
c1*pow(c2,3.)*c3*pow(c4,2.)
962 + 2.*
c1*
c2*c3*c4*pow(c5,2.)*c6
963 + 12.*
c1*pow(c2,3.)*pow(c3,2.)*c4
964 +
c1*
c2*c3*pow(c4,4.)
965 + 4.*
c1*
c2*pow(c3,2.)*pow(c4,3.)
966 + 4.*
c1*pow(c3,4.)*c4*
c2
967 + 4.*
c1*pow(c2,4.)*c3*c4
968 + 2.*pow(c2,2.)*
c1*c3*pow(c4,3.)
969 + 2.*pow(c2,2.)*
c1*c3*c4*pow(c5,2.))/(c1*c2*c3*c4*c5*c6);
971 fprintf(stderr,
"c7 from old formula=%e\n", c7);
void LALInspiralSetup(LALStatus *status, expnCoeffs *ak, InspiralTemplate *params)
int XLALInspiralSetup(expnCoeffs *ak, InspiralTemplate *params)
#define ATTATCHSTATUSPTR(statusptr)
#define DETATCHSTATUSPTR(statusptr)
#define INITSTATUS(statusptr)
#define RETURN(statusptr)
LAL_PNORDER_TWO_POINT_FIVE
LAL_PNORDER_THREE_POINT_FIVE
LAL_PNORDER_ONE_POINT_FIVE
int XLALPrintError(const char *fmt,...) _LAL_GCC_PRINTF_FORMAT_(1
#define XLAL_PRINT_DEPRECATION_WARNING(replacement)
The inspiral waveform parameter structure containing information about the waveform to be generated.
This structure contains various post-Newtonian and P-approximant expansion coefficients; the meanings...