Geodesic module

Contents

Geodesic module#

Bound timelike geodesics are defined in terms of the Keplerian-like parameters:

  • \(a\) : the dimensionless Kerr spin parameter

  • \(p\) : the dimensionless semilatus rectum

  • \(e\) : the orbital eccentricty

  • \(x\) : cosine of the orbital inclination

API#

pybhpt.geo.kerrgeo_Vt_radial(a, En, Lz, Q, r)[source]

The radial part of the potential Vt for the geodesic evolution of $t_p$.

Parameters:
  • a (float) – The black hole spin parameter.

  • En (float) – The orbital energy of the particle.

  • Lz (float) – The z-component of the orbital angular momentum of the particle.

  • Q (float) – The Carter constant of the particle.

  • r (float) – The radial coordinate.

Returns:

The value of the radial potential Vt at the given parameters.

Return type:

float

pybhpt.geo.kerrgeo_Vt_polar(a, En, Lz, Q, theta)[source]

The polar part of the potential Vt for the geodesic evolution of $t_p$.

Parameters:
  • a (float) – The black hole spin parameter.

  • En (float) – The orbital energy of the particle.

  • Lz (float) – The z-component of the orbital angular momentum of the particle.

  • Q (float) – The Carter constant of the particle.

  • theta (float) – The polar angle coordinate.

Returns:

The value of the polar potential Vt at the given parameters.

Return type:

float

pybhpt.geo.kerrgeo_Vr(a, En, Lz, Q, r)[source]

The (squared) radial potential Vr for the geodesic evolution of $r_p$.

Parameters:
  • a (float) – The black hole spin parameter.

  • En (float) – The orbital energy of the particle.

  • Lz (float) – The z-component of the orbital angular momentum of the particle.

  • Q (float) – The Carter constant of the particle.

  • r (float) – The radial coordinate.

Returns:

The value of the radial potential Vr at the given parameters.

Return type:

float

pybhpt.geo.kerrgeo_Vtheta(a, En, Lz, Q, theta)[source]

The (squared) polar potential Vtheta for the geodesic evolution of $ heta_p$.

Parameters:
  • a (float) – The black hole spin parameter.

  • En (float) – The orbital energy of the particle.

  • Lz (float) – The z-component of the orbital angular momentum of the particle.

  • Q (float) – The Carter constant of the particle.

  • theta (float) – The polar angle coordinate.

Returns:

The value of the polar potential Vtheta at the given parameters.

Return type:

float

pybhpt.geo.kerrgeo_Vphi_radial(a, En, Lz, Q, r)[source]

The (squared) radial potential Vphi for the geodesic evolution of $r_p$.

Parameters:
  • a (float) – The black hole spin parameter.

  • En (float) – The orbital energy of the particle.

  • Lz (float) – The z-component of the orbital angular momentum of the particle.

  • Q (float) – The Carter constant of the particle.

  • r (float) – The radial coordinate.

Returns:

The value of the radial potential Vphi at the given parameters.

Return type:

float

pybhpt.geo.kerrgeo_Vphi_polar(a, En, Lz, Q, theta)[source]

The (squared) polar potential Vphi for the geodesic evolution of $r_p$.

Parameters:
  • a (float) – The black hole spin parameter.

  • En (float) – The orbital energy of the particle.

  • Lz (float) – The z-component of the orbital angular momentum of the particle.

  • Q (float) – The Carter constant of the particle.

  • theta (float) – The polar angle coordinate.

Returns:

The value of the polar potential Vphi at the given parameters.

Return type:

float

pybhpt.geo.kerr_mino_frequencies(a, p, e, x)[source]

Returns the Mino frequencies of a Kerr geodesic.

Parameters:
  • a (float) – The black hole spin parameter.

  • p (float) – The semilatus rectum of the orbit.

  • e (float) – The eccentricity of the orbit.

  • x (float) – The inclination of the orbit.

Returns:

The Mino time frequencies of the orbit.

Return type:

numpy.ndarray

pybhpt.geo.kerr_fundamental_frequencies(a, p, e, x)[source]

Returns the fundamental (time) frequencies of a Kerr geodesic.

Parameters:
  • a (float) – The black hole spin parameter.

  • p (float) – The semilatus rectum of the orbit.

  • e (float) – The eccentricity of the orbit.

  • x (float) – The inclination of the orbit.

Returns:

The fundamental frequencies of the orbit.

Return type:

numpy.ndarray

pybhpt.geo.kerr_orbital_constants(a, p, e, x)[source]

Returns the orbital constants of a Kerr geodesic (En, Lz, Qc).

Parameters:
  • a (float) – The black hole spin parameter.

  • p (float) – The semilatus rectum of the orbit.

  • e (float) – The eccentricity of the orbit.

  • x (float) – The inclination of the orbit.

Returns:

The orbital constants (En, Lz, Qc) of the orbit.

Return type:

numpy.ndarray

pybhpt.geo.is_power_of_two(n: int) bool[source]
class pybhpt.geo.KerrGeodesic(a, p, e, x, nsamples=256)[source]

Bases: object

Class that produces a Kerr geodesic given the parameters of the orbit. This class is a wrapper around the Cython implementation of the Kerr geodesic and provides a Python interface to the underlying C++ code. :param a: The black hole spin parameter. :type a: float :param p: The semilatus rectum of the orbit. :type p: float :param e: The eccentricity of the orbit. :type e: float :param x: The inclination of the orbit. :type x: float :param nsamples: The number of samples to use for the geodesic. Must be a power of two. Default is 256. :type nsamples: int

Variables:
  • blackholespin (float) – The black hole spin parameter.

  • semilatusrectum (float) – The semilatus rectum of the orbit.

  • eccentricity (float) – The eccentricity of the orbit.

  • inclination (float) – The inclination of the orbit.

  • orbitalenergy (float) – The orbital energy En of the orbit.

  • orbitalangularmomentum (float) – Th z-component of the orbital angular momentum Lz of the orbit.

  • carterconstant (float) – The Carter constant Qc of the orbit.

  • orbitalconstants (numpy.ndarray) – The orbital constants (En, Lz, Qc) of the orbit.

  • radialroots (numpy.ndarray) – The roots of the radial equation.

  • polarroots (numpy.ndarray) – The roots of the polar equation.

  • minofrequencies (numpy.ndarray) – The orbital frequencies with respect to Mino time.

  • timefrequencies (numpy.ndarray) – The orbital frequencies with respect to the time coordinate.

  • frequencies (numpy.ndarray) – The (coordinate time) frequencies of the orbit.

  • carterfrequencies (numpy.ndarray) – The frequencies for computing Carter constant fluxes.

  • timeradialfourier (numpy.ndarray) – The Fourier coefficients of coordinate time with respect to the radial Mino phase.

  • timepolarfourier (numpy.ndarray) – The Fourier coefficients of coordinate time with respect to the polar Mino phase.

  • radialfourier (numpy.ndarray) – The Fourier coefficients of radial position with respect to the radial Mino phase.

  • polarfourier (numpy.ndarray) – The Fourier coefficients of polar position with respect to the polar Mino phase.

  • azimuthalradialfourier (numpy.ndarray) – The Fourier coefficients of azimuthal position with respect to the radial Mino phase.

  • azimuthalpolarfourier (numpy.ndarray) – The Fourier coefficients of azimuthal position with respect to the polar Mino phase.

base

The base class that contains the Cython implementation of the Kerr geodesic.

property blackholespin

The black hole spin parameter.

property semilatusrectum

The semilatus rectum of the orbit.

property eccentricity

The eccentricity of the orbit.

property inclination

The cosine of the inclination angle of the orbit with respect to the equatorial plane.

property a

The black hole spin parameter.

property p

The semilatus rectum of the orbit.

property e

The eccentricity of the orbit.

property x

The inclination of the orbit.

property apex

The parameters of the orbit (a, p, e, x).

property orbitalparameters

The parameters of the orbit (a, p, e, x).

property orbitalenergy

The orbital energy En of the orbit.

property orbitalangularmomentum

The z-component of the orbital angular momentum Lz of the orbit.

property carterconstant

The Carter constant Qc of the orbit.

property orbitalconstants

The orbital constants (En, Lz, Qc) of the orbit.

property radialroots

The roots of the radial equation.

property polarroots

The roots of the polar equation.

property minofrequencies

The orbital frequencies with respect to Mino time.

property timefrequencies

The orbital frequencies with respect to the time coordinate.

property frequencies

The (coordinate time) frequencies of the orbit.

property carterfrequencies

The frequencies for computing Carter constant fluxes.

property timeradialfourier

The Fourier coefficients of coordinate time with respect to the radial Mino phase.

property timepolarfourier

The Fourier coefficients of coordinate time with respect to the polar Mino phase.

property radialfourier

The Fourier coefficients of radial position with respect to the radial Mino phase.

property polarfourier

The Fourier coefficients of polar position with respect to the polar Mino phase.

property azimuthalradialfourier

The Fourier coefficients of azimuthal position with respect to the radial Mino phase.

property azimuthalpolarfourier

The Fourier coefficients of azimuthal position with respect to the polar Mino phase.

mode_frequency(m, k, n)[source]

Returns the frequency of the mode with azimuthal number m, polar number k, and radial number n.

Parameters:
  • m (int) – The azimuthal number of the mode.

  • k (int) – The polar number of the mode.

  • n (int) – The radial number of the mode.

Returns:

The frequency of the mode with azimuthal number m, polar number k, and radial number n.

Return type:

float

minotime(t)[source]

Function that returns the Mino time for a given Boyer-Lindquist time.

Parameters:

t (float) – The Boyer-Lindquist time.

Returns:

The Mino time for the given Boyer-Lindquist time.

Return type:

float

__call__(la)[source]

Function that returns the position vector for a given Mino time value. :param la: The Mino time value(s). If a numpy array is provided, the function will return a numpy array of the same shape. :type la: float or numpy.ndarray

Returns:

The position vector for the given Mino time value(s).

Return type:

numpy.ndarray