Kerr-Newman Geometry Utilities

einsteinpy.utils.kerrnewman_utils.nonzero_christoffels_list = [(0, 0, 1), (0, 0, 2), (0, 1, 3), (0, 2, 3), (0, 1, 0), (0, 2, 0), (0, 3, 1), (0, 3, 2), (1, 0, 0), (1, 1, 1), (1, 2, 2), (1, 3, 3), (2, 0, 0), (2, 1, 1), (2, 2, 2), (2, 3, 3), (1, 0, 3), (1, 1, 2), (2, 0, 3), (2, 1, 2), (1, 2, 1), (1, 3, 0), (2, 2, 1), (2, 3, 0), (3, 0, 1), (3, 0, 2), (3, 1, 0), (3, 1, 3), (3, 2, 0), (3, 2, 3), (3, 3, 1), (3, 3, 2)]

Precomputed list of tuples consisting of indices of christoffel symbols which are non-zero in Kerr-Newman Metric

einsteinpy.utils.kerrnewman_utils.charge_length_scale(Q, c=299792458.0, G=6.67408e-11, Cc=8987551787.997911)

Returns a length scale corrosponding to the Electric Charge Q of the mass

Parameters
  • Q (float) – Charge on the massive body

  • c (float) – Speed of light. Defaults to 299792458 (SI units)

  • G (float) – Gravitational constant. Defaults to 6.67408e-11 (SI units)

  • Cc (float) – Coulumb’s constant. Defaults to 8.98755e9 (SI units)

Returns

returns (coulomb’s constant^0.5)*(Q/c^2)*G^0.5

Return type

float

einsteinpy.utils.kerrnewman_utils.rho(r, theta, a)

Returns the value sqrt(r^2 + a^2 * cos^2(theta)). Specific to Boyer-Lindquist coordinates

Parameters
  • r (float) – Component r in vector

  • theta (float) – Component theta in vector

  • a (float) – Any constant

Returns

The value sqrt(r^2 + a^2 * cos^2(theta))

Return type

float

einsteinpy.utils.kerrnewman_utils.delta(r, M, a, Q, c=299792458.0, G=6.67408e-11, Cc=8987551787.997911)

Returns the value r^2 - Rs * r + a^2 Specific to Boyer-Lindquist coordinates

Parameters
  • r (float) – Component r in vector

  • M (float) – Mass of the massive body

  • a (float) – Any constant

  • Q (float) – Charge on the massive body

  • c (float) – Speed of light

  • G (float) – Gravitational constant

  • Cc (float) – Coulomb’s constant

Returns

The value r^2 - Rs * r + a^2 + Rq^2

Return type

float

einsteinpy.utils.kerrnewman_utils.metric(r, theta, M, a, Q, c=299792458.0, G=6.67408e-11, Cc=8987551787.997911)

Returns the Kerr-Newman Metric

Parameters
  • r (float) – Distance from the centre

  • theta (float) – Angle from z-axis

  • M (float) – Mass of the massive body

  • a (float) – Black Hole spin factor

  • Q (float) – Charge on the massive body

  • c (float) – Speed of light

  • G (float) – Gravitational constant

  • Cc (float) – Coulomb’s constant

Returns

Numpy array of shape (4,4)

Return type

array

einsteinpy.utils.kerrnewman_utils.metric_inv(r, theta, M, a, Q, c=299792458.0, G=6.67408e-11, Cc=8987551787.997911)

Returns the inverse of Kerr-Newman Metric

Parameters
  • r (float) – Distance from the centre

  • theta (float) – Angle from z-axis

  • M (float) – Mass of the massive body

  • a (float) – Black Hole spin factor

  • Q (float) – Charge on the massive body

  • c (float) – Speed of light

  • G (float) – Gravitational constant

  • Cc (float) – Coulomb’s constant

Returns

Numpy array of shape (4,4)

Return type

array

einsteinpy.utils.kerrnewman_utils.dmetric_dx(r, theta, M, a, Q, c=299792458.0, G=6.67408e-11, Cc=8987551787.997911)

Returns differentiation of each component of Kerr-Newman metric tensor w.r.t. t, r, theta, phi

Parameters
  • r (float) – Distance from the centre

  • theta (float) – Angle from z-axis

  • M (float) – Mass of the massive body

  • a (float) – Black Hole spin factor

  • Q (float) – Charge on the massive body

  • c (float) – Speed of light

  • G (float) – Gravitational constant

  • Cc (float) – Coulomb’s constant

Returns

dmdx – Numpy array of shape (4,4,4) dmdx[0], dmdx[1], dmdx[2] & dmdx[3] is differentiation of metric w.r.t. t, r, theta & phi respectively

Return type

array

einsteinpy.utils.kerrnewman_utils.christoffels(r, theta, M, a, Q, c=299792458.0, G=6.67408e-11, Cc=8987551787.997911)

Returns the 3rd rank Tensor containing Christoffel Symbols for Kerr-Newman Metric

Parameters
  • r (float) – Distance from the centre

  • theta (float) – Angle from z-axis

  • M (float) – Mass of the massive body

  • a (float) – Black Hole spin factor

  • Q (float) – Charge on the massive body

  • c (float) – Speed of light

  • G (float) – Gravitational constant

  • Cc (float) – Coulomb’s constant

Returns

Numpy array of shape (4,4,4)

Return type

array

einsteinpy.utils.kerrnewman_utils.em_potential(r, theta, a, Q, M, c=299792458.0, G=6.67408e-11, Cc=8987551787.997911)

Returns a 4-d vector(for each component of 4-d space-time) containing the electromagnetic potential around a Kerr-Newman body

Parameters
  • r (float) – Distance from the centre

  • theta (float) – Angle from z-axis

  • a (float) – Black Hole spin factor

  • Q (float) – Charge on the massive body

  • M (float) – Mass of the massive body

  • c (float) – Speed of light

  • G (float) – Gravitational constant

  • Cc (float) – Coulomb’s constant

Returns

Numpy array of shape (4,)

Return type

array

einsteinpy.utils.kerrnewman_utils.maxwell_tensor_covariant(r, theta, a, Q, M, c=299792458.0, G=6.67408e-11, Cc=8987551787.997911)

Returns a 2nd rank Tensor containing Maxwell Tensor with lower indices for Kerr-Newman Metric

Parameters
  • r (float) – Distance from the centre

  • theta (float) – Angle from z-axis

  • a (float) – Black Hole spin factor

  • Q (float) – Charge on the massive body

  • M (float) – Mass of the massive body

  • c (float) – Speed of light

  • G (float) – Gravitational constant

  • Cc (float) – Coulomb’s constant

Returns

Numpy array of shape (4,4)

Return type

array

einsteinpy.utils.kerrnewman_utils.maxwell_tensor_contravariant(r, theta, a, Q, M, c=299792458.0, G=6.67408e-11, Cc=8987551787.997911)

Returns a 2nd rank Tensor containing Maxwell Tensor with upper indices for Kerr-Newman Metric

Parameters
  • r (float) – Distance from the centre

  • theta (float) – Angle from z-axis

  • a (float) – Black Hole spin factor

  • Q (float) – Charge on the massive body

  • M (float) – Mass of the massive body

  • c (float) – Speed of light

  • G (float) – Gravitational constant

  • Cc (float) – Coulomb’s constant

Returns

Numpy array of shape (4,4)

Return type

array

einsteinpy.utils.kerrnewman_utils.kerrnewman_time_velocity(pos_vec, vel_vec, mass, a, Q)

Velocity of coordinate time wrt proper metric

Parameters
  • pos_vector (array) – Vector with r, theta, phi components in SI units

  • vel_vector (array) – Vector with velocities of r, theta, phi components in SI units

  • mass (kg) – Mass of the body

  • a (float) – Any constant

  • Q (C) – Charge on the massive body

Returns

Velocity of time

Return type

one