Visualizing frame dragging in Kerr space-time

Importing required modules

[1]:
from astropy import units as u
import numpy as np
from einsteinpy.metric import Kerr
from einsteinpy.coordinates import BoyerLindquistDifferential

Defining position/velocity of test particle

  • Initial velocity is kept 0

[2]:
M = 1.989e30 * u.kg
a = 0.3 * u.m
BL_obj = BoyerLindquistDifferential(50e5 * u.km, np.pi / 2 * u.rad, np.pi * u.rad,
                                    0 * u.km / u.s, 0 * u.rad / u.s, 0 * u.rad / u.s,
                                    a)
[3]:
end_lambda = ((1 * u.year).to(u.s)).value / 930
# Choosing stepsize for ODE solver to be 0.02 minutes
stepsize = ((0.02 * u.min).to(u.s)).value
[4]:
obj = Kerr.from_coords(BL_obj, M)
ans = obj.calculate_trajectory(
    end_lambda=end_lambda, OdeMethodKwargs={"stepsize": stepsize}, return_cartesian=True
)
x, y = ans[1][:,1], ans[1][:,2]
/home/shreyas/Softwares/anaconda3/lib/python3.7/site-packages/scipy/integrate/_ivp/common.py:32: UserWarning: The following arguments have no effect for a chosen solver: `first_step`.
  .format(", ".join("`{}`".format(x) for x in extraneous)))

Plotting the trajectory

[5]:
%matplotlib inline
[6]:
import matplotlib.pyplot as plt
plt.scatter(x,y, s=0.2)
plt.scatter(0,0, c='black')
plt.show()
../_images/examples_Visualizing_frame_dragging_in_Kerr_spacetime_8_0.png

It can be seen that as the particle approaches the massive body, it acquires axial velocity due to spin and frame-dragging effect of the body.