next up previous contents index
Next: Module LALInspiralParameterCalc.c Up: Package inspiral Previous: Error codes   Contents   Index

Structures

  1. InputMasses: This structure is one of the members of the InspiralTemplate structure.



    typedef enum {
       m1Andm2,
       totalMassAndEta,
       totalMassAndMu,
       t01,
       t02,
       t03,
       t04,
       psi0Andpsi3
     } InputMasses;
    

    A user can specify the parameters of a binary using any of the following combination of masses:

  2. Order: Enum that tells which post-Newtonian order is being used.



    typedef enum {
       newtonian,
       oneHalfPN,
       onePN,
       onePointFivePN,
       twoPN,
       twoPointFivePN,
       threePN,
       threePointFivePN
     } Order;
    
    In all cases, the gravitational wave phase (also frequency and time) as an expansion of the gauge invariant parameter $v$ is given up to the order specified by flux. Note that there are certain undetermined parameters at threePN and threePointFivePN. The waveform generation codes use a specific value of those parameters while generating the wave.

  3. Approximant: Enum that specifies the PN approximant to be used in computing the waveform.



    typedef enum {
       TaylorT1,
       TaylorT2,
       TaylorT3,
       TaylorF1,
       TaylorF2,
       PadeT1,
       PadeF1,
       EOB,
       BCV,
       SpinTaylorT3
     } Approximant;
    

  4. InspiralTemplate: The inspiral waveform parameter structure containing information about the waveform to be generated.



    typedef struct
    tagInspiralTemplate
    {
       INT4 ieta;
       INT4 level;
       INT4Vector *segmentIdVec;
       INT4 number;
       INT4 nStartPad;
       INT4 nEndPad;
       REAL4 minMatch;
       REAL8 mass1; 
       REAL8 mass2;
       REAL8 spin1[3];
       REAL8 spin2[3];
       REAL8 sourceTheta;
       REAL8 sourcePhi;
       REAL8 orbitTheta0;
       REAL8 orbitPhi0;
       REAL8 distance; 
       REAL8 inclination;
       REAL8 eccentricity;
       REAL8 totalMass; 
       REAL8 chirpMass; 
       REAL8 psi0;
       REAL8 psi3;
       REAL8 fendBCV;
       REAL8 alpha;
       REAL8 t0; 
       REAL8 t2; 
       REAL8 t3; 
       REAL8 t4; 
       REAL8 t5; 
       REAL8 tC; 
       REAL8 mu; 
       REAL8 eta;
       REAL8 fLower;
       REAL8 fCutoff;
       REAL8 tSampling;
       REAL8 startPhase;
       REAL8 startTime;
       REAL8 signalAmplitude;
       REAL8 rInitial;
       REAL8 vInitial;
       REAL8 rFinal;
       REAL8 vFinal;
       REAL8 fFinal;
       REAL8 rLightRing;
       REAL8 OmegaS;
       REAL8 Theta;
       InputMasses massChoice;
       Order order;
       Approximant approximant;
       struct tagInspiralTemplate *next;
       struct tagInspiralTemplate *fine;
     } InspiralTemplate;
    

  5. 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.



    typedef struct
    tagInspiralACSTParams
    {
       REAL8 v;               
       REAL8 magS1;           
       REAL8 magS2;
       REAL8 NCap[3];         
       REAL8 spin1[3];         
       REAL8 M;               
       REAL8 fourM1Plus;      
       REAL8 fourM2Plus;      
       REAL8 oneBy2Mcube;     
       REAL8 threeBy2Mcube;   
       REAL8 thirtytwoBy5etc;  
    }  InspiralACSTParams;
    

  6. EtaTau02In, EtaTau04In: 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).$



    typedef struct
    tagEtaTau02In
    {
       REAL8 t2;
       REAL8 A2;
       REAL8 B2;
    } EtaTau02In;
    



    typedef struct
    tagEtaTau04In
    {
       REAL8 t4;
       REAL8 A4;
       REAL8 B4;
       REAL8 C4;
    } EtaTau04In;
    

    Here, t2 $ = \tau_2,$ A2  $ = A_2 ({\tau_0}/{A_0})^{3/5},$ and B2 $=B_2$, where $A_0 = 5/[256 (\pi f_{s} )^{8/3}],$ $A_2 = 3715 / [64512 (\pi f_s)^2],$ $B_2 = 4620/3715.$

    Similarly, t4 $ = \tau_4,$ A4  $ = A_4 ({\tau_0}/{A_0})^{1/5},$ B4 $=B_4$ and C4 $=C_4,$ where where $A_0 = 5/[256 (\pi f_{s} )^{8/3}],$ $A_4 = 5 \times 3058673/ [128 \times 1016064 (\pi f_s)^{4/3}],$ $B_4 = 5429 \times 1016064 /(1008 \times 3058673),$ and $C_4 = 617 \times
1016064/(144 \times 3058673).$

  7. InspiralToffInput: This is a structure needed by the inner workings of the inspiral wave generation code.



    typedef struct
    tagInspiralToffInput
    {
       REAL8 tN;
       REAL8 t2;
       REAL8 t3;
       REAL8 t4;
       REAL8 t5;
       REAL8 t6;
       REAL8 t7;
       REAL8 tl6;
       REAL8 piM;
       REAL8 tc;
       REAL8 t;
     } InspiralToffInput;
    

  8. expnCoeffs: This structure contains various post-Newtonian and P-approximant expansion coefficients; the meanings of the coefficients is indicated as comments before each list.



    typedef struct 
    tagexpnCoeffs {
       int ieta;
       /* coefficients in the Taylor expansion of new energy function*/
       REAL8 eTaN, eTa1, eTa2, eTa3;
       /* coefficients in the Pade expression of new energy function*/
       REAL8 ePaN, ePa1, ePa2, ePa3;
       /* coefficients in the Taylor expansion of usual energy function*/
       REAL8 ETaN, ETa1, ETa2, ETa3;
       /* coefficients in the Taylor expansion of the derivative of the 
        usual energy function*/
       REAL8 dETaN, dETa1, dETa2, dETa3;
    
       /* Taylor expansion coefficients of energy flux*/
       REAL8 FTaN, FTa1, FTa2, FTa3, FTa4, FTa5, FTa6, FTa7, FTl6;
       /* Taylor expansion coefficients of factored flux*/
       REAL8 fTaN, fTa1, fTa2, fTa3, fTa4, fTa5, fTa6, fTa7;
       /* Coefficients of the corresponding P-approximant*/
       REAL8 fPaN, fPa1, fPa2, fPa3, fPa4, fPa5, fPa6, fPa7;
    
       /* Taylor expansion coefficents in t(v)*/
       REAL8 tvaN, tva2, tva3, tva4, tva5, tva6, tva7, tvl6; 
       /* Taylor expansion coefficents in phi(v)*/
       REAL8 pvaN, pva2, pva3, pva4, pva5, pva6, pva7, pvl6; 
       /* Taylor expansion coefficents in phi(t)*/
       REAL8 ptaN, pta2, pta3, pta4, pta5, pta6, pta7, ptl6; 
       /* Taylor expansion coefficents in f(t)*/
       REAL8 ftaN, fta2, fta3, fta4, fta5, fta6, fta7, ftl6; 
       /* Taylor expansion coefficents in psi(f) in the Fourier phase*/
       REAL8 pfaN, pfa2, pfa3, pfa4, pfa5, pfa6, pfa7, pfl5; 
    
       /* sampling rate and interval*/
       REAL8 samplingrate, samplinginterval;
       /* symmetric mass ratio, total mass, component masses*/
       REAL8 eta, totalmass, m1, m2;
       /* unknown 3PN parameters, euler constant*/
       REAL8 lambda, theta, EulerC, omegaS;
    
       /* initial and final values of frequency, time, velocity; lso
        values of velocity and frequency; final phase.*/
       REAL8 f0, fn, t0, tn, v0, vn, vf, vlso, flso, phiC;
    
       /* last stable orbit and pole defined by various Taylor and P-approximants*/
       REAL8 vlsoT0, vlsoT2, vlsoT4, vlsoT6;
       REAL8 vlsoP0, vlsoP2, vlsoP4, vlsoP6;
       REAL8 vpoleP4, vpoleP6;
    }  expnCoeffs;
    

  9. 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 void (InspiralPhasing2)(
       LALStatus *status,
       REAL8 *phase, 
       REAL8 v,
       expnCoeffs *ak);
    
    typedef void (InspiralPhasing3)(
       LALStatus *status,
       REAL8 *f,
       REAL8 td,
       expnCoeffs *ak);
    
    typedef void (InspiralFrequency3)(
       LALStatus *status,
       REAL8 *f,
       REAL8 td,
       expnCoeffs *ak);
    
    typedef void (InspiralTiming2) (
       LALStatus *status,
       REAL8 *toff,
       REAL8 f,
       void *params);
    

  10. expnFunc: Structure to hold the pointers to the generic functions defined above.



    typedef struct
    tagexpnFunc
    {
       EnergyFunction *dEnergy;
       FluxFunction *flux;
       InspiralTiming2 *timing2;
       InspiralPhasing2 *phasing2;
       InspiralPhasing3 *phasing3;
       InspiralFrequency3 *frequency3;
    } expnFunc;
    

  11. TofVIn and TofVIntegrandIn: Structures 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.$



    typedef struct
    tagTofVIn
    {
       REAL8 t;
       REAL8 v0;
       REAL8 t0;
       REAL8 vlso;
       REAL8 totalmass;
       EnergyFunction *dEnergy;
       FluxFunction *flux;
       expnCoeffs *coeffs;
    } TofVIn;
    



    typedef struct
    tagTofVIntegrandIn
    {
       EnergyFunction *dEnergy;
       FluxFunction *flux;
       expnCoeffs *coeffs;
    } TofVIntegrandIn;
    

  12. InspiralPhaseIn and 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.$



    typedef struct
    tagInspiralPhaseIn
    {
       REAL8 v0;
       REAL8 phi0;
       EnergyFunction *dEnergy;
       FluxFunction *flux;
       expnCoeffs *coeffs;
    } InspiralPhaseIn;
    



    typedef struct
    tagPhiofVIntegrandIn
    {
       EnergyFunction *dEnergy;
       FluxFunction *flux;
       expnCoeffs *coeffs;
    }  PhiofVIntegrandIn;
    

  13. InspiralDerivativesIn: Structure used as an input to compute the derivatives needed in solving the phasing formula when the approximant is TaylorT1, TaylorP1 or EOB.



    typedef struct
    tagInspiralDerivativesIn
    {
       REAL8 totalmass;
       EnergyFunction *dEnergy;
       FluxFunction *flux;
       expnCoeffs *coeffs;
    } InspiralDerivativesIn;
    

  14. rk4In: Structure used as an input to Runge-Kutta solver.



    typedef struct
    tagrk4In
    {
       TestFunction *function;
       REAL8 x;
       REAL8Vector *y;
       REAL8Vector *dydx;
       REAL8Vector *yt;
       REAL8Vector *dym;
       REAL8Vector *dyt;
       REAL8 h;
       INT4 n;
    } rk4In;
    

[Type]EtaTau02In

[Type]EtaTau04In

[Type]InputMasses

[Type]Order

[Type]InspiralToffInput

[Type]InspiralACSTParamsH

[Type]expnCoeffs

[Type]expnFunc

[Type]TofVIn

[Type]TofVIntegrandIn

[Type]InspiralDerivativesIn

[Type]InspiralPhaseIn

[Type]PhiofVIntegrandIn



Author: Churches, D. K and B. S. Sathyaprakash.
$Id: LALInspiral.h,v 1.28 2003/10/16 13:24:40 thomas Exp $



Subsections
next up previous contents index
Next: Module LALInspiralParameterCalc.c Up: Package inspiral Previous: Error codes   Contents   Index
LAL test account 2003-10-23