Harmonics Module#

Amplitudes Submodule#

class bhpwave.harmonics.amplitudes.HarmonicAmplitudes(lmax=15, select_modes=None)[source]#

Bases: object

Class for generating the complex amplitudes \(H_{lm}\) for a waveform produced by a particle on a circular geodesic with radius \(r\) about a Kerr black hole with spin \(a\). Amplitudes are generated for all geodesics in Kerr spacetimes \(|a| \leq 0.995\) with orbital radii \(r_\mathrm{ISCO} \leq r \lesssim 50 M\). Harmonic mode amplitudes can also be evaluated for \((l, m)\) mode values up to \(l_{max} = 15\).

Parameters:
  • lmax (int, optional) – The maximum l-mode to pre-compile in the amplitude generator. The value of lmax is restricted to lmax \(\leq 15\)

  • select_modes (list or array[tuple(double, double)], optional) – An option to specify which \((l,m)\) modes are evaluated by the amplitude generator. The default setting loads all modes in the range \(2 \leq l \leq 15\), \(1 \leq |m| \leq l\)

__call__(l, m, a, r)[source]#

Generates the complex amplitude \(H_{lm}(a, r)\)

Parameters:
  • l (int) – The spherical harmonic polar mode number

  • m (int) – The spherical harmonic azimuthal mode number

  • a (double) – Kerr spin parameter

  • r (double) – Boyer-Lndquist radius of a circular geodesic in units of mass \(M\)

Return type:

double

property base_class#

Returns the base Cython class

Spin-Weighted Spherical Harmonic Submodule#

bhpwave.harmonics.swsh.Yslm(s, l, m, theta, phi)[source]#

The spin-weighted spherical harmonics \({}_s Y_{lm}(\theta, \phi) = {}_s P_{lm}(\cos\theta)e^{im\phi}\), where \({}_s P_{lm}(z)\) are the spin-weighted Legendre polynomials.

Parameters:
  • s (int) – spin-weight

  • l (int) – polar mode number

  • m (int) – azimuthal mode number

  • theta (double or array[double]) – polar angle

  • phi (double or array[double]) – azimuthal angle

bhpwave.harmonics.swsh.Pslm(s, l, m, z)[source]#

The spin-weighted Legendre function \({}_s P_{lm}(z)\).

Parameters:
  • s (int) – spin-weight

  • l (int) – polar mode number

  • m (int) – azimuthal mode number

  • z (double or array[double]) – argument \(-1 \leq z \leq 1\)