{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Spherical 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://luth.obspm.fr/~luthier/gourgoulhon/bh16/).\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": [ "## Spherical photon orbits" ] }, { "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": [ "### Spherical photon orbit at $r_0 = 3 m$ ($q = q_{\\rm max} = 27 m^2$)" ] }, { "cell_type": "code", "execution_count": 15, "metadata": {}, "outputs": [ { "data": { "text/html": [ "" ], "text/latex": [ "\\begin{math}\n", "\\newcommand{\\Bold}[1]{\\mathbf{#1}}\\left(-1.90000000000000, 27.0000000000000\\right)\n", "\\end{math}" ], "text/plain": [ "(-1.90000000000000, 27.0000000000000)" ] }, "execution_count": 15, "metadata": {}, "output_type": "execute_result" } ], "source": [ "r0 = 3.\n", "E = 1\n", "L = lsph(a0, r0)\n", "Q = qsph(a0, r0)\n", "L, Q" ] }, { "cell_type": "code", "execution_count": 16, "metadata": {}, "outputs": [ { "data": { "text/html": [ "" ], "text/latex": [ "\\begin{math}\n", "\\newcommand{\\Bold}[1]{\\mathbf{#1}}0.345877348029357\n", "\\end{math}" ], "text/plain": [ "0.345877348029357" ] }, "execution_count": 16, "metadata": {}, "output_type": "execute_result" } ], "source": [ "theta0(a0, L, Q)" ] }, { "cell_type": "code", "execution_count": 17, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Point P on the Kerr spacetime M\n" ] } ], "source": [ "P = M.point((0, r0, 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": 18, "metadata": {}, "outputs": [], "source": [ "lmax = 100 # lambda_max" ] }, { "cell_type": "code", "execution_count": 19, "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 = 3.00000000000000 \\frac{\\partial}{\\partial t } + \\left( 9.36596633575423 \\times 10^{-9} \\right) \\frac{\\partial}{\\partial r } + 0.577350269189626 \\frac{\\partial}{\\partial {\\theta} }\n", "\\end{math}" ], "text/plain": [ "p = 3.00000000000000 d/dt + (9.36596633575423e-9) d/dr + 0.577350269189626 d/dth" ] }, "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=E, L=L, Q=Q, a_num=a0,\n", " name='Li', latex_name=r'\\mathcal{L}', verbose=True)" ] }, { "cell_type": "code", "execution_count": 20, "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 = 3.00000000000000 \\frac{\\partial}{\\partial t } + 0.577350269189626 \\frac{\\partial}{\\partial {\\theta} }\n", "\\end{math}" ], "text/plain": [ "p = 3.00000000000000 d/dt + 0.577350269189626 d/dth" ] }, "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": [ "v0 = Li.initial_tangent_vector()\n", "Li = M.geodesic([0, lmax], P, pt0=v0[0], pr0=0, pth0=v0[2], pph0=v0[3],\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": 21, "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.1443998526594612e-11 -0.0 1.144e-11 -\n", " $E$ 1.00000000000222 1.00000000000000 2.215e-12 2.215e-12\n", " $L$ -1.89999999999583 -1.90000000000000 4.173e-12 -2.196e-12\n", " $Q$ 27.0000000000166 27.0000000000000 1.663e-11 6.159e-13" ] }, "execution_count": 21, "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": 22, "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(291.1717434701057, 3.0, 2.144493861874287, -39.55667803565552\\right)\n", "\\end{math}" ], "text/plain": [ "(t, r, th, ph) '=' (291.1717434701057, 3.0, 2.144493861874287, -39.55667803565552)" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "print(\"Final point: \")\n", "show(BL[:], \"=\", BL(Li(0.999*lmax)))" ] }, { "cell_type": "code", "execution_count": 23, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "max lambda (plot): 32.0000000000000\n" ] }, { "data": { "text/html": [ "\n", "\n" ], "text/plain": [ "Graphics3d Object" ] }, "execution_count": 23, "metadata": {}, "output_type": "execute_result" } ], "source": [ "lplot = 0.32*lmax\n", "print(\"max lambda (plot): \", lplot)\n", "Li.plot(prange=(0, lplot), plot_points=2000, thickness=3, color='green',\n", " display_tangent=True, scale=0.15, width_tangent=2, color_tangent='green', \n", " plot_points_tangent=20, horizon_color='lightgrey') \\\n", " + line([(0,0,-3), (0,0,3)], color='black', thickness=2)" ] }, { "cell_type": "code", "execution_count": 24, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "Graphics object consisting of 22 graphics primitives" ] }, "execution_count": 24, "metadata": {}, "output_type": "execute_result" } ], "source": [ "graph = Li.plot(coordinates='xy', prange=(0, lplot), plot_points=2000, \n", " thickness=3, color='green', display_tangent=True, scale=0.15, \n", " width_tangent=2, color_tangent='green', plot_points_tangent=20, \n", " horizon_color='lightgrey', axes_labels=[r'$x/m$', r'$y/m$'])\n", "graph.save(\"gik_spher_3d_r_30_xy.pdf\")\n", "graph" ] }, { "cell_type": "code", "execution_count": 25, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "Graphics object consisting of 22 graphics primitives" ] }, "execution_count": 25, "metadata": {}, "output_type": "execute_result" } ], "source": [ "Li.plot(coordinates='xz', prange=(0, lplot), plot_points=2000, \n", " thickness=3, color='green', display_tangent=True, scale=0.15, \n", " width_tangent=2, color_tangent='green', plot_points_tangent=20, \n", " horizon_color='lightgrey', axes_labels=[r'$x/m$', r'$z/m$'])" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Prograde spherical photon orbit at $r_0 = 1.6m$" ] }, { "cell_type": "code", "execution_count": 26, "metadata": {}, "outputs": [ { "data": { "text/html": [ "" ], "text/latex": [ "\\begin{math}\n", "\\newcommand{\\Bold}[1]{\\mathbf{#1}}\\left(2.17105263157895, 5.97569713758080\\right)\n", "\\end{math}" ], "text/plain": [ "(2.17105263157895, 5.97569713758080)" ] }, "execution_count": 26, "metadata": {}, "output_type": "execute_result" } ], "source": [ "r0 = 1.6\n", "L = lsph(a0, r0)\n", "Q = qsph(a0, r0)\n", "L, Q" ] }, { "cell_type": "code", "execution_count": 27, "metadata": {}, "outputs": [ { "data": { "text/html": [ "" ], "text/latex": [ "\\begin{math}\n", "\\newcommand{\\Bold}[1]{\\mathbf{#1}}0.705442812649839\n", "\\end{math}" ], "text/plain": [ "0.705442812649839" ] }, "execution_count": 27, "metadata": {}, "output_type": "execute_result" } ], "source": [ "theta0(a0, L, Q)" ] }, { "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 = 7.66666666666666 \\frac{\\partial}{\\partial t } + \\left( 1.74608999691187 \\times 10^{-24} + 2.85158136717879 \\times 10^{-8}i \\right) \\frac{\\partial}{\\partial r } + 0.954892151626195 \\frac{\\partial}{\\partial {\\theta} } + 2.45614035087719 \\frac{\\partial}{\\partial {\\phi} }\n", "\\end{math}" ], "text/plain": [ "p = 7.66666666666666 d/dt + (1.74608999691187e-24 + 2.85158136717879e-8*I) d/dr + 0.954892151626195 d/dth + 2.45614035087719 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": [ "P = M.point((0, r0, pi/2, 0), name='P')\n", "lmax = 70\n", "Li = M.geodesic([0, lmax], P, mu=0, E=E, L=L, Q=Q, a_num=a0,\n", " name='Li', latex_name=r'\\mathcal{L}', verbose=True)" ] }, { "cell_type": "code", "execution_count": 29, "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 = 7.66666666666666 \\frac{\\partial}{\\partial t } + 0.954892151626195 \\frac{\\partial}{\\partial {\\theta} } + 2.45614035087719 \\frac{\\partial}{\\partial {\\phi} }\n", "\\end{math}" ], "text/plain": [ "p = 7.66666666666666 d/dt + 0.954892151626195 d/dth + 2.45614035087719 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": [ "v0 = Li.initial_tangent_vector()\n", "Li = M.geodesic([0, lmax], P, pt0=v0[0], pr0=0, pth0=v0[2], pph0=v0[3],\n", " a_num=a0, name='Li', latex_name=r'\\mathcal{L}', verbose=True)" ] }, { "cell_type": "code", "execution_count": 30, "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.6876999797688086e-11 -3.552713678800501e-15 -1.687e-11 4750.\n", " $E$ 0.999999999991714 1.00000000000000 -8.286e-12 -8.286e-12\n", " $L$ 2.17105263156127 2.17105263157895 -1.768e-11 -8.144e-12\n", " $Q$ 5.97569713752106 5.97569713758080 -5.974e-11 -9.996e-12" ] }, "execution_count": 30, "metadata": {}, "output_type": "execute_result" } ], "source": [ "Li.integrate(step=0.0004, method='dopri5')\n", "Li.check_integrals_of_motion(0.999*lmax)" ] }, { "cell_type": "code", "execution_count": 31, "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(492.9599102672748, 1.599974600261711, 0.8276182451833887, 185.0198306183178\\right)\n", "\\end{math}" ], "text/plain": [ "(t, r, th, ph) '=' (492.9599102672748, 1.599974600261711, 0.8276182451833887, 185.0198306183178)" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "print(\"Final point: \")\n", "show(BL[:], \"=\", BL(Li(0.999*lmax)))" ] }, { "cell_type": "code", "execution_count": 32, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "max lambda (plot): 7.70000000000000\n" ] }, { "data": { "text/html": [ "\n", "\n" ], "text/plain": [ "Graphics3d Object" ] }, "execution_count": 32, "metadata": {}, "output_type": "execute_result" } ], "source": [ "lplot = 0.11*lmax\n", "print(\"max lambda (plot): \", lplot)\n", "Li.plot(prange=(0, lplot), plot_points=2000, thickness=3, color='green',\n", " display_tangent=True, scale=0.03, width_tangent=1, color_tangent='green', \n", " plot_points_tangent=20, horizon_color='lightgrey') \\\n", " + line([(0,0,-1.5), (0,0,1.5)], color='black', thickness=2)" ] }, { "cell_type": "code", "execution_count": 33, "metadata": {}, "outputs": [ { "data": { "text/html": [ "\n", "\n" ], "text/plain": [ "Graphics3d Object" ] }, "execution_count": 33, "metadata": {}, "output_type": "execute_result" } ], "source": [ "Li.plot(prange=(0, lmax), plot_points=2000, thickness=3, color='green',\n", " display_tangent=True, scale=0.03, width_tangent=1, color_tangent='green', \n", " plot_points_tangent=40, horizon_color='lightgrey') \\\n", " + line([(0,0,-1.5), (0,0,1.5)], color='black', thickness=2)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Spherical photon orbit at $r_0=2.8m$" ] }, { "cell_type": "code", "execution_count": 34, "metadata": {}, "outputs": [ { "data": { "text/html": [ "" ], "text/latex": [ "\\begin{math}\n", "\\newcommand{\\Bold}[1]{\\mathbf{#1}}\\left(-1.08859649122807, 26.2604206422489\\right)\n", "\\end{math}" ], "text/plain": [ "(-1.08859649122807, 26.2604206422489)" ] }, "execution_count": 34, "metadata": {}, "output_type": "execute_result" } ], "source": [ "r0 = 2.8\n", "L = lsph(a0, r0)\n", "Q = qsph(a0, r0)\n", "L, Q" ] }, { "cell_type": "code", "execution_count": 35, "metadata": {}, "outputs": [ { "data": { "text/html": [ "" ], "text/latex": [ "\\begin{math}\n", "\\newcommand{\\Bold}[1]{\\mathbf{#1}}0.206050206829550\n", "\\end{math}" ], "text/plain": [ "0.206050206829550" ] }, "execution_count": 35, "metadata": {}, "output_type": "execute_result" } ], "source": [ "theta0(a0, L, Q)" ] }, { "cell_type": "code", "execution_count": 36, "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 = 3.22222222222222 \\frac{\\partial}{\\partial t } + \\left( 4.65527024480212 \\times 10^{-25} + 7.60263326216718 \\times 10^{-9}i \\right) \\frac{\\partial}{\\partial r } + 0.653634213345212 \\frac{\\partial}{\\partial {\\theta} } + 0.116959064327486 \\frac{\\partial}{\\partial {\\phi} }\n", "\\end{math}" ], "text/plain": [ "p = 3.22222222222222 d/dt + (4.65527024480212e-25 + 7.60263326216718e-9*I) d/dr + 0.653634213345212 d/dth + 0.116959064327486 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": [ "P = M.point((0, r0, pi/2, 0), name='P')\n", "lmax = 100\n", "Li = M.geodesic([0, lmax], P, mu=0, E=E, L=L, Q=Q, a_num=a0,\n", " name='Li', latex_name=r'\\mathcal{L}', verbose=True)" ] }, { "cell_type": "code", "execution_count": 37, "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 = 3.22222222222222 \\frac{\\partial}{\\partial t } + 0.653634213345212 \\frac{\\partial}{\\partial {\\theta} } + 0.116959064327486 \\frac{\\partial}{\\partial {\\phi} }\n", "\\end{math}" ], "text/plain": [ "p = 3.22222222222222 d/dt + 0.653634213345212 d/dth + 0.116959064327486 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": [ "v0 = Li.initial_tangent_vector()\n", "Li = M.geodesic([0, lmax], P, pt0=v0[0], pr0=0, pth0=v0[2], pph0=v0[3],\n", " a_num=a0, name='Li', latex_name=r'\\mathcal{L}', verbose=True)" ] }, { "cell_type": "code", "execution_count": 38, "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$ 6.619788051054343e-12 2.536165721878092e-15 6.617e-12 2609.\n", " $E$ 1.00000000000134 1.00000000000000 1.337e-12 1.337e-12\n", " $L$ -1.08859649122876 -1.08859649122807 -6.950e-13 6.384e-13\n", " $Q$ 26.2604206422658 26.2604206422489 1.695e-11 6.453e-13" ] }, "execution_count": 38, "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": 39, "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(310.4228769082733, 2.8, 2.462502125969338, -39.07005458983995\\right)\n", "\\end{math}" ], "text/plain": [ "(t, r, th, ph) '=' (310.4228769082733, 2.8, 2.462502125969338, -39.07005458983995)" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "print(\"Final point: \")\n", "show(BL[:], \"=\", BL(Li(0.999*lmax)))" ] }, { "cell_type": "code", "execution_count": 40, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "max lambda (plot): 38.0000000000000\n" ] }, { "data": { "text/html": [ "\n", "