Loading [MathJax]/extensions/TeX/AMSsymbols.js
LALSimulation 6.2.0.1-3a66518
All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Modules Pages
exact_derivatives-Hreal.c
Go to the documentation of this file.
1#define Power(A,B) pow(A,B)
2#define Sqrt(A) sqrt(A)
3#define Log(A) log(A)
4const double csi1 = 1.0 + (1.-fabs(1.-tortoise)) * (csi - 1.0);
5const double csi2 = 1.0 + (0.5-copysign(0.5, 1.5-tortoise)) * (csi - 1.0);
6const double prT = csi2*(nx*p->data[0] + ny*p->data[1] + nz*p->data[2]);
7const double prTtimesoneminuscsi1inv = (1. - 1./csi1)*prT;
8const double tmpP0 = p->data[0] - nx*prTtimesoneminuscsi1inv;
9const double tmpP1 = p->data[1] - ny*prTtimesoneminuscsi1inv;
10const double tmpP2 = p->data[2] - nz*prTtimesoneminuscsi1inv;
12const double pvr = r*(tmpP0*vx + tmpP1*vy + tmpP2*vz);
13const double pvrsq = ((pvr)*(pvr));
14const double pn = nx*tmpP0 + ny*tmpP1 + nz*tmpP2;
15const double pnsq = ((pn)*(pn));
16const double pr = pn;
17const double prsq = ((pr)*(pr));
18const double pf = pxir;
19const double pxirsq = ((pxir)*(pxir));
20const double ptheta2 = invxi2*pvrsq;
21const double prT4 = ((prT)*(prT)*(prT)*(prT));
22const double Hnspt7 = deltaR*invrho2;
24const double Hnspt5 = qq*u2;
25const double Hnspt4 = 1. + Hnspt6*((pf)*(pf)) + Hnspt7*prsq + Hnspt5*prT4 + invrho2*ptheta2;
26const double Hnspt3 = deltaT*Hnspt4;
27const double Hnspt2 = Hnspt3*rho2;
28const double Hnspt1 = pf*ww;
30const double Qpt3 = deltaR*invrho2;
31const double Qpt2 = invxi2*rho2invLambda;
32const double Qpt1 = invrho2*invxi2;
33const double Q = 1. + pvrsq*Qpt1 + pxirsq*Qpt2 + pnsq*Qpt3;
34const double pn2 = deltaR*invrho2*prsq;
35const double pp = -1. + Q;
36const double sKerrmultfact = -8. - 36.*pn2*r + 3.*pp*r;
37const double sStarmultfact = 14. - 30.*pn2*r + 4.*pp*r;
41const double pn2pp = pn2*pp;
42const double pp2 = ((pp)*(pp));
43const double pn2u2 = pn2*u2;
44const double ppu2 = pp*u2;
45const double pn2ppu2 = pn2pp*u2;
46const double sMultiplier1pt6 = -360.*((pn2)*(pn2)) + 126.*pn2pp + 3.*pp2;
47const double sMultiplier1pt5 = -96.*pn2pp + 23.*pp2;
48const double sMultiplier1pt4 = 324.*pn2 - 120.*pp + r*sMultiplier1pt6;
49const double sMultiplier1pt3 = -282.*pn2 + 206.*pp + r*sMultiplier1pt5;
50const double sMultiplier1pt2 = 54. + r*sMultiplier1pt4;
51const double sMultiplier1pt1 = -706. + eta*sMultiplier1pt2 + r*sMultiplier1pt3;
52const double sMultiplier1 = -0.013888888888888888*eta*sMultiplier1pt1*u2;
53const double sMultiplier2pt6 = -1.625*pn2ppu2 + 5.625*pn2*pn2u2;
54const double sMultiplier2pt5 = 0.25*pn2ppu2 - 0.3125*pp2*u2;
55const double sMultiplier2pt4 = -6.125*pn2u2 + 1.4166666666666665*ppu2 + r*sMultiplier2pt6;
56const double sMultiplier2pt3 = -0.6666666666666666*pn2u2 - 3.0277777777777777*ppu2 + r*sMultiplier2pt5;
57const double sMultiplier2pt2 = r*sMultiplier2pt4 - 2.333333333333333*u2;
58const double sMultiplier2pt1 = eta*sMultiplier2pt2 + r*sMultiplier2pt3 - 6.222222222222221*u2;
59const double sMultiplier2 = eta*sMultiplier2pt1;
60const double deltaSigmaStarUSCOREx2 = deltaSigmaStarUSCOREx1 + sigmaStar->data[0]*sMultiplier1 + sigmaKerr->data[0]*sMultiplier2;
61const double deltaSigmaStarUSCOREy2 = deltaSigmaStarUSCOREy1 + sigmaStar->data[1]*sMultiplier1 + sigmaKerr->data[1]*sMultiplier2;
62const double deltaSigmaStarUSCOREz2 = deltaSigmaStarUSCOREz1 + sigmaStar->data[2]*sMultiplier1 + sigmaKerr->data[2]*sMultiplier2;
63const double deltaSigmaStarUSCOREx3 = deltaSigmaStarUSCOREx2 + coeffs->d1*etau3*sigmaStar->data[0];
64const double deltaSigmaStarUSCOREy3 = deltaSigmaStarUSCOREy2 + coeffs->d1*etau3*sigmaStar->data[1];
65const double deltaSigmaStarUSCOREz3 = deltaSigmaStarUSCOREz2 + coeffs->d1*etau3*sigmaStar->data[2];
66const double deltaSigmaStarUSCOREx = deltaSigmaStarUSCOREx3 + coeffs->d1v2*etau3*sigmaKerr->data[0];
67const double deltaSigmaStarUSCOREy = deltaSigmaStarUSCOREy3 + coeffs->d1v2*etau3*sigmaKerr->data[1];
68const double deltaSigmaStarUSCOREz = deltaSigmaStarUSCOREz3 + coeffs->d1v2*etau3*sigmaKerr->data[2];
72const double sxi = sx*xiUSCOREx + sy*xiUSCOREy + sz*xiUSCOREz;
73const double sv = sx*vx + sy*vy + sz*vz;
74const double sn = nx*sx + ny*sy + nz*sz;
75const double s3 = e3USCOREx*sx + e3USCOREy*sy + e3USCOREz*sz;
76const double sqrtQ = Sqrt(Q);
77const double oneplus2sqrtQ = 1. + 2.*sqrtQ;
81const double expMUsqsqrtQplusQ = expMUsq*(Q + sqrtQ);
82const double Hwrpt4a = pxirsq*sv;
84const double Hwrpt3c = pxir*sxi;
85const double Hwrpt3b = Hwrpt3c*pvr;
86const double Hwrpt3a = expMUexpnu*Hwrpt3b;
87const double Hwrpt3 = B*Hwrpt3a;
88const double Hwrpt2g = deltaR*sv;
89const double Hwrpt2f = sn*sqrtdeltaR;
90const double Hwrpt2e = Hwrpt2f*pvr;
91const double Hwrpt2d = Hwrpt2g*pnsq;
92const double Hwrpt2c = Hwrpt2e*pn;
94const double Hwrpt2a = (Hwrpt2b + Hwrpt2c - Hwrpt2d)*xi2;
95const double Hwrpt2 = deltaT*Hwrpt2a;
97const double Hwrpt1a = Hwrpt1b*sqrtdeltaR;
99const double Hwr = Hwrpt1*(Hwrpt2 - Hwrpt3 + Hwrpt4);
100const double Hwcospt9 = pxir*sxi;
101const double Hwcospt8 = pvr*sv;
105const double Hwcospt4 = Hwcospt6*pn;
107const double Hwcospt2 = -(B*Hwcospt4) + Hwcospt3*sn;
110const double deltaTsqrtQ = deltaT*sqrtQ;
111const double invdeltatTsqrtQ = 1./deltaTsqrtQ;
112const double HSOLpt5 = (-B + expMUexpnu)*pxir;
113const double HSOLpt4 = HSOLpt5*invexpMU;
114const double HSOLpt3 = expnusq*HSOLpt4;
115const double HSOLpt2 = HSOLpt3*s3;
116const double HSOLpt1 = HSOLpt2*invxi2;
118const double deltaTsqrtQplusQ = deltaT*(Q + sqrtQ);
122const double HSONLpt1b = pn*xi2;
123const double HSONLpt1a = HSONLpt1b*(-mucos + nucos) + (mur - nur)*pvr;
125const double HSONLpt2d = nur*pxir;
127const double HSONLpt2b = B*sxi;
130const double HSONLpt3c = pxir*sv;
133const double HSONLpt3 = B*HSONLpt2 - BR*HSONLpt3a;
134const double HSONLpt4e = sn*xi2;
136const double HSONLpt4c = HSONLpt4d*pxir;
137const double HSONLpt4b = HSONLpt4c*nucos;
140const double HSONL = HSONLmult*HSONLpt4;
141const double Hs = HSOL + HSONL + s3*w + Hwcos*wcos + Hwr*wr;
142const double Hsspt1 = -0.5*(-3.*((sn)*(sn)) + ((sx)*(sx)) + ((sy)*(sy)) + ((sz)*(sz)));
143const double Hss = Hsspt1*u3;
145const double Hpt1 = etau4*(s1dots1 + s2dots2);
146const double H = Hns + coeffs->dheffSSv2*Hpt1 + Hs + Hss + coeffs->dheffSS*Hpt1*sKerrdotsStar;
147const double Hreal = Sqrt(1. + 2.*eta*(-1. + H));
148const double invHreal = 1.0/Hreal;
const double HSONLpt4b
const double sKerrmultfact
const double Hwrpt3b
const double pn2u2
const double Hwcospt3
const double HSONLpt2a
const double Hnspt1
const double pn2
const double sMultiplier2pt6
const double sx
const double deltaSigmaStarUSCOREy1
const double pp
const double Hsspt1
const double Hns
const double sMultiplier2pt1
const double Hwrpt2d
const double Hwrpt1
const double pvr
const double sMultiplier1
const double Hwrpt2e
const double Hnspt2
const double HSONLpt1
const double Hpt1
const double sxi
const double invdeltaTsqrtQplusQ
const double expMUsqsqrtQplusQ
const double csi1
const double HSONLmult
const double oneplus2sqrtQ
const double Hwcospt9
const double pvrsq
const double deltaSigmaStarUSCOREz2
const double sStarmultfact
const double Hnspt7
const double prT
const double Hwrpt2
const double deltaSigmaStarUSCOREz3
const double Hss
const double HSONLpt1a
const double sMultiplier1pt1
#define Sqrt(A)
const double HSOLpt3
const double sz
const double Hs
const double deltaSigmaStarUSCOREx1
const double tmpP0
const double prsq
const double Q
const double sMultiplier1pt5
const double invHreal
const double Hwrpt3a
const double deltaSigmaStarUSCOREx3
const double Hnspt6
const double deltaTsqrtQ
const double Hwcospt5
const double HSONLmult2
const double deltaSigmaStarUSCOREy2
const double Hwcospt7
const double HSONLpt2
const double prT4
const double HSONL
const double pnsq
const double HSONLpt3b
const double twoB1psqrtQsqrtQ
const double Hwrpt4
const double pn
const double sy
const double oneplus1sqrtQ
const double csi2
const double HSONLpt3c
const double Hwcospt8
const double Hwcospt6
const double deltaSigmaStarUSCOREx
const double pxirsq
const double HSOLpt4
const double deltaSigmaStarUSCOREx2
const double Hwrpt1a
const double Hwcospt1
const double HSONLpt2d
const double invdeltatTsqrtQ
const double Hwr
const double Hnspt4
const double Hwrpt2b
const double ppu2
const double tmpP1
const double pn2ppu2
const double pn2pp
const double sMultiplier1pt6
const double pp2
const double Hwcospt2
const double sv
const double Hwrpt2f
const double HSOLpt1
const double Hnspt3
const double HSONLpt2b
const double HSOLpt2
const double Hwrpt4a
const double sMultiplier1pt3
const double Hwrpt2c
const double HSONLpt3a
const double deltaSigmaStarUSCOREy
const double sMultiplier1pt4
const double sqrtQ
const double HSOLpt5
const double Hwrpt3c
const double HSONLpt3
const double Qpt1
const double sKerrdotsStar
const double pxir
const double Hnspt5
const double sMultiplier2pt2
const double HSOL
const double Qpt3
const double HSONLpt4d
const double sMultiplier2pt4
const double Hreal
const double Qpt2
const double HSONLpt4e
const double sMultiplier2pt3
const double tmpP2
const double sMultiplier2pt5
const double HSONLpt4c
const double H
const double pr
const double pf
const double s3
const double sMultiplier2
const double sMultiplier1pt2
const double deltaTsqrtQplusQ
const double HSONLpt4
const double HSONLpt1b
const double deltaSigmaStarUSCOREz
const double invtwoB1psqrtQsqrtQ
const double HSONLpt4a
const double sn
const double Hwrpt1b
const double deltaSigmaStarUSCOREz1
const double deltaSigmaStarUSCOREy3
const double HSONLpt2c
const double Hwcos
const double ptheta2
const double Hwrpt2g
const double Hwcospt4
const double prTtimesoneminuscsi1inv
const double Hwrpt3
const double Hwrpt2a
const double sStarUSCOREy
const double ww
const double nur
const double etau3
const double xiUSCOREy
const double mucos
const double invLambda
const double e3USCOREz
const double deltaR
const double e3USCOREx
const double invxi2
const double invexpMU
const double s2dots2
const double rho2invLambda
const double expMUsq
const double u3
const double expnusq
const double wr
const double ny
const double invexpMUcubinvexpnu
const double sStarUSCOREz
const double nucos
const double vy
const double wcos
const double etau4
const double BR
const double qq
const double s1dots1
const double xi2
const double w
const double sKerrUSCOREy
const double sStarUSCOREx
const double invrho2
const double sKerrUSCOREx
const double expMUexpnu
const double rho2
const double sKerrUSCOREz
const double expMUsqexpnusq
const double u2
const double e3USCOREy
const double xiUSCOREx
const double vz
const double etaover12r
const double xiUSCOREz
const double mur
const double csi
const double expnuinvexpMU2
const double nz
const double B
const double vx
const double nx
const double sqrtdeltaR
static const INT4 r
p
double deltaT
Definition: unicorn.c:24