LALSimulation  5.4.0.1-fe68b98
LALSimIMRSEOBNRv2ROMEffectiveSpin.c File Reference

Prototypes

static void SEOBNRv2ROMEffectiveSpin_Init_LALDATA (void)
 Setup SEOBNRv2ROMEffectiveSpin model using data files installed in $LAL_DATA_PATH. More...
 
static int SEOBNRv2ROMEffectiveSpin_Init (const char dir[])
 Setup SEOBNRv2ROMEffectiveSpin model using data files installed in dir. More...
 
static bool SEOBNRv2ROMEffectiveSpin_IsSetup (void)
 Helper function to check if the SEOBNRv2ROMEffectiveSpin model has been initialised. More...
 
static int SEOBNRROMdata_Init (SEOBNRROMdata *romdata, const char dir[])
 
static void SEOBNRROMdata_Cleanup (SEOBNRROMdata *romdata)
 
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)
 
static int SEOBNRv2ROMEffectiveSpinCore (COMPLEX16FrequencySeries **hptilde, COMPLEX16FrequencySeries **hctilde, double phiRef, double fRef, double distance, double inclination, double Mtot_sec, double eta, double chi, const REAL8Sequence *freqs, double deltaF)
 Core function for computing the ROM waveform. More...
 
static int SEOBNRv2ROMEffectiveSpinTimeFrequencySetup (gsl_spline **spline_phi, gsl_interp_accel **acc_phi, REAL8 *Mf_final, REAL8 *Mtot_sec, REAL8 m1SI, REAL8 m2SI, REAL8 chi)
 
static UNUSED REAL8 Interpolate_Coefficent_Tensor (gsl_vector *v, REAL8 eta, REAL8 chi1, REAL8 chi2, int ncy, int ncz, gsl_bspline_workspace *bwx, gsl_bspline_workspace *bwy, gsl_bspline_workspace *bwz)
 
SEOBNRv2 Reduced Order Model (Effective Spin)

C code for SEOBNRv2 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 SEOBNRv2 model with equal spins.

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 SEOBNRv2 model.
Parameter ranges:
  • 0.01 <= eta <= 0.25
  • -1 <= chi <= 0.99
  • Mtot >= 1.4Msun

Equal spin chi = chi1 = chi2 in terms of aligned component spins chi1, chi2. Symmetric mass-ratio eta = m1*m2/(m1+m2)^2. Total mass Mtot.

int XLALSimIMRSEOBNRv2ROMEffectiveSpinFrequencySequence (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 SEOBNRv2_ROM_EffectiveSpin model. More...
 
int XLALSimIMRSEOBNRv2ROMEffectiveSpin (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 SEOBNRv2_ROM_EffectiveSpin model. More...
 
int XLALSimIMRSEOBNRv2ROMEffectiveSpinTimeOfFrequency (REAL8 *t, REAL8 frequency, REAL8 m1SI, REAL8 m2SI, REAL8 chi)
 Compute the 'time' elapsed in the ROM waveform from a given starting frequency until the ringdown. More...
 
int XLALSimIMRSEOBNRv2ROMEffectiveSpinFrequencyOfTime (REAL8 *frequency, REAL8 t, REAL8 m1SI, REAL8 m2SI, REAL8 chi)
 Compute the starting frequency so that the given amount of 'time' elapses in the ROM waveform from the starting frequency until the ringdown. More...
 

Go to the source code of this file.

Data Structures

struct  SEOBNRROMdata_coeff
 
struct  SEOBNRROMdata
 
struct  SplineData
 

Macros

#define nk_amp   200
 
#define nk_phi   250
 

Variables

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

Macro Definition Documentation

◆ nk_amp

#define nk_amp   200

Definition at line 64 of file LALSimIMRSEOBNRv2ROMEffectiveSpin.c.

◆ nk_phi

#define nk_phi   250

Definition at line 65 of file LALSimIMRSEOBNRv2ROMEffectiveSpin.c.

Function Documentation

◆ SEOBNRv2ROMEffectiveSpin_Init_LALDATA()

static void SEOBNRv2ROMEffectiveSpin_Init_LALDATA ( void  )
static

Setup SEOBNRv2ROMEffectiveSpin model using data files installed in $LAL_DATA_PATH.

Definition at line 1093 of file LALSimIMRSEOBNRv2ROMEffectiveSpin.c.

◆ SEOBNRv2ROMEffectiveSpin_Init()

static int SEOBNRv2ROMEffectiveSpin_Init ( const char  dir[])
static

Setup SEOBNRv2ROMEffectiveSpin model using data files installed in dir.

Definition at line 270 of file LALSimIMRSEOBNRv2ROMEffectiveSpin.c.

◆ SEOBNRv2ROMEffectiveSpin_IsSetup()

static bool SEOBNRv2ROMEffectiveSpin_IsSetup ( void  )
static

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

Definition at line 285 of file LALSimIMRSEOBNRv2ROMEffectiveSpin.c.

◆ SEOBNRROMdata_Init()

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

Definition at line 409 of file LALSimIMRSEOBNRv2ROMEffectiveSpin.c.

◆ SEOBNRROMdata_Cleanup()

static void SEOBNRROMdata_Cleanup ( SEOBNRROMdata *  romdata)
static

Definition at line 439 of file LALSimIMRSEOBNRv2ROMEffectiveSpin.c.

◆ SEOBNRROMdata_coeff_Init()

static void SEOBNRROMdata_coeff_Init ( SEOBNRROMdata_coeff **  romdatacoeff)
static

Definition at line 449 of file LALSimIMRSEOBNRv2ROMEffectiveSpin.c.

◆ SEOBNRROMdata_coeff_Cleanup()

static void SEOBNRROMdata_coeff_Cleanup ( SEOBNRROMdata_coeff romdatacoeff)
static

Definition at line 464 of file LALSimIMRSEOBNRv2ROMEffectiveSpin.c.

◆ NextPow2()

static size_t NextPow2 ( const size_t  n)
static

Definition at line 471 of file LALSimIMRSEOBNRv2ROMEffectiveSpin.c.

◆ SplineData_Destroy()

static void SplineData_Destroy ( SplineData splinedata)
static

Definition at line 356 of file LALSimIMRSEOBNRv2ROMEffectiveSpin.c.

◆ SplineData_Init()

static void SplineData_Init ( SplineData **  splinedata)
static

Definition at line 304 of file LALSimIMRSEOBNRv2ROMEffectiveSpin.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 293 of file LALSimIMRSEOBNRv2ROMEffectiveSpin.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 366 of file LALSimIMRSEOBNRv2ROMEffectiveSpin.c.

◆ SEOBNRv2ROMEffectiveSpinCore()

static int SEOBNRv2ROMEffectiveSpinCore ( COMPLEX16FrequencySeries **  hptilde,
COMPLEX16FrequencySeries **  hctilde,
double  phiRef,
double  fRef,
double  distance,
double  inclination,
double  Mtot_sec,
double  eta,
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 481 of file LALSimIMRSEOBNRv2ROMEffectiveSpin.c.

◆ SEOBNRv2ROMEffectiveSpinTimeFrequencySetup()

static int SEOBNRv2ROMEffectiveSpinTimeFrequencySetup ( gsl_spline **  spline_phi,
gsl_interp_accel **  acc_phi,
REAL8 Mf_final,
REAL8 Mtot_sec,
REAL8  m1SI,
REAL8  m2SI,
REAL8  chi 
)
static

Definition at line 1011 of file LALSimIMRSEOBNRv2ROMEffectiveSpin.c.

◆ Interpolate_Coefficent_Tensor()

static UNUSED REAL8 Interpolate_Coefficent_Tensor ( gsl_vector *  v,
REAL8  eta,
REAL8  chi1,
REAL8  chi2,
int  ncy,
int  ncz,
gsl_bspline_workspace *  bwx,
gsl_bspline_workspace *  bwy,
gsl_bspline_workspace *  bwz 
)
static

Variable Documentation

◆ gA

const double gA[]
static

Definition at line 68 of file LALSimIMRSEOBNRv2ROMEffectiveSpin.c.

◆ gPhi

const double gPhi[]
static

Definition at line 106 of file LALSimIMRSEOBNRv2ROMEffectiveSpin.c.

◆ __lalsim_SEOBNRv2ROMSS_data

SEOBNRROMdata __lalsim_SEOBNRv2ROMSS_data
static

Definition at line 178 of file LALSimIMRSEOBNRv2ROMEffectiveSpin.c.