waveformtools.BMS

The implementation of BMS transformations on the waveforms.

Functions

boost_waveform(unboosted_waveform, ...)

Boost the waveform given the unboosted waveform and the boost conformal factor.

compute_angular_momentum(strain_modes, ...)

compute_angular_momentum_evolution(...)

compute_conformal_k(vec_v, theta, phi[, ...])

Compute the conformal factor for the boost transformation

compute_impulse_from_force(time_axis, dPxdt, ...)

compute_linear_momentum_contribution_from_news(...)

compute_supertransl_alpha(...)

Compute the spherical Alpha supertranslation variable \(\alpha(\theta, \phi)\) given its modes.

f_lm(ell, emm)

The flm factor for the angular momentum modes

linear_momentum_alm_func(ell, emm)

linear_momentum_blm_func(ell, emm)

linear_momentum_clm_func(ell, emm)

linear_momentum_dlm_func(ell, emm)

waveformtools.BMS.boost_waveform(unboosted_waveform, conformal_factor)[source]

Boost the waveform given the unboosted waveform and the boost conformal factor.

Parameters:
non_boosted_waveformlist

A list with a single floating point number or a numpy array of the unboosted waveform. The waveform can have angular as well as time dimentions.

The nesting order should be that, given the list `non_boosted_waveform’, each item in the list refers to an array defined on the sphere at a particular time or frequency. The subitem will have dimensions [ntheta, nphi].

conformal_factorfloat/array

The conformal factor for the Lorentz transformation. It may be a single floating point number or an array on a spherical grid. The array will be of dimensions [ntheta, nphi]

gridinfoclass instance

The class instance that contains the properties of the spherical grid.

waveformtools.BMS.compute_angular_momentum(strain_modes, news_modes, t_start=None, t_end=None, since_peak=False, inspiral_only=False)[source]
waveformtools.BMS.compute_angular_momentum_evolution(strain_modes, news_modes)[source]
waveformtools.BMS.compute_conformal_k(vec_v, theta, phi, spin_phase=0)[source]
Compute the conformal factor for the boost transformation

\(k = \exp(-2i \lambda) \gamma^3 (1 - \mathbf{v} \cdot \mathbf{r})^3\)

Parameters:
vec_vlist

The velocity vector.

thetafloat

The polar angle :math:`theta’ in radians.

phifloat

The azimuthal angle :math:`phi’ in radians.

spin_phasefloat, optional

The spin phase :math:`lambda’. Defaults to 0.

Returns:
conformal_kfloat

The conformal factor for the boost transformation as defined above.

waveformtools.BMS.compute_impulse_from_force(time_axis, dPxdt, dPydt, dPzdt)[source]
waveformtools.BMS.compute_linear_momentum_contribution_from_news(news_modes, ell, emm)[source]
waveformtools.BMS.compute_supertransl_alpha(supertransl_alpha_modes, theta, phi)[source]

Compute the spherical Alpha supertranslation variable \(\alpha(\theta, \phi)\) given its modes. This method just multiplies the alpha modes with their corresponding spherical harmonic basis functions and returns the summed result.

Parameters:
supertransl_alpha_modesdict

A dictionary of lists, each sublist containing the set of super-translation modes corresponding to a particular :math:`ell’.

thetafloat

The polar angle :math:`theta’.

phifloat

The azimuthal angle :math:`phi’.

Returns:
supertransl_alpha_spherefunc

A function on the sphere (arguments \(\theta', math:\)phi’).

waveformtools.BMS.f_lm(ell, emm)[source]

The flm factor for the angular momentum modes

waveformtools.BMS.linear_momentum_alm_func(ell, emm)[source]
waveformtools.BMS.linear_momentum_blm_func(ell, emm)[source]
waveformtools.BMS.linear_momentum_clm_func(ell, emm)[source]
waveformtools.BMS.linear_momentum_dlm_func(ell, emm)[source]