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:
Optional pre-grid: uniform at delta_f from f_min up to the frequency where the multibanding criterion first triggers.
Inspiral derefinement: a sequence of sub-grids whose df doubles each sub-band (factor-of-2 frequency coarsening per sub-band).
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
|
Build the non-uniform (multibanded) frequency grid in Hz. |
|
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