{ "cells": [ { "cell_type": "markdown", "metadata": { "deletable": true, "editable": true }, "source": [ "# Numerical values\n", "\n", "This Jupyter/SageMath worksheet is relative to the lectures\n", "[Geometry and physics of black holes](https://relativite.obspm.fr/blackholes/).\n", "\n", "Click [here](https://raw.githubusercontent.com/egourgoulhon/BHLectures/master/sage/numerical_values.ipynb) to download the worksheet file (ipynb format). To run it, you must start SageMath with the Jupyter notebook, with the command `sage -n jupyter`\n" ] }, { "cell_type": "code", "execution_count": 1, "metadata": { "collapsed": true, "deletable": true, "editable": true }, "outputs": [], "source": [ "%display latex" ] }, { "cell_type": "markdown", "metadata": { "deletable": true, "editable": true }, "source": [ "## Physical constants" ] }, { "cell_type": "markdown", "metadata": { "deletable": true, "editable": true }, "source": [ "Values of the fundamental constants in SI units (taken from the [Particle Data Group](http://pdg.lbl.gov/) (2017)):" ] }, { "cell_type": "code", "execution_count": 2, "metadata": { "collapsed": true, "deletable": true, "editable": true }, "outputs": [], "source": [ "c = 2.99792458e8\n", "G = 6.67408e-11\n", "hbar = 1.054571800e-34" ] }, { "cell_type": "markdown", "metadata": { "deletable": true, "editable": true }, "source": [ "The solar mass $M_\\odot$ in SI units:" ] }, { "cell_type": "code", "execution_count": 3, "metadata": { "collapsed": true, "deletable": true, "editable": true }, "outputs": [], "source": [ "M_sol = 1.98848e30" ] }, { "cell_type": "markdown", "metadata": { "deletable": true, "editable": true }, "source": [ "The Planck mass in kg:" ] }, { "cell_type": "code", "execution_count": 4, "metadata": { "collapsed": false, "deletable": true, "editable": true }, "outputs": [ { "data": { "text/html": [ "" ], "text/plain": [ "2.17647019549064e-8" ] }, "execution_count": 4, "metadata": {}, "output_type": "execute_result" } ], "source": [ "sqrt(hbar*c/G)" ] }, { "cell_type": "markdown", "metadata": { "deletable": true, "editable": true }, "source": [ "The solar mass $M_\\odot$ in meters:" ] }, { "cell_type": "code", "execution_count": 5, "metadata": { "collapsed": false, "deletable": true, "editable": true }, "outputs": [ { "data": { "text/html": [ "" ], "text/plain": [ "1476.62844258127" ] }, "execution_count": 5, "metadata": {}, "output_type": "execute_result" } ], "source": [ "M_sol_m = G*M_sol/c^2\n", "M_sol_m" ] }, { "cell_type": "markdown", "metadata": { "deletable": true, "editable": true }, "source": [ "The solar mass $M_\\odot$ in seconds:" ] }, { "cell_type": "code", "execution_count": 6, "metadata": { "collapsed": false, "deletable": true, "editable": true }, "outputs": [ { "data": { "text/html": [ "" ], "text/plain": [ "4.92550230393478e-6" ] }, "execution_count": 6, "metadata": {}, "output_type": "execute_result" } ], "source": [ "M_sol_s = G*M_sol/c^3\n", "M_sol_s" ] }, { "cell_type": "markdown", "metadata": { "deletable": true, "editable": true }, "source": [ "The astronomical unit (au) in SI units:" ] }, { "cell_type": "code", "execution_count": 7, "metadata": { "collapsed": true, "deletable": true, "editable": true }, "outputs": [], "source": [ "au = 1.49597870700e11" ] }, { "cell_type": "markdown", "metadata": { "deletable": true, "editable": true }, "source": [ "## A sample of black holes masses\n", "\n", "Masses in $M_\\odot$:" ] }, { "cell_type": "code", "execution_count": 8, "metadata": { "collapsed": false, "deletable": true, "editable": true }, "outputs": [ { "data": { "text/html": [ "" ], "text/plain": [ "[15.0000000000000, 4.30000000000000e6, 6.00000000000000e9]" ] }, "execution_count": 8, "metadata": {}, "output_type": "execute_result" } ], "source": [ "masses = [15., 4.3e6, 6e9]\n", "masses" ] }, { "cell_type": "markdown", "metadata": { "deletable": true, "editable": true }, "source": [ "Schwarzschild radii:" ] }, { "cell_type": "code", "execution_count": 9, "metadata": { "collapsed": false, "deletable": true, "editable": true, "scrolled": true }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "m = 15.0000000000000 M_sol: 2m = 44.2988532774 km = 2.9611954415e-07 au\n", "m = 4.30000000000000e6 M_sol: 2m = 12699004.6062 km = 0.0848876026562 au\n", "m = 6.00000000000000e9 M_sol: 2m = 17719541311.0 km = 118.44781766 au\n" ] } ], "source": [ "for m in masses:\n", " Rs = RDF(2*m * M_sol_m)\n", " Rs_km = RDF(Rs/1000)\n", " Rs_au = RDF(Rs/au)\n", " print(\"m = {} M_sol: 2m = {} km = {} au\".format(m, Rs_km, Rs_au)) " ] }, { "cell_type": "markdown", "metadata": { "deletable": true, "editable": true }, "source": [ "## Free fall in a Schwarzschild black hole" ] }, { "cell_type": "markdown", "metadata": { "deletable": true, "editable": true }, "source": [ "Proper time to reach the singularity starting from rest at the ISCO:" ] }, { "cell_type": "code", "execution_count": 10, "metadata": { "collapsed": false, "deletable": true, "editable": true }, "outputs": [ { "data": { "text/html": [ "" ], "text/plain": [ "1/2*sqrt(1/2)*pi*sqrt(r0^3)" ] }, "execution_count": 10, "metadata": {}, "output_type": "execute_result" } ], "source": [ "var('r0')\n", "tau_f(r0) = pi*sqrt(r0^3/8)\n", "tau_f(r0)" ] }, { "cell_type": "markdown", "metadata": { "deletable": true, "editable": true }, "source": [ "Proper time to reach the horizon starting from rest at the ISCO:" ] }, { "cell_type": "code", "execution_count": 11, "metadata": { "collapsed": false, "deletable": true, "editable": true }, "outputs": [ { "data": { "text/html": [ "" ], "text/plain": [ "sqrt(1/2)*sqrt(r0^3)*(sqrt(2)*sqrt(-(2/r0 - 1)/r0) + arctan(sqrt(1/2*r0 - 1)))" ] }, "execution_count": 11, "metadata": {}, "output_type": "execute_result" } ], "source": [ "tau_h(r0) = sqrt(r0^3/2)*(atan(sqrt(r0/2-1)) + sqrt(2/r0*(1-2/r0)))\n", "tau_h(r0)" ] }, { "cell_type": "code", "execution_count": 12, "metadata": { "collapsed": false, "deletable": true, "editable": true, "scrolled": true }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "m = 15.0000000000000 M_sol:\n", " tau_f = 0.0012060728479 s = 3.35020235528e-07 h = 1.39591764803e-08 days\n", "m = 4.30000000000000e6 M_sol:\n", " tau_f = 345.740883065 s = 0.0960391341847 h = 0.00400163059103 days\n", "m = 6.00000000000000e9 M_sol:\n", " tau_f = 482429.13916 s = 134.008094211 h = 5.58367059213 days\n" ] } ], "source": [ "for m in masses:\n", " t_s = RDF(tau_f(6) * m * M_sol_s)\n", " t_h = RDF(t_s/3600)\n", " t_d = RDF(t_h/24)\n", " print(\"m = {} M_sol:\".format(m)) \n", " print(\" tau_f = {} s = {} h = {} days\".format(t_s, t_h, t_d))" ] }, { "cell_type": "code", "execution_count": 13, "metadata": { "collapsed": false, "deletable": true, "editable": true, "scrolled": true }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "m = 15.0000000000000 M_sol:\n", " tau_h = 0.00109545050356 s = 3.04291806543e-07 h = 1.26788252726e-08 days\n", "m = 4.30000000000000e6 M_sol:\n", " tau_h = 314.029144353 s = 0.0872303178758 h = 0.00363459657816 days\n", "m = 6.00000000000000e9 M_sol:\n", " tau_h = 438180.201422 s = 121.716722617 h = 5.07153010906 days\n" ] } ], "source": [ "for m in masses:\n", " t_s = RDF(tau_h(6) * m * M_sol_s)\n", " t_h = RDF(t_s/3600)\n", " t_d = RDF(t_h/24)\n", " print(\"m = {} M_sol:\".format(m)) \n", " print(\" tau_h = {} s = {} h = {} days\".format(t_s, t_h, t_d))" ] }, { "cell_type": "markdown", "metadata": { "deletable": true, "editable": true }, "source": [ "Time spent into the black hole:" ] }, { "cell_type": "code", "execution_count": 14, "metadata": { "collapsed": false, "deletable": true, "editable": true }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "m = 15.0000000000000 M_sol:\n", " tau_inside = 0.000110622344344 s = 3.07284289845e-08 h = 1.28035120769e-09 days\n", "m = 4.30000000000000e6 M_sol:\n", " tau_inside = 31.711738712 s = 0.0088088163089 h = 0.000367034012871 days\n", "m = 6.00000000000000e9 M_sol:\n", " tau_inside = 44248.9377377 s = 12.2913715938 h = 0.512140483075 days\n" ] } ], "source": [ "for m in masses:\n", " t_s = RDF((tau_f(6) - tau_h(6)) * m * M_sol_s)\n", " t_h = RDF(t_s/3600)\n", " t_d = RDF(t_h/24)\n", " print(\"m = {} M_sol:\".format(m)) \n", " print(\" tau_inside = {} s = {} h = {} days\".format(t_s, t_h, t_d))" ] }, { "cell_type": "markdown", "metadata": { "collapsed": true, "deletable": true, "editable": true }, "source": [ "## ISCO frequency" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Schwarzschild" ] }, { "cell_type": "code", "execution_count": 15, "metadata": { "collapsed": false, "deletable": true, "editable": true }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "m = 15.0000000000000 M_sol: r_ISCO = 132.896559832 km = 8.88358632449e-07 au\n", "f_ISCO = 146.572154082 Hz, T_ISCO = 0.00682257831484 s = 0.000113709638581 min\n", "m = 4.30000000000000e6 M_sol: r_ISCO = 38097013.8186 km = 0.254662807969 au\n", "f_ISCO = 0.000511298211914 Hz, T_ISCO = 1955.80578359 s = 32.5967630598 min\n", "m = 6.00000000000000e9 M_sol: r_ISCO = 53158623932.9 km = 355.34345298 au\n", "f_ISCO = 3.66430385205e-07 Hz, T_ISCO = 2729031.32594 s = 45483.8554323 min\n" ] } ], "source": [ "for m in masses:\n", " RI = RDF(6*m * M_sol_m)\n", " RI_km = RDF(RI/1000)\n", " RI_au = RDF(RI/au)\n", " f_Hz = RDF(1/(6*sqrt(6)* m * M_sol_s)/(2*pi))\n", " T_s = 1/f_Hz\n", " T_min = T_s/60\n", " print(\"m = {} M_sol: r_ISCO = {} km = {} au\".format(m, RI_km, RI_au)) \n", " print(\"f_ISCO = {} Hz, T_ISCO = {} s = {} min\".format(f_Hz, T_s, T_min)) " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Extreme Kerr" ] }, { "cell_type": "code", "execution_count": 16, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "m = 15.0000000000000 M_sol: r_ISCO = 22.1494266387 km = 1.48059772075e-07 au\n", "f_ISCO = 1077.080964 Hz, T_ISCO = 0.000928435311197 s = 1.54739218533e-05 min\n", "m = 4.30000000000000e6 M_sol: r_ISCO = 6349502.3031 km = 0.0424438013281 au\n", "f_ISCO = 0.00375725917676 Hz, T_ISCO = 266.151455876 s = 4.43585759794 min\n", "m = 6.00000000000000e9 M_sol: r_ISCO = 8859770655.49 km = 59.2239088299 au\n", "f_ISCO = 2.69270241001e-06 Hz, T_ISCO = 371374.124479 s = 6189.56874131 min\n" ] } ], "source": [ "for m in masses:\n", " RI = RDF(m * M_sol_m)\n", " RI_km = RDF(RI/1000)\n", " RI_au = RDF(RI/au)\n", " f_Hz = RDF(1/(2* m * M_sol_s)/(2*pi))\n", " T_s = 1/f_Hz\n", " T_min = T_s/60\n", " print(\"m = {} M_sol: r_ISCO = {} km = {} au\".format(m, RI_km, RI_au)) \n", " print(\"f_ISCO = {} Hz, T_ISCO = {} s = {} min\".format(f_Hz, T_s, T_min)) " ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true }, "outputs": [], "source": [] } ], "metadata": { "kernelspec": { "display_name": "SageMath 8.1.rc4", "language": "", "name": "sagemath" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 2 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython2", "version": "2.7.14" } }, "nbformat": 4, "nbformat_minor": 2 }