LALSimulation  5.4.0.1-fe68b98
LALSimIMRPhenomD.c File Reference

Prototypes

static int IMRPhenomDGenerateFD (COMPLEX16FrequencySeries **htilde, const REAL8Sequence *freqs_in, double deltaF, const REAL8 phi0, const REAL8 fRef, const REAL8 m1_in, const REAL8 m2_in, const REAL8 chi1_in, const REAL8 chi2_in, const REAL8 distance, LALDict *extraParams, NRTidal_version_type NRTidal_version)
 
double XLALIMRPhenomDGetPeakFreq (const REAL8 m1_in, const REAL8 m2_in, const REAL8 chi1_in, const REAL8 chi2_in)
 Function to return the frequency (in Hz) of the peak of the frequency domain amplitude for the IMRPhenomD model. More...
 
static double PhenDPhaseDerivFrequencyPoint (double Mf, IMRPhenomDPhaseCoefficients *p, PNPhasingSeries *pn)
 Helper function to return the value of the frequency derivative of the Fourier domain phase. More...
 
double XLALSimIMRPhenomDChirpTime (const REAL8 m1_SI, const REAL8 m2_SI, const REAL8 chi1_in, const REAL8 chi2_in, const REAL8 fHzSt)
 Estimates the length of the time domain IMRPhenomD signal This does NOT taking into account any tapering that is used to condition the Fourier domain waveform to compute the inverse Fourer transform. More...
 
double XLALSimIMRPhenomDFinalSpin (const REAL8 m1_in, const REAL8 m2_in, const REAL8 chi1_in, const REAL8 chi2_in)
 Function to return the final spin (spin of the remnant black hole) as predicted by the IMRPhenomD model. More...
 
int IMRPhenomDPhaseFrequencySequence (REAL8Sequence *phases, REAL8Sequence *freqs, size_t ind_min, size_t ind_max, REAL8 m1, REAL8 m2, REAL8 chi1x, REAL8 chi1y, REAL8 chi1z, REAL8 chi2x, REAL8 chi2y, REAL8 chi2z, REAL8 Rholm, REAL8 Taulm, LALDict *extraParams)
 Helper function used in PhenomHM and PhenomPv3HM Returns the phenomD phase, with modified QNM. More...
 
int IMRPhenomDAmpFrequencySequence (REAL8Sequence *amps, REAL8Sequence *freqs, size_t ind_min, size_t ind_max, REAL8 m1, REAL8 m2, REAL8 chi1x, REAL8 chi1y, REAL8 chi1z, REAL8 chi2x, REAL8 chi2y, REAL8 chi2z)
 Helper function used in PhenomHM and PhenomPv3HM Returns the phenomD amplitude. More...
 
REAL8 IMRPhenomDComputet0 (REAL8 eta, REAL8 chi1z, REAL8 chi2z, REAL8 finspin, LALDict *extraParams)
 computes the time shift as the approximate time of the peak of the 22 mode. More...
 
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 compute the amplitude and phase coefficients for PhenomD Used to optimise the calls to IMRPhenDPhase and IMRPhenDAmplitude. More...
 
UNUSED REAL8 IMRPhenomDPhase_OneFrequency (REAL8 Mf, PhenDAmpAndPhasePreComp pD, REAL8 Rholm, REAL8 Taulm)
 Function to return the phenomD phase using the IMRPhenomDSetupAmpAndPhaseCoefficients struct. More...
 
Routines for IMR Phenomenological Model "D"

C code for IMRPhenomD phenomenological waveform model.

Author
Michael Puerrer, Sebastian Khan, Frank Ohme

This is an aligned-spin frequency domain model. See Husa et al [10], and Khan et al [12] for details. Any studies that use this waveform model should include a reference to both of these papers.

Note
The model was calibrated to mass-ratios [1:1,1:4,1:8,1:18].
  • Along the mass-ratio 1:1 line it was calibrated to spins [-0.95, +0.98].
  • Along the mass-ratio 1:4 line it was calibrated to spins [-0.75, +0.75].
  • Along the mass-ratio 1:8 line it was calibrated to spins [-0.85, +0.85].
  • Along the mass-ratio 1:18 line it was calibrated to spins [-0.8, +0.4]. The calibration points will be given in forthcoming papers.
Attention
The model is usable outside this parameter range, and in tests to date gives sensible physical results, but conclusive statements on the physical fidelity of the model for these parameters await comparisons against further numerical-relativity simulations. For more information, see the review wiki under https://www.lsc-group.phys.uwm.edu/ligovirgo/cbcnote/WaveformsReview/IMRPhenomDCodeReview
int XLALSimIMRPhenomDGenerateFD (COMPLEX16FrequencySeries **htilde, const REAL8 phi0, const REAL8 fRef_in, const REAL8 deltaF, const REAL8 m1_SI, const REAL8 m2_SI, const REAL8 chi1, const REAL8 chi2, const REAL8 f_min, const REAL8 f_max, const REAL8 distance, LALDict *extraParams, NRTidal_version_type NRTidal_version)
 Driver routine to compute the spin-aligned, inspiral-merger-ringdown phenomenological waveform IMRPhenomD in the frequency domain. More...
 
int XLALSimIMRPhenomDFrequencySequence (COMPLEX16FrequencySeries **htilde, const REAL8Sequence *freqs, const REAL8 phi0, const REAL8 fRef_in, const REAL8 m1_SI, const REAL8 m2_SI, const REAL8 chi1, const REAL8 chi2, const REAL8 distance, LALDict *extraParams, NRTidal_version_type NRTidal_version)
 Compute waveform in LAL format at specified frequencies for the IMRPhenomD model. More...
 

Go to the source code of this file.

Macros

#define omp   ignore
 

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

◆ omp

#define omp   ignore

Definition at line 32 of file LALSimIMRPhenomD.c.

Function Documentation

◆ IMRPhenomDGenerateFD()

static int IMRPhenomDGenerateFD ( COMPLEX16FrequencySeries **  htilde,
const REAL8Sequence freqs_in,
double  deltaF,
const REAL8  phi0,
const REAL8  fRef,
const REAL8  m1_in,
const REAL8  m2_in,
const REAL8  chi1_in,
const REAL8  chi2_in,
const REAL8  distance,
LALDict *  extraParams,
NRTidal_version_type  NRTidal_version 
)
static
Parameters
[out]htildeFD waveform
freqs_inFrequency points at which to evaluate the waveform (Hz)
deltaFIf deltaF > 0, the frequency points given in freqs are uniformly spaced with spacing deltaF. Otherwise, the frequency points are spaced non-uniformly. Then we will use deltaF = 0 to create the frequency series we return.
phi0phase at fRef
fRefreference frequency [Hz]
m1_inmass of companion 1 [solar masses]
m2_inmass of companion 2 [solar masses]
chi1_inaligned-spin of companion 1
chi2_inaligned-spin of companion 2
distancedistance to source (m)
extraParamslinked list containing the extra testing GR parameters
NRTidal_versionNRTidal version; either NRTidal_V or NRTidalv2_V or NoNRT_V in case of BBH baseline

Definition at line 255 of file LALSimIMRPhenomD.c.

◆ XLALIMRPhenomDGetPeakFreq()

double XLALIMRPhenomDGetPeakFreq ( const REAL8  m1_in,
const REAL8  m2_in,
const REAL8  chi1_in,
const REAL8  chi2_in 
)

Function to return the frequency (in Hz) of the peak of the frequency domain amplitude for the IMRPhenomD model.

The peak is a parameter in the PhenomD model given by Eq. 20 in 1508.07253 where it is called f_peak in the paper.

Parameters
m1_inmass of companion 1 [Msun]
m2_inmass of companion 2 [Msun]
chi1_inaligned-spin of companion 1
chi2_inaligned-spin of companion 2

Definition at line 507 of file LALSimIMRPhenomD.c.

◆ PhenDPhaseDerivFrequencyPoint()

static double PhenDPhaseDerivFrequencyPoint ( double  Mf,
IMRPhenomDPhaseCoefficients p,
PNPhasingSeries pn 
)
static

Helper function to return the value of the frequency derivative of the Fourier domain phase.

This is function is wrapped by IMRPhenomDPhaseDerivative and used when estimating the length of the time domain version of the waveform. unreviewed

Definition at line 567 of file LALSimIMRPhenomD.c.

◆ XLALSimIMRPhenomDChirpTime()

double XLALSimIMRPhenomDChirpTime ( const REAL8  m1_SI,
const REAL8  m2_SI,
const REAL8  chi1_in,
const REAL8  chi2_in,
const REAL8  fHzSt 
)

Estimates the length of the time domain IMRPhenomD signal This does NOT taking into account any tapering that is used to condition the Fourier domain waveform to compute the inverse Fourer transform.

To estimate the length we assume that the waveform only reaches the the highest physics frequency i.e. the ringdown frequency. unreviewed

Parameters
m1_SIMass of companion 1 (kg)
m2_SIMass of companion 2 (kg)
chi1_inaligned-spin of companion 1
chi2_inaligned-spin of companion 2
fHzStarbitrary starting frequency in Hz

Definition at line 597 of file LALSimIMRPhenomD.c.

◆ XLALSimIMRPhenomDFinalSpin()

double XLALSimIMRPhenomDFinalSpin ( const REAL8  m1_in,
const REAL8  m2_in,
const REAL8  chi1_in,
const REAL8  chi2_in 
)

Function to return the final spin (spin of the remnant black hole) as predicted by the IMRPhenomD model.

The final spin is calculated using the phenomenological fit described in PhysRevD.93.044006 Eq. 3.6. unreviewed

Parameters
m1_inmass of companion 1 [Msun]
m2_inmass of companion 2 [Msun]
chi1_inaligned-spin of companion 1
chi2_inaligned-spin of companion 2

Definition at line 709 of file LALSimIMRPhenomD.c.

◆ IMRPhenomDPhaseFrequencySequence()

int IMRPhenomDPhaseFrequencySequence ( REAL8Sequence phases,
REAL8Sequence freqs,
size_t  ind_min,
size_t  ind_max,
REAL8  m1,
REAL8  m2,
REAL8  chi1x,
REAL8  chi1y,
REAL8  chi1z,
REAL8  chi2x,
REAL8  chi2y,
REAL8  chi2z,
REAL8  Rholm,
REAL8  Taulm,
LALDict *  extraParams 
)

Helper function used in PhenomHM and PhenomPv3HM Returns the phenomD phase, with modified QNM.

Parameters
[out]phasesphase evaluated at input freqs
freqsSequency of Geometric frequencies
ind_minstart index for frequency loop
ind_maxend index for frequency loop
m1mass of primary in solar masses
m2mass of secondary in solar masses
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 ringdown frequencies f_RD_22/f_RD_lm
Taulmratio of ringdown damping times f_RM_22/f_RM_lm
extraParamslinked list containing the extra testing GR parameters

Definition at line 758 of file LALSimIMRPhenomD.c.

◆ IMRPhenomDAmpFrequencySequence()

int IMRPhenomDAmpFrequencySequence ( REAL8Sequence amps,
REAL8Sequence freqs,
size_t  ind_min,
size_t  ind_max,
REAL8  m1,
REAL8  m2,
REAL8  chi1x,
REAL8  chi1y,
REAL8  chi1z,
REAL8  chi2x,
REAL8  chi2y,
REAL8  chi2z 
)

Helper function used in PhenomHM and PhenomPv3HM Returns the phenomD amplitude.

Parameters
[out]ampsphase evaluated at input freqs
freqsSequency of Geometric frequencies
ind_minstart index for frequency loop
ind_maxend index for frequency loop
m1mass of primary in solar masses
m2mass of secondary in solar masses
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)

Definition at line 821 of file LALSimIMRPhenomD.c.

◆ IMRPhenomDComputet0()

REAL8 IMRPhenomDComputet0 ( REAL8  eta,
REAL8  chi1z,
REAL8  chi2z,
REAL8  finspin,
LALDict *  extraParams 
)

computes the time shift as the approximate time of the peak of the 22 mode.

Parameters
etasymmetric mass-ratio
chi1zdimensionless aligned-spin of primary
chi2zdimensionless aligned-spin of secondary
finspinfinal spin
extraParamslinked list containing the extra testing GR parameters

Definition at line 899 of file LALSimIMRPhenomD.c.

◆ IMRPhenomDSetupAmpAndPhaseCoefficients()

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 compute the amplitude and phase coefficients for PhenomD Used to optimise the calls to IMRPhenDPhase and IMRPhenDAmplitude.

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

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.