Commit b675322c authored by Sebastian Khan's avatar Sebastian Khan
Browse files

Merge branch 'SEOBNRv4T_surrogate_master' into 'master'

SEOBNRv4T_surrogate master

See merge request !741
parents 2c5879f2 4c6e05a5
Pipeline #57658 passed with stages
in 73 minutes and 18 seconds
......@@ -67,6 +67,11 @@ typedef enum tagIMRPhenomP_version_type {
IMRPhenomPv2NRTidal_V /**< version Pv2_NRTidal: based on IMRPhenomPv2; NRTides (https://arxiv.org/pdf/1706.02969.pdf) added before precession */
} IMRPhenomP_version_type;
typedef enum tagSEOBNRv4TSurrogate_spline_order {
SEOBNRv4TSurrogate_CUBIC, /**< use cubic splines in frequency */
SEOBNRv4TSurrogate_LINEAR /**< use linear splines in frequency */
} SEOBNRv4TSurrogate_spline_order;
/** @} */
/* in module LALSimIMRPhenom.c */
......@@ -221,6 +226,12 @@ int XLALSimIMRSEOBNRv4ROMFrequencyOfTime(REAL8 *frequency, REAL8 t, REAL8 m1SI,
int XLALSimIMRSEOBNRv4ROMNRTidalFrequencySequence(struct tagCOMPLEX16FrequencySeries **hptilde, struct tagCOMPLEX16FrequencySeries **hctilde, const REAL8Sequence *freqs, REAL8 phiRef, REAL8 fRef, REAL8 distance, REAL8 inclination, REAL8 m1_SI, REAL8 m2_SI, REAL8 chi1, REAL8 chi2, REAL8 Lambda1, REAL8 Lambda2);
int XLALSimIMRSEOBNRv4ROMNRTidal(struct tagCOMPLEX16FrequencySeries **hptilde, struct tagCOMPLEX16FrequencySeries **hctilde, REAL8 phiRef, REAL8 deltaF, REAL8 fLow, REAL8 fHigh, REAL8 fRef, REAL8 distance, REAL8 inclination, REAL8 m1_SI, REAL8 m2_SI, REAL8 chi1, REAL8 chi2, REAL8 Lambda1, REAL8 Lambda2);
/* in module LALSimIMRSEOBNRv4TSurrogate.c */
int XLALSimIMRSEOBNRv4TSurrogate(struct tagCOMPLEX16FrequencySeries **hptilde, struct tagCOMPLEX16FrequencySeries **hctilde, REAL8 phiRef, REAL8 deltaF, REAL8 fLow, REAL8 fHigh, REAL8 fRef, REAL8 distance, REAL8 inclination, REAL8 m1SI, REAL8 m2SI, REAL8 chi1, REAL8 chi2, REAL8 lambda1, REAL8 lambda2, SEOBNRv4TSurrogate_spline_order spline_order);
int XLALSimIMRSEOBNRv4TSurrogateFrequencySequence(struct tagCOMPLEX16FrequencySeries **hptilde, struct tagCOMPLEX16FrequencySeries **hctilde, const REAL8Sequence *freqs, REAL8 phiRef, REAL8 fRef, REAL8 distance, REAL8 inclination, REAL8 m1SI, REAL8 m2SI, REAL8 chi1, REAL8 chi2, REAL8 lambda1, REAL8 lambda2, SEOBNRv4TSurrogate_spline_order spline_order);
/* in module LALSimIMRPSpinInspiralRD.c */
int XLALSimIMRPhenSpinFinalMassSpin(REAL8 *finalMass, REAL8 *finalSpin, REAL8 m1, REAL8 m2, REAL8 s1s1, REAL8 s2s2, REAL8 s1L, REAL8 s2L, REAL8 s1s2, REAL8 energy);
......
......@@ -530,6 +530,16 @@ typedef struct tagPr3In
} pr3In;
#ifdef __GNUC__
#define UNUSED __attribute__ ((unused))
#else
#define UNUSED
#endif
UNUSED REAL8 XLALSimNSNSMergerFreq(
TidalEOBParams *tidal1, /**< Tidal parameters of body 1 */
TidalEOBParams *tidal2 /**< Tidal parameters of body 2 */
);
#if 0
{ /* so that editors will match succeeding brace */
......
......@@ -54,7 +54,7 @@ UNUSED static int ReadHDF5RealMatrixDataset(LALH5File *file, const char *name, g
UNUSED static int ReadHDF5LongVectorDataset(LALH5File *file, const char *name, gsl_vector_long **data);
UNUSED static int ReadHDF5LongMatrixDataset(LALH5File *file, const char *name, gsl_matrix_long **data);
UNUSED static void PrintInfoStringAttribute(LALH5File *file, const char attribute[]);
UNUSED static int ROM_check_version_number(LALH5File *file, INT4 version_major_in, INT4 version_minor_in, INT4 version_micro_in);
UNUSED static int ROM_check_version_number(LALH5File *file, INT4 version_major_in, INT4 version_minor_in, INT4 version_micro_in);
#endif
UNUSED static REAL8 Interpolate_Coefficent_Tensor(
......
This diff is collapsed.
......@@ -162,7 +162,7 @@ static INT4 XLALCheck_EOB_mode_array_structure(
* See Eq.(2) in https://arxiv.org/pdf/1504.01764.pdf with coefficients
* given by the 3rd row of Table II therein. Compared to NR for 0 <= kappa2T <= 500
*/
static REAL8 XLALSimNSNSMergerFreq(
UNUSED REAL8 XLALSimNSNSMergerFreq(
TidalEOBParams *tidal1, /**< Tidal parameters of body 1 */
TidalEOBParams *tidal2 /**< Tidal parameters of body 2 */
)
......
......@@ -143,6 +143,7 @@ static const char *lalSimulationApproximantNames[] = {
INITIALIZE_NAME(Lackey_Tidal_2013_SEOBNRv2_ROM),
INITIALIZE_NAME(SEOBNRv4_ROM),
INITIALIZE_NAME(SEOBNRv4_ROM_NRTidal),
INITIALIZE_NAME(SEOBNRv4T_surrogate),
INITIALIZE_NAME(HGimri),
INITIALIZE_NAME(IMRPhenomA),
INITIALIZE_NAME(IMRPhenomB),
......@@ -1519,6 +1520,19 @@ int XLALSimInspiralChooseFDWaveform(
phiRef, deltaF, f_min, f_max, f_ref, distance, inclination, m1, m2, S1z, S2z, lambda1, lambda2);
break;
case SEOBNRv4T_surrogate:
/* Waveform-specific sanity checks */
if( !XLALSimInspiralWaveformParamsFlagsAreDefault(LALparams) )
ABORT_NONDEFAULT_LALDICT_FLAGS(LALparams);
if( !checkTransverseSpinsZero(S1x, S1y, S2x, S2y) )
ABORT_NONZERO_TRANSVERSE_SPINS(LALparams);
ret = XLALSimIMRSEOBNRv4TSurrogate(hptilde, hctilde,
phiRef, deltaF, f_min, f_max, f_ref, distance, inclination,
m1, m2, S1z, S2z, lambda1, lambda2,
SEOBNRv4TSurrogate_CUBIC);
break;
case Lackey_Tidal_2013_SEOBNRv2_ROM:
/* Waveform-specific sanity checks */
if( !XLALSimInspiralWaveformParamsFlagsAreDefault(LALparams) )
......@@ -4786,6 +4800,7 @@ int XLALSimInspiralImplementedFDApproximants(
case Lackey_Tidal_2013_SEOBNRv2_ROM:
case SEOBNRv4_ROM:
case SEOBNRv4_ROM_NRTidal:
case SEOBNRv4T_surrogate:
//case TaylorR2F4:
case TaylorF2:
case TaylorF2Ecc:
......@@ -5222,6 +5237,7 @@ int XLALSimInspiralGetSpinSupportFromApproximant(Approximant approx){
case Lackey_Tidal_2013_SEOBNRv2_ROM:
case SEOBNRv4_ROM:
case SEOBNRv4_ROM_NRTidal:
case SEOBNRv4T_surrogate:
case TaylorR2F4:
case IMRPhenomFB:
case FindChirpSP:
......@@ -5314,6 +5330,7 @@ int XLALSimInspiralApproximantAcceptTestGRParams(Approximant approx){
case Lackey_Tidal_2013_SEOBNRv2_ROM:
case SEOBNRv4_ROM:
case SEOBNRv4_ROM_NRTidal:
case SEOBNRv4T_surrogate:
case IMRPhenomA:
case IMRPhenomB:
case IMRPhenomFA:
......
......@@ -354,6 +354,8 @@ typedef enum tagApproximant {
* @remarks Implemented in lalsimulation (frequency domain). */
SEOBNRv4_ROM_NRTidal, /**< Low-mass double-spin frequency domain reduced order model of spin-aligned EOBNR model SEOBNRv4 [Bohe et al, arXiv:1611.03703] with tidal phase corrections [Dietrich et al, arXiv:1706.02969]
* @remarks Implemented in lalsimulation (frequency domain). */
SEOBNRv4T_surrogate, /**< Double-spin frequency domain surrogate model of spin-aligned tidal EOBNR model SEOBNRv4T
* @remarks Implemented in lalsimulation (frequency domain). */
HGimri, /**< Time domain inspiral-merger-ringdown waveform for quasi-circular intermediate mass-ratio inspirals [Huerta & Gair arXiv:1009.1985]
* @remarks Implemented in lalsimulation (time domain). */
IMRPhenomA, /**< Time domain (non-spinning) inspiral-merger-ringdown waveforms generated from the inverse FFT of IMRPhenomFA.
......
......@@ -1056,6 +1056,19 @@ int XLALSimInspiralChooseFDWaveformSequence(
phiRef, f_ref, distance, inclination, m1, m2, S1z, S2z, lambda1, lambda2);
break;
case SEOBNRv4T_surrogate:
/* Waveform-specific sanity checks */
if( !XLALSimInspiralWaveformParamsFlagsAreDefault(LALpars) )
ABORT_NONDEFAULT_LALDICT_FLAGS(LALpars);
if( !checkTransverseSpinsZero(S1x, S1y, S2x, S2y) )
ABORT_NONZERO_TRANSVERSE_SPINS(LALpars);
ret = XLALSimIMRSEOBNRv4TSurrogateFrequencySequence(hptilde, hctilde, frequencies,
phiRef, f_ref, distance, inclination,
m1, m2, S1z, S2z, lambda1, lambda2,
SEOBNRv4TSurrogate_LINEAR);
break;
case Lackey_Tidal_2013_SEOBNRv2_ROM:
/* Waveform-specific sanity checks */
if( !XLALSimInspiralWaveformParamsFlagsAreDefault(LALpars) )
......
......@@ -250,6 +250,7 @@ liblalsimulation_la_SOURCES = \
LALSimIMRSEOBNRv2ChirpTime.c \
LALSimIMRSEOBNRv4ROM.c \
LALSimIMRSEOBNRv4ROM_NRTidal.c \
LALSimIMRSEOBNRv4TSurrogate.c \
LALSimIMREOBNRv2HMROM.c \
LALSimIMRLackeyTidal2013.c \
LALSimIMRPhenom.c \
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment