Trajectory Module#

Geodesic Submodule#

bhpwave.trajectory.geodesic.kerr_circ_geo_radius(a, omega)[source]#

Calculates the Boyer-Lindquist radius of a circular geodesic with orbital frequency omega in a Kerr spacetime paramtrized by the Kerr spin a

Parameters:
  • a (double or array) – Kerr spin parameter

  • omega (double or array) – orbital frequency

Return type:

double or array

bhpwave.trajectory.geodesic.kerr_circ_geo_orbital_frequency(a, r)[source]#

Calculates the orbital frequency of a circular geodesic with Boyer-Lindquist radius r in a Kerr spacetime paramtrized by the Kerr spin a

Parameters:
  • a (double or array) – Kerr spin parameter

  • r (double or array) – orbital radius

Return type:

double or array

bhpwave.trajectory.geodesic.kerr_isco_radius(a)[source]#

Calculates the Boyer-Lindquist radius of the innermost stable circular orbit (ISCO) in a Kerr spacetime paramtrized by the Kerr spin a

Parameters:

a (double or array) – Kerr spin parameter

Return type:

double or array

bhpwave.trajectory.geodesic.kerr_isco_frequency(a)[source]#

Calculates the orbital frequency of the innermost stable circular orbit (ISCO) in a Kerr spacetime paramtrized by the Kerr spin a

Parameters:

a (double or array) – Kerr spin parameter

Return type:

double or array

bhpwave.trajectory.geodesic.alpha_of_a_omega(a, omega)[source]#
bhpwave.trajectory.geodesic.alpha_of_omega_ISCO(omega, oISCO)[source]#
bhpwave.trajectory.geodesic.omega_of_a_alpha(a, alpha)[source]#
bhpwave.trajectory.geodesic.omega_of_alpha_ISCO(alpha, oISCO)[source]#
bhpwave.trajectory.geodesic.chi_of_spin_subfunc(a)[source]#
bhpwave.trajectory.geodesic.chi_of_spin(a)[source]#
bhpwave.trajectory.geodesic.a_omega_to_chi_alpha(a, omega)[source]#

Inspiral Submodule#

class bhpwave.trajectory.inspiral.InspiralGenerator(trajectory_data=None)[source]#

Bases: object

A class for generating quasi-circular inspirals around a rotating massive black hole. Once instantiated, the class can be called to generate inspiral data.

Parameters:

trajectory_data (TrajectoryData or None, optional) – A TrajectoryData class which holds interpolants of the relevant trajectory data

check_radius(a, r0)[source]#

A utility function for checking that the orbital radius lies in the interpolation range

__call__(M, mu, a, r0, dt, T, num_threads=0)[source]#

Generates a quasi-circular inspiral of a point-particle around a rotating massive black hole.

Parameters:
  • M (double) – the mass of the rotating massive black hole (in solar masses)

  • mu (double) – the mass of the smaller compact object (in solar masses)

  • r0 (double) – the initial Boyer-Lindquist radius of the small body

  • dt (double) – time step in seconds for sampling the trajectory

  • T (double) – duration of the inspiral in years

Returns:

A class object containing inspiral data

Return type:

Inspiral

class bhpwave.trajectory.inspiral.TrajectoryData(file_path='/home/docs/checkouts/readthedocs.org/user_builds/bhpwave/conda/latest/lib/python3.7/site-packages/bhpwave/trajectory/../data/trajectory.txt', dealloc_flag=False)[source]#

Bases: object

A class that holds all of the pre-computed trajectory data for quasi-circular inspirals around a rotating massive black hole.

check_freq(a, omega)[source]#

A utility function for checking that the orbital frequency lies in the interpolation range

time_to_merger(M, mu, a, r0)[source]#

Time in seconds until the system reaches the ISCO

Parameters:
  • M (double) – primary mass in solar masses

  • mu (double) – secondary mass in solar masses

  • a (double) – Kerr spin parameter

  • r0 (double) – initial orbital radius

phase_to_merger(M, mu, a, r0)[source]#

Number of orbital phase accumulated until the system reaches the ISCO

Parameters:
  • M (double) – primary mass in solar masses

  • mu (double) – secondary mass in solar masses

  • a (double) – Kerr spin parameter

  • r0 (double) – initial orbital radius

orbital_frequency_to_merger(M, mu, a, T)[source]#

The frequency of the orbit T years before merger.

Parameters:
  • M (double) – primary mass in solar masses

  • mu (double) – secondary mass in solar masses

  • a (double) – Kerr spin parameter

  • T (double) – years to merger

radius_to_merger(M, mu, a, T)[source]#

The radius of the orbit T years before merger.

Parameters:
  • M (double) – primary mass in solar masses

  • mu (double) – secondary mass in solar masses

  • a (double) – Kerr spin parameter

  • T (double) – years to merger

scaled_energy_flux(a, r0)[source]#

The energy flux in units \(G = c = 1\) and scaled by the mass ratio

Parameters:
  • a (double) – Kerr spin parameter

  • r0 (double) – initial orbital radius

property base_class#

Returns the base Cython class

class bhpwave.trajectory.inspiral.Inspiral(inspiral_wrapper)[source]#

Bases: object

A class that holds inspiral output from the InspiralGenerator.

property size#

Size of the arrays within the Inspiral class. Equivalent to the number of time steps.

property time#

Evolution of time

property frequency#

Evolution of the orbital frequency

property radius#

Evolution of the orbital radius

property phase#

Evolution of the orbital phase

property spin#

Black hole spin of the system

property a#

Black hole spin of the system

property massratio#

Mass ratio of the system

property initialradius#

Initial orbital radius of the inspiral

property initialfrequency#

Initial orbital frequency of the inspiral

property iscofrequency#

Frequency of the innermost stable circular orbit for this spacetime

property dt#

Size of the time steps in the inspiral

property base_class#

Returns the base Cython class