Loading [MathJax]/extensions/TeX/AMSsymbols.js
LALInspiral 5.0.3.1-8a6b96f
All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Modules Pages
Header LALInspiral.h

Detailed Description

Header file for the template generation codes.

Author
Churches, D. K , B. S. Sathyaprakash, T. Cokelaer.

Synopsis

#include <lal/LALInspiral.h>

This header file covers routines that are used in template generation.

Modules

 Module LALPSpinInspiralRD.c
 Module to generate generic spinning binaries waveforms complete with ring-down.
 

Prototypes

int XLALGetInteractionFromString (const CHAR *inString)
 XLAL function to determine LALInspiralInteraction from a string. More...
 

Data Structures

struct  EtaTau02In
 These are the input structures needed to solve for the mass ratio \(\eta\) given the chirptimes \((\tau_0,\, \tau_2)\) or \((\tau_0, \, \tau_4).\). More...
 
struct  EtaTau04In
 
struct  InspiralTemplate
 The inspiral waveform parameter structure containing information about the waveform to be generated. More...
 
struct  InspiralToffInput
 This is a structure needed by the inner workings of the inspiral wave generation code. More...
 
struct  InspiralACSTParams
 This structure is needed to solve the differential equation giving the evolution of the orbital angular momentum and the spin angular momenta in the case of spinning black hole binaries. More...
 
struct  expnCoeffs
 This structure contains various post-Newtonian and P-approximant expansion coefficients; the meanings of the coefficients is indicated as comments before each list. More...
 
struct  expnFunc
 Structure to hold the pointers to the generic functions defined above. More...
 
struct  TofVIn
 Structure needed to compute the time elapsed from/to the starting epoch of the waveform when the velocity parameter was \(v_0,\) to/from the current epoch when velocity parameter is \(v\).
 
struct  TofVIntegrandIn
 Structure needed to compute the time elapsed from/to the starting epoch of the waveform when the velocity parameter was \(v_0,\) to/from the current epoch when velocity parameter is \(v\).
 
struct  EOBNonQCCoeffs
 UNDOCUMENTED.
 
struct  InspiralDerivativesIn
 Structure used as an input to compute the derivatives needed in solving the phasing formula when the approximant is TaylorT1, TaylorP1 or EOB More...
 
struct  rk4In
 Structure used as an input to Runge-Kutta solver. More...
 
struct  rk4GSLIntegrator
 Structure containing steps and controls for the GSL Runge-Kutta solver. More...
 
struct  InspiralPhaseIn
 Structures used to compute the phase of the signal from the ‘beginning’, when the veolcity parameter is \(v_0,\) to a time when the velocity parameter has evolved to a user input value \(v\). More...
 
struct  PhiofVIntegrandIn
 Structures used to compute the phase of the signal from the ‘beginning’, when the veolcity parameter is \(v_0,\) to a time when the velocity parameter has evolved to a user input value \(v\). More...
 
struct  InspiralInit
 

Enumerations

enum  LALInspiralInteraction {
  LAL_INSPIRAL_INTERACTION_NONE = 0 , LAL_INSPIRAL_INTERACTION_SPIN_ORBIT_15PN = 1 , LAL_INSPIRAL_INTERACTION_SPIN_SPIN_2PN = 1 << 1 , LAL_INSPIRAL_INTERACTION_SPIN_SPIN_SELF_2PN = 1 << 2 ,
  LAL_INSPIRAL_INTERACTION_QUAD_MONO_2PN = 1 << 3 , LAL_INSPIRAL_INTERACTION_SPIN_ORBIT_25PN = 1 << 4 , LAL_INSPIRAL_INTERACTION_SPIN_ORBIT_3PN = 1 << 5 , LAL_INSPIRAL_INTERACTION_TIDAL_5PN = 1 << 6 ,
  LAL_INSPIRAL_INTERACTION_TIDAL_6PN = 1 << 7 , LAL_INSPIRAL_INTERACTION_ALL_SPIN = (1 << 6) - 1 , LAL_INSPIRAL_INTERACTION_ALL = (1 << 8) - 1
}
 Enumeration to specify which interaction will be used in the waveform generation. More...
 
enum  InputMasses {
  m1Andm2 , totalMassAndEta , totalMassUAndEta , totalMassAndMu ,
  t01 , t02 , t03 , t04 ,
  psi0Andpsi3 , bhns , fixedMasses , fixedPsi ,
  fixedTau , massesAndSpin , minmaxTotalMass , spinOnly
}
 This structure is one of the members of the InspiralTemplate structure. More...
 

Macros

#define LAL_INSPIRAL_INTERACTION_DEFAULT   LAL_INSPIRAL_INTERACTION_ALL
 

Files

file  LALBCVWaveform.c
 This module contains a single function LALBCVWaveform().
 
file  LALEOBWaveform.c
 Module to generate effective-one-body waveforms.
 
file  LALEtaTau02.c
 Given \(\tau_0\) and \(\tau_2\) compute the mass ratio \(\eta.\).
 
file  LALEtaTau04.c
 Given \(\tau_0\) and \(\tau_4\) solve for the mass ratio \(\eta.\).
 
file  LALInspiralAmplitude.c
 Given an inspiral template structure containing the binary distance and a set of mass parameters, that module provides functions to compute the related amplitude.
 
file  LALInspiralChooseModel.c
 Module to set the pointers to the required energy and flux functions. Normally, a user is not required to call this function to generate a waveform.
 
file  LALInspiralDerivatives.c
 Module to calculate the RHS of the differential equations in Eq. \eqref{eq_ode2}.
 
file  LALInspiralFrequency3.c
 The code LALInspiralFrequency3.c calculates the frequency the waveform from an inspiralling binary system as a function of time up to 3.5 post-Nowtonian order.
 
file  LALInspiralInit.c
 Module to initialize some parameters for waveform generation.
 
file  LALInspiralParameterCalc.c
 Given a pair of masses (or other equivalent parameters) compute related chirp parameters.
 
file  LALInspiralPhasing1.c
 This module is used to set the phase of the waveform so that it is equal to the user specified phase \(\phi_0\) when the ‘velocity’ of the system is equal to \(v.\).
 
file  LALInspiralPhasing2.c
 The code LALInspiralPhasing2.c calculates the phase of an inspiral waveform as a function of the instantaneous frequency of the wave, up to \(2^{nd}\) post–Newtonian order.
 
file  LALInspiralPhasing3.c
 The code LALInspiralPhasing3.c calculates the phase the waveform from an inspiralling binary system as a function of time up to second post-Nowtonian order.
 
file  LALInspiralPhiofVIntegrand.c
 The function XLALInspiralPhiofVIntegrand() calculates the quantity \(v^{3} E^{\prime}(v)/\mathcal{F}(v)\).
 
file  LALInspiralSetup.c
 Module to generate all the Taylor and Pade coefficients needed in waveform generation.
 
file  LALInspiralSpinningBHBinary.c
 This module generates the inspiral waveform from a binary consisting of two spinning compact stars.
 
file  LALInspiralStationaryPhaseApprox1.c
 This module computes the stationary phase approximation to the Fourier transform of a chirp waveform by integrating Eq. \eqref{eq_InspiralFourierPhase}.
 
file  LALInspiralStationaryPhaseApprox2.c
 This module computes the usual stationary phase approximation to the Fourier transform of a chirp waveform given by Eq. \eqref{eq_InspiralFourierPhase_f2}.
 
file  LALInspiralTaylorNWaveform.c
 NONE.
 
file  LALInspiralTiming2.c
 Module used in solving the timing and phasing functions in quadrature for the Approximant TaylorT2.
 
file  LALInspiralTofV.c
 NONE.
 
file  LALInspiralTofVIntegrand.c
 The function LALInspiralTofVIntegrand() calculates the quantity \(E^{\prime}(v)/\mathcal{F}(v)\).
 
file  LALInspiralVelocity.c
 The function XLALInspiralVelocity() calculates the velocity \(v\) which corresponds to a time \(t\) in the inspiralling binary system.
 
file  LALInspiralWave.c
 Interface routine needed to generate all waveforms in the Inspiral Waveforms package.
 
file  LALInspiralWave1.c
 The code LALInspiralWave1() generates an time-domain inspiral waveform corresponding to the Approximant TaylorT1 and PadeT1 as outlined in the documentation for the function LALInspiralWave().
 
file  LALInspiralWave2.c
 These modules generate a time-domain chirp waveform of type TaylorT2.
 
file  LALInspiralWave3.c
 These modules generate a time-domain chirp waveform of type TaylorT3.
 
file  LALInspiralWaveLength.c
 Module to calculate the number of data points (to the nearest power of 2) needed to store a waveform.
 
file  LALRungeKutta4.c
 NONE.
 
file  LALSTPNWaveform.c
 Module to generate STPN (spinning binaries) waveforms in agreement with the injecttion package (return a CoherentGW structure).
 
file  GenerateInspiralWaveform.c
 Test routine for wave generation codes.
 
file  LALInspiralSpinningBHBinariesTest.c
 Test routine for spin-modulted inspiral waveform generation code.
 
file  LALInspiralTest.c
 Test routine for codes that generate inspiral waveform from non-spinning black hole binaries.
 

Energy, flux, phase, time and frequency functions.

The following functions are generic function definitions that will be used in template generation.

The function LALInspiralChooseModel, which is called by wave generation interface code, points these functions to the appropriate specific functions depending on the choices made by the user.

typedef REAL8 EnergyFunction(REAL8 v, expnCoeffs *ak)
 
typedef REAL8 FluxFunction(REAL8 v, expnCoeffs *ak)
 
typedef void() TestFunction(REAL8Vector *vector1, REAL8Vector *vector2, void *params)
 
typedef REAL8() InspiralPhasing2(REAL8 v, expnCoeffs *ak)
 
typedef REAL8() InspiralPhasing3(REAL8 td, expnCoeffs *ak)
 
typedef REAL8() InspiralFrequency3(REAL8 td, expnCoeffs *ak)
 
typedef REAL8() InspiralTiming2(REAL8 f, void *params)
 

Error Codes

#define LALINSPIRALH_ENULL   1
 Arguments contained an unexpected null pointer. More...
 
#define LALINSPIRALH_EMEM   2
 Memory allocation error. More...
 
#define LALINSPIRALH_EDIV0   3
 Division by zero. More...
 
#define LALINSPIRALH_ESIZE   4
 Invalid input range. More...
 
#define LALINSPIRALH_ECHOICE   5
 Invalid choice for an input parameter. More...
 
#define LALINSPIRALH_EORDER   6
 unknown order specified More...
 
#define LALINSPIRALH_EAPPROXIMANT   7
 Invalid model. More...
 
#define LALINSPIRALH_EPSI0   8
 psi0 must be > 0 More...
 
#define LALINSPIRALH_EPSI3   9
 psi3 must be < 0 More...
 
#define LALINSPIRALH_EALPHA   10
 alpha must be defined positive More...
 
#define LALINSPIRALH_EFCUTOFF   11
 fcutoff must be defined and > 0 More...
 
#define LALINSPIRALH_ENOWAVEFORM   12
 No Waveform generated. More...
 
#define LALINSPIRALH_ESTOPPED   13
 Waveform generation stopped. More...
 
#define LALINSPIRALH_EROOTINIT   14
 Can't find good bracket for BisectionFindRoot. More...
 
#define LALINSPIRALH_EFLOWER   15
 fLower too low in comparison to flso More...
 
#define LALINSPIRALH_EVECTOR   16
 Attempting to write beyond the end of vector. More...
 
#define LALINSPIRALH_EFLOWERINJ   17
 flower for the injection must be greater than zero More...
 
#define LALINSPIRALH_EORDERMISSING   18
 The PN order requested is not implemented for this approximant. More...
 
#define LALINSPIRALH_EBPERR   19
 Error in band passing signal. More...
 
#define LALINSPIRALH_ESWITCH   20
 Unknown case in switch. More...
 
#define LALINSPIRALH_EMASSCHOICE   21
 Improper choice for massChoice. More...
 

Function Documentation

◆ XLALGetInteractionFromString()

int XLALGetInteractionFromString ( const CHAR inString)

XLAL function to determine LALInspiralInteraction from a string.

DEPRECATED: USE LALSimInspiralSpinOrder, LALSimInspiralTidalOrder INSTEAD

Definition at line 59 of file GenerateInspiral.c.

Typedef Documentation

◆ EnergyFunction

typedef REAL8 EnergyFunction(REAL8 v, expnCoeffs *ak)

Definition at line 511 of file LALInspiral.h.

◆ FluxFunction

typedef REAL8 FluxFunction(REAL8 v, expnCoeffs *ak)

Definition at line 515 of file LALInspiral.h.

◆ TestFunction

typedef void() TestFunction(REAL8Vector *vector1, REAL8Vector *vector2, void *params)

Definition at line 519 of file LALInspiral.h.

◆ InspiralPhasing2

typedef REAL8() InspiralPhasing2(REAL8 v, expnCoeffs *ak)

Definition at line 524 of file LALInspiral.h.

◆ InspiralPhasing3

typedef REAL8() InspiralPhasing3(REAL8 td, expnCoeffs *ak)

Definition at line 528 of file LALInspiral.h.

◆ InspiralFrequency3

typedef REAL8() InspiralFrequency3(REAL8 td, expnCoeffs *ak)

Definition at line 532 of file LALInspiral.h.

◆ InspiralTiming2

typedef REAL8() InspiralTiming2(REAL8 f, void *params)

Definition at line 536 of file LALInspiral.h.

Enumeration Type Documentation

◆ LALInspiralInteraction

Enumeration to specify which interaction will be used in the waveform generation.

Their combination also can be used by the bitwise or. DEPRECATED: USE LALSimInspiralSpinOrder, LALSimInspiralTidalOrder INSTEAD

Enumerator
LAL_INSPIRAL_INTERACTION_NONE 

No spin, tidal or other interactions.

LAL_INSPIRAL_INTERACTION_SPIN_ORBIT_15PN 

Leading order spin-orbit interaction.

LAL_INSPIRAL_INTERACTION_SPIN_SPIN_2PN 

Spin-spin interaction.

LAL_INSPIRAL_INTERACTION_SPIN_SPIN_SELF_2PN 

Spin-spin-self interaction.

LAL_INSPIRAL_INTERACTION_QUAD_MONO_2PN 

Quadrupole-monopole interaction.

LAL_INSPIRAL_INTERACTION_SPIN_ORBIT_25PN 

Next-to-leading-order spin-orbit interaction.

LAL_INSPIRAL_INTERACTION_SPIN_ORBIT_3PN 

Spin-spin interaction.

LAL_INSPIRAL_INTERACTION_TIDAL_5PN 

Leading-order tidal interaction.

LAL_INSPIRAL_INTERACTION_TIDAL_6PN 

Next-to-leading-order tidal interaction.

LAL_INSPIRAL_INTERACTION_ALL_SPIN 

all spin interactions, no tidal interactions

LAL_INSPIRAL_INTERACTION_ALL 

all spin and tidal interactions

Definition at line 116 of file LALInspiral.h.

◆ InputMasses

This structure is one of the members of the InspiralTemplate structure.

A user can specify the parameters of a binary using any of the following combination of masses: m1Andm2, totalMassAndEta, totalMassUAndEta, totalMassAndMu, t01, t02, t03, t04, psi0Andpsi3

The LALRandomInspiralSignal uses that structure as an input. Since the injected waveform are not necessarely wanted to be random, we also provide the following options bhns, fixedMasses, fixedPsi, fixedTau

Enumerator
m1Andm2 

component masses

totalMassAndEta 

total mass and symmetric mass ratio

totalMassUAndEta 

total mass and eta but uniform distribution in totalMass

totalMassAndMu 

total mass and reduced mass

t01 

unused; shouldn't be used

t02 

chirptimes \(\tau_0\) and \(\tau_2\)

t03 

chirptimes \(\tau_0\) and \(\tau_3\), and

t04 

chirptimes \(\tau_0\) and \(\tau_4\)

psi0Andpsi3 

BCV parameters \(\psi_0\) and \(\psi_3\).

bhns 

One of the mass is a Neutron star and the other a black hole (m1 \(\in\) [minMass-3] and m2 \(\in\) [3-maxMass])

fixedMasses 

The two masses are given by the input parameter structure.

fixedPsi 

The two psi values are given by the input parameter structure.

fixedTau 

The two tau values are given by the input parameter structure.

massesAndSpin 

UNDOCUMENTED.

minmaxTotalMass 

UNDOCUMENTED.

spinOnly 

UNDOCUMENTED.

Definition at line 178 of file LALInspiral.h.

Macro Definition Documentation

◆ LALINSPIRALH_ENULL

#define LALINSPIRALH_ENULL   1

Arguments contained an unexpected null pointer.

Definition at line 56 of file LALInspiral.h.

◆ LALINSPIRALH_EMEM

#define LALINSPIRALH_EMEM   2

Memory allocation error.

Definition at line 57 of file LALInspiral.h.

◆ LALINSPIRALH_EDIV0

#define LALINSPIRALH_EDIV0   3

Division by zero.

Definition at line 58 of file LALInspiral.h.

◆ LALINSPIRALH_ESIZE

#define LALINSPIRALH_ESIZE   4

Invalid input range.

Definition at line 59 of file LALInspiral.h.

◆ LALINSPIRALH_ECHOICE

#define LALINSPIRALH_ECHOICE   5

Invalid choice for an input parameter.

Definition at line 60 of file LALInspiral.h.

◆ LALINSPIRALH_EORDER

#define LALINSPIRALH_EORDER   6

unknown order specified

Definition at line 61 of file LALInspiral.h.

◆ LALINSPIRALH_EAPPROXIMANT

#define LALINSPIRALH_EAPPROXIMANT   7

Invalid model.

Definition at line 62 of file LALInspiral.h.

◆ LALINSPIRALH_EPSI0

#define LALINSPIRALH_EPSI0   8

psi0 must be > 0

Definition at line 63 of file LALInspiral.h.

◆ LALINSPIRALH_EPSI3

#define LALINSPIRALH_EPSI3   9

psi3 must be < 0

Definition at line 64 of file LALInspiral.h.

◆ LALINSPIRALH_EALPHA

#define LALINSPIRALH_EALPHA   10

alpha must be defined positive

Definition at line 65 of file LALInspiral.h.

◆ LALINSPIRALH_EFCUTOFF

#define LALINSPIRALH_EFCUTOFF   11

fcutoff must be defined and > 0

Definition at line 66 of file LALInspiral.h.

◆ LALINSPIRALH_ENOWAVEFORM

#define LALINSPIRALH_ENOWAVEFORM   12

No Waveform generated.

Definition at line 67 of file LALInspiral.h.

◆ LALINSPIRALH_ESTOPPED

#define LALINSPIRALH_ESTOPPED   13

Waveform generation stopped.

Definition at line 68 of file LALInspiral.h.

◆ LALINSPIRALH_EROOTINIT

#define LALINSPIRALH_EROOTINIT   14

Can't find good bracket for BisectionFindRoot.

Definition at line 69 of file LALInspiral.h.

◆ LALINSPIRALH_EFLOWER

#define LALINSPIRALH_EFLOWER   15

fLower too low in comparison to flso

Definition at line 70 of file LALInspiral.h.

◆ LALINSPIRALH_EVECTOR

#define LALINSPIRALH_EVECTOR   16

Attempting to write beyond the end of vector.

Definition at line 71 of file LALInspiral.h.

◆ LALINSPIRALH_EFLOWERINJ

#define LALINSPIRALH_EFLOWERINJ   17

flower for the injection must be greater than zero

Definition at line 72 of file LALInspiral.h.

◆ LALINSPIRALH_EORDERMISSING

#define LALINSPIRALH_EORDERMISSING   18

The PN order requested is not implemented for this approximant.

Definition at line 73 of file LALInspiral.h.

◆ LALINSPIRALH_EBPERR

#define LALINSPIRALH_EBPERR   19

Error in band passing signal.

Definition at line 74 of file LALInspiral.h.

◆ LALINSPIRALH_ESWITCH

#define LALINSPIRALH_ESWITCH   20

Unknown case in switch.

Definition at line 75 of file LALInspiral.h.

◆ LALINSPIRALH_EMASSCHOICE

#define LALINSPIRALH_EMASSCHOICE   21

Improper choice for massChoice.

Definition at line 76 of file LALInspiral.h.

◆ LAL_INSPIRAL_INTERACTION_DEFAULT

#define LAL_INSPIRAL_INTERACTION_DEFAULT   LAL_INSPIRAL_INTERACTION_ALL

Definition at line 103 of file LALInspiral.h.