Back

Geodesics Simulation

The metric and geodesic equations are in the form:

ds2=−(1−2r)dt2+(1−2r)−1dr2+r2dϕ2,d2tdλ2+2r(r−2)dtdλdrdλ=0,d2rdλ2+r−2r3(dtdλ)2−1r(r−2)(drdλ)2−(r−2)(dϕdλ)2=0,d2ϕdλ2+2rdrdλdϕdλ=0, \begin{align*} ds^2 = -\left(1 - \frac{2}{r}\right) dt^2 + \left(1 - \frac{2}{r}\right)^{-1} dr^2 + r^2 d\phi^2, \\ \frac{d^2 t}{d\lambda^2} + \frac{2}{r(r - 2)} \frac{dt}{d\lambda} \frac{dr}{d\lambda} &= 0, \\ \frac{d^2 r}{d\lambda^2} + \frac{r - 2}{r^3} \left(\frac{dt}{d\lambda}\right)^2 - \frac{1}{r(r - 2)} \left(\frac{dr}{d\lambda}\right)^2 - (r - 2) \left(\frac{d\phi}{d\lambda}\right)^2 &= 0, \\ \frac{d^2 \phi}{d\lambda^2} + \frac{2}{r} \frac{dr}{d\lambda} \frac{d\phi}{d\lambda} &= 0, \end{align*}

implying:

d2tdλ2=−2r(r−2)dtdλdrdλ,d2rdλ2=−r−2r3(dtdλ)2+1r(r−2)(drdλ)2+(r−2)(dϕdλ)2,d2ϕdλ2=−2rdrdλdϕdλ, \begin{align*} \frac{d^2 t}{d\lambda^2} &= - \frac{2}{r(r - 2)} \frac{dt}{d\lambda} \frac{dr}{d\lambda}, \\ \frac{d^2 r}{d\lambda^2} &= -\frac{r - 2}{r^3} \left(\frac{dt}{d\lambda}\right)^2 + \frac{1}{r(r - 2)} \left(\frac{dr}{d\lambda}\right)^2 + (r - 2) \left(\frac{d\phi}{d\lambda}\right)^2, \\ \frac{d^2 \phi}{d\lambda^2} &= -\frac{2}{r} \frac{dr}{d\lambda} \frac{d\phi}{d\lambda}, \end{align*}

which can be solved using the Euler method:

Unt=Un−1t−h2rn−1(rn−1−2)Un−1tUn−1r,Unr=Un−1r+h[−rn−1−2(rn−1)3(Un−1t)2+1rn−1(rn−1−2)(Un−1r)2+(rn−1−2)(Un−1ϕ)2],Unϕ=Un−1ϕ−h2rn−1Un−1rUn−1ϕ,tn=tn−1+hUn−1t,rn=rn−1+hUn−1r,ϕn=ϕn−1+hUn−1ϕ, \begin{align*} U^t_n &= U^t_{n - 1} - h \frac{2}{r_{n - 1}(r_{n - 1} - 2)} U^t_{n - 1} U^r_{n - 1}, \\ U^r_n &= U^r_{n - 1} + h \left[- \frac{r_{n - 1} - 2}{(r_{n - 1})^3} \left(U^t_{n - 1}\right)^2 + \frac{1}{r_{n - 1}(r_{n - 1} - 2)} \left(U^r_{n - 1}\right)^2 + (r_{n - 1} - 2) \left(U^{\phi}_{n - 1}\right)^2\right], \\ U^{\phi}_n &= U^{\phi}_{n - 1} - h \frac{2}{r_{n - 1}} U^r_{n - 1} U^{\phi}_{n - 1}, \\[4ex] t_n &= t_{n - 1} + h U^t_{n - 1}, \\ r_n &= r_{n - 1} + h U^r_{n - 1}, \\ \phi_n &= \phi_{n - 1} + h U^{\phi}_{n - 1}, \end{align*}

where hh is a small step and Uμ=dxμdλU^{\mu} = \frac{dx^{\mu}}{d\lambda}.

From the geodesics chapter, the length of a tangent vector is given by:

ϵ=−(1−2r)(dtdλ)2+(1−2r)−1(drdλ)2+r2(dϕdλ)2,\epsilon = -\left(1 - \frac{2}{r}\right) \left(\frac{dt}{d\lambda}\right)^2 + \left(1 - \frac{2}{r}\right)^{-1} \left(\frac{dr}{d\lambda}\right)^2 + r^2 \left(\frac{d\phi}{d\lambda}\right)^2,

where ϵ\epsilon is:

ϵ<0,for timelike geodesics,ϵ=−1,for timelike geodesics where λ=τ,ϵ=0,for lightlike geodesics,ϵ>0,for spacelike geodesics,ϵ=1,for spacelike geodesics where λ=L0. \begin{align*} \epsilon &< 0, & &\textrm{for timelike geodesics}, \\ \epsilon &= -1, & &\textrm{for timelike geodesics where \(\lambda = \tau\)}, \\ \epsilon &= 0, & &\textrm{for lightlike geodesics}, \\ \epsilon &> 0, & &\textrm{for spacelike geodesics}, \\ \epsilon &= 1, & &\textrm{for spacelike geodesics where \(\lambda = L_0\)}. \end{align*}

For timelike paths, I will parametrize path by the proper time τ\tau (ϵ=−1\epsilon = -1). The geodesic equations are in the form:

d2tdτ2=−2r(r−2)dtdτdrdτ,d2rdτ2=−r−2r3(dtdτ)2+1r(r−2)(drdτ)2+(r−2)(dϕdτ)2,d2ϕdτ2=−2rdrdτdϕdτ. \begin{align*} \frac{d^2 t}{d\tau^2} &= - \frac{2}{r(r - 2)} \frac{dt}{d\tau} \frac{dr}{d\tau}, \\ \frac{d^2 r}{d\tau^2} &= -\frac{r - 2}{r^3} \left(\frac{dt}{d\tau}\right)^2 + \frac{1}{r(r - 2)} \left(\frac{dr}{d\tau}\right)^2 + (r - 2) \left(\frac{d\phi}{d\tau}\right)^2, \\ \frac{d^2 \phi}{d\tau^2} &= -\frac{2}{r} \frac{dr}{d\tau} \frac{d\phi}{d\tau}. \end{align*}

The initial time dilation can be derived from the tangent vector length:

1=(1−2r)(U0t)2−(1−2r)−1(U0r)2−r2(U0ϕ)2,r−2r(U0t)2=1+rr−2(U0r)2+r2(U0ϕ)2,U0t=rr−2[1+rr−2(U0r)2+r2(U0ϕ)2], \begin{align*} 1 &= \left(1 - \frac{2}{r}\right) \left(U^t_0\right)^2 - \left(1 - \frac{2}{r}\right)^{-1} \left(U^r_0\right)^2 - r^2 \left(U^{\phi}_0\right)^2, \\ \frac{r - 2}{r} \left(U^t_0\right)^2 &= 1 + \frac{r}{r - 2} \left(U^r_0\right)^2 + r^2 \left(U^{\phi}_0\right)^2, \\ U^t_0 &= \sqrt{\frac{r}{r - 2}\left[1 + \frac{r}{r - 2} \left(U^r_0\right)^2 + r^2 \left(U^{\phi}_0\right)^2\right]}, \\ \end{align*}

then the Euler method can be used to solve for the motion.

For lightlike paths, ϵ=0\epsilon = 0. The tangent vector length is equal to:

0=−(1−2r)(dtdλ)2+(1−2r)−1(drdλ)2+r2(dϕdλ)2.0 = -\left(1 - \frac{2}{r}\right) \left(\frac{dt}{d\lambda}\right)^2 + \left(1 - \frac{2}{r}\right)^{-1} \left(\frac{dr}{d\lambda}\right)^2 + r^2 \left(\frac{d\phi}{d\lambda}\right)^2.

And the geodesic equations don't change:

d2tdλ2=−2r(r−2)dtdλdrdλ,d2rdλ2=−r−2r3(dtdλ)2+1r(r−2)(drdλ)2+(r−2)(dϕdλ)2,d2ϕdλ2=−2rdrdλdϕdλ. \begin{align*} \frac{d^2 t}{d\lambda^2} &= - \frac{2}{r(r - 2)} \frac{dt}{d\lambda} \frac{dr}{d\lambda}, \\ \frac{d^2 r}{d\lambda^2} &= -\frac{r - 2}{r^3} \left(\frac{dt}{d\lambda}\right)^2 + \frac{1}{r(r - 2)} \left(\frac{dr}{d\lambda}\right)^2 + (r - 2) \left(\frac{d\phi}{d\lambda}\right)^2, \\ \frac{d^2 \phi}{d\lambda^2} &= -\frac{2}{r} \frac{dr}{d\lambda} \frac{d\phi}{d\lambda}. \end{align*}

Consider a light source SS at a distance r0r_0 from the mass MM. The outgoing light rays (illustrated by LL) have radial coordinates (r~,ϕ~)(\tilde{r}, \tilde{\phi}) centered at the light source:

Coordinates

All right rays travel from SS at dr~dλ=c=1\frac{d\tilde{r}}{d\lambda} = c = 1 and dϕ~dλ=0\frac{d\tilde{\phi}}{d\lambda} = 0 when λ=0\lambda = 0:

Coordinates 2
drdλ=−cos⁡ϕ~,v⊥=r0dϕdλ=sin⁡ϕ~,dϕdλ=sin⁡ϕ~r0. \begin{align*} \frac{dr}{d\lambda} = -\cos \tilde{\phi}, \\ v_{\perp} = r_0 \frac{d\phi}{d\lambda} = \sin \tilde{\phi}, \\ \frac{d\phi}{d\lambda} = \frac{\sin \tilde{\phi}}{r_0}. \end{align*}

Note: ϕ~\tilde{\phi} has to be the angle between dr~dλ\frac{d\tilde{r}}{d\lambda} and r0r_0:

Coordinates 3

Substituting into the length of tangent vector formula (at λ=0,r=r0\lambda = 0, r = r_0):

0=−(1−2r0)(dtdλ)2+(1−2r0)−1cos⁡2ϕ~+r02sin⁡2ϕ~r02,(1−2r0)(dtdλ)2=(1−2r0)−1cos⁡2ϕ~+sin⁡2ϕ~,(dtdλ)2=(1−2r0)−1[(1−2r0)−1cos⁡2ϕ~+sin⁡2ϕ~],dtdλ=(1−2r0)−1[(1−2r0)−1cos⁡2ϕ~+sin⁡2ϕ~]. \begin{align*} 0 &= -\left(1 - \frac{2}{r_0}\right) \left(\frac{dt}{d\lambda}\right)^2 + \left(1 - \frac{2}{r_0}\right)^{-1} \cos^2 \tilde{\phi} + r_0^2 \frac{\sin^2 \tilde{\phi}}{r_0^2}, \\ \left(1 - \frac{2}{r_0}\right) \left(\frac{dt}{d\lambda}\right)^2 &= \left(1 - \frac{2}{r_0}\right)^{-1} \cos^2 \tilde{\phi} + \sin^2 \tilde{\phi}, \\ \left(\frac{dt}{d\lambda}\right)^2 &= \left(1 - \frac{2}{r_0}\right)^{-1} \left[\left(1 - \frac{2}{r_0}\right)^{-1} \cos^2 \tilde{\phi} + \sin^2 \tilde{\phi}\right], \\ \frac{dt}{d\lambda} &= \sqrt{\left(1 - \frac{2}{r_0}\right)^{-1} \left[\left(1 - \frac{2}{r_0}\right)^{-1} \cos^2 \tilde{\phi} + \sin^2 \tilde{\phi}\right]}. \end{align*}

Now, the Euler method can be employed. But since we're working with multiple rays at once, I will use the coordinate time tt to find λ\lambda for each ray. We can derive this from the tangent vector length equation:

0=−(1−2r)(dtdλ)2+(1−2r)−1(drdλ)2+r2(dϕdλ)2,(1−2r)(dtdλ)2=(1−2r)−1(drdλ)2+r2(dϕdλ)2,(dtdλ)2=(1−2r)−2(drdλ)2+r2(1−2r)−1(dϕdλ)2,dtdλ=(1−2r)−2(drdλ)2+r2(1−2r)−1(dϕdλ)2,dλ=[(2−2r)−2(drdλ)2+r2(1−2r)−1(dϕdλ)2]−1/2dt,Δλ=[(2−2r)−2(drdλ)2+r2(1−2r)−1(dϕdλ)2]−1/2Δt. \begin{align*} 0 &= -\left(1 - \frac{2}{r}\right) \left(\frac{dt}{d\lambda}\right)^2 + \left(1 - \frac{2}{r}\right)^{-1} \left(\frac{dr}{d\lambda}\right)^2 + r^2 \left(\frac{d\phi}{d\lambda}\right)^2, \\ \left(1 - \frac{2}{r}\right) \left(\frac{dt}{d\lambda}\right)^2 &= \left(1 - \frac{2}{r}\right)^{-1} \left(\frac{dr}{d\lambda}\right)^2 + r^2 \left(\frac{d\phi}{d\lambda}\right)^2, \\ \left(\frac{dt}{d\lambda}\right)^2 &= \left(1 - \frac{2}{r}\right)^{-2} \left(\frac{dr}{d\lambda}\right)^2 + r^2 \left(1 - \frac{2}{r}\right)^{-1} \left(\frac{d\phi}{d\lambda}\right)^2, \\ \frac{dt}{d\lambda} &= \sqrt{\left(1 - \frac{2}{r}\right)^{-2} \left(\frac{dr}{d\lambda}\right)^2 + r^2 \left(1 - \frac{2}{r}\right)^{-1} \left(\frac{d\phi}{d\lambda}\right)^2}, \\ d\lambda &= \left[\left(2 - \frac{2}{r}\right)^{-2} \left(\frac{dr}{d\lambda}\right)^2 + r^2 \left(1 - \frac{2}{r}\right)^{-1} \left(\frac{d\phi}{d\lambda}\right)^2\right]^{-1/2} dt, \\ \Delta \lambda &= \left[\left(2 - \frac{2}{r}\right)^{-2} \left(\frac{dr}{d\lambda}\right)^2 + r^2 \left(1 - \frac{2}{r}\right)^{-1} \left(\frac{d\phi}{d\lambda}\right)^2\right]^{-1/2} \Delta t. \end{align*}

We can substitute h=Δλh = \Delta \lambda into our original equations:

Unt=Un−1t−Δλ2rn−1(rn−1−2)Un−1tUn−1r,Unr=Un−1r+Δλ[−rn−1−2(rn−1)3(Un−1t)2+1rn−1(rn−1−2)(Un−1r)2+(rn−1−2)(Un−1ϕ)2],Unϕ=Un−1ϕ−Δλ2rn−1Un−1rUn−1ϕ,tn=tn−1+ΔλUn−1t,rn=rn−1+ΔλUn−1r,ϕn=ϕn−1+ΔλUn−1ϕ,Δλ=[(2−2rn−1)−2(Un−1r)2+rn−12(1−2rn−1)−1(Un−1ϕ)2]−1/2Δt. \begin{align*} U^t_n &= U^t_{n - 1} - \Delta \lambda \frac{2}{r_{n - 1}(r_{n - 1} - 2)} U^t_{n - 1} U^r_{n - 1}, \\ U^r_n &= U^r_{n - 1} + \Delta \lambda \left[- \frac{r_{n - 1} - 2}{(r_{n - 1})^3} \left(U^t_{n - 1}\right)^2 + \frac{1}{r_{n - 1}(r_{n - 1} - 2)} \left(U^r_{n - 1}\right)^2 + (r_{n - 1} - 2) \left(U^{\phi}_{n - 1}\right)^2\right], \\ U^{\phi}_n &= U^{\phi}_{n - 1} - \Delta \lambda \frac{2}{r_{n - 1}} U^r_{n - 1} U^{\phi}_{n - 1}, \\[4ex] t_n &= t_{n - 1} + \Delta \lambda U^t_{n - 1}, \\ r_n &= r_{n - 1} + \Delta \lambda U^r_{n - 1}, \\ \phi_n &= \phi_{n - 1} + \Delta \lambda U^{\phi}_{n - 1}, \\[4ex] \Delta \lambda &= \left[\left(2 - \frac{2}{r_{n - 1}}\right)^{-2} \left(U^r_{n - 1}\right)^2 + r_{n - 1}^2 \left(1 - \frac{2}{r_{n - 1}}\right)^{-1} \left(U^{\phi}_{n - 1}\right)^2\right]^{-1/2} \Delta t. \end{align*}