Prototypes | |
LALDict * | IMRPhenomHM_setup_mode_array (LALDict *extraParams) |
read in a LALDict. More... | |
static int | IMRPhenomHM_check_mode_array (LALValue *ModeArray) |
Reads in a ModeArray and checks that it is valid. More... | |
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 | 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... | |
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... | |
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... | |
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) |
Precompute a bunch of PhenomHM related quantities and store them filling in a PhenomHMStorage variable. More... | |
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, UNUSED 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 (UNUSED COMPLEX16FrequencySeries **hptilde, UNUSED 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) |
internal function that returns h+ and hx. More... | |
int | XLALSimIMRPhenomHMGethlmModes (UNUSED SphHarmFrequencySeries **hlms, UNUSED REAL8Sequence *freqs, UNUSED REAL8 m1_SI, UNUSED REAL8 m2_SI, UNUSED REAL8 chi1x, UNUSED REAL8 chi1y, UNUSED REAL8 chi1z, UNUSED REAL8 chi2x, UNUSED REAL8 chi2y, UNUSED REAL8 chi2z, UNUSED const REAL8 phiRef, UNUSED const REAL8 deltaF, UNUSED REAL8 f_ref, UNUSED LALDict *extraParams) |
XLAL function that returns a SphHarmFrequencySeries object containing all the hlm modes requested. More... | |
int | IMRPhenomHMEvaluateOnehlmMode (UNUSED COMPLEX16FrequencySeries **hlm, UNUSED REAL8Sequence *amps, UNUSED REAL8Sequence *phases, UNUSED REAL8Sequence *freqs_geom, UNUSED PhenomHMStorage *pHM, UNUSED UINT4 ell, UNUSED INT4 mm, UNUSED REAL8 phi0, UNUSED LALDict *extraParams) |
Function to compute the one hlm mode. More... | |
int | IMRPhenomHMAmplitude (UNUSED REAL8Sequence *amps, UNUSED REAL8Sequence *freqs_geom, UNUSED PhenomHMStorage *pHM, UNUSED UINT4 ell, UNUSED INT4 mm, UNUSED LALDict *extraParams) |
returns IMRPhenomHM amplitude evaluated at a set of input frequencies for the l,m mode More... | |
int | IMRPhenomHMPhase (UNUSED REAL8Sequence *phases, UNUSED REAL8Sequence *freqs_geom, UNUSED PhenomHMStorage *pHM, UNUSED UINT4 ell, UNUSED INT4 mm, UNUSED LALDict *extraParams) |
returns IMRPhenomHM phase evaluated at a set of input frequencies for the l,m mode More... | |
Routines for IMR Phenomenological Model "HM" | |
C code for IMRPhenomHM phenomenological waveform model. Inspiral-merger and ringdown phenomenological, frequecny domain waveform model for binary black holes systems. Models not only the dominant (l,|m|) = (2,2) modes but also some of the sub-domant modes too. Model described in PhysRevLett.120.161102/1708.00404. The model is based on IMRPhenomD ([10], [12])
| |
UNUSED int | XLALSimIMRPhenomHM (UNUSED COMPLEX16FrequencySeries **hptilde, UNUSED COMPLEX16FrequencySeries **hctilde, UNUSED REAL8Sequence *freqs, UNUSED REAL8 m1_SI, UNUSED REAL8 m2_SI, UNUSED REAL8 chi1z, UNUSED REAL8 chi2z, UNUSED const REAL8 distance, UNUSED const REAL8 inclination, UNUSED const REAL8 phiRef, UNUSED const REAL8 deltaF, UNUSED REAL8 f_ref, UNUSED LALDict *extraParams) |
Returns h+ and hx in the frequency domain. More... | |
Go to the source code of this file.
Variables | |
static const double | cShift [7] |
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.
|
static |
Reads in a ModeArray and checks that it is valid.
may only contain the modes in the model i.e., 22, 21, 33, 32, 44, 43 Only checks upto ell=8 though.
Definition at line 92 of file LALSimIMRPhenomHM.c.
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.
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.
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.
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.
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.
[out] | p | PhenomHMFrequencyBoundsStorage struct |
freqs | Input list of GW frequencies [Hz] | |
Mtot | total mass in solar masses | |
deltaF | frequency spacing | |
f_ref_in | reference GW frequency |
Definition at line 235 of file LALSimIMRPhenomHM.c.
|
static |
Precompute a bunch of PhenomHM related quantities and store them filling in a PhenomHMStorage variable.
Definition at line 318 of file LALSimIMRPhenomHM.c.
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.
mathematica function Ti domain mapping function - inspiral
Definition at line 522 of file LALSimIMRPhenomHM.c.
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.
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.
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
a | [Out] |
b | [Out] |
fi | [Out] |
fr | [Out] |
f1 | [Out] |
flm | input waveform frequency |
ell | spherical harmonics ell mode |
mm | spherical harmonics m mode |
pHM | Stores quantities in order to calculate them only once |
AmpFlag | is ==1 then computes for amplitude, if ==0 then computes for phase |
Definition at line 595 of file LALSimIMRPhenomHM.c.
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.
int IMRPhenomHMPhasePreComp | ( | HMPhasePreComp * | q, |
const INT4 | ell, | ||
const INT4 | mm, | ||
PhenomHMStorage * | pHM, | ||
UNUSED LALDict * | extraParams | ||
) |
[out] | q | HMPhasePreComp struct |
ell | ell spherical harmonic number | |
mm | m spherical harmonic number | |
pHM | PhenomHMStorage struct | |
extraParams | LALDict strcut |
Definition at line 706 of file LALSimIMRPhenomHM.c.
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.
int IMRPhenomHMCore | ( | UNUSED COMPLEX16FrequencySeries ** | hptilde, |
UNUSED 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 | ||
) |
internal function that returns h+ and hx.
Inside this function the my bulk of the work is done like the loop over frequencies.
[out] | hptilde | Frequency domain h+ GW strain |
[out] | hctilde | Frequency domain hx GW strain |
freqs | GW frequecny list [Hz] | |
m1_SI | primary mass [kg] | |
m2_SI | secondary mass [kg] | |
chi1z | aligned spin of primary | |
chi2z | aligned spin of secondary | |
distance | distance [m] | |
inclination | inclination angle | |
phiRef | orbital phase at f_ref | |
deltaF | frequency spacing | |
f_ref | reference GW frequency | |
extraParams | LALDict struct |
Definition at line 997 of file LALSimIMRPhenomHM.c.
int XLALSimIMRPhenomHMGethlmModes | ( | UNUSED SphHarmFrequencySeries ** | hlms, |
UNUSED REAL8Sequence * | freqs, | ||
UNUSED REAL8 | m1_SI, | ||
UNUSED REAL8 | m2_SI, | ||
UNUSED REAL8 | chi1x, | ||
UNUSED REAL8 | chi1y, | ||
UNUSED REAL8 | chi1z, | ||
UNUSED REAL8 | chi2x, | ||
UNUSED REAL8 | chi2y, | ||
UNUSED REAL8 | chi2z, | ||
UNUSED const REAL8 | phiRef, | ||
UNUSED const REAL8 | deltaF, | ||
UNUSED REAL8 | f_ref, | ||
UNUSED LALDict * | extraParams | ||
) |
XLAL function that returns a SphHarmFrequencySeries object containing all the hlm modes requested.
These have the correct relative phases between modes. Note this has a similar interface to XLALSimIMRPhenomHM because it is designed so it can be used independently.
[out] | hlms | SphHarmFrequencySeries struct containing hlm modes |
freqs | frequency sequency in Hz | |
m1_SI | primary mass [kg] | |
m2_SI | secondary mass [kg] | |
chi1x | x-component of the dimensionless spin of object 1 w.r.t. Lhat = (0,0,1) | |
chi1y | y-component of the dimensionless spin of object 1 w.r.t. Lhat = (0,0,1) | |
chi1z | z-component of the dimensionless spin of object 1 w.r.t. Lhat = (0,0,1) | |
chi2x | x-component of the dimensionless spin of object 2 w.r.t. Lhat = (0,0,1) | |
chi2y | y-component of the dimensionless spin of object 2 w.r.t. Lhat = (0,0,1) | |
chi2z | z-component of the dimensionless spin of object 2 w.r.t. Lhat = (0,0,1) | |
phiRef | orbital phase at f_ref | |
deltaF | frequency spacing | |
f_ref | reference GW frequency | |
extraParams | LALDict struct |
Definition at line 1168 of file LALSimIMRPhenomHM.c.
int IMRPhenomHMEvaluateOnehlmMode | ( | UNUSED COMPLEX16FrequencySeries ** | hlm, |
UNUSED REAL8Sequence * | amps, | ||
UNUSED REAL8Sequence * | phases, | ||
UNUSED REAL8Sequence * | freqs_geom, | ||
UNUSED PhenomHMStorage * | pHM, | ||
UNUSED UINT4 | ell, | ||
UNUSED INT4 | mm, | ||
UNUSED REAL8 | phi0, | ||
UNUSED LALDict * | extraParams | ||
) |
Function to compute the one hlm mode.
Note this is not static so that IMRPhenomPv3HM can also use this function
[out] | hlm | One hlm mode |
amps | amplitude frequency sequence | |
phases | phase frequency sequence | |
freqs_geom | dimensionless frequency sequence | |
pHM | PhenomHMStorage struct | |
ell | ell spherical harmonic number | |
mm | m spherical harmonic number | |
phi0 | phase shift needed to align waveform to phiRef at f_ref. | |
extraParams | LALDict struct |
Definition at line 1393 of file LALSimIMRPhenomHM.c.
int IMRPhenomHMAmplitude | ( | UNUSED REAL8Sequence * | amps, |
UNUSED REAL8Sequence * | freqs_geom, | ||
UNUSED PhenomHMStorage * | pHM, | ||
UNUSED UINT4 | ell, | ||
UNUSED INT4 | mm, | ||
UNUSED LALDict * | extraParams | ||
) |
returns IMRPhenomHM amplitude evaluated at a set of input frequencies for the l,m mode
[out] | amps | amplitude frequency sequence |
freqs_geom | dimensionless frequency sequence | |
pHM | PhenomHMStorage struct | |
ell | ell spherical harmonic number | |
mm | m spherical harmonic number | |
extraParams | LALDict struct |
Definition at line 1456 of file LALSimIMRPhenomHM.c.
int IMRPhenomHMPhase | ( | UNUSED REAL8Sequence * | phases, |
UNUSED REAL8Sequence * | freqs_geom, | ||
UNUSED PhenomHMStorage * | pHM, | ||
UNUSED UINT4 | ell, | ||
UNUSED INT4 | mm, | ||
UNUSED LALDict * | extraParams | ||
) |
returns IMRPhenomHM phase evaluated at a set of input frequencies for the l,m mode
[out] | phases | phase frequency sequence |
freqs_geom | dimensionless frequency sequence | |
pHM | PhenomHMStorage struct | |
ell | ell spherical harmonic number | |
mm | m spherical harmonic number | |
extraParams | LALDict struct |
Definition at line 1571 of file LALSimIMRPhenomHM.c.