{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Plots of null geodesics in Kerr spacetime\n", "## Computation with `kerrgeodesic_gw`\n", "\n", "This Jupyter/SageMath notebook is relative to the lectures\n", "[Geometry and physics of black holes](https://relativite.obspm.fr/blackholes/).\n", "\n", "It requires [SageMath](http://www.sagemath.org/) (version $\\geq$ 8.2), with the package [kerrgeodesic_gw](https://github.com/BlackHolePerturbationToolkit/kerrgeodesic_gw) (version $\\geq$ 0.3.2). To install the latter, simply run \n", "```\n", "sage -pip install kerrgeodesic_gw\n", "```\n", "in a terminal." ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "'SageMath version 9.2, Release Date: 2020-10-24'" ] }, "execution_count": 1, "metadata": {}, "output_type": "execute_result" } ], "source": [ "version()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "First, we set up the notebook to use LaTeX-formatted display:" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [], "source": [ "%display latex" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "and we ask for CPU demanding computations to be performed in parallel on 8 processes:" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [], "source": [ "Parallelism().set(nproc=8)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "A Kerr black bole is entirely defined by two parameters $(m, a)$, where $m$ is the black hole mass and $a$ is the black hole angular momentum divided by $m$.\n", "In this notebook, we shall set $m=1$ and we denote the angular momentum parameter $a$ by the symbolic variable `a`, using `a0` for a specific numerical value:" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [], "source": [ "a = var('a')\n", "a0 = 0.95" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The spacetime object is created as an instance of the class `KerrBH`:" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Kerr spacetime M\n" ] } ], "source": [ "from kerrgeodesic_gw import KerrBH\n", "M = KerrBH(a)\n", "print(M)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The Boyer-Lindquist coordinate $r$ of the event horizon:" ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [ { "data": { "text/html": [ "" ], "text/latex": [ "\\begin{math}\n", "\\newcommand{\\Bold}[1]{\\mathbf{#1}}\\sqrt{-a^{2} + 1} + 1\n", "\\end{math}" ], "text/plain": [ "sqrt(-a^2 + 1) + 1" ] }, "execution_count": 6, "metadata": {}, "output_type": "execute_result" } ], "source": [ "rH = M.event_horizon_radius()\n", "rH" ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [ { "data": { "text/html": [ "" ], "text/latex": [ "\\begin{math}\n", "\\newcommand{\\Bold}[1]{\\mathbf{#1}}r_+ = 1.31224989991992\n", "\\end{math}" ], "text/plain": [ "r_+ = 1.31224989991992" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "rH0 = rH.subs({a: a0})\n", "show(LatexExpr(r'r_+ = '), rH0)" ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [ { "data": { "text/html": [ "" ], "text/latex": [ "\\begin{math}\n", "\\newcommand{\\Bold}[1]{\\mathbf{#1}}r_- = 0.687750100080080\n", "\\end{math}" ], "text/plain": [ "r_- = 0.687750100080080" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "show(LatexExpr(r'r_- = '),\n", " M.inner_horizon_radius().subs({a: a0}))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The method `boyer_lindquist_coordinates()` returns the chart of Boyer-Lindquist coordinates `BL` and allows the user to instanciate the Python variables `(t, r, th, ph)` to the coordinates $(t,r,\\theta,\\phi)$:" ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [ { "data": { "text/html": [ "" ], "text/latex": [ "\\begin{math}\n", "\\newcommand{\\Bold}[1]{\\mathbf{#1}}\\left(M,(t, r, {\\theta}, {\\phi})\\right)\n", "\\end{math}" ], "text/plain": [ "Chart (M, (t, r, th, ph))" ] }, "execution_count": 9, "metadata": {}, "output_type": "execute_result" } ], "source": [ "BL. = M.boyer_lindquist_coordinates()\n", "BL" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The metric tensor is naturally returned by the method `metric()`:" ] }, { "cell_type": "code", "execution_count": 10, "metadata": { "scrolled": true }, "outputs": [ { "data": { "text/html": [ "" ], "text/latex": [ "\\begin{math}\n", "\\newcommand{\\Bold}[1]{\\mathbf{#1}}g = \\left( -\\frac{a^{2} \\cos\\left({\\theta}\\right)^{2} + r^{2} - 2 \\, r}{a^{2} \\cos\\left({\\theta}\\right)^{2} + r^{2}} \\right) \\mathrm{d} t\\otimes \\mathrm{d} t + \\left( -\\frac{2 \\, a r \\sin\\left({\\theta}\\right)^{2}}{a^{2} \\cos\\left({\\theta}\\right)^{2} + r^{2}} \\right) \\mathrm{d} t\\otimes \\mathrm{d} {\\phi} + \\left( \\frac{a^{2} \\cos\\left({\\theta}\\right)^{2} + r^{2}}{a^{2} + r^{2} - 2 \\, r} \\right) \\mathrm{d} r\\otimes \\mathrm{d} r + \\left( a^{2} \\cos\\left({\\theta}\\right)^{2} + r^{2} \\right) \\mathrm{d} {\\theta}\\otimes \\mathrm{d} {\\theta} + \\left( -\\frac{2 \\, a r \\sin\\left({\\theta}\\right)^{2}}{a^{2} \\cos\\left({\\theta}\\right)^{2} + r^{2}} \\right) \\mathrm{d} {\\phi}\\otimes \\mathrm{d} t + \\left( \\frac{2 \\, a^{2} r \\sin\\left({\\theta}\\right)^{4} + {\\left(a^{2} r^{2} + r^{4} + {\\left(a^{4} + a^{2} r^{2}\\right)} \\cos\\left({\\theta}\\right)^{2}\\right)} \\sin\\left({\\theta}\\right)^{2}}{a^{2} \\cos\\left({\\theta}\\right)^{2} + r^{2}} \\right) \\mathrm{d} {\\phi}\\otimes \\mathrm{d} {\\phi}\n", "\\end{math}" ], "text/plain": [ "g = -(a^2*cos(th)^2 + r^2 - 2*r)/(a^2*cos(th)^2 + r^2) dt*dt - 2*a*r*sin(th)^2/(a^2*cos(th)^2 + r^2) dt*dph + (a^2*cos(th)^2 + r^2)/(a^2 + r^2 - 2*r) dr*dr + (a^2*cos(th)^2 + r^2) dth*dth - 2*a*r*sin(th)^2/(a^2*cos(th)^2 + r^2) dph*dt + (2*a^2*r*sin(th)^4 + (a^2*r^2 + r^4 + (a^4 + a^2*r^2)*cos(th)^2)*sin(th)^2)/(a^2*cos(th)^2 + r^2) dph*dph" ] }, "execution_count": 10, "metadata": {}, "output_type": "execute_result" } ], "source": [ "g = M.metric()\n", "g.display()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Functions $\\ell(r_0)$ and $q(r_0)$ for spherical photon orbits:" ] }, { "cell_type": "code", "execution_count": 11, "metadata": {}, "outputs": [ { "data": { "text/html": [ "" ], "text/latex": [ "\\begin{math}\n", "\\newcommand{\\Bold}[1]{\\mathbf{#1}}\\left( a, r \\right) \\ {\\mapsto} \\ -\\frac{a^{2} {\\left(r + 1\\right)} + {\\left(r - 3\\right)} r^{2}}{a {\\left(r - 1\\right)}}\n", "\\end{math}" ], "text/plain": [ "(a, r) |--> -(a^2*(r + 1) + (r - 3)*r^2)/(a*(r - 1))" ] }, "execution_count": 11, "metadata": {}, "output_type": "execute_result" } ], "source": [ "r = var('r')\n", "lsph(a, r) = (r^2*(3 - r) - a^2*(r + 1))/(a*(r -1))\n", "lsph" ] }, { "cell_type": "code", "execution_count": 12, "metadata": {}, "outputs": [ { "data": { "text/html": [ "" ], "text/latex": [ "\\begin{math}\n", "\\newcommand{\\Bold}[1]{\\mathbf{#1}}\\left( a, r \\right) \\ {\\mapsto} \\ -\\frac{{\\left({\\left(r - 3\\right)}^{2} r - 4 \\, a^{2}\\right)} r^{3}}{a^{2} {\\left(r - 1\\right)}^{2}}\n", "\\end{math}" ], "text/plain": [ "(a, r) |--> -((r - 3)^2*r - 4*a^2)*r^3/(a^2*(r - 1)^2)" ] }, "execution_count": 12, "metadata": {}, "output_type": "execute_result" } ], "source": [ "qsph(a, r) = r^3 / (a^2*(r - 1)^2) * (4*a^2 - r*(r - 3)^2)\n", "qsph" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### $\\theta$-turning points:" ] }, { "cell_type": "code", "execution_count": 13, "metadata": {}, "outputs": [ { "data": { "text/html": [ "" ], "text/latex": [ "\\begin{math}\n", "\\newcommand{\\Bold}[1]{\\mathbf{#1}}\\left( a, l, q \\right) \\ {\\mapsto} \\ \\arccos\\left(\\sqrt{\\frac{1}{2} \\, \\sqrt{{\\left(\\frac{l^{2} + q}{a^{2}} - 1\\right)}^{2} + \\frac{4 \\, q}{a^{2}}} - \\frac{l^{2} + q}{2 \\, a^{2}} + \\frac{1}{2}}\\right)\n", "\\end{math}" ], "text/plain": [ "(a, l, q) |--> arccos(sqrt(1/2*sqrt(((l^2 + q)/a^2 - 1)^2 + 4*q/a^2) - 1/2*(l^2 + q)/a^2 + 1/2))" ] }, "execution_count": 13, "metadata": {}, "output_type": "execute_result" } ], "source": [ "theta0(a, l, q) = arccos(sqrt(1/2*(1 - (l^2+q)/a^2 + sqrt((1 - (l^2+q)/a^2)^2 + 4*q/a^2))))\n", "theta0" ] }, { "cell_type": "code", "execution_count": 14, "metadata": {}, "outputs": [ { "data": { "text/html": [ "" ], "text/latex": [ "\\begin{math}\n", "\\newcommand{\\Bold}[1]{\\mathbf{#1}}\\left( a, l, q \\right) \\ {\\mapsto} \\ \\arccos\\left(\\sqrt{-\\frac{1}{2} \\, \\sqrt{{\\left(\\frac{l^{2} + q}{a^{2}} - 1\\right)}^{2} + \\frac{4 \\, q}{a^{2}}} - \\frac{l^{2} + q}{2 \\, a^{2}} + \\frac{1}{2}}\\right)\n", "\\end{math}" ], "text/plain": [ "(a, l, q) |--> arccos(sqrt(-1/2*sqrt(((l^2 + q)/a^2 - 1)^2 + 4*q/a^2) - 1/2*(l^2 + q)/a^2 + 1/2))" ] }, "execution_count": 14, "metadata": {}, "output_type": "execute_result" } ], "source": [ "theta1(a, l, q) = arccos(sqrt(1/2*(1 - (l^2+q)/a^2 - sqrt((1 - (l^2+q)/a^2)^2 + 4*q/a^2))))\n", "theta1" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Plot of $\\mathcal{R}(r)$ for various values of $(\\ell, q)$" ] }, { "cell_type": "code", "execution_count": 15, "metadata": {}, "outputs": [ { "data": { "text/html": [ "" ], "text/latex": [ "\\begin{math}\n", "\\newcommand{\\Bold}[1]{\\mathbf{#1}}\\left( a, {\\ell}, q, r \\right) \\ {\\mapsto} \\ r^{4} - a^{2} q + {\\left(a^{2} - {\\ell}^{2} - q\\right)} r^{2} + 2 \\, {\\left({\\left(a - {\\ell}\\right)}^{2} + q\\right)} r\n", "\\end{math}" ], "text/plain": [ "(a, l, q, r) |--> r^4 - a^2*q + (a^2 - l^2 - q)*r^2 + 2*((a - l)^2 + q)*r" ] }, "execution_count": 15, "metadata": {}, "output_type": "execute_result" } ], "source": [ "l = var('l', latex_name=r'\\ell')\n", "q = var('q')\n", "R(a, l, q, r) = r^4 + (a^2 - l^2 - q)*r^2 + 2*(q + (l - a)^2)*r - a^2*q\n", "R" ] }, { "cell_type": "code", "execution_count": 16, "metadata": {}, "outputs": [], "source": [ "xmin = 1.2\n", "xmax = 3.7\n", "ymin = -10\n", "ymax = 40" ] }, { "cell_type": "code", "execution_count": 17, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "Graphics object consisting of 6 graphics primitives" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "L = 0.5\n", "Q = 16\n", "g0 = plot(R(a0, L, Q, r), (r, xmin, xmax), color='red', thickness=2, \n", " axes_labels=[r'$r/m$', r'$\\mathcal{R}(r)/m^4$'],\n", " frame=True, gridlines=True)\n", "g0 += line([(rH0, ymin), (rH0, ymax)], color='black', thickness=2)\n", "g0 += line([(xmin, -0.4), (1.1*xmax, -0.4)], color='lightgreen', alpha=0.5, thickness=3)\n", "g0 += polygon([(0.9*xmin, ymin), (rH0, ymin), (rH0, ymax), (0.9*xmin, ymax)], \n", " color='lightgrey')\n", "g0 += text(r'$\\ell = 0.5\\, m$', (1.8, 35), fontsize=16, color='red',\n", " background_color='white')\n", "g0 += text(r'$q = 16\\, m^2$', (1.8, 28.5), fontsize=16, color='red',\n", " background_color='white')\n", "g0.set_axes_range(xmin=xmin, xmax=xmax, ymin=ymin, ymax=ymax)\n", "g0.set_aspect_ratio(0.04)\n", "g0.save('gik_R_in_M1_1.pdf', figsize=5)\n", "show(g0, figsize=5)" ] }, { "cell_type": "code", "execution_count": 18, "metadata": {}, "outputs": [ { "data": { "text/html": [ "" ], "text/latex": [ "\\begin{math}\n", "\\newcommand{\\Bold}[1]{\\mathbf{#1}}\\left(0.863157894736842, 18.0416251154201\\right)\n", "\\end{math}" ], "text/plain": [ "(0.863157894736842, 18.0416251154201)" ] }, "execution_count": 18, "metadata": {}, "output_type": "execute_result" } ], "source": [ "r0 = 2.2\n", "L0 = lsph(a0, r0)\n", "Q0 = qsph(a0, r0)\n", "L0, Q0" ] }, { "cell_type": "code", "execution_count": 19, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "Graphics object consisting of 8 graphics primitives" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "g1 = plot(R(a0, L0, Q0, r), (r, rH0, xmax), color='red', thickness=2, \n", " axes_labels=[r'$r/m$', None],\n", " frame=True, gridlines=True)\n", "g1 += line([(rH0, ymin), (rH0, ymax)], color='black', thickness=2)\n", "g1 += line([(xmin, -0.4), (1.1*xmax, -0.4)], color='lightgreen', thickness=3)\n", "g1 += point((r0, 0), size=60, color='red', zorder=100)\n", "g1 += text(r'$r_0$', (r0, -2.8), color='red', fontsize=16)\n", "g1 += text(r'$\\ell = {:.3}\\, m$'.format(float(L0)), (1.9, 35), fontsize=16, \n", " color='red', background_color='white')\n", "g1 += text(r'$q = {:.4}\\, m^2$'.format(float(Q0)), (1.92, 28.5), fontsize=16, \n", " color='red', background_color='white')\n", "g1 += polygon([(0.9*xmin, ymin), (rH0, ymin), (rH0, ymax), (0.9*xmin, ymax)], \n", " color='lightgrey')\n", "g1.set_aspect_ratio(0.04)\n", "g1.set_axes_range(xmin=xmin, xmax=xmax, ymin=ymin, ymax=ymax)\n", "g1.save('gik_R_in_M1_2.pdf', figsize=5)\n", "show(g1, figsize=5)" ] }, { "cell_type": "code", "execution_count": 20, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "Graphics object consisting of 11 graphics primitives" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "L = 1\n", "Q = 20\n", "r1 = find_root(R(a0, L, Q, r), rH0, r0)\n", "r2 = find_root(R(a0, L, Q, r), r0, 4)\n", "g2 = plot(R(a0, L, Q, r), (r, xmin, xmax), color='red', thickness=2, \n", " axes_labels=[r'$r/m$', None],\n", " frame=True, gridlines=True)\n", "g2 += line([(rH0, ymin), (rH0, ymax)], color='black', thickness=2)\n", "g2 += line([(xmin, -0.4), (r1, -0.4)], color='lightgreen', thickness=3)\n", "g2 += line([(r2, -0.4), (1.1*xmax, -0.4)], color='lightgreen', thickness=3)\n", "g2 += point((r1, 0), size=60, color='red', zorder=100)\n", "g2 += text(r'$r_1$', (r1, -2.8), color='red', fontsize=16)\n", "g2 += point((r2, 0), size=60, color='red', zorder=100)\n", "g2 += text(r'$r_2$', (1.02*r2, -2.8), color='red', fontsize=16)\n", "g2 += text(r'$\\ell = m$', (1.7, 35), fontsize=16, color='red',\n", " background_color='white')\n", "g2 += text(r'$q = 20\\, m^2$', (1.85, 28.5), fontsize=16, color='red',\n", " background_color='white')\n", "g2 += polygon([(0.9*xmin, ymin), (rH0, ymin), (rH0, ymax), (0.9*xmin, ymax)], \n", " color='lightgrey')\n", "g2.set_aspect_ratio(0.04)\n", "g2.set_axes_range(xmin=xmin, xmax=xmax, ymin=ymin, ymax=ymax)\n", "g2.save('gik_R_in_M1_3.pdf', figsize=5)\n", "show(g2, figsize=5)" ] }, { "cell_type": "code", "execution_count": 21, "metadata": {}, "outputs": [ { "data": { "text/html": [ "" ], "text/latex": [ "\\begin{math}\n", "\\newcommand{\\Bold}[1]{\\mathbf{#1}}\\left(2.76263136825246, 8, 2.722847233324403\\right)\n", "\\end{math}" ], "text/plain": [ "(2.76263136825246, 8, 2.722847233324403)" ] }, "execution_count": 21, "metadata": {}, "output_type": "execute_result" } ], "source": [ "L = 2*rH0/a0\n", "Q = 8\n", "r2 = find_root(R(a0, L, Q, r), r0, 8)\n", "L, Q, r2" ] }, { "cell_type": "code", "execution_count": 22, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "Graphics object consisting of 9 graphics primitives" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "g3 = plot(R(a0, L, Q, r), (r, xmin, xmax), color='red', thickness=2, \n", " axes_labels=[r'$r/m$', None],\n", " frame=True, gridlines=True)\n", "g3 += line([(rH0, ymin), (rH0, ymax)], color='black', thickness=2)\n", "g3 += line([(xmin, -0.4), (rH0, -0.4)], color='lightgreen', thickness=3)\n", "g3 += line([(r2, -0.4), (1.1*xmax, -0.4)], color='lightgreen', thickness=3)\n", "g3 += point((r2, 0), size=60, color='red', zorder=100)\n", "g3 += text(r'$r_0$', (1.02*r2, -2.8), color='red', fontsize=16)\n", "g3 += text(r'$\\ell = 2mr_+/a$', (2, 35), fontsize=16, \n", " color='red', background_color='white')\n", "g3 += text(r'$q = 8 \\, m^2$', (1.8, 28), fontsize=16, \n", " color='red', background_color='white')\n", "g3 += polygon([(0.9*xmin, ymin), (rH0, ymin), (rH0, ymax), (0.9*xmin, ymax)], \n", " color='lightgrey')\n", "g3.set_aspect_ratio(0.04)\n", "g3.set_axes_range(xmin=xmin, xmax=xmax, ymin=ymin, ymax=ymax)\n", "g3.save('gik_R_in_M1_4.pdf', figsize=5)\n", "show(g3, figsize=5)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Critical null geodesic" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Parameters of a spherical photon orbit at $r_0 = 2.2m$:" ] }, { "cell_type": "code", "execution_count": 23, "metadata": {}, "outputs": [ { "data": { "text/html": [ "" ], "text/latex": [ "\\begin{math}\n", "\\newcommand{\\Bold}[1]{\\mathbf{#1}}\\left(0.863157894736842, 18.0416251154201\\right)\n", "\\end{math}" ], "text/plain": [ "(0.863157894736842, 18.0416251154201)" ] }, "execution_count": 23, "metadata": {}, "output_type": "execute_result" } ], "source": [ "r0 = 2.2\n", "L0 = lsph(a0, r0)\n", "Q0 = qsph(a0, r0)\n", "L0, Q0" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Chosen parameters for the geodesic:" ] }, { "cell_type": "code", "execution_count": 24, "metadata": {}, "outputs": [ { "data": { "text/html": [ "" ], "text/latex": [ "\\begin{math}\n", "\\newcommand{\\Bold}[1]{\\mathbf{#1}}\\left(0.863157894736842, 18.0416251154201\\right)\n", "\\end{math}" ], "text/plain": [ "(0.863157894736842, 18.0416251154201)" ] }, "execution_count": 24, "metadata": {}, "output_type": "execute_result" } ], "source": [ "L = L0\n", "Q = Q0\n", "L, Q" ] }, { "cell_type": "code", "execution_count": 25, "metadata": {}, "outputs": [ { "data": { "text/html": [ "" ], "text/latex": [ "\\begin{math}\n", "\\newcommand{\\Bold}[1]{\\mathbf{#1}}0.195946218453965\n", "\\end{math}" ], "text/plain": [ "0.195946218453965" ] }, "execution_count": 25, "metadata": {}, "output_type": "execute_result" } ], "source": [ "theta0(a0, L, Q)" ] }, { "cell_type": "code", "execution_count": 26, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Point P on the Kerr spacetime M\n" ] } ], "source": [ "r_init = 40\n", "P = M.point((0, r_init, pi/2, 0), name='P')\n", "print(P)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "A geodesic is constructed by providing the range $[\\lambda_{\\rm min},\\lambda_{\\rm max}]$ of the affine parameter $\\lambda$, the initial point and either \n", " - (i) the Boyer-Lindquist components $(p^t_0, p^r_0, p^\\theta_0, p^\\phi_0)$ of the initial 4-momentum vector\n", " $p_0 = \\left. \\frac{\\mathrm{d}x}{\\mathrm{d}\\lambda}\\right| _{\\lambda_{\\rm min}}$,\n", " - (ii) the four integral of motions $(\\mu, E, L, Q)$\n", " - or (iii) some of the components of $p_0$ along with with some integrals of motion. " ] }, { "cell_type": "code", "execution_count": 27, "metadata": {}, "outputs": [], "source": [ "lmax = 80 # lambda_max" ] }, { "cell_type": "code", "execution_count": 28, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Initial tangent vector: \n" ] }, { "data": { "text/html": [ "" ], "text/latex": [ "\\begin{math}\n", "\\newcommand{\\Bold}[1]{\\mathbf{#1}}p = 1.05260305969646 \\frac{\\partial}{\\partial t } -0.994675862738240 \\frac{\\partial}{\\partial r } + 0.00265471463828243 \\frac{\\partial}{\\partial {\\theta} } + 0.000570385018106026 \\frac{\\partial}{\\partial {\\phi} }\n", "\\end{math}" ], "text/plain": [ "p = 1.05260305969646 d/dt - 0.994675862738240 d/dr + 0.00265471463828243 d/dth + 0.000570385018106026 d/dph" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "The curve was correctly set.\n", "Parameters appearing in the differential system defining the curve are [a].\n" ] } ], "source": [ "Li = M.geodesic([0, lmax], P, mu=0, E=1, L=L, Q=Q, r_increase=False,\n", " a_num=a0, name='Li', latex_name=r'\\mathcal{L}', verbose=True)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The numerical integration of the geodesic equation is performed via `integrate()`, by providing the integration step $\\delta\\lambda$:" ] }, { "cell_type": "code", "execution_count": 29, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "
quantityvalueinitial valuediff.relative diff.
\n", "
" ], "text/plain": [ " quantity value initial value diff. relative diff.\n", " $\\mu^2$ 5.5489446371126405e-11 9.63819732439355e-17 5.549e-11 575700.\n", " $E$ 1.00000000000175 1.00000000000000 1.753e-12 1.753e-12\n", " $L$ 0.863157894707995 0.863157894736842 -2.885e-11 -3.342e-11\n", " $Q$ 18.0416251154211 18.0416251154201 9.415e-13 5.218e-14" ] }, "execution_count": 29, "metadata": {}, "output_type": "execute_result" } ], "source": [ "Li.integrate(step=0.0005, method='dopri5')\n", "#Li.integrate(step=0.001)\n", "Li.check_integrals_of_motion(0.999*lmax)" ] }, { "cell_type": "code", "execution_count": 30, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Final point: \n" ] }, { "data": { "text/html": [ "" ], "text/latex": [ "\\begin{math}\n", "\\newcommand{\\Bold}[1]{\\mathbf{#1}}\\left(t, r, {\\theta}, {\\phi}\\right) \\verb|=| \\left(206.66703023467483, 2.2000863112656326, 1.9511762444244498, 53.094380043176905\\right)\n", "\\end{math}" ], "text/plain": [ "(t, r, th, ph) '=' (206.66703023467483,\n", " 2.2000863112656326,\n", " 1.9511762444244498,\n", " 53.094380043176905)" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "print(\"Final point: \")\n", "show(BL[:], \"=\", BL(Li(0.999*lmax)))" ] }, { "cell_type": "code", "execution_count": 31, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "max lambda (plot): 80\n" ] }, { "data": { "text/html": [ "\n", "\n" ], "text/plain": [ "Graphics3d Object" ] }, "execution_count": 31, "metadata": {}, "output_type": "execute_result" } ], "source": [ "lplot = lmax\n", "print(\"max lambda (plot): \", lplot)\n", "graph1 = Li.plot(prange=(30, lplot), plot_points=2000, thickness=4, color='green',\n", " display_tangent=True, scale=0.1, width_tangent=10, color_tangent='green', \n", " plot_points_tangent=12, horizon_color='lightgrey') \\\n", " + line([(0,0,-3), (0,0,3)], color='black', thickness=2)\n", "graph1" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Escaping null geodesic close to the critical one" ] }, { "cell_type": "code", "execution_count": 32, "metadata": {}, "outputs": [ { "data": { "text/html": [ "" ], "text/latex": [ "\\begin{math}\n", "\\newcommand{\\Bold}[1]{\\mathbf{#1}}\\left(0.863244210526316, 18.0416251154201\\right)\n", "\\end{math}" ], "text/plain": [ "(0.863244210526316, 18.0416251154201)" ] }, "execution_count": 32, "metadata": {}, "output_type": "execute_result" } ], "source": [ "L = 1.0001*L0\n", "Q = Q0\n", "L, Q" ] }, { "cell_type": "code", "execution_count": 33, "metadata": {}, "outputs": [ { "data": { "text/html": [ "" ], "text/latex": [ "\\begin{math}\n", "\\newcommand{\\Bold}[1]{\\mathbf{#1}}0.195965348586193\n", "\\end{math}" ], "text/plain": [ "0.195965348586193" ] }, "execution_count": 33, "metadata": {}, "output_type": "execute_result" } ], "source": [ "theta0(a0, L, Q)" ] }, { "cell_type": "code", "execution_count": 34, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Initial tangent vector: \n" ] }, { "data": { "text/html": [ "" ], "text/latex": [ "\\begin{math}\n", "\\newcommand{\\Bold}[1]{\\mathbf{#1}}p = 1.05260305700070 \\frac{\\partial}{\\partial t } -0.994675815686174 \\frac{\\partial}{\\partial r } + 0.00265471463828243 \\frac{\\partial}{\\partial {\\theta} } + 0.000570438933462204 \\frac{\\partial}{\\partial {\\phi} }\n", "\\end{math}" ], "text/plain": [ "p = 1.05260305700070 d/dt - 0.994675815686174 d/dr + 0.00265471463828243 d/dth + 0.000570438933462204 d/dph" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "The curve was correctly set.\n", "Parameters appearing in the differential system defining the curve are [a].\n" ] } ], "source": [ "r_init = 40\n", "P = M.point((0, r_init, pi/2, 0), name='P')\n", "lmax = 80\n", "Li = M.geodesic([0, lmax], P, mu=0, E=1, L=L, Q=Q, r_increase=False,\n", " a_num=a0, name='Li', latex_name=r'\\mathcal{L}', verbose=True)" ] }, { "cell_type": "code", "execution_count": 35, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "
quantityvalueinitial valuediff.relative diff.
\n", "
" ], "text/plain": [ " quantity value initial value diff. relative diff.\n", " $\\mu^2$ 1.025637285875531e-11 -3.09330767804436e-16 1.026e-11 -33160.\n", " $E$ 1.00000000000364 1.00000000000000 3.642e-12 3.642e-12\n", " $L$ 0.863244210476886 0.863244210526316 -4.943e-11 -5.726e-11\n", " $Q$ 18.0416251151441 18.0416251154201 -2.760e-10 -1.530e-11" ] }, "execution_count": 35, "metadata": {}, "output_type": "execute_result" } ], "source": [ "Li.integrate(step=0.001, method='dopri5')\n", "Li.check_integrals_of_motion(0.999*lmax)" ] }, { "cell_type": "code", "execution_count": 36, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Final point: \n" ] }, { "data": { "text/html": [ "" ], "text/latex": [ "\\begin{math}\n", "\\newcommand{\\Bold}[1]{\\mathbf{#1}}\\left(t, r, {\\theta}, {\\phi}\\right) \\verb|=| \\left(142.73493888601888, 22.257873149906203, 0.49847494769804584, 23.336351331857166\\right)\n", "\\end{math}" ], "text/plain": [ "(t, r, th, ph) '=' (142.73493888601888,\n", " 22.257873149906203,\n", " 0.49847494769804584,\n", " 23.336351331857166)" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "print(\"Final point: \")\n", "show(BL[:], \"=\", BL(Li(0.999*lmax)))" ] }, { "cell_type": "code", "execution_count": 37, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "max lambda (plot): 64.0000000000000\n" ] }, { "data": { "text/html": [ "\n", "\n" ], "text/plain": [ "Graphics3d Object" ] }, "execution_count": 37, "metadata": {}, "output_type": "execute_result" } ], "source": [ "lplot = 0.8*lmax\n", "print(\"max lambda (plot): \", lplot)\n", "graph2 = Li.plot(prange=(30, lplot), plot_points=2000, thickness=4, color='green',\n", " display_tangent=True, scale=0.2, width_tangent=10, color_tangent='green', \n", " plot_points_tangent=12, horizon_color='lightgrey') \\\n", " + line([(0,0,-3), (0,0,3)], color='black', thickness=2)\n", "graph2" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Trapped null geodesic close to the critical one" ] }, { "cell_type": "code", "execution_count": 38, "metadata": {}, "outputs": [ { "data": { "text/html": [ "" ], "text/latex": [ "\\begin{math}\n", "\\newcommand{\\Bold}[1]{\\mathbf{#1}}\\left(0.863071578947368, 18.0416251154201\\right)\n", "\\end{math}" ], "text/plain": [ "(0.863071578947368, 18.0416251154201)" ] }, "execution_count": 38, "metadata": {}, "output_type": "execute_result" } ], "source": [ "L = 0.9999*L0\n", "Q = Q0\n", "L, Q" ] }, { "cell_type": "code", "execution_count": 39, "metadata": {}, "outputs": [ { "data": { "text/html": [ "" ], "text/latex": [ "\\begin{math}\n", "\\newcommand{\\Bold}[1]{\\mathbf{#1}}0.195927088185978\n", "\\end{math}" ], "text/plain": [ "0.195927088185978" ] }, "execution_count": 39, "metadata": {}, "output_type": "execute_result" } ], "source": [ "theta0(a0, L, Q)" ] }, { "cell_type": "code", "execution_count": 40, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Initial tangent vector: \n" ] }, { "data": { "text/html": [ "" ], "text/latex": [ "\\begin{math}\n", "\\newcommand{\\Bold}[1]{\\mathbf{#1}}p = 1.05260306239223 \\frac{\\partial}{\\partial t } -0.994675909785857 \\frac{\\partial}{\\partial r } + 0.00265471463828243 \\frac{\\partial}{\\partial {\\theta} } + 0.000570331102749847 \\frac{\\partial}{\\partial {\\phi} }\n", "\\end{math}" ], "text/plain": [ "p = 1.05260306239223 d/dt - 0.994675909785857 d/dr + 0.00265471463828243 d/dth + 0.000570331102749847 d/dph" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "The curve was correctly set.\n", "Parameters appearing in the differential system defining the curve are [a].\n" ] } ], "source": [ "r_init = 40\n", "P = M.point((0, r_init, pi/2, 0), name='P')\n", "lmax = 56.81\n", "Li = M.geodesic([0, lmax], P, mu=0, E=1, L=L, Q=Q, r_increase=False,\n", " a_num=a0, name='Li', latex_name=r'\\mathcal{L}', verbose=True)" ] }, { "cell_type": "code", "execution_count": 41, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "/home/eric/sage/9.2/local/lib/python3.8/site-packages/scipy/integrate/_ode.py:1179: UserWarning: dopri5: larger nsteps is needed\n", " warnings.warn('{:s}: {:s}'.format(self.__class__.__name__,\n" ] }, { "data": { "text/html": [ "
\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "
quantityvalueinitial valuediff.relative diff.
\n", "
" ], "text/plain": [ " quantity value initial value diff. relative diff.\n", " $\\mu^2$ -4.337468669474154e-05 -5.93883810198433e-16 -0.00004337 7.304e10\n", " $E$ 0.999999456010045 1.00000000000000 -5.440e-7 -5.440e-7\n", " $L$ 0.863070412193196 0.863071578947368 -1.167e-6 -1.352e-6\n", " $Q$ 18.0416215059245 18.0416251154201 -3.610e-6 -2.001e-7" ] }, "execution_count": 41, "metadata": {}, "output_type": "execute_result" } ], "source": [ "Li.integrate(step=0.0005, method='dopri5')\n", "Li.check_integrals_of_motion(0.999*lmax)" ] }, { "cell_type": "code", "execution_count": 42, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Final point: \n" ] }, { "data": { "text/html": [ "" ], "text/latex": [ "\\begin{math}\n", "\\newcommand{\\Bold}[1]{\\mathbf{#1}}\\left(t, r, {\\theta}, {\\phi}\\right) \\verb|=| \\left(128.57773967099268, 1.3375219985463933, 1.267137358002562, 28.267159612791097\\right)\n", "\\end{math}" ], "text/plain": [ "(t, r, th, ph) '=' (128.57773967099268, 1.3375219985463933, 1.267137358002562, 28.267159612791097)" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "print(\"Final point: \")\n", "show(BL[:], \"=\", BL(Li(0.999*lmax)))" ] }, { "cell_type": "code", "execution_count": 43, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "max lambda (plot): 56.8100000000000\n" ] }, { "data": { "text/html": [ "\n", "\n" ], "text/plain": [ "Graphics3d Object" ] }, "execution_count": 43, "metadata": {}, "output_type": "execute_result" } ], "source": [ "lplot = lmax\n", "print(\"max lambda (plot): \", lplot)\n", "graph3 = Li.plot(prange=(30, lplot), plot_points=2000, thickness=4, color='orange',\n", " plot_horizon=False) \n", "graph2 + graph3" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] } ], "metadata": { "kernelspec": { "display_name": "SageMath 9.2", "language": "sage", "name": "sagemath" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.8.5" } }, "nbformat": 4, "nbformat_minor": 2 }