Skip to content

IMRPhenomD NRTidalv2

ripplegw.waveforms.IMRPhenomD_NRTidalv2 ¤

This file implements the NRTidalv2 corrections that can be applied to any BBH baseline, see http://arxiv.org/abs/1905.06011 for equations used.

get_planck_taper(x: Array, y: float) -> Array ¤

Compute the Planck taper function.

Parameters:

Name Type Description Default
x Array

Array of frequencies

required
y float

Point at which the Planck taper starts. The taper ends at 1.2 times y.

required

Returns:

Name Type Description
Array Array

Planck taper function.

get_planck_taper_der(x: Array, y: float) ¤

Derivative of the Planck taper function.

Parameters:

Name Type Description Default
x Array

Array of frequencies

required
y float

Starting point of the Planck taper.

required

Returns:

Name Type Description
Array

Array of derivative of Planck taper.

get_amp0_lal(M: Float, distance: Float) ¤

Get the amp0 prefactor as defined in LAL in LALSimIMRPhenomD, line 331.

Parameters:

Name Type Description Default
M Float

Total mass in solar masses

required
distance Float

Distance to the source in meters.

required

Returns:

Name Type Description
Float

amp0 from LAL.

get_tidal_amplitude(x: Array, theta: Array, kappa: Float, distance: Float = 1) ¤

Get the tidal amplitude corrections as given in equation (24) of the NRTidal paper.

Parameters:

Name Type Description Default
x Array

Angular frequency, in particular, x = (pi M f)^(2/3)

required
theta Array

Intrinsic parameters (mass1, mass2, chi1, chi2, lambda1, lambda2)

required
kappa Float

Tidal parameter kappa

required
distance Float

Distance to the source in Mpc.

1

Returns:

Name Type Description
Array

Tidal amplitude corrections A_T from NRTidalv2 paper.

get_tidal_phase(x: Array, theta: Array, kappa: float) -> Array ¤

Computes the tidal phase psi_T from equation (17) of the NRTidalv2 paper.

Parameters:

Name Type Description Default
x Array

Angular frequency, in particular, x = (pi M f)^(2/3)

required
theta Array

Intrinsic parameters in the order (mass1, mass2, chi1, chi2, lambda1, lambda2)

required
kappa float

Tidal parameter kappa, precomputed in the main function.

required

Returns:

Name Type Description
Array Array

Tidal phase correction.

get_spin_phase_correction(x: Array, theta: Array) -> Array ¤

Get the higher order spin corrections, as detailed in Section III C of the NRTidalv2 paper.

Parameters:

Name Type Description Default
x Array

Angular frequency, in particular, x = (pi M f)^(2/3)

required
theta Array

Intrinsic parameters (mass1, mass2, chi1, chi2, lambda1, lambda2)

required

Returns:

Name Type Description
Array Array

Higher order spin corrections to the phase

_get_merger_frequency(theta: Array, kappa: Optional[Float] = None) -> Float ¤

Computes the merger frequency in Hz of the given system. This is defined in equation (11) in https://arxiv.org/abs/1804.02235 and the lal source code.

Parameters:

Name Type Description Default
theta Array

Intrinsic parameters with order (m1, m2, chi1, chi2, lambda1, lambda2)

required
kappa Optional[Float]

Tidal parameter kappa. Defaults to None, so that it is computed from the given parameters theta.

None

Returns:

Name Type Description
Float Float

The merger frequency in Hz.

_gen_IMRPhenomD_NRTidalv2(f: Array, theta_intrinsic: Array, theta_extrinsic: Array, bbh_amp: Array, bbh_psi: Array, no_taper: bool = False) ¤

Master internal function to get the GW strain for given parameters. The function takes a BBH strain, computed from an underlying BBH approximant, e.g. IMRPhenomD, and applies the tidal corrections to it afterwards, according to equation (25) of the NRTidalv2 paper.

Parameters:

Name Type Description Default
f Array

Frequencies in Hz

required
theta_intrinsic Array

Internal parameters of the system: m1, m2, chi1, chi2, lambda1, lambda2

required
theta_extrinsic Array

Extrinsic parameters of the system: d_L, tc and phi_c

required
h0_bbh Array

The BBH strain of the underlying model (i.e. before applying tidal corrections).

required

Returns:

Name Type Description
Array

Final complex-valued strain of GW.

gen_IMRPhenomD_NRTidalv2(f: Array, params: Array, f_ref: float, use_lambda_tildes: bool = True, no_taper: bool = False) -> Array ¤

Generate NRTidalv2 frequency domain waveform following NRTidalv2 paper. vars array contains both intrinsic and extrinsic variables theta = [Mchirp, eta, chi1, chi2, D, tc, phic] Mchirp: Chirp mass of the system [solar masses] eta: Symmetric mass ratio [between 0.0 and 0.25] chi1: Dimensionless aligned spin of the primary object [between -1 and 1] chi2: Dimensionless aligned spin of the secondary object [between -1 and 1] lambda1: Dimensionless tidal deformability of primary object lambda2: Dimensionless tidal deformability of secondary object D: Luminosity distance to source [Mpc] tc: Time of coalesence. This only appears as an overall linear in f contribution to the phase phic: Phase of coalesence

f_ref: Reference frequency for the waveform

Returns:

Name Type Description
h0 array

Strain

gen_IMRPhenomD_NRTidalv2_hphc(f: Array, params: Array, f_ref: float, use_lambda_tildes: bool = True, no_taper: bool = False) ¤

vars array contains both intrinsic and extrinsic variables

IMRphenom denotes the name of the underlying BBH approximant used, before applying tidal corrections.

theta = [Mchirp, eta, chi1, chi2, lambda1, lambda2, D, tc, phic, inclination] Mchirp: Chirp mass of the system [solar masses] eta: Symmetric mass ratio [between 0.0 and 0.25] chi1: Dimensionless aligned spin of the primary object [between -1 and 1] chi2: Dimensionless aligned spin of the secondary object [between -1 and 1] D: Luminosity distance to source [Mpc] tc: Time of coalesence. This only appears as an overall linear in f contribution to the phase phic: Phase of coalesence inclination: Inclination angle of the binary [between 0 and PI]

f_ref: Reference frequency for the waveform

Returns:

Name Type Description
hp array

Strain of the plus polarization

hc array

Strain of the cross polarization