Skip to content

NRTidalv2 Pv2 aligned BNS carrier before rotation

Scope and status

Specification nrtidalv2-pv2-aligned-carrier/v1 is a conditional, positive-frequency composition gate. It accepts a supplied nonzero, face-on IMRPhenomD BBH carrier with its phase and time origin already set. It adds the published finite-size correction before Pv2 rotation. It does not select BNS precession angles or qualify a complete Pv2 BNS waveform.

Inputs, conventions, and options

Inputs are positive GW frequencies in Hz; component masses in solar masses; dimensionless aligned spins and positive tidal deformabilities; luminosity distance in Mpc; and a complex face-on BBH plus-strain carrier at each frequency. CPU FP64 and positive, nonzero BBH carrier on all live bins are the tested domain. The supplied BBH carrier uses h=A exp(-i psi) with face-on plus-strain normalization. No reference-frequency, phase, or time alignment is applied to the finite-size correction. The tested variant is the published Pv2 composition, distinct from paper-D and the historical binary_compatible D default.

Mathematics and components

Dietrich et al. (2019), Eqs. (3)–(4), (17)–(25), (26)–(29), Table II and Sec. III.4 prescribe the complex aligned carrier, before precession rotation, as

\[ C_{\rm BNS}=W(f)\left[C_{\rm BBH} + A_T(f)\frac{C_{\rm BBH}}{|C_{\rm BBH}|}\right] \exp\{-i[\psi_T(f)+S_2(f)+S_3(f)+S_{3.5}(f)]\}. \]

A_T is the signed face-on plus-strain amplitude of Eq. (24), with luminosity distance as traced in the mode-normalization specification. W is the published merger-to-1.2 f_mrg Planck taper using the cited 2018 merger fit. Eq. (28) fixes the C_Q fit. The mode to be rotated is 2 C_BNS / sqrt(5/(4 pi)), as already independently gated. The phase is added to the BBH phase; the signed amplitude is added before taper. No BBH-amplitude ratio, amplitude refit, or binary-derived affine correction enters the formula.

Component ID/version Scalar reference Native boundary Check
nrtidalv2-pv2-aligned-carrier/v1 nrtidalv2_pv2_terms.assembled_carrier_from_bbh, composing independent phase, spin, amplitude and taper references Torch/JAX assemble_nrtidalv2_pv2_aligned_carrier with supplied face-on carrier test_nrtidalv2_pv2_aligned_carrier_math_reference.py

Implementation mapping

The scalar reference composes the independent tidal phase, self-spin, amplitude, and taper references. The Torch and JAX assembly helpers accept the supplied face-on carrier and apply these terms before rotation.

Evidence and limitations

The three frozen spinning systems of the aligned-additive-term specification use 100 Mpc, coalescence phasing, and bins at 100 Hz, 800 Hz, and fractions 0.75, 0.99, 1.0, 1.025, 1.05, 1.10, 1.15, 1.25 of the printed-fit merger frequency. The BBH carrier is generated by native IMRPhenomD and then passed unchanged to the independent 80-digit reference. Each native complex carrier must agree to 1e-10 pointwise relative to the nonzero |C_BBH| W + |A_T| W scale. The strictly post-taper bin must be exact complex zero. No phase/time alignment or output rescaling is allowed. At supplied nonzero rotation angles, the positive-22 projection of the assembled carrier has the same 1e-10 scale limit against the scalar projector. This test is conditional on the separately qualified BBH carrier and supplied rotation angles; it is not an independent test of their generation. An additional gate supplies the fixed complex128 carrier 1e-22(1+0.3i) at 100, 300 and 800 Hz. It checks Torch/JAX values against the scalar assembly at the same normalized 1e-10 limit. At 300 Hz, autodiff of the normalized real component is compared to a five-point derivative of the independent scalar formula (1e-6 relative, 1e-8 absolute). The JAX value and gradient are JIT compiled.

The 2019 paper specifies insertion before rotation, but does not by itself fix the native BNS angle dynamics, remnant and spline-time conventions, or the reference-frequency anchoring needed to wire this helper into the public Pv2 driver. The published Love–Q Eq. (28) versus Fig. 7 and merger fit versus pinned-binary conflicts remain open. Zero or negative Lambda, zero live BBH amplitude, and binary parity are outside this gate.

Reproduce the checks

PYTHONPATH=src:tests JAX_ENABLE_X64=1 python -m pytest -q \
  tests/test_nrtidalv2_pv2_aligned_carrier_math_reference.py