LALSimulation  5.4.0.1-fe68b98
LALSimIMRPhenomD_internals.h File Reference

Internal function for IMRPhenomD phenomenological waveform model. See LALSimIMRPhenom.c for more details. More...

Prototypes

static double chiPN (double Seta, double eta, double chi1, double chi2)
 
static UNUSED size_t NextPow2 (const size_t n)
 
static bool StepFunc_boolean (const double t, const double t1)
 
static double pow_2_of (double number)
 calc square of number without floating point 'pow' More...
 
static double pow_3_of (double number)
 calc cube of number without floating point 'pow' More...
 
static double pow_4_of (double number)
 calc fourth power of number without floating point 'pow' More...
 
static UNUSED double Subtract3PNSS (double m1, double m2, double M, double eta, double chi1, double chi2)
 
static int init_useful_powers (UsefulPowers *p, REAL8 number)
 must be called before the first usage of *p More...
 
static int init_amp_ins_prefactors (AmpInsPrefactors *prefactors, IMRPhenomDAmplitudeCoefficients *p)
 must be called before the first usage of *prefactors More...
 
static UNUSED int init_phi_ins_prefactors (PhiInsPrefactors *prefactors, IMRPhenomDPhaseCoefficients *p, PNPhasingSeries *pn)
 must be called before the first usage of *prefactors More...
 
static double FinalSpin0815_s (double eta, double s)
 
static UNUSED double FinalSpin0815 (double eta, double chi1, double chi2)
 
static double fring (double eta, double chi1, double chi2, double finalspin)
 
static double fdamp (double eta, double chi1, double chi2, double finalspin)
 
static double amp0Func (double eta)
 
static double rho1_fun (double eta, double eta2, double xi)
 
static double rho2_fun (double eta, double eta2, double xi)
 
static double rho3_fun (double eta, double eta2, double xi)
 
static double AmpInsAnsatz (double Mf, UsefulPowers *powers_of_Mf, AmpInsPrefactors *prefactors)
 
static double DAmpInsAnsatz (double Mf, UsefulPowers *powers_of_Mf, IMRPhenomDAmplitudeCoefficients *p)
 
static double gamma1_fun (double eta, double eta2, double xi)
 
static double gamma2_fun (double eta, double eta2, double xi)
 
static double gamma3_fun (double eta, double eta2, double xi)
 
static double AmpMRDAnsatz (double f, IMRPhenomDAmplitudeCoefficients *p)
 
static double DAmpMRDAnsatz (double f, IMRPhenomDAmplitudeCoefficients *p)
 
static double fmaxCalc (IMRPhenomDAmplitudeCoefficients *p)
 
static double AmpIntAnsatz (double f, IMRPhenomDAmplitudeCoefficients *p)
 
static double AmpIntColFitCoeff (double eta, double eta2, double chiPN)
 
static double delta0_fun (IMRPhenomDAmplitudeCoefficients *p, DeltaUtility *d)
 
static double delta1_fun (IMRPhenomDAmplitudeCoefficients *p, DeltaUtility *d)
 
static double delta2_fun (IMRPhenomDAmplitudeCoefficients *p, DeltaUtility *d)
 
static double delta3_fun (IMRPhenomDAmplitudeCoefficients *p, DeltaUtility *d)
 
static double delta4_fun (IMRPhenomDAmplitudeCoefficients *p, DeltaUtility *d)
 
static void ComputeDeltasFromCollocation (IMRPhenomDAmplitudeCoefficients *p)
 
static UNUSED void ComputeIMRPhenomDAmplitudeCoefficients (IMRPhenomDAmplitudeCoefficients *p, double eta, double chi1, double chi2, double finspin)
 
static UNUSED double IMRPhenDAmplitude (double f, IMRPhenomDAmplitudeCoefficients *p, UsefulPowers *powers_of_f, AmpInsPrefactors *prefactors)
 
static double alpha1Fit (double eta, double eta2, double xi)
 
static double alpha2Fit (double eta, double eta2, double xi)
 
static double alpha3Fit (double eta, double eta2, double xi)
 
static double alpha4Fit (double eta, double eta2, double xi)
 
static double alpha5Fit (double eta, double eta2, double xi)
 
static double PhiMRDAnsatzInt (double f, IMRPhenomDPhaseCoefficients *p, double Rholm, double Taulm)
 
static double DPhiMRD (double f, IMRPhenomDPhaseCoefficients *p, double Rholm, double Taulm)
 
static double beta1Fit (double eta, double eta2, double xi)
 
static double beta2Fit (double eta, double eta2, double xi)
 
static double beta3Fit (double eta, double eta2, double xi)
 
static double PhiIntAnsatz (double f, IMRPhenomDPhaseCoefficients *p)
 
static double DPhiIntAnsatz (double f, IMRPhenomDPhaseCoefficients *p)
 
static double DPhiIntTemp (double ff, IMRPhenomDPhaseCoefficients *p)
 
static double sigma1Fit (double eta, double eta2, double xi)
 
static double sigma2Fit (double eta, double eta2, double xi)
 
static double sigma3Fit (double eta, double eta2, double xi)
 
static double sigma4Fit (double eta, double eta2, double xi)
 
static double PhiInsAnsatzInt (double f, UsefulPowers *powers_of_Mf, PhiInsPrefactors *prefactors, IMRPhenomDPhaseCoefficients *p, PNPhasingSeries *pn)
 
static double DPhiInsAnsatzInt (double ff, IMRPhenomDPhaseCoefficients *p, PNPhasingSeries *pn)
 
static UNUSED void ComputeIMRPhenomDPhaseCoefficients (IMRPhenomDPhaseCoefficients *p, double eta, double chi1, double chi2, double finspin, LALDict *extraParams)
 
static UNUSED void ComputeIMRPhenDPhaseConnectionCoefficients (IMRPhenomDPhaseCoefficients *p, PNPhasingSeries *pn, PhiInsPrefactors *prefactors, double Rholm, double Taulm)
 
static UNUSED double IMRPhenDPhase (double f, IMRPhenomDPhaseCoefficients *p, PNPhasingSeries *pn, UsefulPowers *powers_of_f, PhiInsPrefactors *prefactors, double Rholm, double Taulm)
 
UNUSED int IMRPhenomDSetupAmpAndPhaseCoefficients (PhenDAmpAndPhasePreComp *pDPreComp, REAL8 m1, REAL8 m2, REAL8 chi1x, REAL8 chi1y, REAL8 chi1z, REAL8 chi2x, REAL8 chi2y, REAL8 chi2z, const REAL8 Rholm, const REAL8 Taulm, LALDict *extraParams)
 Function to populate the PhenDAmpAndPhasePreComp struct with quantities that can be computed outside a frequency loop when you want to generate the PhenomD amplitude and phase. More...
 
UNUSED REAL8 IMRPhenomDPhase_OneFrequency (REAL8 Mf, PhenDAmpAndPhasePreComp pD, REAL8 Rholm, REAL8 Taulm)
 Function to return the phenomD phase using the IMRPhenomDSetupAmpAndPhaseCoefficients struct. More...
 

Detailed Description

Internal function for IMRPhenomD phenomenological waveform model. See LALSimIMRPhenom.c for more details.

Author
Michael Puerrer, Sebastian Khan, Frank Ohme, Ofek Birnholtz, Lionel London, Francesco Pannarale

Definition in file LALSimIMRPhenomD_internals.h.

Go to the source code of this file.

Data Structures

struct  IMRPhenomDAmplitudeCoefficients
 Structure holding all coefficients for the amplitude. More...
 
struct  IMRPhenomDPhaseCoefficients
 Structure holding all coefficients for the phase. More...
 
struct  DeltaUtility
 Structure holding all additional coefficients needed for the delta amplitude functions. More...
 
struct  UsefulPowers
 useful powers in GW waveforms: 1/6, 1/3, 2/3, 4/3, 5/3, 2, 7/3, 8/3, -1, -1/6, -7/6, -1/3, -2/3, -5/3 calculated using only one invocation of 'pow', the rest are just multiplications and divisions More...
 
struct  AmpInsPrefactors
 used to cache the recurring (frequency-independent) prefactors of AmpInsAnsatz. More...
 
struct  PhiInsPrefactors
 used to cache the recurring (frequency-independent) prefactors of PhiInsAnsatzInt. More...
 
struct  PhenDAmpAndPhasePreComp
 A struct the store the amplitude and phase structs for phenomD. More...
 

Macros

#define PI_M_SIXTH   0.8263074871107581108331125856317241299
 

Variables

UsefulPowers powers_of_pi
 useful powers of LAL_PI, calculated once and kept constant - to be initied with a call to init_useful_powers(&powers_of_pi, LAL_PI); More...
 

Macro Definition Documentation

◆ PI_M_SIXTH

#define PI_M_SIXTH   0.8263074871107581108331125856317241299

Definition at line 102 of file LALSimIMRPhenomD_internals.h.

Function Documentation

◆ chiPN()

static double chiPN ( double  Seta,
double  eta,
double  chi1,
double  chi2 
)
static

◆ NextPow2()

static UNUSED size_t NextPow2 ( const size_t  n)
static

Definition at line 455 of file LALSimIMRPhenomXUtilities.c.

◆ StepFunc_boolean()

static bool StepFunc_boolean ( const double  t,
const double  t1 
)
static

◆ pow_2_of()

static double pow_2_of ( double  number)
inlinestatic

calc square of number without floating point 'pow'

Definition at line 331 of file LALSimIMRPhenomD_internals.h.

◆ pow_3_of()

static double pow_3_of ( double  number)
inlinestatic

calc cube of number without floating point 'pow'

Definition at line 339 of file LALSimIMRPhenomD_internals.h.

◆ pow_4_of()

static double pow_4_of ( double  number)
inlinestatic

calc fourth power of number without floating point 'pow'

Definition at line 347 of file LALSimIMRPhenomD_internals.h.

◆ Subtract3PNSS()

static UNUSED double Subtract3PNSS ( double  m1,
double  m2,
double  M,
double  eta,
double  chi1,
double  chi2 
)
static

◆ init_useful_powers()

static int init_useful_powers ( UsefulPowers p,
REAL8  number 
)
static

must be called before the first usage of *p

◆ init_amp_ins_prefactors()

static int init_amp_ins_prefactors ( AmpInsPrefactors prefactors,
IMRPhenomDAmplitudeCoefficients p 
)
static

must be called before the first usage of *prefactors

◆ init_phi_ins_prefactors()

static UNUSED int init_phi_ins_prefactors ( PhiInsPrefactors prefactors,
IMRPhenomDPhaseCoefficients p,
PNPhasingSeries pn 
)
static

must be called before the first usage of *prefactors

◆ FinalSpin0815_s()

static double FinalSpin0815_s ( double  eta,
double  s 
)
static

◆ FinalSpin0815()

static UNUSED double FinalSpin0815 ( double  eta,
double  chi1,
double  chi2 
)
static

◆ fring()

static double fring ( double  eta,
double  chi1,
double  chi2,
double  finalspin 
)
static

◆ fdamp()

static double fdamp ( double  eta,
double  chi1,
double  chi2,
double  finalspin 
)
static

◆ amp0Func()

static double amp0Func ( double  eta)
static

◆ rho1_fun()

static double rho1_fun ( double  eta,
double  eta2,
double  xi 
)
static

◆ rho2_fun()

static double rho2_fun ( double  eta,
double  eta2,
double  xi 
)
static

◆ rho3_fun()

static double rho3_fun ( double  eta,
double  eta2,
double  xi 
)
static

◆ AmpInsAnsatz()

static double AmpInsAnsatz ( double  Mf,
UsefulPowers powers_of_Mf,
AmpInsPrefactors prefactors 
)
static

◆ DAmpInsAnsatz()

static double DAmpInsAnsatz ( double  Mf,
UsefulPowers powers_of_Mf,
IMRPhenomDAmplitudeCoefficients p 
)
static

◆ gamma1_fun()

static double gamma1_fun ( double  eta,
double  eta2,
double  xi 
)
static

◆ gamma2_fun()

static double gamma2_fun ( double  eta,
double  eta2,
double  xi 
)
static

◆ gamma3_fun()

static double gamma3_fun ( double  eta,
double  eta2,
double  xi 
)
static

◆ AmpMRDAnsatz()

static double AmpMRDAnsatz ( double  f,
IMRPhenomDAmplitudeCoefficients p 
)
static

◆ DAmpMRDAnsatz()

static double DAmpMRDAnsatz ( double  f,
IMRPhenomDAmplitudeCoefficients p 
)
static

◆ fmaxCalc()

static double fmaxCalc ( IMRPhenomDAmplitudeCoefficients p)
static

◆ AmpIntAnsatz()

static double AmpIntAnsatz ( double  f,
IMRPhenomDAmplitudeCoefficients p 
)
static

◆ AmpIntColFitCoeff()

static double AmpIntColFitCoeff ( double  eta,
double  eta2,
double  chiPN 
)
static

◆ delta0_fun()

static double delta0_fun ( IMRPhenomDAmplitudeCoefficients p,
DeltaUtility d 
)
static

◆ delta1_fun()

static double delta1_fun ( IMRPhenomDAmplitudeCoefficients p,
DeltaUtility d 
)
static

◆ delta2_fun()

static double delta2_fun ( IMRPhenomDAmplitudeCoefficients p,
DeltaUtility d 
)
static

◆ delta3_fun()

static double delta3_fun ( IMRPhenomDAmplitudeCoefficients p,
DeltaUtility d 
)
static

◆ delta4_fun()

static double delta4_fun ( IMRPhenomDAmplitudeCoefficients p,
DeltaUtility d 
)
static

◆ ComputeDeltasFromCollocation()

static void ComputeDeltasFromCollocation ( IMRPhenomDAmplitudeCoefficients p)
static

◆ ComputeIMRPhenomDAmplitudeCoefficients()

static UNUSED void ComputeIMRPhenomDAmplitudeCoefficients ( IMRPhenomDAmplitudeCoefficients p,
double  eta,
double  chi1,
double  chi2,
double  finspin 
)
static

◆ IMRPhenDAmplitude()

static UNUSED double IMRPhenDAmplitude ( double  f,
IMRPhenomDAmplitudeCoefficients p,
UsefulPowers powers_of_f,
AmpInsPrefactors prefactors 
)
static

◆ alpha1Fit()

static double alpha1Fit ( double  eta,
double  eta2,
double  xi 
)
static

◆ alpha2Fit()

static double alpha2Fit ( double  eta,
double  eta2,
double  xi 
)
static

◆ alpha3Fit()

static double alpha3Fit ( double  eta,
double  eta2,
double  xi 
)
static

◆ alpha4Fit()

static double alpha4Fit ( double  eta,
double  eta2,
double  xi 
)
static

◆ alpha5Fit()

static double alpha5Fit ( double  eta,
double  eta2,
double  xi 
)
static

◆ PhiMRDAnsatzInt()

static double PhiMRDAnsatzInt ( double  f,
IMRPhenomDPhaseCoefficients p,
double  Rholm,
double  Taulm 
)
static

◆ DPhiMRD()

static double DPhiMRD ( double  f,
IMRPhenomDPhaseCoefficients p,
double  Rholm,
double  Taulm 
)
static

◆ beta1Fit()

static double beta1Fit ( double  eta,
double  eta2,
double  xi 
)
static

◆ beta2Fit()

static double beta2Fit ( double  eta,
double  eta2,
double  xi 
)
static

◆ beta3Fit()

static double beta3Fit ( double  eta,
double  eta2,
double  xi 
)
static

◆ PhiIntAnsatz()

static double PhiIntAnsatz ( double  f,
IMRPhenomDPhaseCoefficients p 
)
static

◆ DPhiIntAnsatz()

static double DPhiIntAnsatz ( double  f,
IMRPhenomDPhaseCoefficients p 
)
static

◆ DPhiIntTemp()

static double DPhiIntTemp ( double  ff,
IMRPhenomDPhaseCoefficients p 
)
static

◆ sigma1Fit()

static double sigma1Fit ( double  eta,
double  eta2,
double  xi 
)
static

◆ sigma2Fit()

static double sigma2Fit ( double  eta,
double  eta2,
double  xi 
)
static

◆ sigma3Fit()

static double sigma3Fit ( double  eta,
double  eta2,
double  xi 
)
static

◆ sigma4Fit()

static double sigma4Fit ( double  eta,
double  eta2,
double  xi 
)
static

◆ PhiInsAnsatzInt()

static double PhiInsAnsatzInt ( double  f,
UsefulPowers powers_of_Mf,
PhiInsPrefactors prefactors,
IMRPhenomDPhaseCoefficients p,
PNPhasingSeries pn 
)
static

◆ DPhiInsAnsatzInt()

static double DPhiInsAnsatzInt ( double  ff,
IMRPhenomDPhaseCoefficients p,
PNPhasingSeries pn 
)
static

◆ ComputeIMRPhenomDPhaseCoefficients()

static UNUSED void ComputeIMRPhenomDPhaseCoefficients ( IMRPhenomDPhaseCoefficients p,
double  eta,
double  chi1,
double  chi2,
double  finspin,
LALDict *  extraParams 
)
static

◆ ComputeIMRPhenDPhaseConnectionCoefficients()

static UNUSED void ComputeIMRPhenDPhaseConnectionCoefficients ( IMRPhenomDPhaseCoefficients p,
PNPhasingSeries pn,
PhiInsPrefactors prefactors,
double  Rholm,
double  Taulm 
)
static

◆ IMRPhenDPhase()

static UNUSED double IMRPhenDPhase ( double  f,
IMRPhenomDPhaseCoefficients p,
PNPhasingSeries pn,
UsefulPowers powers_of_f,
PhiInsPrefactors prefactors,
double  Rholm,
double  Taulm 
)
static

◆ IMRPhenomDSetupAmpAndPhaseCoefficients()

UNUSED int IMRPhenomDSetupAmpAndPhaseCoefficients ( PhenDAmpAndPhasePreComp pDPreComp,
REAL8  m1,
REAL8  m2,
REAL8  chi1x,
REAL8  chi1y,
REAL8  chi1z,
REAL8  chi2x,
REAL8  chi2y,
REAL8  chi2z,
const REAL8  Rholm,
const REAL8  Taulm,
LALDict *  extraParams 
)

Function to populate the PhenDAmpAndPhasePreComp struct with quantities that can be computed outside a frequency loop when you want to generate the PhenomD amplitude and phase.

Function to populate the PhenDAmpAndPhasePreComp struct with quantities that can be computed outside a frequency loop when you want to generate the PhenomD amplitude and phase.

Parameters
[out]pDPreCompPhenDAmpAndPhasePreComp struct
m1mass of companion 1 (Msun)
m2mass of companion 2 (Msun)
chi1xx-component of the dimensionless spin of object 1 w.r.t. Lhat = (0,0,1)
chi1yy-component of the dimensionless spin of object 1 w.r.t. Lhat = (0,0,1)
chi1zz-component of the dimensionless spin of object 1 w.r.t. Lhat = (0,0,1)
chi2xx-component of the dimensionless spin of object 2 w.r.t. Lhat = (0,0,1)
chi2yy-component of the dimensionless spin of object 2 w.r.t. Lhat = (0,0,1)
chi2zz-component of the dimensionless spin of object 2 w.r.t. Lhat = (0,0,1)
Rholmratio of (2,2) mode to (l,m) mode ringdown frequency
Taulmratio of (l,m) mode to (2,2) mode damping time
extraParamslinked list containing the extra parameters

Definition at line 942 of file LALSimIMRPhenomD.c.

◆ IMRPhenomDPhase_OneFrequency()

UNUSED REAL8 IMRPhenomDPhase_OneFrequency ( REAL8  Mf,
PhenDAmpAndPhasePreComp  pD,
REAL8  Rholm,
REAL8  Taulm 
)

Function to return the phenomD phase using the IMRPhenomDSetupAmpAndPhaseCoefficients struct.

Definition at line 1059 of file LALSimIMRPhenomD.c.

Variable Documentation

◆ powers_of_pi

UsefulPowers powers_of_pi
extern

useful powers of LAL_PI, calculated once and kept constant - to be initied with a call to init_useful_powers(&powers_of_pi, LAL_PI);

only declared here, defined in LALSIMIMRPhenomD.c (because this c file is "included" like an h file)

Definition at line 29 of file LALSimIMRPhenomD.c.