LALSimulation  5.4.0.1-fe68b98
LALSimIMRPSpinInspiralRD.c File Reference

Prototypes

static REAL8 dsign (INT4 i)
 
static REAL8 OmMatch (REAL8 LNhS1, REAL8 LNhS2, REAL8 S1S1, REAL8 S1S2, REAL8 S2S2)
 
static REAL8 fracRD (REAL8 LNhS1, REAL8 LNhS2, REAL8 S1S1, REAL8 S1S2, REAL8 S2S2)
 
static INT4 XLALSimIMRPhenSpinParamsSetup (LALSimInspiralPhenSpinTaylorT4Coeffs *params, REAL8 dt, REAL8 fStart, REAL8 fEnd, REAL8 mass1, REAL8 mass2, REAL8 lambda1, REAL8 lambda2, REAL8 quadparam1, REAL8 quadparam2, int spinO, int tideO, LALDict *LALparams, UINT4 order)
 Convenience function to set up XLALSimInspiralSpinTaylotT4Coeffs struct. More...
 
static INT4 XLALSpinInspiralDerivatives (UNUSED double t, const double values[], double dvalues[], void *mparams)
 
static INT4 XLALGenerateWaveDerivative (REAL8Vector *dwave, REAL8Vector *wave, REAL8 dt)
 
static INT4 XLALSimSpinInspiralTest (UNUSED double t, const double values[], double dvalues[], void *mparams)
 
static INT4 XLALSimIMRPhenSpinTest (UNUSED double t, const double values[], double dvalues[], void *mparams)
 
static INT4 XLALSimSpinInspiralFillL2Modes (COMPLEX16Vector *hL2, REAL8 v, REAL8 eta, REAL8 dm, REAL8 Psi, REAL8 alpha, LALSimInspiralInclAngle *an)
 
static INT4 XLALSimSpinInspiralFillL3Modes (COMPLEX16Vector *hL3, REAL8 v, REAL8 eta, REAL8 dm, REAL8 Psi, REAL8 alpha, LALSimInspiralInclAngle *an)
 
static INT4 XLALSimSpinInspiralFillL4Modes (COMPLEX16Vector *hL4, UNUSED REAL8 v, REAL8 eta, UNUSED REAL8 dm, REAL8 Psi, REAL8 alpha, LALSimInspiralInclAngle *an)
 
static INT4 XLALSimInspiralSpinTaylorT4Engine (REAL8TimeSeries **omega, REAL8TimeSeries **Phi, REAL8TimeSeries **LNhatx, REAL8TimeSeries **LNhaty, REAL8TimeSeries **LNhatz, REAL8TimeSeries **S1x, REAL8TimeSeries **S1y, REAL8TimeSeries **S1z, REAL8TimeSeries **S2x, REAL8TimeSeries **S2y, REAL8TimeSeries **S2z, REAL8TimeSeries **Energy, const REAL8 yinit[], const INT4 lengthH, const Approximant approx, LALSimInspiralPhenSpinTaylorT4Coeffs *params)
 
static INT4 XLALSimInspiralComputeInclAngle (REAL8 ciota, LALSimInspiralInclAngle *angle)
 
static INT4 XLALSimInspiralComputeAlpha (LALSimInspiralPhenSpinTaylorT4Coeffs params, REAL8 LNhx, REAL8 LNhy, REAL8 S1x, REAL8 S1y, REAL8 S2x, REAL8 S2y, REAL8 *alpha)
 The following lines are necessary in the case L is initially parallel to N so that alpha is undefined at the beginning but different from zero at the first step (this happens if the spins are not aligned with L). More...
 
static void rotateY (REAL8 phi, REAL8 *vx, REAL8 *vy, REAL8 *vz)
 Here we use the following convention: the coordinates of the spin vectors spin1,2 and the inclination variable refers to different physical parameters according to the value of axisChoice: More...
 
static void rotateZ (REAL8 phi, REAL8 *vx, REAL8 *vy, REAL8 *vz)
 
static INT4 XLALSimIMRPhenSpinInspiralSetAxis (REAL8 **yinitOut, REAL8 *iota, REAL8 *phiN, REAL8 *yinitIn, const REAL8 inclination, const REAL8 mass1, const REAL8 mass2, LALSimInspiralFrameAxis axisChoice)
 
static INT4 XLALSimIMRPhenSpinInitialize (REAL8 mass1, REAL8 mass2, REAL8 lambda1, REAL8 lambda2, REAL8 quadparam1, REAL8 quadparam2, REAL8 *yinit, REAL8 fStart, REAL8 fEnd, REAL8 deltaT, INT4 phaseO, LALSimInspiralPhenSpinTaylorT4Coeffs *params, LALDict *LALparams, Approximant approx)
 PhenSpin Initialization. More...
 
static REAL8TimeSeriesappendTSandFree (REAL8TimeSeries *start, REAL8TimeSeries *end)
 
static INT4 XLALSimIMRHybridRingdownWave (REAL8Vector *rdwave1, REAL8Vector *rdwave2, const REAL8 dt, const REAL8 mass1, const REAL8 mass2, REAL8VectorSequence *inspwave1, REAL8VectorSequence *inspwave2, COMPLEX16Vector *modefreqs, REAL8Vector *matchrange)
 
static INT4 XLALUpSampling (REAL8Vector *vHi, REAL8 dtHi, REAL8Vector *v, REAL8 dt)
 
INT4 XLALSimSpinInspiralGenerator (REAL8TimeSeries **hPlus, REAL8TimeSeries **hCross, REAL8 phi_start, REAL8 deltaT, REAL8 m1, REAL8 m2, REAL8 f_start, REAL8 f_ref, REAL8 r, REAL8 iota, REAL8 s1x, REAL8 s1y, REAL8 s1z, REAL8 s2x, REAL8 s2y, REAL8 s2z, INT4 phaseO, INT4 UNUSED ampO, REAL8 lambda1, REAL8 lambda2, REAL8 quadparam1, REAL8 quadparam2, LALDict *LALparams)
 Driver routine to compute the PhenSpin Inspiral waveform without ring-down. More...
 
INT4 XLALSimIMRPhenSpinFinalMassSpin (REAL8 *finalMass, REAL8 *finalSpin, REAL8 mass1, REAL8 mass2, REAL8 s1s1, REAL8 s2s2, REAL8 s1L, REAL8 s2L, REAL8 s1s2, REAL8 energy)
 
INT4 XLALSimIMRPhenSpinInspiralRDGenerator (REAL8TimeSeries **hPlus, REAL8TimeSeries **hCross, REAL8 phi_start, REAL8 deltaT, REAL8 m1, REAL8 m2, REAL8 f_start, REAL8 f_ref, REAL8 r, REAL8 iota, REAL8 s1x, REAL8 s1y, REAL8 s1z, REAL8 s2x, REAL8 s2y, REAL8 s2z, INT4 phaseO, INT4 UNUSED ampO, REAL8 lambda1, REAL8 lambda2, REAL8 quadparam1, REAL8 quadparam2, LALDict *LALparams)
 Driver routine for generating PhenSpinRD waveforms. More...
 

Go to the source code of this file.

Data Structures

struct  LALSimInspiralPhenSpinTaylorT4Coeffs
 
struct  LALSimInspiralInclAngle
 Utility type and function to compute trigonometric functions from the cosine of an angle. More...
 

Macros

#define LALSIMINSPIRAL_PST4_TEST_ENERGY   1025
 
#define LALSIMINSPIRAL_PST4_TEST_OMEGADOT   1026
 
#define LALSIMINSPIRAL_PST4_TEST_COORDINATE   1027
 
#define LALSIMINSPIRAL_PST4_TEST_OMEGANAN   1028
 
#define LALSIMINSPIRAL_PST4_TEST_FREQBOUND   1029
 
#define LALSIMINSPIRAL_PST4_DERIVATIVE_OMEGANONPOS   1030
 
#define LALSIMINSPIRAL_PST4_TEST_OMEGAMATCH   1031
 
#define LAL_NUM_PST4_VARIABLES   12
 
#define LAL_PST4_ABSOLUTE_TOLERANCE   1.e-12
 
#define LAL_PST4_RELATIVE_TOLERANCE   1.e-12
 
#define minIntLen   16
 
#define DEBUG_RD   0
 
#define nModes   8
 
#define RD_EFOLDS   10
 

Macro Definition Documentation

◆ LALSIMINSPIRAL_PST4_TEST_ENERGY

#define LALSIMINSPIRAL_PST4_TEST_ENERGY   1025

Definition at line 44 of file LALSimIMRPSpinInspiralRD.c.

◆ LALSIMINSPIRAL_PST4_TEST_OMEGADOT

#define LALSIMINSPIRAL_PST4_TEST_OMEGADOT   1026

Definition at line 45 of file LALSimIMRPSpinInspiralRD.c.

◆ LALSIMINSPIRAL_PST4_TEST_COORDINATE

#define LALSIMINSPIRAL_PST4_TEST_COORDINATE   1027

Definition at line 46 of file LALSimIMRPSpinInspiralRD.c.

◆ LALSIMINSPIRAL_PST4_TEST_OMEGANAN

#define LALSIMINSPIRAL_PST4_TEST_OMEGANAN   1028

Definition at line 47 of file LALSimIMRPSpinInspiralRD.c.

◆ LALSIMINSPIRAL_PST4_TEST_FREQBOUND

#define LALSIMINSPIRAL_PST4_TEST_FREQBOUND   1029

Definition at line 48 of file LALSimIMRPSpinInspiralRD.c.

◆ LALSIMINSPIRAL_PST4_DERIVATIVE_OMEGANONPOS

#define LALSIMINSPIRAL_PST4_DERIVATIVE_OMEGANONPOS   1030

Definition at line 49 of file LALSimIMRPSpinInspiralRD.c.

◆ LALSIMINSPIRAL_PST4_TEST_OMEGAMATCH

#define LALSIMINSPIRAL_PST4_TEST_OMEGAMATCH   1031

Definition at line 50 of file LALSimIMRPSpinInspiralRD.c.

◆ LAL_NUM_PST4_VARIABLES

#define LAL_NUM_PST4_VARIABLES   12

Definition at line 52 of file LALSimIMRPSpinInspiralRD.c.

◆ LAL_PST4_ABSOLUTE_TOLERANCE

#define LAL_PST4_ABSOLUTE_TOLERANCE   1.e-12

Definition at line 54 of file LALSimIMRPSpinInspiralRD.c.

◆ LAL_PST4_RELATIVE_TOLERANCE

#define LAL_PST4_RELATIVE_TOLERANCE   1.e-12

Definition at line 55 of file LALSimIMRPSpinInspiralRD.c.

◆ minIntLen

#define minIntLen   16

Definition at line 58 of file LALSimIMRPSpinInspiralRD.c.

◆ DEBUG_RD

#define DEBUG_RD   0

Definition at line 60 of file LALSimIMRPSpinInspiralRD.c.

◆ nModes

#define nModes   8

Definition at line 62 of file LALSimIMRPSpinInspiralRD.c.

◆ RD_EFOLDS

#define RD_EFOLDS   10

Definition at line 63 of file LALSimIMRPSpinInspiralRD.c.

Function Documentation

◆ dsign()

static REAL8 dsign ( INT4  i)
static

Definition at line 65 of file LALSimIMRPSpinInspiralRD.c.

◆ OmMatch()

static REAL8 OmMatch ( REAL8  LNhS1,
REAL8  LNhS2,
REAL8  S1S1,
REAL8  S1S2,
REAL8  S2S2 
)
static

Definition at line 115 of file LALSimIMRPSpinInspiralRD.c.

◆ fracRD()

static REAL8 fracRD ( REAL8  LNhS1,
REAL8  LNhS2,
REAL8  S1S1,
REAL8  S1S2,
REAL8  S2S2 
)
static

Definition at line 140 of file LALSimIMRPSpinInspiralRD.c.

◆ XLALSimIMRPhenSpinParamsSetup()

static INT4 XLALSimIMRPhenSpinParamsSetup ( LALSimInspiralPhenSpinTaylorT4Coeffs params,
REAL8  dt,
REAL8  fStart,
REAL8  fEnd,
REAL8  mass1,
REAL8  mass2,
REAL8  lambda1,
REAL8  lambda2,
REAL8  quadparam1,
REAL8  quadparam2,
int  spinO,
int  tideO,
LALDict *  LALparams,
UINT4  order 
)
static

Convenience function to set up XLALSimInspiralSpinTaylotT4Coeffs struct.

Parameters
paramsPN params [returned]
dtSampling in secs
fStartStarting frequency of integration
fEndEnding frequency of integration
mass1Mass 1 in solar mass units
mass2Mass 2 in solar mass units
lambda1Tidal par1
lambda2Tidal par2
quadparam1Quad-monop par1
quadparam2Quad-monop par2
spinOSpin interaction
tideOTidal iteraction interaction
LALparamsExtra parameters
ordertwice PN Order in Phase

Definition at line 160 of file LALSimIMRPSpinInspiralRD.c.

◆ XLALSpinInspiralDerivatives()

static INT4 XLALSpinInspiralDerivatives ( UNUSED double  t,
const double  values[],
double  dvalues[],
void *  mparams 
)
static

Definition at line 379 of file LALSimIMRPSpinInspiralRD.c.

◆ XLALGenerateWaveDerivative()

static INT4 XLALGenerateWaveDerivative ( REAL8Vector dwave,
REAL8Vector wave,
REAL8  dt 
)
static

Definition at line 566 of file LALSimIMRPSpinInspiralRD.c.

◆ XLALSimSpinInspiralTest()

static INT4 XLALSimSpinInspiralTest ( UNUSED double  t,
const double  values[],
double  dvalues[],
void *  mparams 
)
static

Definition at line 651 of file LALSimIMRPSpinInspiralRD.c.

◆ XLALSimIMRPhenSpinTest()

static INT4 XLALSimIMRPhenSpinTest ( UNUSED double  t,
const double  values[],
double  dvalues[],
void *  mparams 
)
static

Definition at line 690 of file LALSimIMRPSpinInspiralRD.c.

◆ XLALSimSpinInspiralFillL2Modes()

static INT4 XLALSimSpinInspiralFillL2Modes ( COMPLEX16Vector hL2,
REAL8  v,
REAL8  eta,
REAL8  dm,
REAL8  Psi,
REAL8  alpha,
LALSimInspiralInclAngle an 
)
static

Definition at line 762 of file LALSimIMRPSpinInspiralRD.c.

◆ XLALSimSpinInspiralFillL3Modes()

static INT4 XLALSimSpinInspiralFillL3Modes ( COMPLEX16Vector hL3,
REAL8  v,
REAL8  eta,
REAL8  dm,
REAL8  Psi,
REAL8  alpha,
LALSimInspiralInclAngle an 
)
static

Definition at line 813 of file LALSimIMRPSpinInspiralRD.c.

◆ XLALSimSpinInspiralFillL4Modes()

static INT4 XLALSimSpinInspiralFillL4Modes ( COMPLEX16Vector hL4,
UNUSED REAL8  v,
REAL8  eta,
UNUSED REAL8  dm,
REAL8  Psi,
REAL8  alpha,
LALSimInspiralInclAngle an 
)
static

Definition at line 870 of file LALSimIMRPSpinInspiralRD.c.

◆ XLALSimInspiralSpinTaylorT4Engine()

static INT4 XLALSimInspiralSpinTaylorT4Engine ( REAL8TimeSeries **  omega,
REAL8TimeSeries **  Phi,
REAL8TimeSeries **  LNhatx,
REAL8TimeSeries **  LNhaty,
REAL8TimeSeries **  LNhatz,
REAL8TimeSeries **  S1x,
REAL8TimeSeries **  S1y,
REAL8TimeSeries **  S1z,
REAL8TimeSeries **  S2x,
REAL8TimeSeries **  S2y,
REAL8TimeSeries **  S2z,
REAL8TimeSeries **  Energy,
const REAL8  yinit[],
const INT4  lengthH,
const Approximant  approx,
LALSimInspiralPhenSpinTaylorT4Coeffs params 
)
static

Used to store initial spin values

Used to store integration output

Parameters
omegapost-Newtonian parameter [returned]
Phiorbital phase [returned]
LNhatxLNhat vector x component [returned]
LNhaty" " " y component [returned] @param LNhatz " " " z component [returned]
S1xSpin1 vector x component [returned]
S1y" " " y component [returned] @param S1z " " " z component [returned]
S2xSpin2 vector x component [returned]
S2y" " " y component [returned] @param S2z " " " z component [returned]
EnergyEnergy [returned]
yinitUNDOCUMENTED
lengthHUNDOCUMENTED
approxAllow to choose w/o ringdown
paramsUNDOCUMENTED

Definition at line 922 of file LALSimIMRPSpinInspiralRD.c.

◆ XLALSimInspiralComputeInclAngle()

static INT4 XLALSimInspiralComputeInclAngle ( REAL8  ciota,
LALSimInspiralInclAngle angle 
)
static

Definition at line 1043 of file LALSimIMRPSpinInspiralRD.c.

◆ XLALSimInspiralComputeAlpha()

static INT4 XLALSimInspiralComputeAlpha ( LALSimInspiralPhenSpinTaylorT4Coeffs  params,
REAL8  LNhx,
REAL8  LNhy,
REAL8  S1x,
REAL8  S1y,
REAL8  S2x,
REAL8  S2y,
REAL8 alpha 
)
static

The following lines are necessary in the case L is initially parallel to N so that alpha is undefined at the beginning but different from zero at the first step (this happens if the spins are not aligned with L).

Such a discontinuity of alpha would induce a discontinuity of the waveform between its initial value and its value after the first integration step. This does not happen during the integration as in that case alpha can be safely set to the previous value, just before L becomes parallel to N. In the case L stays all the time parallel to N than alpha can be safely set to zero, as it is.

Definition at line 1079 of file LALSimIMRPSpinInspiralRD.c.

◆ rotateY()

static void rotateY ( REAL8  phi,
REAL8 vx,
REAL8 vy,
REAL8 vz 
)
static

Here we use the following convention: the coordinates of the spin vectors spin1,2 and the inclination variable refers to different physical parameters according to the value of axisChoice:

  • LAL_SIM_INSPIRAL_FRAME_AXIS_TOTAL_J: inclination denotes the angle between reference J and the view direction N (for N=(0,0,1), Jhat=(sin(inc),0,cos(inc)) ) and the spins are given with respect to initial J. Note that not all values of the spin will correspond to physically well defined configurations.
  • LAL_SIM_INSPIRAL_FRAME_AXIS_ORBITAL_L: inclination denotes the angle between the reference L and the view direction N (for N=(0,0,1), LNhat=(sin(inc),0,cos(inc)) ) and the spins are given wrt initial L.
  • LAL_SIM_INSPIRAL_FRAME_AXIS_VIEW: inclination denotes the angle between the reference L and the view direction N (for N=(0,0,1), LNhat=(sin(inc),0,cos(inc)) ) and the spins are given wrt to N. (default)

The spin magnitudes are normalized to the individual mass^2, i.e. they are dimension-less. The modulus of the initial angular momentum is fixed by m1,m2 and initial frequency. The polarization angle is not used here, it enters the pattern functions along with the angles marking the sky position of the source.

Definition at line 1142 of file LALSimIMRPSpinInspiralRD.c.

◆ rotateZ()

static void rotateZ ( REAL8  phi,
REAL8 vx,
REAL8 vy,
REAL8 vz 
)
static

Definition at line 1153 of file LALSimIMRPSpinInspiralRD.c.

◆ XLALSimIMRPhenSpinInspiralSetAxis()

static INT4 XLALSimIMRPhenSpinInspiralSetAxis ( REAL8 **  yinitOut,
REAL8 iota,
REAL8 phiN,
REAL8 yinitIn,
const REAL8  inclination,
const REAL8  mass1,
const REAL8  mass2,
LALSimInspiralFrameAxis  axisChoice 
)
static

Definition at line 1165 of file LALSimIMRPSpinInspiralRD.c.

◆ XLALSimIMRPhenSpinInitialize()

static INT4 XLALSimIMRPhenSpinInitialize ( REAL8  mass1,
REAL8  mass2,
REAL8  lambda1,
REAL8  lambda2,
REAL8  quadparam1,
REAL8  quadparam2,
REAL8 yinit,
REAL8  fStart,
REAL8  fEnd,
REAL8  deltaT,
INT4  phaseO,
LALSimInspiralPhenSpinTaylorT4Coeffs params,
LALDict *  LALparams,
Approximant  approx 
)
static

PhenSpin Initialization.

Parameters
mass1in Msun units
mass2in Msun units
lambda1Tidal par1
lambda2Tidal par2
quadparam1Quad-monopole par1
quadparam2Quad-monopole par2
yinitInitial values
fStartin Hz
fEndin Hz
deltaTsampling time (sec)
phaseO(twice) phase order
paramsCoefficient holder
LALparamsExtra parameters
approxApproximant

Definition at line 1306 of file LALSimIMRPSpinInspiralRD.c.

◆ appendTSandFree()

static REAL8TimeSeries* appendTSandFree ( REAL8TimeSeries start,
REAL8TimeSeries end 
)
static

Definition at line 1369 of file LALSimIMRPSpinInspiralRD.c.

◆ XLALSimIMRHybridRingdownWave()

static INT4 XLALSimIMRHybridRingdownWave ( REAL8Vector rdwave1,
REAL8Vector rdwave2,
const REAL8  dt,
const REAL8  mass1,
const REAL8  mass2,
REAL8VectorSequence inspwave1,
REAL8VectorSequence inspwave2,
COMPLEX16Vector modefreqs,
REAL8Vector matchrange 
)
static
Parameters
rdwave1Real part of ringdown
rdwave2Imaginary part of ringdown
dtSampling interval
mass1First component mass (in Solar masses)
mass2Second component mass (in Solar masses)
inspwave1Values and derivatives of real part of inspiral waveform
inspwave2Values and derivatives of Imaginary part of inspiral waveform
modefreqsComplex frequencies of ringdown (scaled by total mass)
matchrangeTimes which determine the comb size for ringdown attachment

Definition at line 1385 of file LALSimIMRPSpinInspiralRD.c.

◆ XLALUpSampling()

static INT4 XLALUpSampling ( REAL8Vector vHi,
REAL8  dtHi,
REAL8Vector v,
REAL8  dt 
)
static

Definition at line 1605 of file LALSimIMRPSpinInspiralRD.c.