LALSimulation  5.4.0.1-fe68b98
LALSimIMRPhenomHM.h File Reference

Prototypes

LALDict * IMRPhenomHM_setup_mode_array (LALDict *extraParams)
 read in a LALDict. More...
 
static int IMRPhenomHM_check_mode_array (LALValue *ModeArray)
 
int PhenomHM_init_useful_mf_powers (PhenomHMUsefulMfPowers *p, REAL8 number)
 must be called before the first usage of *p More...
 
int PhenomHM_init_useful_powers (PhenomHMUsefulPowers *p, REAL8 number)
 must be called before the first usage of *p More...
 
int init_IMRPhenomHMGet_FrequencyBounds_storage (PhenomHMFrequencyBoundsStorage *p, REAL8Sequence *freqs, REAL8 Mtot, REAL8 deltaF, REAL8 f_ref_in)
 derive frequency variables for PhenomHM based on input. More...
 
UINT4 IMRPhenomHM_is_freq_uniform (REAL8Sequence *freqs, REAL8 deltaF)
 helper function to easily check if the input frequency sequence is uniformly space or a user defined set of discrete frequencies. More...
 
static int init_PhenomHM_Storage (PhenomHMStorage *p, const REAL8 m1_SI, const REAL8 m2_SI, const REAL8 chi1x, const REAL8 chi1y, const REAL8 chi1z, const REAL8 chi2x, const REAL8 chi2y, const REAL8 chi2z, REAL8Sequence *freqs, const REAL8 deltaF, const REAL8 f_ref, const REAL8 phiRef)
 
double IMRPhenomHMTrd (REAL8 Mf, REAL8 Mf_RD_22, REAL8 Mf_RD_lm, const INT4 AmpFlag, const INT4 ell, const INT4 mm, PhenomHMStorage *pHM)
 domain mapping function - ringdown More...
 
double IMRPhenomHMTi (REAL8 Mf, const INT4 mm)
 mathematica function Ti domain mapping function - inspiral More...
 
int IMRPhenomHMSlopeAmAndBm (double *Am, double *Bm, const INT4 mm, REAL8 fi, REAL8 fr, REAL8 Mf_RD_22, REAL8 Mf_RD_lm, const INT4 AmpFlag, const INT4 ell, PhenomHMStorage *pHM)
 helper function for IMRPhenomHMFreqDomainMap More...
 
int IMRPhenomHMMapParams (REAL8 *a, REAL8 *b, REAL8 flm, REAL8 fi, REAL8 fr, REAL8 Ai, REAL8 Bi, REAL8 Am, REAL8 Bm, REAL8 Ar, REAL8 Br)
 helper function for IMRPhenomHMFreqDomainMap More...
 
int IMRPhenomHMFreqDomainMapParams (REAL8 *a, REAL8 *b, REAL8 *fi, REAL8 *fr, REAL8 *f1, const REAL8 flm, const INT4 ell, const INT4 mm, PhenomHMStorage *pHM, const int AmpFlag)
 helper function for IMRPhenomHMFreqDomainMap More...
 
double IMRPhenomHMFreqDomainMap (REAL8 Mflm, const INT4 ell, const INT4 mm, PhenomHMStorage *pHM, const int AmpFlag)
 IMRPhenomHMFreqDomainMap Input waveform frequency in Geometric units (Mflm) and computes what frequency this corresponds to scaled to the 22 mode. More...
 
int IMRPhenomHMPhasePreComp (HMPhasePreComp *q, const INT4 ell, const INT4 mm, PhenomHMStorage *pHM, LALDict *extraParams)
 
COMPLEX16 IMRPhenomHMOnePointFiveSpinPN (REAL8 fM, INT4 l, INT4 m, REAL8 M1, REAL8 M2, REAL8 X1z, REAL8 X2z)
 Define function for FD PN amplitudes. More...
 
int IMRPhenomHMCore (COMPLEX16FrequencySeries **hptilde, COMPLEX16FrequencySeries **hctilde, REAL8Sequence *freqs, REAL8 m1_SI, REAL8 m2_SI, REAL8 chi1z, REAL8 chi2z, const REAL8 distance, const REAL8 inclination, const REAL8 phiRef, const REAL8 deltaF, REAL8 f_ref, LALDict *extraParams)
 
int IMRPhenomHMEvaluateOnehlmMode (COMPLEX16FrequencySeries **hlm, REAL8Sequence *amps, REAL8Sequence *phases, REAL8Sequence *freqs_geom, PhenomHMStorage *pHM, UINT4 ell, INT4 mm, REAL8 phi0, LALDict *extraParams)
 
int IMRPhenomHMAmplitude (REAL8Sequence *amps, REAL8Sequence *freqs_geom, PhenomHMStorage *pHM, UINT4 ell, INT4 mm, LALDict *extraParams)
 
int IMRPhenomHMPhase (REAL8Sequence *phases, REAL8Sequence *freqs_geom, PhenomHMStorage *pHM, UINT4 ell, INT4 mm, LALDict *extraParams)
 
int IMRPhenomHMGetRingdownFrequency (REAL8 *fringdown, REAL8 *fdamp, UINT4 ell, INT4 mm, REAL8 finalmass, REAL8 finalspin)
 returns the real and imag parts of the complex ringdown frequency for the (l,m) mode. More...
 

Go to the source code of this file.

Data Structures

struct  PhenomHMUsefulPowers
 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  PhenomHMUsefulMfPowers
 Useful powers of Mf: 1/6, 1/3, 2/3, 4/3, 5/3, 2, 7/3, 8/3, -7/6, -5/6, -1/2, -1/6, 1/2 calculated using only one invocation of 'pow' and one of 'sqrt'. More...
 
struct  HMPhasePreComp
 Structure holding Higher Mode Phase pre-computations. More...
 
struct  PhenomHMFrequencyBoundsStorage
 Structure storing pre-determined quantities that describe the frequency array and tells you over which indices will contain non-zero values. More...
 
struct  PhenomHMStorage
 Structure storing pre-determined quantities complying to the conventions of the PhenomHM model. More...
 

Macros

#define PHENOMHM_DEFAULT_MF_MAX   0.5
 Dimensionless frequency (Mf) at which define the end of the waveform. More...
 
#define MAX_ALLOWED_ETA   0.045351
 eta is the symmetric mass-ratio. More...
 
#define NMODES_MAX   6
 Maximum number of (l,m) mode paris PhenomHM models. More...
 
#define L_MAX_PLUS_1   5
 Highest ell multipole PhenomHM models + 1. More...
 
#define AmpFlagTrue   1
 
#define AmpFlagFalse   0
 

Macro Definition Documentation

◆ PHENOMHM_DEFAULT_MF_MAX

#define PHENOMHM_DEFAULT_MF_MAX   0.5

Dimensionless frequency (Mf) at which define the end of the waveform.

Definition at line 25 of file LALSimIMRPhenomHM.h.

◆ MAX_ALLOWED_ETA

#define MAX_ALLOWED_ETA   0.045351

eta is the symmetric mass-ratio.

This number corresponds to a mass-ratio of 20 The underlying PhenomD model was calibrated to mass-ratio 18 simulations. We choose mass-ratio 20 as a conservative limit on where the model should be accurate.

Definition at line 34 of file LALSimIMRPhenomHM.h.

◆ NMODES_MAX

#define NMODES_MAX   6

Maximum number of (l,m) mode paris PhenomHM models.

Only count positive 'm' modes. Used to set default mode array

Definition at line 41 of file LALSimIMRPhenomHM.h.

◆ L_MAX_PLUS_1

#define L_MAX_PLUS_1   5

Highest ell multipole PhenomHM models + 1.

Used to set array sizes

Definition at line 47 of file LALSimIMRPhenomHM.h.

◆ AmpFlagTrue

#define AmpFlagTrue   1

Definition at line 50 of file LALSimIMRPhenomHM.h.

◆ AmpFlagFalse

#define AmpFlagFalse   0

Definition at line 51 of file LALSimIMRPhenomHM.h.

Function Documentation

◆ IMRPhenomHM_setup_mode_array()

LALDict* IMRPhenomHM_setup_mode_array ( LALDict *  extraParams)

read in a LALDict.

If ModeArray in LALDict is NULL then create a ModrArray with the default modes in PhenomHM. If ModeArray is not NULL then use the modes supplied by user.

Definition at line 51 of file LALSimIMRPhenomHM.c.

◆ IMRPhenomHM_check_mode_array()

static int IMRPhenomHM_check_mode_array ( LALValue *  ModeArray)
static

◆ PhenomHM_init_useful_mf_powers()

int PhenomHM_init_useful_mf_powers ( PhenomHMUsefulMfPowers p,
REAL8  number 
)

must be called before the first usage of *p

Definition at line 137 of file LALSimIMRPhenomHM.c.

◆ PhenomHM_init_useful_powers()

int PhenomHM_init_useful_powers ( PhenomHMUsefulPowers p,
REAL8  number 
)

must be called before the first usage of *p

Definition at line 161 of file LALSimIMRPhenomHM.c.

◆ init_IMRPhenomHMGet_FrequencyBounds_storage()

int init_IMRPhenomHMGet_FrequencyBounds_storage ( PhenomHMFrequencyBoundsStorage p,
REAL8Sequence freqs,
REAL8  Mtot,
REAL8  deltaF,
REAL8  f_ref_in 
)

derive frequency variables for PhenomHM based on input.

used to set the index on arrays where we have non-zero values.

Parameters
[out]pPhenomHMFrequencyBoundsStorage struct
freqsInput list of GW frequencies [Hz]
Mtottotal mass in solar masses
deltaFfrequency spacing
f_ref_inreference GW frequency

Definition at line 235 of file LALSimIMRPhenomHM.c.

◆ IMRPhenomHM_is_freq_uniform()

UINT4 IMRPhenomHM_is_freq_uniform ( REAL8Sequence freqs,
REAL8  deltaF 
)

helper function to easily check if the input frequency sequence is uniformly space or a user defined set of discrete frequencies.

Definition at line 214 of file LALSimIMRPhenomHM.c.

◆ init_PhenomHM_Storage()

static int init_PhenomHM_Storage ( PhenomHMStorage p,
const REAL8  m1_SI,
const REAL8  m2_SI,
const REAL8  chi1x,
const REAL8  chi1y,
const REAL8  chi1z,
const REAL8  chi2x,
const REAL8  chi2y,
const REAL8  chi2z,
REAL8Sequence freqs,
const REAL8  deltaF,
const REAL8  f_ref,
const REAL8  phiRef 
)
static
Parameters
[out]pPhenomHMStorage struct
m1_SImass of companion 1 (kg)
m2_SImass of companion 2 (kg)
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)
freqsInput frequency sequence (Hz)
deltaFfrequency spacing (Hz)
f_refreference GW frequency (hz)
phiReforbital phase at f_ref

◆ IMRPhenomHMTrd()

double IMRPhenomHMTrd ( REAL8  Mf,
REAL8  Mf_RD_22,
REAL8  Mf_RD_lm,
const INT4  AmpFlag,
const INT4  ell,
const INT4  mm,
PhenomHMStorage pHM 
)

domain mapping function - ringdown

Definition at line 493 of file LALSimIMRPhenomHM.c.

◆ IMRPhenomHMTi()

double IMRPhenomHMTi ( REAL8  Mf,
const INT4  mm 
)

mathematica function Ti domain mapping function - inspiral

Definition at line 522 of file LALSimIMRPhenomHM.c.

◆ IMRPhenomHMSlopeAmAndBm()

int IMRPhenomHMSlopeAmAndBm ( double *  Am,
double *  Bm,
const INT4  mm,
REAL8  fi,
REAL8  fr,
REAL8  Mf_RD_22,
REAL8  Mf_RD_lm,
const INT4  AmpFlag,
const INT4  ell,
PhenomHMStorage pHM 
)

helper function for IMRPhenomHMFreqDomainMap

Definition at line 530 of file LALSimIMRPhenomHM.c.

◆ IMRPhenomHMMapParams()

int IMRPhenomHMMapParams ( REAL8 a,
REAL8 b,
REAL8  flm,
REAL8  fi,
REAL8  fr,
REAL8  Ai,
REAL8  Bi,
REAL8  Am,
REAL8  Bm,
REAL8  Ar,
REAL8  Br 
)

helper function for IMRPhenomHMFreqDomainMap

Definition at line 557 of file LALSimIMRPhenomHM.c.

◆ IMRPhenomHMFreqDomainMapParams()

int IMRPhenomHMFreqDomainMapParams ( REAL8 a,
REAL8 b,
REAL8 fi,
REAL8 fr,
REAL8 f1,
const REAL8  flm,
const INT4  ell,
const INT4  mm,
PhenomHMStorage pHM,
const int  AmpFlag 
)

helper function for IMRPhenomHMFreqDomainMap

Parameters
a[Out]
b[Out]
fi[Out]
fr[Out]
f1[Out]
flminput waveform frequency
ellspherical harmonics ell mode
mmspherical harmonics m mode
pHMStores quantities in order to calculate them only once
AmpFlagis ==1 then computes for amplitude, if ==0 then computes for phase

Definition at line 595 of file LALSimIMRPhenomHM.c.

◆ IMRPhenomHMFreqDomainMap()

double IMRPhenomHMFreqDomainMap ( REAL8  Mflm,
const INT4  ell,
const INT4  mm,
PhenomHMStorage pHM,
const int  AmpFlag 
)

IMRPhenomHMFreqDomainMap Input waveform frequency in Geometric units (Mflm) and computes what frequency this corresponds to scaled to the 22 mode.

Definition at line 681 of file LALSimIMRPhenomHM.c.

◆ IMRPhenomHMPhasePreComp()

int IMRPhenomHMPhasePreComp ( HMPhasePreComp q,
const INT4  ell,
const INT4  mm,
PhenomHMStorage pHM,
LALDict *  extraParams 
)

◆ IMRPhenomHMOnePointFiveSpinPN()

COMPLEX16 IMRPhenomHMOnePointFiveSpinPN ( REAL8  fM,
INT4  l,
INT4  m,
REAL8  M1,
REAL8  M2,
REAL8  X1z,
REAL8  X2z 
)

Define function for FD PN amplitudes.

Definition at line 797 of file LALSimIMRPhenomHM.c.

◆ IMRPhenomHMCore()

int IMRPhenomHMCore ( COMPLEX16FrequencySeries **  hptilde,
COMPLEX16FrequencySeries **  hctilde,
REAL8Sequence freqs,
REAL8  m1_SI,
REAL8  m2_SI,
REAL8  chi1z,
REAL8  chi2z,
const REAL8  distance,
const REAL8  inclination,
const REAL8  phiRef,
const REAL8  deltaF,
REAL8  f_ref,
LALDict *  extraParams 
)

◆ IMRPhenomHMEvaluateOnehlmMode()

int IMRPhenomHMEvaluateOnehlmMode ( COMPLEX16FrequencySeries **  hlm,
REAL8Sequence amps,
REAL8Sequence phases,
REAL8Sequence freqs_geom,
PhenomHMStorage pHM,
UINT4  ell,
INT4  mm,
REAL8  phi0,
LALDict *  extraParams 
)

◆ IMRPhenomHMAmplitude()

int IMRPhenomHMAmplitude ( REAL8Sequence amps,
REAL8Sequence freqs_geom,
PhenomHMStorage pHM,
UINT4  ell,
INT4  mm,
LALDict *  extraParams 
)

◆ IMRPhenomHMPhase()

int IMRPhenomHMPhase ( REAL8Sequence phases,
REAL8Sequence freqs_geom,
PhenomHMStorage pHM,
UINT4  ell,
INT4  mm,
LALDict *  extraParams 
)

◆ IMRPhenomHMGetRingdownFrequency()

int IMRPhenomHMGetRingdownFrequency ( REAL8 fringdown,
REAL8 fdamp,
UINT4  ell,
INT4  mm,
REAL8  finalmass,
REAL8  finalspin 
)

returns the real and imag parts of the complex ringdown frequency for the (l,m) mode.

Definition at line 189 of file LALSimIMRPhenomHM.c.