Contact
CoCalc Logo Icon
StoreFeaturesDocsShareSupport News AboutSign UpSign In
| Download

SageMath notebooks associated to the Black Hole Lectures (https://luth.obspm.fr/~luthier/gourgoulhon/bh16)

Project: BHLectures
Views: 20107
Kernel: SageMath 9.0

Null geodesic in Schwarzschild spacetime with a critical impact parameter

This Jupyter/SageMath notebook is relative to the lectures Geometry and physics of black holes.

Click here to download the notebook file (ipynb format). To run it, you must start SageMath with sage -n jupyter.

version()
'SageMath version 9.0, Release Date: 2020-01-01'
%display latex
phi = var('phi') phi0 = var('phi_0') R(phi, phi0) = 2/(tanh((phi - phi0)/2)^2 - 1/3) R(phi, phi0)
phi_s = ln((sqrt(3) + 1)/(sqrt(3) - 1)) phi_s
n(phi_s)

The case r>3mr>3m with φ∞=0\varphi_\infty = 0

phi_inf = 0

r(φ)r(\varphi) decaying, φ0=−φ∗\varphi_0=-\varphi_*

phi_inf = 0 phi_0 = phi_inf - phi_s phi_0
graph = circle((0, 0), 2, edgecolor='black', fill=True, facecolor='grey', alpha=0.5) graph += polar_plot(R(phi, phi_inf - phi_s), (phi, 0.35, 30), color='green', axes_labels=[r'$x/m$', r'$y/m$'], plot_points=400) graph
Image in a Jupyter notebook
graph.save("ges_null_b_crit_from_inf_L_pos.pdf")

r(φ)r(\varphi) increasing, φ0=φ∗\varphi_0=\varphi_*

graph = circle((0, 0), 2, edgecolor='black', fill=True, facecolor='grey', alpha=0.5) graph += polar_plot(R(phi, phi_inf + phi_s), (phi, -30, -0.35), color='green', axes_labels=[r'$x/m$', r'$y/m$'], plot_points=400) graph
Image in a Jupyter notebook
graph.save("ges_null_b_crit_from_inf_L_neg.pdf")

The case r<3mr<3m

R2(phi, phi0) = 2/(coth((phi - phi0)/2)^2 - 1/3) R2(phi, phi0)
graph = circle((0, 0), 2, edgecolor='black', fill=True, facecolor='grey', alpha=0.5) graph += polar_plot(R2(phi, 0), (phi, -30, 0), color='green', axes_labels=[r'$x/m$', r'$y/m$'], plot_points=400) graph
Image in a Jupyter notebook
graph.save("ges_null_b_crit_intern_1.pdf")
graph = circle((0, 0), 2, edgecolor='black', fill=True, facecolor='grey', alpha=0.5) graph += polar_plot(R2(phi, 0), (phi, 0, 30), color='green', axes_labels=[r'$x/m$', r'$y/m$'], plot_points=400) graph
Image in a Jupyter notebook
graph.save("ges_null_b_crit_intern_2.pdf")
phim = 8 rmax = 10 graph = plot(R(phi, 0), (phi, -phim, -1.001*phi_s), thickness=1.5, ymin=0, ymax=rmax, axes_labels=[r'$\varphi-\varphi_0$', r'$r/m$']) + \ plot(R(phi, 0), (phi, 1.001*phi_s, phim), thickness=1.5, ymin=0, ymax=rmax) + \ plot(R2(phi, 0), (phi, -phim, phim), color='red', thickness=1.5) graph += line([(-phim, 3), (phim, 3)], linestyle=':', color='black') graph += line([(phi_s, 0), (phi_s, rmax)], linestyle='dashed', color='black') + \ text(r'$\varphi_{\!*}$', (phi_s, -0.5), fontsize=16, color='black') graph += line([(-phi_s, 0), (-phi_s, rmax)], linestyle='dashed', color='black') + \ text(r'$-\varphi_{\!*}$', (-0.8*phi_s, -0.5), fontsize=16, color='black') graph
Image in a Jupyter notebook
graph.save("ges_null_r_phi_bcrit.pdf")