LALSimulation  5.4.0.1-fe68b98
LALSimIMRSEOBNRv1ROMEffectiveSpin.c File Reference

Prototypes

static void SEOBNRv1ROMEffectiveSpin_Init_LALDATA (void)
 Setup SEOBNRv1ROMEffectiveSpin model using data files installed in $LAL_DATA_PATH. More...
 
static int SEOBNRv1ROMEffectiveSpin_Init (const char dir[])
 Setup SEOBNRv1ROMEffectiveSpin model using data files installed in dir. More...
 
static bool SEOBNRv1ROMEffectiveSpin_IsSetup (void)
 Helper function to check if the SEOBNRv1ROMEffectiveSpin model has been initialised. More...
 
static int SEOBNRROMdata_Init (SEOBNRROMdata *romdata, const char dir[])
 
static void SEOBNRROMdata_Cleanup (SEOBNRROMdata *romdata)
 
static int SEOBNRv1ROMEffectiveSpinCore (COMPLEX16FrequencySeries **hptilde, COMPLEX16FrequencySeries **hctilde, double phiRef, double fRef, double distance, double inclination, double Mtot_sec, double q, double chi, const REAL8Sequence *freqs, double deltaF)
 Core function for computing the ROM waveform. More...
 
static void SEOBNRROMdata_coeff_Init (SEOBNRROMdata_coeff **romdatacoeff)
 
static void SEOBNRROMdata_coeff_Cleanup (SEOBNRROMdata_coeff *romdatacoeff)
 
static size_t NextPow2 (const size_t n)
 
static void SplineData_Destroy (SplineData *splinedata)
 
static void SplineData_Init (SplineData **splinedata)
 
static int read_vector (const char dir[], const char fname[], gsl_vector *v)
 
static int read_matrix (const char dir[], const char fname[], gsl_matrix *m)
 
static int load_data (const char dir[], gsl_vector *cvec_amp, gsl_vector *cvec_phi, gsl_matrix *Bamp, gsl_matrix *Bphi, gsl_vector *cvec_amp_pre)
 
static int TP_Spline_interpolation_2d (REAL8 q, REAL8 chi, gsl_vector *cvec_amp, gsl_vector *cvec_phi, gsl_vector *cvec_amp_pre, gsl_vector *c_amp, gsl_vector *c_phi, REAL8 *amp_pre)
 
SEOBNRv1 Reduced Order Model (Effective Spin)

C code for SEOBNRv1 reduced order model (equal spin version). See CQG 31 195010, 2014, arXiv:1402.4146 for details.

Author
Michael Puerrer, John Veitch

This is a frequency domain model that approximates the time domain SEOBNRv1 model with equal spins. Note that SEOBNRv2 supersedes SEOBNRv1.

The binary data files are available at https://dcc.ligo.org/T1400701-v1. Put the untared data into a location in your LAL_DATA_PATH.

Note
Note that due to its construction the iFFT of the ROM has a small (~ 20 M) offset in the peak time that scales with total mass as compared to the time-domain SEOBNRv1 model.
Due to non-smoothness in SEOBNRv1 at chi1=chi2 ~ -0.8 and 20 <= q <= 40 the ROM deviates from the SEOBNRv1 behavior there. See arXiv:1402.4146, Fig 7, Fig 11, and Fig 13 for details.
Parameter ranges:
  • 1 <= q <= 100
  • -1 <= chi <= 0.6
  • Mtot >= 1.4Msun

Equal spin chi = chi1 = chi2. Asymmetric mass-ratio q = max(m1/m2, m2/m1). Total mass Mtot.

int XLALSimIMRSEOBNRv1ROMEffectiveSpinFrequencySequence (struct tagCOMPLEX16FrequencySeries **hptilde, struct tagCOMPLEX16FrequencySeries **hctilde, const REAL8Sequence *freqs, REAL8 phiRef, REAL8 fRef, REAL8 distance, REAL8 inclination, REAL8 m1SI, REAL8 m2SI, REAL8 chi)
 Compute waveform in LAL format at specified frequencies for the SEOBNRv1_ROM_EffectiveSpin model. More...
 
int XLALSimIMRSEOBNRv1ROMEffectiveSpin (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 chi)
 Compute waveform in LAL format for the SEOBNRv1_ROM_EffectiveSpin model. More...
 

Go to the source code of this file.

Data Structures

struct  SEOBNRROMdata_coeff
 
struct  SEOBNRROMdata
 
struct  SplineData
 

Macros

#define nk_amp   78
 
#define nk_phi   200
 

Variables

static const double gA []
 
static const double gPhi []
 
static SEOBNRROMdata __lalsim_SEOBNRv1ROMSS_data
 

Macro Definition Documentation

◆ nk_amp

#define nk_amp   78

Definition at line 65 of file LALSimIMRSEOBNRv1ROMEffectiveSpin.c.

◆ nk_phi

#define nk_phi   200

Definition at line 66 of file LALSimIMRSEOBNRv1ROMEffectiveSpin.c.

Function Documentation

◆ SEOBNRv1ROMEffectiveSpin_Init_LALDATA()

static void SEOBNRv1ROMEffectiveSpin_Init_LALDATA ( void  )
static

Setup SEOBNRv1ROMEffectiveSpin model using data files installed in $LAL_DATA_PATH.

Definition at line 853 of file LALSimIMRSEOBNRv1ROMEffectiveSpin.c.

◆ SEOBNRv1ROMEffectiveSpin_Init()

static int SEOBNRv1ROMEffectiveSpin_Init ( const char  dir[])
static

Setup SEOBNRv1ROMEffectiveSpin model using data files installed in dir.

Definition at line 215 of file LALSimIMRSEOBNRv1ROMEffectiveSpin.c.

◆ SEOBNRv1ROMEffectiveSpin_IsSetup()

static bool SEOBNRv1ROMEffectiveSpin_IsSetup ( void  )
static

Helper function to check if the SEOBNRv1ROMEffectiveSpin model has been initialised.

Definition at line 232 of file LALSimIMRSEOBNRv1ROMEffectiveSpin.c.

◆ SEOBNRROMdata_Init()

static int SEOBNRROMdata_Init ( SEOBNRROMdata *  romdata,
const char  dir[] 
)
static

Definition at line 362 of file LALSimIMRSEOBNRv1ROMEffectiveSpin.c.

◆ SEOBNRROMdata_Cleanup()

static void SEOBNRROMdata_Cleanup ( SEOBNRROMdata *  romdata)
static

Definition at line 392 of file LALSimIMRSEOBNRv1ROMEffectiveSpin.c.

◆ SEOBNRv1ROMEffectiveSpinCore()

static int SEOBNRv1ROMEffectiveSpinCore ( COMPLEX16FrequencySeries **  hptilde,
COMPLEX16FrequencySeries **  hctilde,
double  phiRef,
double  fRef,
double  distance,
double  inclination,
double  Mtot_sec,
double  q,
double  chi,
const REAL8Sequence freqs_in,
double  deltaF 
)
static

Core function for computing the ROM waveform.

Interpolate projection coefficient data and evaluate coefficients at desired (q, chi). Construct 1D splines for amplitude and phase. Compute strain waveform from amplitude and phase.

Definition at line 433 of file LALSimIMRSEOBNRv1ROMEffectiveSpin.c.

◆ SEOBNRROMdata_coeff_Init()

static void SEOBNRROMdata_coeff_Init ( SEOBNRROMdata_coeff **  romdatacoeff)
static

Definition at line 402 of file LALSimIMRSEOBNRv1ROMEffectiveSpin.c.

◆ SEOBNRROMdata_coeff_Cleanup()

static void SEOBNRROMdata_coeff_Cleanup ( SEOBNRROMdata_coeff romdatacoeff)
static

Definition at line 416 of file LALSimIMRSEOBNRv1ROMEffectiveSpin.c.

◆ NextPow2()

static size_t NextPow2 ( const size_t  n)
static

Definition at line 423 of file LALSimIMRSEOBNRv1ROMEffectiveSpin.c.

◆ SplineData_Destroy()

static void SplineData_Destroy ( SplineData splinedata)
static

Definition at line 309 of file LALSimIMRSEOBNRv1ROMEffectiveSpin.c.

◆ SplineData_Init()

static void SplineData_Init ( SplineData **  splinedata)
static

Definition at line 251 of file LALSimIMRSEOBNRv1ROMEffectiveSpin.c.

◆ read_vector()

static int read_vector ( const char  dir[],
const char  fname[],
gsl_vector *  v 
)
static

◆ read_matrix()

static int read_matrix ( const char  dir[],
const char  fname[],
gsl_matrix *  m 
)
static

◆ load_data()

static int load_data ( const char  dir[],
gsl_vector *  cvec_amp,
gsl_vector *  cvec_phi,
gsl_matrix *  Bamp,
gsl_matrix *  Bphi,
gsl_vector *  cvec_amp_pre 
)
static

Definition at line 240 of file LALSimIMRSEOBNRv1ROMEffectiveSpin.c.

◆ TP_Spline_interpolation_2d()

static int TP_Spline_interpolation_2d ( REAL8  q,
REAL8  chi,
gsl_vector *  cvec_amp,
gsl_vector *  cvec_phi,
gsl_vector *  cvec_amp_pre,
gsl_vector *  c_amp,
gsl_vector *  c_phi,
REAL8 amp_pre 
)
static

Definition at line 319 of file LALSimIMRSEOBNRv1ROMEffectiveSpin.c.

Variable Documentation

◆ gA

const double gA[]
static
Initial value:
= {0.0001, 0.00011, 0.000121, 0.0001331, 0.00014641, 0.000161051,
0.000177156, 0.000194872, 0.000214359, 0.000235795, 0.000259374,
0.000285312, 0.000313843, 0.000345227, 0.00037975, 0.000417725,
0.000459497, 0.000505447, 0.000555992, 0.000611591, 0.00067275,
0.000740025, 0.000814027, 0.00089543, 0.000984973, 0.00108347,
0.00119182, 0.001311, 0.0014421, 0.00158631, 0.00174494, 0.00191943,
0.00211138, 0.00232252, 0.00255477, 0.00281024, 0.00309127,
0.00340039, 0.00374043, 0.00411448, 0.00452593, 0.00497852,
0.00547637, 0.00602401, 0.00662641, 0.00728905, 0.00801795,
0.00881975, 0.00970172, 0.0106719, 0.0117391, 0.012913, 0.0142043,
0.0156247, 0.0171872, 0.0189059, 0.0207965, 0.0228762, 0.0251638,
0.0276801, 0.0304482, 0.033493, 0.0368423, 0.0405265, 0.0445792,
0.0490371, 0.0539408, 0.0593349, 0.0652683, 0.0717952, 0.0789747,
0.0868722, 0.0955594, 0.105115, 0.115627, 0.12719, 0.139908, 0.14}

Definition at line 68 of file LALSimIMRSEOBNRv1ROMEffectiveSpin.c.

◆ gPhi

const double gPhi[]
static

Definition at line 83 of file LALSimIMRSEOBNRv1ROMEffectiveSpin.c.

◆ __lalsim_SEOBNRv1ROMSS_data

SEOBNRROMdata __lalsim_SEOBNRv1ROMSS_data
static

Definition at line 146 of file LALSimIMRSEOBNRv1ROMEffectiveSpin.c.