EOB Tidal Waveforms (External)

This module provides an interface to the Bernuzzi EOB (Effective-One-Body) model for generating tidal gravitational-wave waveforms. It acts as a wrapper around an external MATLAB-based implementation, allowing RIFT to incorporate high-fidelity tidal effects into its inference pipelines.

Requirements

Because this module interfaces with external code, the following dependencies must be configured on the system:

  1. MATLAB: The core EOB tidal model is implemented in MATLAB.

  2. Execution Script: The run_goeob_standalone.sh script must be present in the EOB base directory.

  3. Environment Variables:
    • EOB_BASE: Path to the directory containing the EOB source code and execution scripts.

    • EOB_ARCHIVE: Path to the directory where generated waveforms are archived to avoid redundant computations.

    • MATLAB_BASE: Path to the MATLAB executable or base installation.

Core Functionality: WaveformModeCatalog

The primary interface is the WaveformModeCatalog class, which handles the generation, caching, and manipulation of tidal harmonic modes.

Initialization

When initialized, the catalog: 1. Checks for existing archived waveforms in EOB_ARCHIVE based on the waveform parameters (masses, tidal lambdas, and minimum frequency). 2. If no archive exists, it invokes the external MATLAB script via run_goeob_standalone.sh. 3. Loads the resulting harmonic modes from disk (e.g., test_h22.dat). 4. Applies necessary scaling factors (e.g., symmetric mass ratio $nu$) and performs phase unwinding.

Key Methods

  • hlmoft(force_T=False, deltaT=1./16384, ...):

    Generates a dictionary of complex-valued time-domain modes $h_{lm}(t)$. It interpolates the raw EOB data onto a uniform time grid and applies physical scaling based on the source distance.

  • hlmoff(...):

    Performs a Fourier transform on the time-domain modes to provide frequency-domain representations $h_{lm}(f)$.

  • real_hoft(...):

    Projects the harmonic modes onto a specific detector’s strain, producing a real-valued time series $h(t)$ based on the detector’s orientation ($theta, phi, psi$).

  • complex_hoft(...):

    Combines the $h_{lm}$ modes into a single complex time series $Psi_4$ using spin-weighted spherical harmonics.

Tidal Mode Support

The interface supports a range of harmonic modes, typically including: - $(2, pm 2), (2, pm 1), (2, 0)$ - $(3, pm 3), (3, pm 2), (3, pm 1)$

Workflow Summary

  1. Parameter Input: Pass a parameter object containing $m_1, m_2, lambda_1, lambda_2$.

  2. External Generation: The module converts $lambda$ to $kappa$ and calls the Bernuzzi MATLAB code.

  3. Data Retrieval: Raw data files are read from the archive or the current run directory.

  4. Physical Scaling: Dimensionless outputs are scaled by $M_{total}$ and $1/d_L$.

  5. Projection: Modes are combined into a detector-specific strain for likelihood evaluation.