KerrSpacetime#

class kerrgeopy.spacetime.KerrSpacetime(a, M=None)[source]#

Bases: object

Class representing spacetime around a black hole with mass \(M\) and spin parameter \(a\)

Parameters:
  • a (double) – dimensionless angular momentum

  • M (double) – mass of the black hole

Variables:
  • a – dimensionless angular momentum

  • M – mass of the black hole

  • inner_horizon – radius of the inner horizon

  • outer_horizon – radius of the outer horizon

__init__(a, M=None)[source]#

Methods

__init__(a[, M])

four_velocity(t, r, theta, phi, constants, ...)

Computes the four velocity of a given trajectory

is_stable(p, e, x)

Determines whether a given orbit is stable or not

metric(t, r, theta, phi)

Returns the matrix representation of the metric at a given point expressed in Boyer-Lindquist coordinates.

norm(t, r, theta, phi, v)

Computes the norm of a vector at a given point in spacetime expressed in Boyer-Lindquist coordinates

separatrix(e, x)

Computes the value of p at the separatrix for a given value of e and x

four_velocity(t, r, theta, phi, constants, upsilon_r, upsilon_theta, initial_phases)[source]#

Computes the four velocity of a given trajectory

Parameters:
  • t (function) – time component of trajectory

  • r (function) – radial component of trajectory

  • theta (function) – polar component of trajectory

  • phi (function) – azimuthal component of trajectory

  • constants (tuple(double, double, double)) – tuple of constants of motion in the form \((\mathcal{E},\mathcal{L},\mathcal{Q})\)

  • upsilon_r (double) – radial frequency

  • upsilon_theta (double) – polar frequency

  • initial_phases (tuple, optional) – tuple of initial phases \((q_{t_0},q_{r_0},q_{\theta_0},q_{\phi_0})\)

Returns:

components of the four velocity (i.e. \((u^t,u^r,u^\theta,u^\phi)\))

Return type:

tuple(function, function, function, function)

is_stable(p, e, x)[source]#

Determines whether a given orbit is stable or not

Parameters:
  • p (double) – dimensionless semi-latus rectum

  • e (double) – orbital eccentricity

  • x (double) – cosine of the orbital inclination

Return type:

bool

metric(t, r, theta, phi)[source]#

Returns the matrix representation of the metric at a given point expressed in Boyer-Lindquist coordinates.

Parameters:
  • t (double) – time coordinate

  • r (double) – radial coordinate

  • theta (double) – polar coordinate

  • phi (double) – azimuthal coordinate

Return type:

numpy.ndarray

norm(t, r, theta, phi, v)[source]#

Computes the norm of a vector at a given point in spacetime expressed in Boyer-Lindquist coordinates

Parameters:
  • t (double) – time coordinate

  • r (double) – radial coordinate

  • theta (double) – polar coordinate

  • phi (double) – azimuthal coordinate

  • v (array_like) – vector to compute the norm of

Returns:

norm of v

Return type:

double

separatrix(e, x)[source]#

Computes the value of p at the separatrix for a given value of e and x

Parameters:
  • e (double) – orbital eccentricity

  • x (double) – cosine of the orbital inclination

Return type:

double