Source code for einsteinpy.symbolic.predefined.ernst
from sympy import diag, exp, sin, sqrt, symbols
from einsteinpy.symbolic import constants
from einsteinpy.symbolic.metric import MetricTensor
[docs]
def Ernst(B=symbols("B"), M=symbols("M")):
"""
Black holes in a magnetic universe.
J. Math. Phys., 17:54-56, 1976.
Frederick J. Ernst.
Parameters
----------
M : ~sympy.core.basic.Basic or int or float
Mass of the black hole. Defaults to ``M``.
B : ~sympy.core.basic.Basic or int or float
The magnetic field strength
Defaults to ``B``.
"""
coords = symbols("t r theta phi")
t, r, th, ph = coords
# Helper functions
lambd = 1 + ((B * r * sin(th)) ** 2)
w = 1 - ((2 * M) / r)
# define the metric
metric = diag(
-1 * (lambd**2) * w,
(lambd**2) / w,
((r * lambd) ** 2),
(((r * sin(th)) / lambd) ** 2),
).tolist()
return MetricTensor(metric, coords, "ll", name="ErnstMetric")