Prototypes | |
int | XLALSimInspiralEOBPACalculateRadialGrid (REAL8Vector *rVec, LALDict *LALParams) |
Function which comstructs the radial grid on which the post-adiabatic approximation will be computed. More... | |
double | XLALSimInspiralEOBPostAdiabaticj0Func (REAL8 j0_sol, void *params) |
Function which implements eq. More... | |
double | XLALSimInspiralEOBPostAdiabaticdprstarFunc (REAL8 prstar_sol, void *params) |
Function which implements eq. More... | |
double | XLALSimInspiralEOBPostAdiabaticdpphiFunc (REAL8 pphi_sol, void *params) |
Function which implements eq. More... | |
int | XLALSimInspiralEOBPostAdiabaticRootFinder (struct PostAdiabaticRoot *result, double(*Func)(REAL8, void *), struct PostAdiabaticRootSolveParams *params, REAL8 x_lower, REAL8 x_upper, REAL8 absTol, REAL8 relTol, INT2 parity) |
Root finder function which is used for computing the adiabatic and post-adiabatic approximations. More... | |
int | XLALReverseREAL8Vector (REAL8Vector *Vec, REAL8Vector *reverseVec) |
Function which reverses a 1D array. More... | |
int | XLALOffsetREAL8Vector (REAL8Vector *Vec, REAL8 offset, REAL8Vector *offsetVec) |
Function which add a constant to each element of an array. More... | |
int | XLALRescaleREAL8Vector (REAL8Vector *Vec, REAL8 factor, REAL8Vector *rescaledVec) |
This function rescales each element of an array by a given factor. More... | |
int | XLALSimInspiralEOBPACalculateAdiabaticDynamics (REAL8Vector *rVec, REAL8Vector *phiVec, REAL8Vector *prstarVec, REAL8Vector *pphiVec, REAL8Vector *pphi0Vec, REAL8Vector *dpphiBydrVec, REAL8Vector *csiVec, REAL8Vector *omegaVec, SpinEOBParams *seobParams, LALDict *LALParams) |
This function calculates the adiabatic (0th order PA) approximation of the inspiral dynamics. More... | |
int | XLALSimInspiralEOBPACalculatePostAdiabaticDynamics (REAL8Vector *rVec, REAL8Vector *phiVec, REAL8Vector *dphiBydrVec, REAL8Vector *prstarVec, REAL8Vector *dprstarBydrVec, REAL8Vector *pphiVec, REAL8Vector *dpphiBydrVec, REAL8Vector *dtBydrVec, REAL8Vector *csiVec, REAL8Vector *omegaVec, SpinEOBParams *seobParams, EOBNonQCCoeffs *nqcCoeffs, LALDict *LALParams) |
This function calculates the (n-th order) post-adiabatic approximation of the inspiral dynamics. More... | |
REAL8 | XLALSimInspiralEOBPAPartialHByPartialr (REAL8 h, REAL8 r, REAL8 prstar, REAL8 pphi, SpinEOBParams *seobParams, LALDict *LALParams) |
Function which calculates the partial derivative dH/dr. More... | |
REAL8 | XLALSimInspiralEOBPAPartialHByPartialprstar (REAL8 h, REAL8 r, REAL8 prstar, REAL8 pphi, SpinEOBParams *seobParams, LALDict *LALParams) |
Function which calculates the partial derivative dH/dprstar. More... | |
int | XLALSimInspiralEOBPAMeanValueOrder8 (REAL8Vector *inputVec, REAL8Vector *meanVec) |
Function which performs an 8-order mean smoothing of a vector. More... | |
REAL8 | XLALSimInspiralEOBPAHamiltonianWrapper (REAL8 r, REAL8 prstar, REAL8 pphi, SpinEOBHCoeffs *seobCoeffs, LALDict *LALParams) |
A wrapper for the SEOB Hamiltonian, depending on the user choices. More... | |
REAL8 | XLALSimInspiralEOBPAFluxWrapper (REAL8 r, REAL8 prstar, REAL8 pphi, REAL8 omega, SpinEOBParams *seobParams, EOBNonQCCoeffs *nqcCoeffs, LALDict *LALParams) |
A wrapper for the factorized flux, depending on the user choices. More... | |
int | XLALSimInspiralEOBPostAdiabatic (REAL8Array **dynamics, REAL8 m1, REAL8 m2, REAL8 spin1z, REAL8 spin2z, const REAL8Vector initVals, UINT4 SpinAlignedEOBversion, SpinEOBParams *seobParams, EOBNonQCCoeffs *nqcCoeffs, LALDict *PAParams) |
This function generates post-adiabatic inspiral for spin-aligned binary in the SEOB formalism. More... | |
Go to the source code of this file.
Macros | |
#define | ROOT_SOLVER_ABS_TOL 1.0e-10 |
#define | ROOT_SOLVER_REL_TOL 1.0e-8 |
#define ROOT_SOLVER_ABS_TOL 1.0e-10 |
Definition at line 34 of file LALSimInspiralEOBPostAdiabatic.c.
#define ROOT_SOLVER_REL_TOL 1.0e-8 |
Definition at line 35 of file LALSimInspiralEOBPostAdiabatic.c.
int XLALSimInspiralEOBPACalculateRadialGrid | ( | REAL8Vector * | rVec, |
LALDict * | LALParams | ||
) |
Function which comstructs the radial grid on which the post-adiabatic approximation will be computed.
rVec | < OUTPUT, the computed radial grid |
LALParams | < Pointer to a dictionary containing parameters for the post-adiabatic routine |
Definition at line 42 of file LALSimInspiralEOBPostAdiabatic.c.
double XLALSimInspiralEOBPostAdiabaticj0Func | ( | REAL8 | j0_sol, |
void * | params | ||
) |
Function which implements eq.
(2.5) of arXiv:2105.06983 for the purposes of root solving
j0_sol | < The value of j0 = pphi |
params | < Struct of parameters necessary for evaluating the function |
Definition at line 75 of file LALSimInspiralEOBPostAdiabatic.c.
double XLALSimInspiralEOBPostAdiabaticdprstarFunc | ( | REAL8 | prstar_sol, |
void * | params | ||
) |
Function which implements eq.
(2.6) of arXiv:2105.06983 for the purposes of root solving
prstar_sol | < The value of prstar (pr*) |
params | < Struct of parameters necessary for evaluating the function |
Definition at line 111 of file LALSimInspiralEOBPostAdiabatic.c.
double XLALSimInspiralEOBPostAdiabaticdpphiFunc | ( | REAL8 | pphi_sol, |
void * | params | ||
) |
Function which implements eq.
(2.7) of arXiv:2105.06983 for the purposes of root solving
pphi_sol | < The value of pphi |
params | < Struct of parameters necessary for evaluating the function |
Definition at line 213 of file LALSimInspiralEOBPostAdiabatic.c.
int XLALSimInspiralEOBPostAdiabaticRootFinder | ( | struct PostAdiabaticRoot * | result, |
double(*)(REAL8, void *) | Func, | ||
struct PostAdiabaticRootSolveParams * | params, | ||
REAL8 | x_lower, | ||
REAL8 | x_upper, | ||
REAL8 | absTol, | ||
REAL8 | relTol, | ||
INT2 | parity | ||
) |
Root finder function which is used for computing the adiabatic and post-adiabatic approximations.
result | < OUTPUT, a structure containing the result of the root finding |
Func | < The function which needs to be solved |
params | < Struct of parameters necessary for evaluating the function |
x_lower | < Lower end of the interval in which the finding will be done |
x_upper | < Upper end of the interval in which the finding will be done |
absTol | < Absolute tolerance for the root finding |
relTol | < Relative tolerance for the root finding |
parity | < Parity indicating which variable is being solved for |
Definition at line 341 of file LALSimInspiralEOBPostAdiabatic.c.
int XLALReverseREAL8Vector | ( | REAL8Vector * | Vec, |
REAL8Vector * | reverseVec | ||
) |
Function which reverses a 1D array.
Vec | < The vector which will be reversed |
reverseVec | < OUTPUT, the reversed vector |
Definition at line 453 of file LALSimInspiralEOBPostAdiabatic.c.
int XLALOffsetREAL8Vector | ( | REAL8Vector * | Vec, |
REAL8 | offset, | ||
REAL8Vector * | offsetVec | ||
) |
Function which add a constant to each element of an array.
Vec | < The vector which will be shifted |
offset | < The constant offset |
offsetVec | < OUTPUT, the offset vector |
Definition at line 477 of file LALSimInspiralEOBPostAdiabatic.c.
int XLALRescaleREAL8Vector | ( | REAL8Vector * | Vec, |
REAL8 | factor, | ||
REAL8Vector * | rescaledVec | ||
) |
This function rescales each element of an array by a given factor.
Vec | < The vector which will be rescaled |
factor | < The rescaling factor |
rescaledVec | < OUTPUT, the rescaled vector |
Definition at line 503 of file LALSimInspiralEOBPostAdiabatic.c.
int XLALSimInspiralEOBPACalculateAdiabaticDynamics | ( | REAL8Vector * | rVec, |
REAL8Vector * | phiVec, | ||
REAL8Vector * | prstarVec, | ||
REAL8Vector * | pphiVec, | ||
REAL8Vector * | pphi0Vec, | ||
REAL8Vector * | dpphiBydrVec, | ||
REAL8Vector * | csiVec, | ||
REAL8Vector * | omegaVec, | ||
SpinEOBParams * | seobParams, | ||
LALDict * | LALParams | ||
) |
This function calculates the adiabatic (0th order PA) approximation of the inspiral dynamics.
The procedure is: Step 1) At each point along the inspiral, calculate the circular value for the orbital angular momentum j0 Step 2) At each point along the inspiral, improve j0 by solving eq. (2.5) of arXiv:2105.06983 for pphi.
rVec | < Pointer to the vector containing the radial grid |
phiVec | < Pointer to the vector containing the phi values |
prstarVec | < Pointer to the vector containing the prstar values |
pphiVec | < Pointer to the vector containing the pphi values |
pphi0Vec | < Pointer to the vector containing the initial pphi values |
dpphiBydrVec | < Pointer to the vector containing the dpphi/dr values |
csiVec | < Pointer to the vector containing the csi values |
omegaVec | < Pointer to the vector containing the omega values |
seobParams | < SEOB parameters |
LALParams | < Pointer to a dictionary containing parameters for the post-adiabatic routine |
Definition at line 534 of file LALSimInspiralEOBPostAdiabatic.c.
int XLALSimInspiralEOBPACalculatePostAdiabaticDynamics | ( | REAL8Vector * | rVec, |
REAL8Vector * | phiVec, | ||
REAL8Vector * | dphiBydrVec, | ||
REAL8Vector * | prstarVec, | ||
REAL8Vector * | dprstarBydrVec, | ||
REAL8Vector * | pphiVec, | ||
REAL8Vector * | dpphiBydrVec, | ||
REAL8Vector * | dtBydrVec, | ||
REAL8Vector * | csiVec, | ||
REAL8Vector * | omegaVec, | ||
SpinEOBParams * | seobParams, | ||
EOBNonQCCoeffs * | nqcCoeffs, | ||
LALDict * | LALParams | ||
) |
This function calculates the (n-th order) post-adiabatic approximation of the inspiral dynamics.
The procedure is: Step 0) Initialise all necessary variables and allocate memory space. Step 1) Iterate the PA order n from 1 to 8. Step 2) At odd n (orders 1, 3, 5, 7) improve the approximation for prstar (pr*) by solving eq. (2.6) of arXiv:2105.06983. Step 3) At even n (orders 2, 4, 6, 8) improve the approximation for pphi by solving eq. (2.7) of arXiv:2105.06983. Step 4) Compute the derivative dt/dr and dphi/dr which will be needed for computing the quantities t(r) and phi(r).
rVec | < Pointer to the vector containing the radial grid |
phiVec | < Pointer to the vector containing the phi values |
dphiBydrVec | < Pointer to the vector containing the dphi/dr values |
prstarVec | < Pointer to the vector containing the prstar (pr*) values |
dprstarBydrVec | < Pointer to the vector containing the dprstar/dr values |
pphiVec | < Pointer to the vector containing the pphi values |
dpphiBydrVec | < Pointer to the vector containing the dpphi/dr values |
dtBydrVec | < Pointer to the vector containing the dt/dr values |
csiVec | < Pointer to the vector containing the csi values |
omegaVec | < Pointer to the vector containing the omega values |
seobParams | < SEOB parameters |
nqcCoeffs | < Input NQC coeffs |
LALParams | < Pointer to a dictionary containing parameters for the post-adiabatic routine |
Definition at line 678 of file LALSimInspiralEOBPostAdiabatic.c.
REAL8 XLALSimInspiralEOBPAPartialHByPartialr | ( | REAL8 | h, |
REAL8 | r, | ||
REAL8 | prstar, | ||
REAL8 | pphi, | ||
SpinEOBParams * | seobParams, | ||
LALDict * | LALParams | ||
) |
Function which calculates the partial derivative dH/dr.
h | < Value of the differentiation step h |
r | < Value of the radial coordinate r |
prstar | < Value of the radial momentum in tortoise coordinates prstar |
pphi | < Value of the angular momentum pphhi |
seobParams | < SEOB parameters |
LALParams | < Pointer to a dictionary containing parameters for the post-adiabatic routine |
Definition at line 956 of file LALSimInspiralEOBPostAdiabatic.c.
REAL8 XLALSimInspiralEOBPAPartialHByPartialprstar | ( | REAL8 | h, |
REAL8 | r, | ||
REAL8 | prstar, | ||
REAL8 | pphi, | ||
SpinEOBParams * | seobParams, | ||
LALDict * | LALParams | ||
) |
Function which calculates the partial derivative dH/dprstar.
h | < Value of the differentiation step h |
r | < Value of the radial coordinate r |
prstar | < Value of the radial momentum in tortoise coordinates prstar |
pphi | < Value of the angular momentum pphhi |
seobParams | < SEOB parameters |
LALParams | < Pointer to a dictionary containing parameters for the post-adiabatic routine |
Definition at line 1031 of file LALSimInspiralEOBPostAdiabatic.c.
int XLALSimInspiralEOBPAMeanValueOrder8 | ( | REAL8Vector * | inputVec, |
REAL8Vector * | meanVec | ||
) |
Function which performs an 8-order mean smoothing of a vector.
inputVec | < The vector which should be smoothed |
meanVec | < OUTPUT, the vector after mean smoothing |
Definition at line 1099 of file LALSimInspiralEOBPostAdiabatic.c.
REAL8 XLALSimInspiralEOBPAHamiltonianWrapper | ( | REAL8 | r, |
REAL8 | prstar, | ||
REAL8 | pphi, | ||
SpinEOBHCoeffs * | seobCoeffs, | ||
LALDict * | LALParams | ||
) |
A wrapper for the SEOB Hamiltonian, depending on the user choices.
r | < Value of the radial coordinate r |
prstar | < Value of the radial momentum in tortoise coordinates prstar |
pphi | < Value of the angular momentum pphhi |
seobCoeffs | < SEOB parameters |
LALParams | < Pointer to a dictionary containing parameters for the post-adiabatic routine |
Definition at line 1205 of file LALSimInspiralEOBPostAdiabatic.c.
REAL8 XLALSimInspiralEOBPAFluxWrapper | ( | REAL8 | r, |
REAL8 | prstar, | ||
REAL8 | pphi, | ||
REAL8 | omega, | ||
SpinEOBParams * | seobParams, | ||
EOBNonQCCoeffs * | nqcCoeffs, | ||
LALDict * | LALParams | ||
) |
A wrapper for the factorized flux, depending on the user choices.
r | < Value of the radial coordinate r |
prstar | < Value of the radial momentum in tortoise coordinates prstar |
pphi | < Value of the angular momentum pphhi |
omega | < Value of the orbital frequency omega |
seobParams | < SEOB parameters |
nqcCoeffs | < Input NQC coeffs |
LALParams | < Pointer to a dictionary containing parameters for the post-adiabatic routine |
Definition at line 1293 of file LALSimInspiralEOBPostAdiabatic.c.
int XLALSimInspiralEOBPostAdiabatic | ( | REAL8Array ** | dynamics, |
REAL8 | m1, | ||
REAL8 | m2, | ||
REAL8 | spin1z, | ||
REAL8 | spin2z, | ||
const REAL8Vector | initVals, | ||
UINT4 | SpinAlignedEOBversion, | ||
SpinEOBParams * | seobParams, | ||
EOBNonQCCoeffs * | nqcCoeffs, | ||
LALDict * | PAParams | ||
) |
This function generates post-adiabatic inspiral for spin-aligned binary in the SEOB formalism.
The procedure is described in https://arxiv.org/abs/2105.06983 (or https://journals.aps.org/prd/abstract/10.1103/PhysRevD.104.124087) STEP 0) Initialise variables and set up a radial grid on which the post-adiabatic routine will be done. STEP 1) Compute the (quasi-circular) adiabatic approximation according to eq. (2.5) of arXiv:2105.06983. STEP 2) Perform the post-adiabatic routine, by computing improvements to prstar and pphi in alternating order, according to eqs. (2.6) and (2.7) of arXiv:2105.06983. STEP 3) The time t and orbital phase phi are computed via cubic quadrature using eqs. (2.10) from arXiv:2105.06983.
dynamics | < OUTPUT, real part of the modes |
m1 | < mass-1 |
m2 | < mass-2 |
spin1z | < z-component of spin-1, dimensionless |
spin2z | < z-component of spin-2, dimensionless |
initVals | < initial values (r, phi, pr, pphi) for the post-adiabatic routine |
SpinAlignedEOBversion | < 1 for SEOBNRv1, 2 for SEOBNRv2, 4 for SEOBNRv4, 201 for SEOBNRv2T, 401 for SEOBNRv4T, 41 for SEOBNRv4HM |
seobParams | < SEOB parameters |
nqcCoeffs | < NQC coefficients |
PAParams | < Pointer to a dictionary containing parameters for the post-adiabatic routine |
Definition at line 1386 of file LALSimInspiralEOBPostAdiabatic.c.