LALSimulation  5.4.0.1-fe68b98
LALSimIMRSpinEOBHamiltonianOptimized.c File Reference

Prototypes

static REAL8 XLALSimIMRSpinEOBHamiltonianOptimized (const REAL8 eta, REAL8Vector *restrict x, REAL8Vector *restrict p, REAL8Vector *restrict s1Vec, REAL8Vector *restrict s2Vec, REAL8Vector *restrict sigmaKerr, REAL8Vector *restrict sigmaStar, int tortoise, SpinEOBHCoeffs *coeffs)
 
static REAL8 XLALSimIMRSpinAlignedEOBCalcOmegaOptimized (const REAL8 values[], SpinEOBParams *funcParams)
 Function to calculate the value of omega for the spin-aligned EOB waveform. More...
 
static REAL8 XLALSimIMRSpinAlignedEOBNonKeplerCoeffOptimized (const REAL8 values[], SpinEOBParams *funcParams)
 Function to calculate the non-Keplerian coefficient for the spin-aligned EOB model. More...
 
UNUSED REAL8 XLALSimIMRSpinEOBHamiltonianOptimized (const REAL8 eta, REAL8Vector *restrict x, REAL8Vector *restrict p, REAL8Vector *restrict s1Vec, REAL8Vector *restrict s2Vec, REAL8Vector *restrict sigmaKerr, REAL8Vector *restrict sigmaStar, INT4 tortoise, SpinEOBHCoeffs *coeffs)
 Function to calculate the value of the spinning Hamiltonian for given values of the dynamical variables (in a Cartesian co-ordinate system). More...
 

Go to the source code of this file.

Macros

#define _LALSIMIMRSPINEOBHAMILTONIANOPTIMIZED_C
 

Macro Definition Documentation

◆ _LALSIMIMRSPINEOBHAMILTONIANOPTIMIZED_C

#define _LALSIMIMRSPINEOBHAMILTONIANOPTIMIZED_C
Author
Craig Robinson, Yi Pan, Zachariah Etienne, Caleb Devine, David Buch

Functions for calculating the effective one-body Hamiltonian for spinning binaries, as described in Taracchini et al. ( PRD 86, 024011 (2012), arXiv 1202.0790 ). All equation numbers in this file refer to equations of this paper, unless otherwise specified. This code borrows hugely from a C implementation originally written by Enrico Barausse, following Barausse and Buonanno PRD 81, 084024 (2010) and PRD 84, 104027 (2011), henceforth BB1 and BB2, and additionally from the original un-optimized version LALSimIMRSpinEOBHamiltonian.c

Definition at line 37 of file LALSimIMRSpinEOBHamiltonianOptimized.c.

Function Documentation

◆ XLALSimIMRSpinEOBHamiltonianOptimized() [1/2]

static REAL8 XLALSimIMRSpinEOBHamiltonianOptimized ( const REAL8  eta,
REAL8Vector *restrict  x,
REAL8Vector *restrict  p,
REAL8Vector *restrict  s1Vec,
REAL8Vector *restrict  s2Vec,
REAL8Vector *restrict  sigmaKerr,
REAL8Vector *restrict  sigmaStar,
int  tortoise,
SpinEOBHCoeffs coeffs 
)
static

◆ XLALSimIMRSpinAlignedEOBCalcOmegaOptimized()

static REAL8 XLALSimIMRSpinAlignedEOBCalcOmegaOptimized ( const REAL8  values[],
SpinEOBParams funcParams 
)
static

Function to calculate the value of omega for the spin-aligned EOB waveform.

Can NOT be used in precessing cases. This omega is defined as \(\dot{y}/r\) by setting \(y=0\). The function calculates omega = v/r, by first converting (r,phi,pr,pphi) to Cartesian coordinates in which rVec={r,0,0} and pVec={0,pphi/r,0}, i.e. the effective-test-particle is positioned at x=r, and its velocity along y-axis. Then it computes omega, which is now given by dydt/r = (dH/dp_y)/r.

Parameters
values< Dynamical variables
funcParams< EOB parameters

Definition at line 140 of file LALSimIMRSpinEOBHamiltonianOptimized.c.

◆ XLALSimIMRSpinAlignedEOBNonKeplerCoeffOptimized()

static UNUSED REAL8 XLALSimIMRSpinAlignedEOBNonKeplerCoeffOptimized ( const REAL8  values[],
SpinEOBParams funcParams 
)
static

Function to calculate the non-Keplerian coefficient for the spin-aligned EOB model.

radius \(r\) times the cuberoot of the returned number is \(r_\Omega\) defined in Eq. A2. i.e. the function returns \((r_{\Omega} / r)^3\).

Parameters
values< Dynamical variables
funcParams< EOB parameters

Definition at line 179 of file LALSimIMRSpinEOBHamiltonianOptimized.c.

◆ XLALSimIMRSpinEOBHamiltonianOptimized() [2/2]

UNUSED REAL8 XLALSimIMRSpinEOBHamiltonianOptimized ( const REAL8  eta,
REAL8Vector *restrict  x,
REAL8Vector *restrict  p,
REAL8Vector *restrict  s1Vec,
REAL8Vector *restrict  s2Vec,
REAL8Vector *restrict  sigmaKerr,
REAL8Vector *restrict  sigmaStar,
INT4  tortoise,
SpinEOBHCoeffs coeffs 
)

Function to calculate the value of the spinning Hamiltonian for given values of the dynamical variables (in a Cartesian co-ordinate system).

The inputs are as follows:

x - the separation vector r expressed in Cartesian co-ordinates p - the momentum vector (with the radial component tortoise pr*) sigmaKerr - spin of the effective Kerr background (a combination of the individual spin vectors) sigmaStar - spin of the effective particle (a different combination of the individual spins). coeffs - coefficients which crop up in the Hamiltonian. These can be calculated using the XLALCalculateSpinEOBParams() function.

The function returns a REAL8, which will be the value of the Hamiltonian if all goes well; otherwise, it will return the XLAL REAL8 failure NaN.

Parameters
eta< Symmetric mass ratio
x< Position vector
p< Momentum vector (tortoise radial component pr*)
s1Vec< Spin vector 1
s2Vec< Spin vector 2
sigmaKerr< Spin vector sigma_kerr
sigmaStar< Spin vector sigma_star
tortoise< flag to state whether the momentum is the tortoise co-ord
coeffs< Structure containing various coefficients

Definition at line 101 of file LALSimIMRSpinEOBHamiltonianOptimized.c.