sage.data.waveform.multiband_grid

LAL-equivalent multibanding frequency grid for IMRPhenomX waveforms.

Ports XLALSimIMRPhenomXMultibandingGrid and its helpers from LALSimIMRPhenomXHM_multiband.c (lalsuite/lalsimulation/lib/).

Reference: arXiv:2001.10897 (García-Quirós & Husa 2020) C source : sage/data/waveform/lalsim_src/LALSimIMRPhenomXHM_multiband.c

Algorithm summary

The coarse frequency grid satisfies

df(f) = dfcoefficient × f^(11/6) [Eq. 2.8, arXiv:2001.10897]

where the exponent 11/6 matches the PN chirp-rate dφ/df ∝ f^(-11/6). This gives a coarser grid in the inspiral (slow phase evolution) and a finer grid near merger (rapid phase evolution).

The full grid is assembled from up to three regions:
  1. Optional pre-grid: uniform at delta_f from f_min up to the frequency where the multibanding criterion first triggers.

  2. Inspiral derefinement: a sequence of sub-grids whose df doubles each sub-band (factor-of-2 frequency coarsening per sub-band).

  3. Merger + ringdown: separate grids controlled by the Lorentzian/QNM structure (only relevant for BBH; BNS mergers are above LIGO band).

The LAL default accuracy threshold is resTest = 1e-3.

Functions

multibanding_grid(f_min, f_max, delta_f, m1_msun, m2_msun)

Build the non-uniform (multibanded) frequency grid in Hz.

multibanding_grid_info(f_min, f_max, delta_f, m1_msun, ...)

Return diagnostic information about the multibanding grid.

Module Contents

multibanding_grid(f_min, f_max, delta_f, m1_msun, m2_msun, mf_meco=None, mf_lorentzian_end=None, mf_max_prime=None, mf_damp=None, alpha_l22=None, gamma2=None, gamma3=None, emm=2, res_test=0.001)[source]

Build the non-uniform (multibanded) frequency grid in Hz.

Python equivalent of XLALSimIMRPhenomXMultibandingGrid.

Parameters:
  • f_min (float) – Frequency range in Hz.

  • f_max (float) – Frequency range in Hz.

  • delta_f (float) – Target uniform grid spacing in Hz (= 1 / padded_length_in_s).

  • m1_msun (float) – Component masses in solar masses. Used for the Mf ↔ Hz conversion.

  • m2_msun (float) – Component masses in solar masses. Used for the Mf ↔ Hz conversion.

  • mf_meco (float or None) – MECO (end-of-inspiral) frequency in dimensionless Mf units. If None, defaults to Mf corresponding to f_max + 1 Hz (no MECO in band).

  • mf_lorentzian_end (float or None) – Start of the merger Lorentzian region (Mf). Defaults to mf_meco.

  • mf_max_prime (float or None) – Maximum frequency for the waveform (Mf). Defaults to Mf(f_max).

  • mf_damp (float or None) – Merger/ringdown parameters needed for the merger and ringdown sub-grid spacing. Only required if the waveform has merger/ringdown in band.

  • alpha_l22 (float or None) – Merger/ringdown parameters needed for the merger and ringdown sub-grid spacing. Only required if the waveform has merger/ringdown in band.

  • gamma2 (float or None) – Merger/ringdown parameters needed for the merger and ringdown sub-grid spacing. Only required if the waveform has merger/ringdown in band.

  • gamma3 (float or None) – Merger/ringdown parameters needed for the merger and ringdown sub-grid spacing. Only required if the waveform has merger/ringdown in band.

  • emm (int) – Azimuthal mode number (2 for the dominant 22 mode).

  • res_test (float) – Multibanding accuracy threshold. LAL default is 1e-3.

Returns:

freqs – Non-uniform frequency grid in Hz.

Return type:

np.ndarray, shape (N_coarse,)

Notes

Grid is assembled in dimensionless Mf = f × (m1+m2) × G_SI/(c_SI)³ units, then converted back to Hz at the end — identical to the LAL convention.

multibanding_grid_info(f_min, f_max, delta_f, m1_msun, m2_msun, res_test=0.001)[source]

Return diagnostic information about the multibanding grid.

Returns a dict with:

freqs : np.ndarray — coarse frequency grid in Hz n_coarse : int — number of coarse grid points n_uniform : int — number of points on the uniform grid compression : float — n_uniform / n_coarse (compression ratio) df_at_f_min : float — grid spacing at f_min (Hz) df_at_f_max : float — effective spacing at f_max (Hz) eta : float — symmetric mass ratio

Parameters:
Return type:

dict