LALSimulation  5.4.0.1-fe68b98
LALSimIMREOBHybridRingdown.c File Reference

Module to compute the ring-down waveform as linear combination of quasi-normal-modes decaying waveforms, which can be attached to the inspiral part of the compat binary coalescing waveform. The method is describe in Sec. II C of Pan et al. PRD 84, 124052 (2011), specifically Eqs. 30 - 32. Eqs. 30 and 31 are written in explicity linear equation systems in DCC document T1100433. This method is currently used for EOBNRv2 and SEOBNRv1 models. The only difference between the two models in ring-down waveform is the pseudo-QNM introduced in the latter (see Taracchini et al. PRD 86, 024011 (2012) for more details). More...

Prototypes

static REAL8 XLALCalculateRDAmplitudeCoefficient1 (UINT4 modeL, UINT4 modeM, REAL8 eta, REAL8 chi)
 
static REAL8 XLALCalculateRDAmplitudeCoefficient2 (UINT4 modeL, UINT4 modeM, REAL8 eta, REAL8 chi)
 
static REAL8 XLALCalculateRDPhaseCoefficient1 (UINT4 modeL, UINT4 modeM, REAL8 eta, REAL8 chi)
 
static REAL8 XLALCalculateRDPhaseCoefficient2 (UINT4 modeL, UINT4 modeM, REAL8 eta, REAL8 chi)
 
static INT4 XLALSimFindIndexMaxAmpli (UINT4 *indAmax, REAL8Vector *timeVec, REAL8Vector *ampWave, REAL8 *valAmax, REAL8 tofAmax)
 
static INT4 XLALSimIMREOBHybridRingdownWave (REAL8Vector *rdwave1, REAL8Vector *rdwave2, const REAL8 dt, const REAL8 mass1, const REAL8 mass2, REAL8VectorSequence *inspwave1, REAL8VectorSequence *inspwave2, COMPLEX16Vector *modefreqs, REAL8Vector *matchrange)
 Generates the ringdown wave associated with the given real and imaginary parts of the inspiral waveform. More...
 
static INT4 XLALGenerateHybridWaveDerivatives (REAL8Vector *rwave, REAL8Vector *dwave, REAL8Vector *ddwave, REAL8Vector *timeVec, REAL8Vector *wave, REAL8Vector *matchrange, REAL8 dt, REAL8 mass1, REAL8 mass2)
 Function which calculates the value of the waveform, plus its first and second derivatives, for the points which will be required in the hybrid comb attachment of the ringdown. More...
 
static UNUSED INT4 XLALSimIMREOBHybridAttachRingdown (REAL8Vector *signal1, REAL8Vector *signal2, const INT4 l, const INT4 m, const REAL8 dt, const REAL8 mass1, const REAL8 mass2, const REAL8 spin1x, const REAL8 spin1y, const REAL8 spin1z, const REAL8 spin2x, const REAL8 spin2y, const REAL8 spin2z, REAL8Vector *timeVec, REAL8Vector *matchrange, Approximant approximant)
 The main workhorse function for performing the ringdown attachment for EOB models EOBNRv2 and SEOBNRv1. More...
 
static UNUSED INT4 XLALSimIMREOBAttachFitRingdown (REAL8Vector *signal1, REAL8Vector *signal2, const INT4 l, const INT4 m, const REAL8 dt, const REAL8 mass1, const REAL8 mass2, const REAL8 spin1x, const REAL8 spin1y, const REAL8 spin1z, const REAL8 spin2x, const REAL8 spin2y, const REAL8 spin2z, const REAL8 domega220, const REAL8 dtau220, const REAL8 domega210, const REAL8 dtau210, const REAL8 domega330, const REAL8 dtau330, const REAL8 domega440, const REAL8 dtau440, const REAL8 domega550, const REAL8 dtau550, const UINT2 TGRflag, REAL8Vector *timeVec, REAL8Vector *matchrange, Approximant approximant, UINT4 *indAmpMax)
 The main function for performing the ringdown attachment for SEOBNRv4 (and beyond) This is the function which gets called by the code generating the full IMR waveform once generation of the inspiral part has been completed. More...
 
static UNUSED INT4 XLALSimIMREOBTaper (REAL8Vector *signal1, REAL8Vector *signal2, const INT4 l, const INT4 m, const REAL8 dt, const REAL8 mass1, const REAL8 mass2, const REAL8 spin1x, const REAL8 spin1y, const REAL8 spin1z, const REAL8 spin2x, const REAL8 spin2y, const REAL8 spin2z, REAL8Vector *timeVec, REAL8Vector *matchrange, Approximant approximant)
 

Detailed Description

Module to compute the ring-down waveform as linear combination of quasi-normal-modes decaying waveforms, which can be attached to the inspiral part of the compat binary coalescing waveform. The method is describe in Sec. II C of Pan et al. PRD 84, 124052 (2011), specifically Eqs. 30 - 32. Eqs. 30 and 31 are written in explicity linear equation systems in DCC document T1100433. This method is currently used for EOBNRv2 and SEOBNRv1 models. The only difference between the two models in ring-down waveform is the pseudo-QNM introduced in the latter (see Taracchini et al. PRD 86, 024011 (2012) for more details).

Author
Yi Pan, Craig Robinson, Stas Babak, Andrea Taracchini

Definition in file LALSimIMREOBHybridRingdown.c.

Go to the source code of this file.

Macros

#define _LALSIMIMREOBHYBRIDRINGDOWN_C
 
#define LMax   6
 
#define MMax   6
 

Macro Definition Documentation

◆ _LALSIMIMREOBHYBRIDRINGDOWN_C

#define _LALSIMIMREOBHYBRIDRINGDOWN_C

Definition at line 37 of file LALSimIMREOBHybridRingdown.c.

◆ LMax

#define LMax   6

Definition at line 60 of file LALSimIMREOBHybridRingdown.c.

◆ MMax

#define MMax   6

Definition at line 61 of file LALSimIMREOBHybridRingdown.c.

Function Documentation

◆ XLALCalculateRDAmplitudeCoefficient1()

static REAL8 XLALCalculateRDAmplitudeCoefficient1 ( UINT4  modeL,
UINT4  modeM,
REAL8  eta,
REAL8  chi 
)
static

Definition at line 67 of file LALSimIMREOBHybridRingdown.c.

◆ XLALCalculateRDAmplitudeCoefficient2()

static REAL8 XLALCalculateRDAmplitudeCoefficient2 ( UINT4  modeL,
UINT4  modeM,
REAL8  eta,
REAL8  chi 
)
static

Definition at line 126 of file LALSimIMREOBHybridRingdown.c.

◆ XLALCalculateRDPhaseCoefficient1()

static REAL8 XLALCalculateRDPhaseCoefficient1 ( UINT4  modeL,
UINT4  modeM,
REAL8  eta,
REAL8  chi 
)
static

Definition at line 181 of file LALSimIMREOBHybridRingdown.c.

◆ XLALCalculateRDPhaseCoefficient2()

static REAL8 XLALCalculateRDPhaseCoefficient2 ( UINT4  modeL,
UINT4  modeM,
REAL8  eta,
REAL8  chi 
)
static

Definition at line 239 of file LALSimIMREOBHybridRingdown.c.

◆ XLALSimFindIndexMaxAmpli()

static INT4 XLALSimFindIndexMaxAmpli ( UINT4 indAmax,
REAL8Vector timeVec,
REAL8Vector ampWave,
REAL8 valAmax,
REAL8  tofAmax 
)
static

Definition at line 947 of file LALSimIMREOBHybridRingdown.c.

◆ XLALSimIMREOBHybridRingdownWave()

static INT4 XLALSimIMREOBHybridRingdownWave ( REAL8Vector rdwave1,
REAL8Vector rdwave2,
const REAL8  dt,
const REAL8  mass1,
const REAL8  mass2,
REAL8VectorSequence inspwave1,
REAL8VectorSequence inspwave2,
COMPLEX16Vector modefreqs,
REAL8Vector matchrange 
)
static

Generates the ringdown wave associated with the given real and imaginary parts of the inspiral waveform.

The parameters of the ringdown, such as amplitude and phase offsets, are determined by solving the linear equations defined in the DCC document T1100433. In the linear equations Ax=y, A is a 16-by-16 matrix depending on QNM (complex) frequencies, x is a 16-d vector of the 8 unknown complex QNM amplitudes, y is a 16-d vector depending on inspiral-plunge waveforms and their derivatives near merger.

Parameters
rdwave1< OUTPUT, Real part of ringdown waveform
rdwave2< OUTPUT, Imag part of ringdown waveform
dt< Sampling interval
mass1< First component mass (in Solar masses)
mass2< Second component mass (in Solar masses)
inspwave1< Values and derivs of real part inspiral waveform
inspwave2< Values and derivs of imag part inspiral waveform
modefreqs< Complex freqs of ringdown (scaled by total mass)
matchrange< Times which determine the comb of ringdown attachment

Definition at line 314 of file LALSimIMREOBHybridRingdown.c.

◆ XLALGenerateHybridWaveDerivatives()

static INT4 XLALGenerateHybridWaveDerivatives ( REAL8Vector rwave,
REAL8Vector dwave,
REAL8Vector ddwave,
REAL8Vector timeVec,
REAL8Vector wave,
REAL8Vector matchrange,
REAL8  dt,
REAL8  mass1,
REAL8  mass2 
)
static

Function which calculates the value of the waveform, plus its first and second derivatives, for the points which will be required in the hybrid comb attachment of the ringdown.

Parameters
rwave< OUTPUT, values of the waveform at comb points
dwave< OUTPUT, 1st deriv of the waveform at comb points
ddwave< OUTPUT, 2nd deriv of the waveform at comb points
timeVec< Vector containing the time
wave< Last part of inspiral waveform
matchrange< Times which determine the size of the comb
dt< Sample time step
mass1< First component mass (in Solar masses)
mass2< Second component mass (in Solar masses)

Definition at line 508 of file LALSimIMREOBHybridRingdown.c.

◆ XLALSimIMREOBHybridAttachRingdown()

static UNUSED INT4 XLALSimIMREOBHybridAttachRingdown ( REAL8Vector signal1,
REAL8Vector signal2,
const INT4  l,
const INT4  m,
const REAL8  dt,
const REAL8  mass1,
const REAL8  mass2,
const REAL8  spin1x,
const REAL8  spin1y,
const REAL8  spin1z,
const REAL8  spin2x,
const REAL8  spin2y,
const REAL8  spin2z,
REAL8Vector timeVec,
REAL8Vector matchrange,
Approximant  approximant 
)
static

The main workhorse function for performing the ringdown attachment for EOB models EOBNRv2 and SEOBNRv1.

This is the function which gets called by the code generating the full IMR waveform once generation of the inspiral part has been completed. The ringdown is attached using the hybrid comb matching detailed in The method is describe in Sec. II C of Pan et al. PRD 84, 124052 (2011), specifically Eqs. 30 - 32.. Further details of the implementation of the found in the DCC document T1100433. In SEOBNRv1, the last physical overtone is replace by a pseudoQNM. See Taracchini et al. PRD 86, 024011 (2012) for details. STEP 1) Get mass and spin of the final black hole and the complex ringdown frequencies STEP 2) Based on least-damped-mode decay time, allocate memory for rigndown waveform STEP 3) Get values and derivatives of inspiral waveforms at matching comb points STEP 4) Solve QNM coefficients and generate ringdown waveforms STEP 5) Stitch inspiral and ringdown waveoforms

Parameters
signal1< OUTPUT, Real of inspiral waveform to which we attach ringdown
signal2< OUTPUT, Imag of inspiral waveform to which we attach ringdown
l< Current mode l
m< Current mode m
dt< Sample time step (in seconds)
mass1< First component mass (in Solar masses)
mass2< Second component mass (in Solar masses)
spin1x<The spin of the first object; only needed for spin waveforms
spin1y<The spin of the first object; only needed for spin waveforms
spin1z<The spin of the first object; only needed for spin waveforms
spin2x<The spin of the second object; only needed for spin waveforms
spin2y<The spin of the second object; only needed for spin waveforms
spin2z<The spin of the second object; only needed for spin waveforms
timeVec< Vector containing the time values
matchrange< Time values chosen as points for performing comb matching
approximant<The waveform approximant being used

Definition at line 630 of file LALSimIMREOBHybridRingdown.c.

◆ XLALSimIMREOBAttachFitRingdown()

static UNUSED INT4 XLALSimIMREOBAttachFitRingdown ( REAL8Vector signal1,
REAL8Vector signal2,
const INT4  l,
const INT4  m,
const REAL8  dt,
const REAL8  mass1,
const REAL8  mass2,
const REAL8  spin1x,
const REAL8  spin1y,
const REAL8  spin1z,
const REAL8  spin2x,
const REAL8  spin2y,
const REAL8  spin2z,
const REAL8  domega220,
const REAL8  dtau220,
const REAL8  domega210,
const REAL8  dtau210,
const REAL8  domega330,
const REAL8  dtau330,
const REAL8  domega440,
const REAL8  dtau440,
const REAL8  domega550,
const REAL8  dtau550,
const UINT2  TGRflag,
REAL8Vector timeVec,
REAL8Vector matchrange,
Approximant  approximant,
UINT4 indAmpMax 
)
static

The main function for performing the ringdown attachment for SEOBNRv4 (and beyond) This is the function which gets called by the code generating the full IMR waveform once generation of the inspiral part has been completed.

The ringdown is attached by factoring the less damped harmonics and apply tanh fit to the rest. STEP 1) Get mass and spin of the final black hole and the complex ringdown frequencies STEP 2) Apply the fit function from the attachment time STEP 3) Construct the full RD by applying (factor) of less damped 220 mode STEP 4) Constructing the RD stitched to the inspiral-merger See Section 5.2 of https://dcc.ligo.org/T1600383

Parameters
signal1< OUTPUT, Real of inspiral waveform to which we attach ringdown
signal2< OUTPUT, Imag of inspiral waveform to which we attach ringdown
l< Current mode l
m< Current mode m
dt< Sample time step (in seconds)
mass1< First component mass (in Solar masses)
mass2< Second component mass (in Solar masses)
spin1x<The spin of the first object;
spin1y<The spin of the first object;
spin1z<The spin of the first object;
spin2x<The spin of the second object;
spin2y<The spin of the second object;
spin2z<The spin of the second object;
domega220<Fractional deviation in the frequency of the 220 mode;
dtau220<Fractional deviation in the damping time of the 220 mode;
domega210<Fractional deviation in the frequency of the 210 mode;
dtau210<Fractional deviation in the damping time of the 210 mode;
domega330<Fractional deviation in the frequency of the 330 mode;
dtau330<Fractional deviation in the damping time of the 330 mode;
domega440<Fractional deviation in the frequency of the 440 mode;
dtau440<Fractional deviation in the damping time of the 440 mode;
domega550<Fractional deviation in the frequency of the 550 mode;
dtau550<Fractional deviation in the damping time of the 550 mode;
TGRflag< Flag for using the TGR ringdown waveform length
timeVec< Vector containing the time values
matchrange< Time values chosen as points for performing comb matching
approximant<The waveform approximant being used
indAmpMax<This is used only for SEOBNRv4HM, it is needed to remember the attaching point of the 22 mode without computing it every time

Definition at line 983 of file LALSimIMREOBHybridRingdown.c.

◆ XLALSimIMREOBTaper()

static UNUSED INT4 XLALSimIMREOBTaper ( REAL8Vector signal1,
REAL8Vector signal2,
const INT4  l,
const INT4  m,
const REAL8  dt,
const REAL8  mass1,
const REAL8  mass2,
const REAL8  spin1x,
const REAL8  spin1y,
const REAL8  spin1z,
const REAL8  spin2x,
const REAL8  spin2y,
const REAL8  spin2z,
REAL8Vector timeVec,
REAL8Vector matchrange,
Approximant  approximant 
)
static
Parameters
signal1< OUTPUT, Real of inspiral waveform to which we attach ringdown
signal2< OUTPUT, Imag of inspiral waveform to which we attach ringdown
l< Current mode l
m< Current mode m
dt< Sample time step (in seconds)
mass1< First component mass (in Solar masses)
mass2< Second component mass (in Solar masses)
spin1x<The spin of the first object;
spin1y<The spin of the first object;
spin1z<The spin of the first object;
spin2x<The spin of the second object;
spin2y<The spin of the second object;
spin2z<The spin of the second object;
timeVec< Vector containing the time values
matchrange< Time values chosen as points for performing comb matching
approximant<The waveform approximant being used

Definition at line 1414 of file LALSimIMREOBHybridRingdown.c.