Contact
CoCalc Logo Icon
StoreFeaturesDocsShareSupport News Sign UpSign In
| Download

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

Project: BHLectures
Views: 20094
Kernel: SageMath 8.1.rc4

Numerical values

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

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

%display latex

Physical constants

Values of the fundamental constants in SI units (taken from the Particle Data Group (2017)):

c = 2.99792458e8 G = 6.67408e-11 hbar = 1.054571800e-34

The solar mass MM_\odot in SI units:

M_sol = 1.98848e30

The Planck mass in kg:

sqrt(hbar*c/G)
2.17647019549064×108\renewcommand{\Bold}[1]{\mathbf{#1}}2.17647019549064 \times 10^{-8}

The solar mass MM_\odot in meters:

M_sol_m = G*M_sol/c^2 M_sol_m
1476.62844258127\renewcommand{\Bold}[1]{\mathbf{#1}}1476.62844258127

The solar mass MM_\odot in seconds:

M_sol_s = G*M_sol/c^3 M_sol_s
4.92550230393478×106\renewcommand{\Bold}[1]{\mathbf{#1}}4.92550230393478 \times 10^{-6}

The astronomical unit (au) in SI units:

au = 1.49597870700e11

A sample of black holes masses

Masses in MM_\odot:

masses = [15., 4.3e6, 6e9] masses
[15.0000000000000,4.30000000000000×106,6.00000000000000×109]\renewcommand{\Bold}[1]{\mathbf{#1}}\left[15.0000000000000, 4.30000000000000 \times 10^{6}, 6.00000000000000 \times 10^{9}\right]

Schwarzschild radii:

for m in masses: Rs = RDF(2*m * M_sol_m) Rs_km = RDF(Rs/1000) Rs_au = RDF(Rs/au) print("m = {} M_sol: 2m = {} km = {} au".format(m, Rs_km, Rs_au))
m = 15.0000000000000 M_sol: 2m = 44.2988532774 km = 2.9611954415e-07 au m = 4.30000000000000e6 M_sol: 2m = 12699004.6062 km = 0.0848876026562 au m = 6.00000000000000e9 M_sol: 2m = 17719541311.0 km = 118.44781766 au

Free fall in a Schwarzschild black hole

Proper time to reach the singularity starting from rest at the ISCO:

var('r0') tau_f(r0) = pi*sqrt(r0^3/8) tau_f(r0)
1212πr03\renewcommand{\Bold}[1]{\mathbf{#1}}\frac{1}{2} \, \sqrt{\frac{1}{2}} \pi \sqrt{r_{0}^{3}}

Proper time to reach the horizon starting from rest at the ISCO:

tau_h(r0) = sqrt(r0^3/2)*(atan(sqrt(r0/2-1)) + sqrt(2/r0*(1-2/r0))) tau_h(r0)
12r03(22r01r0+arctan(12r01))\renewcommand{\Bold}[1]{\mathbf{#1}}\sqrt{\frac{1}{2}} \sqrt{r_{0}^{3}} {\left(\sqrt{2} \sqrt{-\frac{\frac{2}{r_{0}} - 1}{r_{0}}} + \arctan\left(\sqrt{\frac{1}{2} \, r_{0} - 1}\right)\right)}
for m in masses: t_s = RDF(tau_f(6) * m * M_sol_s) t_h = RDF(t_s/3600) t_d = RDF(t_h/24) print("m = {} M_sol:".format(m)) print(" tau_f = {} s = {} h = {} days".format(t_s, t_h, t_d))
m = 15.0000000000000 M_sol: tau_f = 0.0012060728479 s = 3.35020235528e-07 h = 1.39591764803e-08 days m = 4.30000000000000e6 M_sol: tau_f = 345.740883065 s = 0.0960391341847 h = 0.00400163059103 days m = 6.00000000000000e9 M_sol: tau_f = 482429.13916 s = 134.008094211 h = 5.58367059213 days
for m in masses: t_s = RDF(tau_h(6) * m * M_sol_s) t_h = RDF(t_s/3600) t_d = RDF(t_h/24) print("m = {} M_sol:".format(m)) print(" tau_h = {} s = {} h = {} days".format(t_s, t_h, t_d))
m = 15.0000000000000 M_sol: tau_h = 0.00109545050356 s = 3.04291806543e-07 h = 1.26788252726e-08 days m = 4.30000000000000e6 M_sol: tau_h = 314.029144353 s = 0.0872303178758 h = 0.00363459657816 days m = 6.00000000000000e9 M_sol: tau_h = 438180.201422 s = 121.716722617 h = 5.07153010906 days

Time spent into the black hole:

for m in masses: t_s = RDF((tau_f(6) - tau_h(6)) * m * M_sol_s) t_h = RDF(t_s/3600) t_d = RDF(t_h/24) print("m = {} M_sol:".format(m)) print(" tau_inside = {} s = {} h = {} days".format(t_s, t_h, t_d))
m = 15.0000000000000 M_sol: tau_inside = 0.000110622344344 s = 3.07284289845e-08 h = 1.28035120769e-09 days m = 4.30000000000000e6 M_sol: tau_inside = 31.711738712 s = 0.0088088163089 h = 0.000367034012871 days m = 6.00000000000000e9 M_sol: tau_inside = 44248.9377377 s = 12.2913715938 h = 0.512140483075 days

ISCO frequency

Schwarzschild

for m in masses: RI = RDF(6*m * M_sol_m) RI_km = RDF(RI/1000) RI_au = RDF(RI/au) f_Hz = RDF(1/(6*sqrt(6)* m * M_sol_s)/(2*pi)) T_s = 1/f_Hz T_min = T_s/60 print("m = {} M_sol: r_ISCO = {} km = {} au".format(m, RI_km, RI_au)) print("f_ISCO = {} Hz, T_ISCO = {} s = {} min".format(f_Hz, T_s, T_min))
m = 15.0000000000000 M_sol: r_ISCO = 132.896559832 km = 8.88358632449e-07 au f_ISCO = 146.572154082 Hz, T_ISCO = 0.00682257831484 s = 0.000113709638581 min m = 4.30000000000000e6 M_sol: r_ISCO = 38097013.8186 km = 0.254662807969 au f_ISCO = 0.000511298211914 Hz, T_ISCO = 1955.80578359 s = 32.5967630598 min m = 6.00000000000000e9 M_sol: r_ISCO = 53158623932.9 km = 355.34345298 au f_ISCO = 3.66430385205e-07 Hz, T_ISCO = 2729031.32594 s = 45483.8554323 min

Extreme Kerr

for m in masses: RI = RDF(m * M_sol_m) RI_km = RDF(RI/1000) RI_au = RDF(RI/au) f_Hz = RDF(1/(2* m * M_sol_s)/(2*pi)) T_s = 1/f_Hz T_min = T_s/60 print("m = {} M_sol: r_ISCO = {} km = {} au".format(m, RI_km, RI_au)) print("f_ISCO = {} Hz, T_ISCO = {} s = {} min".format(f_Hz, T_s, T_min))
m = 15.0000000000000 M_sol: r_ISCO = 22.1494266387 km = 1.48059772075e-07 au f_ISCO = 1077.080964 Hz, T_ISCO = 0.000928435311197 s = 1.54739218533e-05 min m = 4.30000000000000e6 M_sol: r_ISCO = 6349502.3031 km = 0.0424438013281 au f_ISCO = 0.00375725917676 Hz, T_ISCO = 266.151455876 s = 4.43585759794 min m = 6.00000000000000e9 M_sol: r_ISCO = 8859770655.49 km = 59.2239088299 au f_ISCO = 2.69270241001e-06 Hz, T_ISCO = 371374.124479 s = 6189.56874131 min