LALSimulation  5.4.0.1-fe68b98
LALSimIMRPhenomTPHM_EulerAngles.c File Reference

Prototypes

static double IMRPhenomT_MECOTime (double eta, double S, double dchi, double delta)
 
static double f_alphadotcosi (double x, void *inparams)
 
void IMRPhenomT_rotate_z (REAL8 cosangle, REAL8 sinangle, REAL8 *vx, REAL8 *vy, REAL8 *vz)
 
void IMRPhenomT_rotate_y (REAL8 cosangle, REAL8 sinangle, REAL8 *vx, REAL8 *vy, REAL8 *vz)
 
void unwrap_array (double *in, double *out, int len)
 
int PNAnalyticalInspiralEulerAngles (REAL8TimeSeries **alphaTS, REAL8TimeSeries **cosbetaTS, REAL8TimeSeries **gammaTS, REAL8Sequence *xorb, IMRPhenomTWaveformStruct *pWF, IMRPhenomTPhase22Struct *pPhase, IMRPhenomXWaveformStruct *pWFX, IMRPhenomXPrecessionStruct *pPrec, INT4 EulerRDVersion, INT4 GammaVersion)
 This function provides a wrapper to the analytical PN angle descriptions computed by the IMRPhenomXP(HM) waveform models and routines to incorporate a simple approximation in the ringdown for the precessing angles (see https://arxiv.org/pdf/1209.3712.pdf, https://arxiv.org/abs/1806.10734, https://arxiv.org/abs/2004.08302). More...
 
int StoppingTest (double UNUSED t, const double UNUSED values[], double UNUSED dvalues[], void UNUSED *mparams)
 
INT4 XLALSimIMRPhenomTPHMSpinDerivatives (REAL8 UNUSED t, const REAL8 values[], REAL8 dvalues[], void *mparams)
 
int IMRPhenomTPHM_EvolveOrbit (REAL8TimeSeries **V, REAL8TimeSeries **S1x, REAL8TimeSeries **S1y, REAL8TimeSeries **S1z, REAL8TimeSeries **S2x, REAL8TimeSeries **S2y, REAL8TimeSeries **S2z, REAL8TimeSeries **LNhatx, REAL8TimeSeries **LNhaty, REAL8TimeSeries **LNhatz, REAL8TimeSeries **E1x, REAL8TimeSeries **E1y, REAL8TimeSeries **E1z, REAL8Sequence *xorb, REAL8 m1_SI, REAL8 m2_SI, REAL8 s1x, REAL8 s1y, REAL8 s1z, REAL8 s2x, REAL8 s2y, REAL8 s2z, IMRPhenomTWaveformStruct *pWF, IMRPhenomTPhase22Struct *pPhase)
 
int IMRPhenomTPHM_NumericalEulerAngles (REAL8TimeSeries **alphaInt, REAL8TimeSeries **cosbetaInt, REAL8TimeSeries **gammaInt, REAL8 *af_evolved, REAL8Sequence *xorb, REAL8 deltaT, REAL8 m1_SI, REAL8 m2_SI, REAL8 s1x, REAL8 s1y, REAL8 s1z, REAL8 s2x, REAL8 s2y, REAL8 s2z, REAL8 epochT, IMRPhenomTWaveformStruct *pWF, IMRPhenomTPhase22Struct *pPhase, UNUSED IMRPhenomXPrecessionStruct *pPrec)
 
Routines for spin evolution

C Code for the spin evolution of the IMRPhenomTP(HM) models.

Author
Héctor Estellés
int XLALSimIMRPhenomTPHM_EvolveOrbit (REAL8TimeSeries **V, REAL8TimeSeries **S1x, REAL8TimeSeries **S1y, REAL8TimeSeries **S1z, REAL8TimeSeries **S2x, REAL8TimeSeries **S2y, REAL8TimeSeries **S2z, REAL8TimeSeries **LNhatx, REAL8TimeSeries **LNhaty, REAL8TimeSeries **LNhatz, REAL8TimeSeries **E1x, REAL8TimeSeries **E1y, REAL8TimeSeries **E1z, REAL8 m1_SI, REAL8 m2_SI, REAL8 chi1x, REAL8 chi1y, REAL8 chi1z, REAL8 chi2x, REAL8 chi2y, REAL8 chi2z, REAL8 deltaT, REAL8 fmin, REAL8 fRef, REAL8 phiRef, LALDict *lalParams)
 Function to return the time series for the evolution of the individual spins, the Newtonian angular momentum direction and the orbital plane basis vector E. More...
 

Go to the source code of this file.

Data Structures

struct  gammaIntegration
 
struct  PhenomTPHMEvolution
 

Macros

#define MIN(a, b)   (((a)<(b))?(a):(b))
 
#define LAL_ST4_ABSOLUTE_TOLERANCE   1.e-12
 
#define LAL_ST4_RELATIVE_TOLERANCE   1.e-12
 

Macro Definition Documentation

◆ MIN

#define MIN (   a,
 
)    (((a)<(b))?(a):(b))
Author
Hector Estelles

Definition at line 51 of file LALSimIMRPhenomTPHM_EulerAngles.c.

◆ LAL_ST4_ABSOLUTE_TOLERANCE

#define LAL_ST4_ABSOLUTE_TOLERANCE   1.e-12

Definition at line 64 of file LALSimIMRPhenomTPHM_EulerAngles.c.

◆ LAL_ST4_RELATIVE_TOLERANCE

#define LAL_ST4_RELATIVE_TOLERANCE   1.e-12

Definition at line 65 of file LALSimIMRPhenomTPHM_EulerAngles.c.

Function Documentation

◆ IMRPhenomT_MECOTime()

static double IMRPhenomT_MECOTime ( double  eta,
double  S,
double  dchi,
double  delta 
)
static

Definition at line 69 of file LALSimIMRPhenomTPHM_EulerAngles.c.

◆ f_alphadotcosi()

static double f_alphadotcosi ( double  x,
void *  inparams 
)
static

Definition at line 95 of file LALSimIMRPhenomTPHM_EulerAngles.c.

◆ IMRPhenomT_rotate_z()

void IMRPhenomT_rotate_z ( REAL8  cosangle,
REAL8  sinangle,
REAL8 vx,
REAL8 vy,
REAL8 vz 
)

Definition at line 109 of file LALSimIMRPhenomTPHM_EulerAngles.c.

◆ IMRPhenomT_rotate_y()

void IMRPhenomT_rotate_y ( REAL8  cosangle,
REAL8  sinangle,
REAL8 vx,
REAL8 vy,
REAL8 vz 
)

Definition at line 123 of file LALSimIMRPhenomTPHM_EulerAngles.c.

◆ unwrap_array()

void unwrap_array ( double *  in,
double *  out,
int  len 
)

Definition at line 139 of file LALSimIMRPhenomTPHM_EulerAngles.c.

◆ PNAnalyticalInspiralEulerAngles()

int PNAnalyticalInspiralEulerAngles ( REAL8TimeSeries **  alphaTS,
REAL8TimeSeries **  cosbetaTS,
REAL8TimeSeries **  gammaTS,
REAL8Sequence xorb,
IMRPhenomTWaveformStruct pWF,
IMRPhenomTPhase22Struct pPhase,
IMRPhenomXWaveformStruct pWFX,
IMRPhenomXPrecessionStruct pPrec,
INT4  EulerRDVersion,
INT4  GammaVersion 
)

This function provides a wrapper to the analytical PN angle descriptions computed by the IMRPhenomXP(HM) waveform models and routines to incorporate a simple approximation in the ringdown for the precessing angles (see https://arxiv.org/pdf/1209.3712.pdf, https://arxiv.org/abs/1806.10734, https://arxiv.org/abs/2004.08302).

It provides also additional ways of treating the plunge-merger angles and possibility to compute third Euler angle gamma directly from the minimal rotation condition.

Definition at line 189 of file LALSimIMRPhenomTPHM_EulerAngles.c.

◆ StoppingTest()

int StoppingTest ( double UNUSED  t,
const double UNUSED  values[],
double UNUSED  dvalues[],
void UNUSED *  mparams 
)

Definition at line 515 of file LALSimIMRPhenomTPHM_EulerAngles.c.

◆ XLALSimIMRPhenomTPHMSpinDerivatives()

INT4 XLALSimIMRPhenomTPHMSpinDerivatives ( REAL8 UNUSED  t,
const REAL8  values[],
REAL8  dvalues[],
void *  mparams 
)

Definition at line 529 of file LALSimIMRPhenomTPHM_EulerAngles.c.

◆ IMRPhenomTPHM_EvolveOrbit()

int IMRPhenomTPHM_EvolveOrbit ( REAL8TimeSeries **  V,
REAL8TimeSeries **  S1x,
REAL8TimeSeries **  S1y,
REAL8TimeSeries **  S1z,
REAL8TimeSeries **  S2x,
REAL8TimeSeries **  S2y,
REAL8TimeSeries **  S2z,
REAL8TimeSeries **  LNhatx,
REAL8TimeSeries **  LNhaty,
REAL8TimeSeries **  LNhatz,
REAL8TimeSeries **  E1x,
REAL8TimeSeries **  E1y,
REAL8TimeSeries **  E1z,
REAL8Sequence xorb,
REAL8  m1_SI,
REAL8  m2_SI,
REAL8  s1x,
REAL8  s1y,
REAL8  s1z,
REAL8  s2x,
REAL8  s2y,
REAL8  s2z,
IMRPhenomTWaveformStruct pWF,
IMRPhenomTPhase22Struct pPhase 
)
Parameters
Vpost-Newtonian parameter [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]
LNhatxunit orbital ang. mom. x [returned]
LNhaty" " " y component [returned] @param LNhatz " " " z component [returned]
E1xorb. plane basis vector x[returned]
E1y" " " y component [returned] @param E1z " " " z component [returned]
xorbsquared velocity from IMRPhenomT phase evolution
m1_SIMass of companion 1 (kg)
m2_SIMass of companion 2 (kg)
s1xx component of primary spin at reference frequency
s1yy component of primary spin at reference frequency
s1zz component of primary spin at reference frequency
s2xx component of secondary spin at reference frequency
s2yy component of secondary spin at reference frequency
s2zz component of secondary spin at reference frequency
pWFPhenomTHM waveform struct
pPhasePhenomT phase struct

Definition at line 802 of file LALSimIMRPhenomTPHM_EulerAngles.c.

◆ IMRPhenomTPHM_NumericalEulerAngles()

int IMRPhenomTPHM_NumericalEulerAngles ( REAL8TimeSeries **  alphaInt,
REAL8TimeSeries **  cosbetaInt,
REAL8TimeSeries **  gammaInt,
REAL8 af_evolved,
REAL8Sequence xorb,
REAL8  deltaT,
REAL8  m1_SI,
REAL8  m2_SI,
REAL8  s1x,
REAL8  s1y,
REAL8  s1z,
REAL8  s2x,
REAL8  s2y,
REAL8  s2z,
REAL8  epochT,
IMRPhenomTWaveformStruct pWF,
IMRPhenomTPhase22Struct pPhase,
UNUSED IMRPhenomXPrecessionStruct pPrec 
)

Definition at line 1172 of file LALSimIMRPhenomTPHM_EulerAngles.c.