{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "\n", "\n", "\n", "# NRPy+'s Reference Metric Interface\n", "\n", "## Author: Zach Etienne\n", "### Formatting improvements courtesy Brandon Clark\n", "\n", "### NRPy+ Source Code for this module: [reference_metric.py](../edit/reference_metric.py)\n", "\n", "## Introduction:\n", "### Why use a reference metric? Benefits of choosing the best coordinate system for the problem\n", "\n", "When solving a partial differential equation on the computer, it is useful to first pick a coordinate system well-suited to the geometry of the problem. For example, if we are modeling a spherically-symmetric star, it would be hugely wasteful to model the star in 3-dimensional Cartesian coordinates ($x$,$y$,$z$). This is because in Cartesian coordinates, we would need to choose high sampling in all three Cartesian directions. If instead we chose to model the star in spherical coordinates ($r$,$\\theta$,$\\phi$), so long as the star is centered at $r=0$, we would not need to model the star with more than one point in the $\\theta$ and $\\phi$ directions!\n", "\n", "A similar argument holds for stars that are *nearly* spherically symmetric. Such stars may exhibit density distributions that vary slowly in $\\theta$ and $\\phi$ directions (e.g., isolated neutron stars or black holes). In these cases the number of points needed to sample the angular directions will still be much smaller than in the radial direction.\n", "\n", "Thus choice of an appropriate reference metric may directly mitigate the [Curse of Dimensionality](https://en.wikipedia.org/wiki/Curse_of_dimensionality)." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "\n", "\n", "# Table of Contents\n", "$$\\label{toc}$$\n", "\n", "This notebook is organized as follow\n", "\n", "1. [Step 1](#define_ref_metric): Defining a reference metric, [`reference_metric.py`](../edit/reference_metric.py)\n", "1. [Step 2](#define_geometric): Defining geometric quantities, **`ref_metric__hatted_quantities()`**\n", "1. [Step 3](#prescribed_ref_metric): Prescribed reference metrics in [`reference_metric.py`](../edit/reference_metric.py)\n", " 1. [Step 3.a](#sphericallike): Spherical-like coordinate systems\n", " 1. [Step 3.a.i](#spherical): **`reference_metric::CoordSystem = \"Spherical\"`**\n", " 1. [Step 3.a.ii](#sinhspherical): **`reference_metric::CoordSystem = \"SinhSpherical\"`**\n", " 1. [Step 3.a.iii](#sinhsphericalv2): **`reference_metric::CoordSystem = \"SinhSphericalv2\"`**\n", " 1. [Step 3.b](#cylindricallike): Cylindrical-like coordinate systems\n", " 1. [Step 3.b.i](#cylindrical): **`reference_metric::CoordSystem = \"Cylindrical\"`**\n", " 1. [Step 3.b.ii](#sinhcylindrical): **`reference_metric::CoordSystem = \"SinhCylindrical\"`**\n", " 1. [Step 3.b.iii](#sinhcylindricalv2): **`reference_metric::CoordSystem = \"SinhCylindricalv2\"`**\n", " 1. [Step 3.c](#cartesianlike): Cartesian-like coordinate systems\n", " 1. [Step 3.c.i](#cartesian): **`reference_metric::CoordSystem = \"Cartesian\"`**\n", " 1. [Step 3.c.ii](#sinhcartesian): **`reference_metric::CoordSystem = \"SinhCartesian\"`**\n", " 1. [Step 3.d](#prolatespheroidal): Prolate spheroidal coordinates\n", " 1. [Step 3.d.i](#symtp): **`reference_metric::CoordSystem = \"SymTP\"`**\n", " 1. [Step 3.d.ii](#sinhsymtp): **`reference_metric::CoordSystem = \"SinhSymTP\"`**\n", "1. [Step 4](#latex_pdf_output): Output this notebook to $\\LaTeX$-formatted PDF file" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "\n", "\n", "# Step 1: Defining a reference metric, [`reference_metric.py`](../edit/reference_metric.py) \\[Back to [top](#toc)\\]\n", "$$\\label{define_ref_metric}$$\n", "\n", "***Note that currently only orthogonal reference metrics of dimension 3 or fewer are supported. This can be extended if desired.***\n", "\n", "NRPy+ assumes all curvilinear coordinate systems map directly from a uniform, Cartesian numerical grid with coordinates $(x,y,z)$=(`xx[0]`,`xx[1]`,`xx[2]`). Thus when defining reference metrics, all defined coordinate quantities must be in terms of the `xx[]` array. As we will see, this adds a great deal of flexibility\n", "\n", "For example, [**reference_metric.py**](../edit/reference_metric.py) requires that the *orthogonal coordinate scale factors* be defined. As described [here](https://en.wikipedia.org/wiki/Curvilinear_coordinates), the $i$th scale factor is the positive root of the metric element $g_{ii}$. In ordinary spherical coordinates $(r,\\theta,\\phi)$, with line element $ds^2 = g_{ij} dx^i dx^j = dr^2+ r^2 d \\theta^2 + r^2 \\sin^2\\theta \\ d\\phi^2$, we would first define\n", "* $r = xx_0$\n", "* $\\theta = xx_1$\n", "* $\\phi = xx_2$,\n", "\n", "so that the scale factors are defined as\n", "* `scalefactor_orthog[0]` = $1$\n", "* `scalefactor_orthog[1]` = $r$\n", "* `scalefactor_orthog[2]` = $r \\sin \\theta$\n", "\n", "Here is the corresponding code:" ] }, { "cell_type": "code", "execution_count": 1, "metadata": { "execution": { "iopub.execute_input": "2021-03-07T17:16:06.035711Z", "iopub.status.busy": "2021-03-07T17:16:06.034626Z", "iopub.status.idle": "2021-03-07T17:16:06.361756Z", "shell.execute_reply": "2021-03-07T17:16:06.362260Z" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "r*sin(th) = xx0*sin(xx1)\n" ] } ], "source": [ "import sympy as sp # SymPy: The Python computer algebra package upon which NRPy+ depends\n", "import NRPy_param_funcs as par # NRPy+: parameter interface\n", "import reference_metric as rfm # NRPy+: Reference metric support\n", "\n", "r = rfm.xx[0]\n", "th = rfm.xx[1]\n", "ph = rfm.xx[2]\n", "\n", "rfm.scalefactor_orthog[0] = 1\n", "rfm.scalefactor_orthog[1] = r\n", "rfm.scalefactor_orthog[2] = r*sp.sin(th)\n", "\n", "# Notice that the scale factor will be given\n", "# in terms of the fundamental Cartesian\n", "# grid variables, and not {r,th,ph}:\n", "print(\"r*sin(th) = \"+str(rfm.scalefactor_orthog[2]))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Next suppose we wish to modify our radial coordinate $r(xx_0)$ to be an exponentially increasing function, so that our numerical grid $(xx_0,xx_1,xx_2)$ will map to a spherical grid with radial grid spacing ($\\Delta r$) that *increases* with $r$. Generally we will find it useful to define $r(xx_0)$ to be an odd function, so let's choose\n", "\n", "$$r(xx_0) = a \\sinh(xx_0/s),$$\n", "\n", "where $a$ is an overall radial scaling factor, and $s$ denotes the scale (in units of $xx_0$) over which exponential growth will take place. In our implementation below, note that we use the relation\n", "\n", "$$\\sinh(x) = \\frac{e^x - e^{-x}}{2},$$\n", "\n", "as SymPy finds it easier to evaluate exponentials than hyperbolic trigonometric functions." ] }, { "cell_type": "code", "execution_count": 2, "metadata": { "execution": { "iopub.execute_input": "2021-03-07T17:16:06.371645Z", "iopub.status.busy": "2021-03-07T17:16:06.370644Z", "iopub.status.idle": "2021-03-07T17:16:06.413550Z", "shell.execute_reply": "2021-03-07T17:16:06.412932Z" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "a*(exp(xx0/s) - exp(-xx0/s))*sin(xx1)/2\n" ] } ], "source": [ "a,s = sp.symbols('a s',positive=True)\n", "xx0_rescaled = rfm.xx[0] / s\n", "r = a*(sp.exp(xx0_rescaled) - sp.exp(-xx0_rescaled))/2\n", "\n", "# Must redefine the scalefactors since 'r' has been updated!\n", "rfm.scalefactor_orthog[0] = 1\n", "rfm.scalefactor_orthog[1] = r\n", "rfm.scalefactor_orthog[2] = r*sp.sin(th)\n", "\n", "print(rfm.scalefactor_orthog[2])" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Often we will find it useful to also define the appropriate mappings from (`xx[0]`,`xx[1]`,`xx[2]`) to Cartesian coordinates (for plotting purposes) and ordinary spherical coordinates (e.g., in case initial data when solving a PDE are naturally written in spherical coordinates). For this purpose, reference_metric.py also declares lists **`xx_to_Cart[]`** and **`xxSph[]`**, which in this case are defined as" ] }, { "cell_type": "code", "execution_count": 3, "metadata": { "execution": { "iopub.execute_input": "2021-03-07T17:16:06.530259Z", "iopub.status.busy": "2021-03-07T17:16:06.493102Z", "iopub.status.idle": "2021-03-07T17:16:07.093180Z", "shell.execute_reply": "2021-03-07T17:16:07.093720Z" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ " ⎛xx₀⎞\n", "a⋅sin(xx₁)⋅cos(xx₂)⋅sinh⎜───⎟\n", " ⎝ s ⎠\n" ] } ], "source": [ "rfm.xxSph[0] = r\n", "rfm.xxSph[1] = th\n", "rfm.xxSph[2] = ph\n", "\n", "rfm.xx_to_Cart[0] = r*sp.sin(th)*sp.cos(ph)\n", "rfm.xx_to_Cart[1] = r*sp.sin(th)*sp.sin(ph)\n", "rfm.xx_to_Cart[2] = r*sp.cos(th)\n", "\n", "# Here we show off SymPy's pretty_print()\n", "# and simplify() functions. Nice, no?\n", "sp.pretty_print(sp.simplify(rfm.xx_to_Cart[0]))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "\n", "\n", "# Step 2: Define geometric quantities, `ref_metric__hatted_quantities()` \\[Back to [top](#toc)\\]\n", "$$\\label{define_geometric}$$\n", "\n", "Once `scalefactor_orthog[]` has been defined, the function **`ref_metric__hatted_quantities()`** within [reference_metric.py](../edit/reference_metric.py) can be called to define a number of geometric quantities useful for solving PDEs in curvilinear coordinate systems. \n", "\n", "Adopting the notation of [Baumgarte, Montero, Cordero-Carrión, and Müller, PRD 87, 044026 (2012)](https://arxiv.org/abs/1211.6632), geometric quantities related to the reference metric are named \"hatted\" quantities, . For example, the reference metric is defined as $\\hat{g}_{ij}$=`ghatDD[i][j]`:" ] }, { "cell_type": "code", "execution_count": 4, "metadata": { "execution": { "iopub.execute_input": "2021-03-07T17:16:07.171264Z", "iopub.status.busy": "2021-03-07T17:16:07.136089Z", "iopub.status.idle": "2021-03-07T17:16:07.647245Z", "shell.execute_reply": "2021-03-07T17:16:07.647751Z" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "⎡1 0 0 ⎤\n", "⎢ ⎥\n", "⎢ 2 ⎥\n", "⎢ ⎛ xx₀ -xx₀ ⎞ ⎥\n", "⎢ ⎜ ─── ─────⎟ ⎥\n", "⎢ 2 ⎜ s s ⎟ ⎥\n", "⎢ a ⋅⎝ℯ - ℯ ⎠ ⎥\n", "⎢0 ─────────────────── 0 ⎥\n", "⎢ 4 ⎥\n", "⎢ ⎥\n", "⎢ 2 ⎥\n", "⎢ ⎛ xx₀ -xx₀ ⎞ ⎥\n", "⎢ ⎜ ─── ─────⎟ ⎥\n", "⎢ 2 ⎜ s s ⎟ 2 ⎥\n", "⎢ a ⋅⎝ℯ - ℯ ⎠ ⋅sin (xx₁)⎥\n", "⎢0 0 ─────────────────────────────⎥\n", "⎣ 4 ⎦\n" ] } ], "source": [ "rfm.ref_metric__hatted_quantities()\n", "\n", "sp.pretty_print(sp.Matrix(rfm.ghatDD))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "In addition to $\\hat{g}_{ij}$, **`ref_metric__hatted_quantities()`** also provides:\n", "* The rescaling \"matrix\" `ReDD[i][j]`, used for separating singular (due to chosen coordinate system) pieces of smooth rank-2 tensor components from the smooth parts, so that the smooth parts can be used within temporal and spatial differential operators.\n", "* Inverse reference metric: $\\hat{g}^{ij}$=`ghatUU[i][j]`.\n", "* Reference metric determinant: $\\det\\left(\\hat{g}_{ij}\\right)$=`detgammahat`.\n", "* First and second derivatives of the reference metric: $\\hat{g}_{ij,k}$=`ghatDD_dD[i][j][k]`; $\\hat{g}_{ij,kl}$=`ghatDD_dDD[i][j][k][l]`\n", "* Christoffel symbols associated with the reference metric, $\\hat{\\Gamma}^i_{jk}$ = `GammahatUDD[i][j][k]` and their first derivatives $\\hat{\\Gamma}^i_{jk,l}$ = `GammahatUDD_dD[i][j][k][l]`\n", "\n", "For example, the Christoffel symbol $\\hat{\\Gamma}^{xx_1}_{xx_2 xx_2}=\\hat{\\Gamma}^1_{22}$ is given by `GammahatUDD[1][2][2]`:" ] }, { "cell_type": "code", "execution_count": 5, "metadata": { "execution": { "iopub.execute_input": "2021-03-07T17:16:07.727483Z", "iopub.status.busy": "2021-03-07T17:16:07.691682Z", "iopub.status.idle": "2021-03-07T17:16:07.772766Z", "shell.execute_reply": "2021-03-07T17:16:07.773336Z" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "-sin(2⋅xx₁) \n", "────────────\n", " 2 \n" ] } ], "source": [ "sp.pretty_print(sp.simplify(rfm.GammahatUDD[1][2][2]))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Given the trigonometric identity $2\\sin(x)\\cos(x) = \\sin(2x)$, notice that the above expression is equivalent to Eq. 18 of [Baumgarte, Montero, Cordero-Carrión, and Müller, PRD 87, 044026 (2012)](https://arxiv.org/abs/1211.6632). This is expected since the sinh-radial spherical coordinate system is equivalent to ordinary spherical coordinates in the angular components." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "\n", "\n", "# Step 3: Prescribed reference metrics in [`reference_metric.py`](../edit/reference_metric.py) \\[Back to [top](#toc)\\]\n", "$$\\label{prescribed_ref_metric}$$\n", "\n", "One need not manually define scale factors or other quantities for reference metrics, as a number of prescribed reference metrics are already defined in [reference_metric.py](../edit/reference_metric.py). These can be accessed by first setting the parameter **reference_metric::CoordSystem** to one of the following, and then calling the function **`rfm.reference_metric()`**." ] }, { "cell_type": "code", "execution_count": 6, "metadata": { "execution": { "iopub.execute_input": "2021-03-07T17:16:07.781747Z", "iopub.status.busy": "2021-03-07T17:16:07.780929Z", "iopub.status.idle": "2021-03-07T17:16:07.783293Z", "shell.execute_reply": "2021-03-07T17:16:07.783784Z" } }, "outputs": [], "source": [ "import indexedexp as ixp # NRPy+: Symbolic indexed expression (e.g., tensors, vectors, etc.) support\n", "import grid as gri # NRPy+: Functions having to do with numerical grids\n", "\n", "# Step 0a: Initialize parameters\n", "thismodule = __name__\n", "par.initialize_param(par.glb_param(\"char\", thismodule, \"CoordSystem\", \"Spherical\"))\n", "\n", "# Step 0b: Declare global variables\n", "xx = gri.xx\n", "xx_to_Cart = ixp.zerorank1(DIM=4) # Must be set in terms of xx[]s\n", "Cart_to_xx = ixp.zerorank1(DIM=4) # Must be set in terms of xx[]s\n", "Cartx,Carty,Cartz = sp.symbols(\"Cartx Carty Cartz\", real=True)\n", "Cart = [Cartx,Carty,Cartz]\n", "xxSph = ixp.zerorank1(DIM=4) # Must be set in terms of xx[]s\n", "scalefactor_orthog = ixp.zerorank1(DIM=4) # Must be set in terms of xx[]s\n", "have_already_called_reference_metric_function = False\n", "\n", "\n", "\n", "CoordSystem = par.parval_from_str(\"reference_metric::CoordSystem\")\n", "M_PI,M_SQRT1_2 = par.Cparameters(\"#define\",thismodule,[\"M_PI\",\"M_SQRT1_2\"],\"\")\n", "\n", "global xxmin\n", "global xxmax\n", "\n", "global UnitVectors\n", "UnitVectors = ixp.zerorank2(DIM=3)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We will find the following plotting function useful for analyzing coordinate systems in which the radial coordinate is rescaled." ] }, { "cell_type": "code", "execution_count": 7, "metadata": { "execution": { "iopub.execute_input": "2021-03-07T17:16:07.792407Z", "iopub.status.busy": "2021-03-07T17:16:07.787673Z", "iopub.status.idle": "2021-03-07T17:16:07.802571Z", "shell.execute_reply": "2021-03-07T17:16:07.803115Z" } }, "outputs": [], "source": [ "def create_r_of_xx0_plots(CoordSystem, r_of_xx0,rprime_of_xx0):\n", " import matplotlib.pyplot as plt # matplotlib: Python module specializing in plotting capabilities\n", " plt.clf()\n", " Nr = 20\n", " dxx0 = 1.0 / float(Nr)\n", " xx0s = []\n", " rs = []\n", " deltars = []\n", " rprimes = []\n", " for i in range(Nr):\n", " xx0 = (float(i) + 0.5)*dxx0\n", " xx0s.append(xx0)\n", " rs.append( sp.sympify(str(r_of_xx0 ).replace(\"xx0\",str(xx0))))\n", " rprimes.append(sp.sympify(str(rprime_of_xx0).replace(\"xx0\",str(xx0))))\n", " if i>0:\n", " deltars.append(sp.log(rs[i]-rs[i-1],10))\n", " else:\n", " deltars.append(sp.log(2*rs[0],10))\n", "\n", " # fig, ax = plt.subplots()\n", " fig = plt.figure(figsize=(12,12)) # 8 in x 8 in\n", "\n", " ax = fig.add_subplot(221)\n", " ax.set_title('$r(xx_0)$ for '+CoordSystem,fontsize='x-large')\n", " ax.set_xlabel('$xx_0$',fontsize='x-large')\n", " ax.set_ylabel('$r(xx_0)$',fontsize='x-large')\n", " ax.plot(xx0s, rs, 'k.', label='Spacing between\\nadjacent gridpoints')\n", " # legend = ax.legend(loc='lower right', shadow=True, fontsize='x-large')\n", " # legend.get_frame().set_facecolor('C1')\n", "\n", " ax = fig.add_subplot(222)\n", " ax.set_title('Grid spacing for '+CoordSystem,fontsize='x-large')\n", " ax.set_xlabel('$xx_0$',fontsize='x-large')\n", " ax.set_ylabel('$\\log_{10}(\\Delta r)$',fontsize='x-large')\n", " ax.plot(xx0s, deltars, 'k.', label='Spacing between\\nadjacent gridpoints\\nin $r(xx_0)$ plot')\n", " legend = ax.legend(loc='lower right', shadow=True, fontsize='x-large')\n", " legend.get_frame().set_facecolor('C1')\n", "\n", " ax = fig.add_subplot(223)\n", " ax.set_title('$r\\'(xx_0)$ for '+CoordSystem,fontsize='x-large')\n", " ax.set_xlabel('$xx_0$',fontsize='x-large')\n", " ax.set_ylabel('$r\\'(xx_0)$',fontsize='x-large')\n", " ax.plot(xx0s, rprimes, 'k.', label='Nr=96')\n", " # legend = ax.legend(loc='upper left', shadow=True, fontsize='x-large')\n", " # legend.get_frame().set_facecolor('C1')\n", "\n", " plt.tight_layout(pad=2)\n", " plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "\n", "\n", "## Step 3.a: Spherical-like coordinate systems \\[Back to [top](#toc)\\]\n", "$$\\label{sphericallike}$$" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "\n", "\n", "### Step 3.a.i: **`reference_metric::CoordSystem = \"Spherical\"`** \\[Back to [top](#toc)\\]\n", "$$\\label{spherical}$$\n", "\n", "Standard spherical coordinates, with $(r,\\theta,\\phi)=(xx_0,xx_1,xx_2)$" ] }, { "cell_type": "code", "execution_count": 8, "metadata": { "execution": { "iopub.execute_input": "2021-03-07T17:16:07.827596Z", "iopub.status.busy": "2021-03-07T17:16:07.826659Z", "iopub.status.idle": "2021-03-07T17:16:07.828646Z", "shell.execute_reply": "2021-03-07T17:16:07.829131Z" } }, "outputs": [], "source": [ "if CoordSystem == \"Spherical\":\n", " # Adding assumption real=True can help simplify expressions involving xx[0] & xx[1] below.\n", " xx[0] = sp.symbols(\"xx0\", real=True)\n", " xx[1] = sp.symbols(\"xx1\", real=True)\n", "\n", " RMAX = par.Cparameters(\"REAL\", thismodule, [\"RMAX\"],10.0)\n", " xxmin = [sp.sympify(0), sp.sympify(0), -M_PI]\n", " xxmax = [ RMAX, M_PI, M_PI]\n", "\n", " r = xx[0]\n", " th = xx[1]\n", " ph = xx[2]\n", "\n", " Cart_to_xx[0] = sp.sqrt(Cartx ** 2 + Carty ** 2 + Cartz ** 2)\n", " Cart_to_xx[1] = sp.acos(Cartz / Cart_to_xx[0])\n", " Cart_to_xx[2] = sp.atan2(Carty, Cartx)\n", "\n", " xxSph[0] = r\n", " xxSph[1] = th\n", " xxSph[2] = ph\n", "\n", " # Now define xCart, yCart, and zCart in terms of x0,xx[1],xx[2].\n", " # Note that the relation between r and x0 is not necessarily trivial in SinhSpherical coordinates. See above.\n", " xx_to_Cart[0] = xxSph[0]*sp.sin(xxSph[1])*sp.cos(xxSph[2])\n", " xx_to_Cart[1] = xxSph[0]*sp.sin(xxSph[1])*sp.sin(xxSph[2])\n", " xx_to_Cart[2] = xxSph[0]*sp.cos(xxSph[1])\n", "\n", " scalefactor_orthog[0] = sp.diff(xxSph[0],xx[0])\n", " scalefactor_orthog[1] = xxSph[0]\n", " scalefactor_orthog[2] = xxSph[0]*sp.sin(xxSph[1])\n", "\n", " # Set the unit vectors\n", " UnitVectors = [[ sp.sin(xxSph[1])*sp.cos(xxSph[2]), sp.sin(xxSph[1])*sp.sin(xxSph[2]), sp.cos(xxSph[1])],\n", " [ sp.cos(xxSph[1])*sp.cos(xxSph[2]), sp.cos(xxSph[1])*sp.sin(xxSph[2]), -sp.sin(xxSph[1])],\n", " [ -sp.sin(xxSph[2]), sp.cos(xxSph[2]), sp.sympify(0) ]]" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Now let's analyze $r(xx_0)$ for **\"Spherical\"** coordinates." ] }, { "cell_type": "code", "execution_count": 9, "metadata": { "execution": { "iopub.execute_input": "2021-03-07T17:16:07.837992Z", "iopub.status.busy": "2021-03-07T17:16:07.836967Z", "iopub.status.idle": "2021-03-07T17:16:09.231884Z", "shell.execute_reply": "2021-03-07T17:16:09.231410Z" } }, "outputs": [ { "data": { "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "%matplotlib inline\n", "\n", "CoordSystem = \"Spherical\"\n", "par.set_parval_from_str(\"reference_metric::CoordSystem\",CoordSystem)\n", "rfm.reference_metric()\n", "\n", "RMAX = 10.0\n", "r_of_xx0 = sp.sympify(str(rfm.xxSph[0] ).replace(\"RMAX\",str(RMAX)))\n", "rprime_of_xx0 = sp.sympify(str(sp.diff(rfm.xxSph[0],rfm.xx[0])).replace(\"RMAX\",str(RMAX)))\n", "\n", "create_r_of_xx0_plots(CoordSystem, r_of_xx0,rprime_of_xx0)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "\n", "\n", "### Step 3.a.ii: **`reference_metric::CoordSystem = \"SinhSpherical\"`** \\[Back to [top](#toc)\\]\n", "$$\\label{sinhspherical}$$\n", "\n", "Spherical coordinates, but with $$r(xx_0) = \\text{AMPL} \\frac{\\sinh\\left(\\frac{xx_0}{\\text{SINHW}}\\right)}{\\sinh\\left(\\frac{1}{\\text{SINHW}}\\right)}.$$\n", "\n", "SinhSpherical uses two parameters: `AMPL` and `SINHW`. `AMPL` sets the outer boundary distance; and `SINHW` sets the focusing of the coordinate points near $r=0$, where a small `SINHW` ($\\sim 0.125$) will greatly focus the points near $r=0$ and a large `SINHW` will look more like an ordinary spherical polar coordinate system." ] }, { "cell_type": "code", "execution_count": 10, "metadata": { "execution": { "iopub.execute_input": "2021-03-07T17:16:09.248615Z", "iopub.status.busy": "2021-03-07T17:16:09.247744Z", "iopub.status.idle": "2021-03-07T17:16:09.250399Z", "shell.execute_reply": "2021-03-07T17:16:09.249776Z" } }, "outputs": [], "source": [ "if CoordSystem == \"SinhSpherical\":\n", " xxmin = [sp.sympify(0), sp.sympify(0), -M_PI]\n", " xxmax = [sp.sympify(1), M_PI, M_PI]\n", "\n", " AMPL, SINHW = par.Cparameters(\"REAL\",thismodule,[\"AMPL\",\"SINHW\"],[10.0,0.2])\n", " # Set SinhSpherical radial coordinate by default; overwrite later if CoordSystem == \"SinhSphericalv2\".\n", " r = AMPL * (sp.exp(xx[0] / SINHW) - sp.exp(-xx[0] / SINHW)) / \\\n", " (sp.exp(1 / SINHW) - sp.exp(-1 / SINHW))\n", " th = xx[1]\n", " ph = xx[2]\n", "\n", " Cart_to_xx[0] = SINHW*sp.asinh(sp.sqrt(Cartx ** 2 + Carty ** 2 + Cartz ** 2)*sp.sinh(1/SINHW)/AMPL)\n", " Cart_to_xx[1] = sp.acos(Cartz / sp.sqrt(Cartx ** 2 + Carty ** 2 + Cartz ** 2))\n", " Cart_to_xx[2] = sp.atan2(Carty, Cartx)\n", "\n", " xxSph[0] = r\n", " xxSph[1] = th\n", " xxSph[2] = ph\n", "\n", " # Now define xCart, yCart, and zCart in terms of x0,xx[1],xx[2].\n", " # Note that the relation between r and x0 is not necessarily trivial in SinhSpherical coordinates. See above.\n", " xx_to_Cart[0] = xxSph[0]*sp.sin(xxSph[1])*sp.cos(xxSph[2])\n", " xx_to_Cart[1] = xxSph[0]*sp.sin(xxSph[1])*sp.sin(xxSph[2])\n", " xx_to_Cart[2] = xxSph[0]*sp.cos(xxSph[1])\n", "\n", " scalefactor_orthog[0] = sp.diff(xxSph[0],xx[0])\n", " scalefactor_orthog[1] = xxSph[0]\n", " scalefactor_orthog[2] = xxSph[0]*sp.sin(xxSph[1])\n", "\n", " # Set the unit vectors\n", " UnitVectors = [[ sp.sin(xxSph[1])*sp.cos(xxSph[2]), sp.sin(xxSph[1])*sp.sin(xxSph[2]), sp.cos(xxSph[1])],\n", " [ sp.cos(xxSph[1])*sp.cos(xxSph[2]), sp.cos(xxSph[1])*sp.sin(xxSph[2]), -sp.sin(xxSph[1])],\n", " [ -sp.sin(xxSph[2]), sp.cos(xxSph[2]), sp.sympify(0) ]]" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Now we explore $r(xx_0)$ for `SinhSpherical` assuming `AMPL=10.0` and `SINHW=0.2`:" ] }, { "cell_type": "code", "execution_count": 11, "metadata": { "execution": { "iopub.execute_input": "2021-03-07T17:16:09.325038Z", "iopub.status.busy": "2021-03-07T17:16:09.289259Z", "iopub.status.idle": "2021-03-07T17:16:11.183968Z", "shell.execute_reply": "2021-03-07T17:16:11.184449Z" } }, "outputs": [ { "data": { "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "%matplotlib inline\n", "\n", "CoordSystem = \"SinhSpherical\"\n", "par.set_parval_from_str(\"reference_metric::CoordSystem\",CoordSystem)\n", "rfm.reference_metric()\n", "\n", "AMPL = 10.0\n", "SINHW = 0.2\n", "r_of_xx0 = sp.sympify(str(rfm.xxSph[0] ).replace(\"AMPL\",str(AMPL)).replace(\"SINHW\",str(SINHW)))\n", "rprime_of_xx0 = sp.sympify(str(sp.diff(rfm.xxSph[0],rfm.xx[0])).replace(\"AMPL\",str(AMPL)).replace(\"SINHW\",str(SINHW)))\n", "\n", "create_r_of_xx0_plots(CoordSystem, r_of_xx0,rprime_of_xx0)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "\n", "\n", "### Step 3.a.iii: **`reference_metric::CoordSystem = \"SinhSphericalv2\"`** \\[Back to [top](#toc)\\]\n", "$$\\label{sinhsphericalv2}$$\n", "\n", "The same as SinhSpherical coordinates, but with an additional `AMPL*const_dr*xx_0` term:\n", "$$r(xx_0) = \\text{AMPL} \\left[\\text{const_dr}\\ xx_0 + \\frac{\\sinh\\left(\\frac{xx_0}{\\text{SINHW}}\\right)}{\\sinh\\left(\\frac{1}{\\text{SINHW}}\\right)}\\right].$$" ] }, { "cell_type": "code", "execution_count": 12, "metadata": { "execution": { "iopub.execute_input": "2021-03-07T17:16:11.197673Z", "iopub.status.busy": "2021-03-07T17:16:11.196969Z", "iopub.status.idle": "2021-03-07T17:16:11.199081Z", "shell.execute_reply": "2021-03-07T17:16:11.199554Z" } }, "outputs": [], "source": [ "if CoordSystem == \"SinhSphericalv2\":\n", " # SinhSphericalv2 adds the parameter \"const_dr\", which allows for a region near xx[0]=0 to have\n", " # constant radial resolution of const_dr, provided the sinh() term does not dominate near xx[0]=0.\n", " xxmin = [sp.sympify(0), sp.sympify(0), -M_PI]\n", " xxmax = [sp.sympify(1), M_PI, M_PI]\n", "\n", " AMPL, SINHW = par.Cparameters(\"REAL\",thismodule,[\"AMPL\",\"SINHW\"],[10.0,0.2])\n", " const_dr = par.Cparameters(\"REAL\",thismodule,[\"const_dr\"],0.0625)\n", "\n", " r = AMPL*( const_dr*xx[0] + (sp.exp(xx[0] / SINHW) - sp.exp(-xx[0] / SINHW)) /\n", " (sp.exp(1 / SINHW) - sp.exp(-1 / SINHW)) )\n", " th = xx[1]\n", " ph = xx[2]\n", "\n", " # NO CLOSED-FORM EXPRESSION FOR RADIAL INVERSION.\n", " # Cart_to_xx[0] = \"NewtonRaphson\"\n", " # Cart_to_xx[1] = sp.acos(Cartz / sp.sqrt(Cartx ** 2 + Carty ** 2 + Cartz ** 2))\n", " # Cart_to_xx[2] = sp.atan2(Carty, Cartx)\n", "\n", " xxSph[0] = r\n", " xxSph[1] = th\n", " xxSph[2] = ph\n", "\n", " # Now define xCart, yCart, and zCart in terms of x0,xx[1],xx[2].\n", " # Note that the relation between r and x0 is not necessarily trivial in SinhSpherical coordinates. See above.\n", " xx_to_Cart[0] = xxSph[0]*sp.sin(xxSph[1])*sp.cos(xxSph[2])\n", " xx_to_Cart[1] = xxSph[0]*sp.sin(xxSph[1])*sp.sin(xxSph[2])\n", " xx_to_Cart[2] = xxSph[0]*sp.cos(xxSph[1])\n", "\n", " scalefactor_orthog[0] = sp.diff(xxSph[0],xx[0])\n", " scalefactor_orthog[1] = xxSph[0]\n", " scalefactor_orthog[2] = xxSph[0]*sp.sin(xxSph[1])\n", "\n", " # Set the unit vectors\n", " UnitVectors = [[ sp.sin(xxSph[1])*sp.cos(xxSph[2]), sp.sin(xxSph[1])*sp.sin(xxSph[2]), sp.cos(xxSph[1])],\n", " [ sp.cos(xxSph[1])*sp.cos(xxSph[2]), sp.cos(xxSph[1])*sp.sin(xxSph[2]), -sp.sin(xxSph[1])],\n", " [ -sp.sin(xxSph[2]), sp.cos(xxSph[2]), sp.sympify(0) ]]" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Now we explore $r(xx_0)$ for `SinhSphericalv2` assuming `AMPL=10.0`, `SINHW=0.2`, and `const_dr=0.05`. Notice that the `const_dr` term significantly increases the grid spacing near $xx_0=0$ relative to `SinhSpherical` coordinates." ] }, { "cell_type": "code", "execution_count": 13, "metadata": { "execution": { "iopub.execute_input": "2021-03-07T17:16:11.274016Z", "iopub.status.busy": "2021-03-07T17:16:11.238291Z", "iopub.status.idle": "2021-03-07T17:16:13.980555Z", "shell.execute_reply": "2021-03-07T17:16:13.981048Z" } }, "outputs": [ { "data": { "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "%matplotlib inline\n", "\n", "CoordSystem = \"SinhSphericalv2\"\n", "par.set_parval_from_str(\"reference_metric::CoordSystem\",CoordSystem)\n", "rfm.reference_metric()\n", "\n", "AMPL = 10.0\n", "SINHW = 0.2\n", "const_dr = 0.05\n", "r_of_xx0 = sp.sympify(str(rfm.xxSph[0] ).replace(\"AMPL\",str(AMPL)).replace(\"SINHW\",str(SINHW)).replace(\"const_dr\",str(const_dr)))\n", "rprime_of_xx0 = sp.sympify(str(sp.diff(rfm.xxSph[0],rfm.xx[0])).replace(\"AMPL\",str(AMPL)).replace(\"SINHW\",str(SINHW)).replace(\"const_dr\",str(const_dr)))\n", "\n", "create_r_of_xx0_plots(CoordSystem, r_of_xx0,rprime_of_xx0)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "\n", "\n", "## Step 3.b: Cylindrical-like coordinate systems \\[Back to [top](#toc)\\]\n", "$$\\label{cylindricallike}$$" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "\n", "\n", "### Step 3.b.i: **`reference_metric::CoordSystem = \"Cylindrical\"`** \\[Back to [top](#toc)\\]\n", "$$\\label{cylindrical}$$\n", "\n", "Standard cylindrical coordinates, with $(\\rho,\\phi,z)=(xx_0,xx_1,xx_2)$" ] }, { "cell_type": "code", "execution_count": 14, "metadata": { "execution": { "iopub.execute_input": "2021-03-07T17:16:13.991643Z", "iopub.status.busy": "2021-03-07T17:16:13.991033Z", "iopub.status.idle": "2021-03-07T17:16:13.993139Z", "shell.execute_reply": "2021-03-07T17:16:13.993580Z" } }, "outputs": [], "source": [ "if CoordSystem == \"Cylindrical\":\n", " # Assuming the cylindrical radial coordinate\n", " # is positive makes nice simplifications of\n", " # unit vectors possible.\n", " xx[0] = sp.symbols(\"xx0\", real=True)\n", "\n", " RHOMAX,ZMIN,ZMAX = par.Cparameters(\"REAL\",thismodule,[\"RHOMAX\",\"ZMIN\",\"ZMAX\"],[10.0,-10.0,10.0])\n", " xxmin = [sp.sympify(0), -M_PI, ZMIN]\n", " xxmax = [ RHOMAX, M_PI, ZMAX]\n", "\n", " RHOCYL = xx[0]\n", " PHICYL = xx[1]\n", " ZCYL = xx[2]\n", "\n", " Cart_to_xx[0] = sp.sqrt(Cartx ** 2 + Carty ** 2)\n", " Cart_to_xx[1] = sp.atan2(Carty, Cartx)\n", " Cart_to_xx[2] = Cartz\n", "\n", " xx_to_Cart[0] = RHOCYL*sp.cos(PHICYL)\n", " xx_to_Cart[1] = RHOCYL*sp.sin(PHICYL)\n", " xx_to_Cart[2] = ZCYL\n", "\n", " xxSph[0] = sp.sqrt(RHOCYL**2 + ZCYL**2)\n", " xxSph[1] = sp.acos(ZCYL / xxSph[0])\n", " xxSph[2] = PHICYL\n", "\n", " scalefactor_orthog[0] = sp.diff(RHOCYL,xx[0])\n", " scalefactor_orthog[1] = RHOCYL\n", " scalefactor_orthog[2] = sp.diff(ZCYL,xx[2])\n", "\n", " # Set the unit vectors\n", " UnitVectors = [[ sp.cos(PHICYL), sp.sin(PHICYL), sp.sympify(0)],\n", " [-sp.sin(PHICYL), sp.cos(PHICYL), sp.sympify(0)],\n", " [ sp.sympify(0), sp.sympify(0), sp.sympify(1)]]" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Next let's plot **\"Cylindrical\"** coordinates." ] }, { "cell_type": "code", "execution_count": 15, "metadata": { "execution": { "iopub.execute_input": "2021-03-07T17:16:14.020433Z", "iopub.status.busy": "2021-03-07T17:16:14.014612Z", "iopub.status.idle": "2021-03-07T17:16:14.403137Z", "shell.execute_reply": "2021-03-07T17:16:14.404110Z" }, "scrolled": true }, "outputs": [ { "data": { "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAV0AAADnCAYAAAC9roUQAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4yLjAsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy8GearUAAAgAElEQVR4nOy9eZBkV3Wv++29z5RjZQ3dXT2p1Zq6hVpIlpDQhCXzGEII5GcwknEgJLAJE/cZhWwcD9uAJWPfwBeHXhgsWwr7gmSbkEEXG0wA8kXmIpAMloTmRnSrJfVY3V1dY855xv3+yOrqGrKqMrMyq0r0+SIyqjvznH1Wnsz8nXXWXmttobUmJiYmJmZlkKttQExMTMzpRCy6MTExMStILLoxMTExK0gsujExMTErSCy6MTExMSuIscTrcWpDTExMTOuIhV6IPd2YmJiYFSQW3ZiYmJgVJBbdXwAeffRRtmzZ0rHxHnjgAa655pqOjTeT2267jU9/+tMAPPbYY+zYsaPtsYQQvPLKKwu+/rGPfYw/+7M/a3t86Py5Pcn111/PP/zDPzR87cCBAwghCIKg4esXXHABjz76aMdtilkZYtHtEI8//jhXXXUVPT099PX1cfXVV/PUU08B3RWx1cDzPO666y7OPfdcUqkUZ555Jh/5yEc4cOBAS+O85S1vYe/evd0xErjvvvv4zGc+07XxAbTW3HPPPbzxjW8kmUwyODjIddddx1e/+tVF93v44Ye59dZb2zrmz372M6677rq29v2VX/kV1q1bRzab5aKLLuLf/u3fpl974IEHUEqRTqdJp9Ns376dD3/4w7z88sttHSumMbHodoBCocC73/1uPv7xjzM+Ps7Q0BB33nkntm2vtmlLspA3tRi//uu/zre+9S0efPBB8vk8zz//PJdeeinf//73u2Bhe4RhuCLHuf322/mrv/or7r77bsbGxhgaGuLP//zP+fd///eG22utiaJoRWxrxBe+8AWOHTtGoVDg7/7u7/jgBz/IsWPHpl+/8sorKZVK5PN5/uM//oNEIsGll17K7t27V83mXzi01os9Yprgqaee0j09PQ1fe+mll7Rt21pKqVOp1PR23/72t/XFF1+sM5mM3rJli77zzjun99m/f78G9AMPPKC3bt2q+/v79Z//+Z9Pv16pVPStt96qc7mcPv/88/XnP/95vXnz5unXP/e5z+mzzjpLp9Npff755+t//dd/nX7t/vvv11dddZW+4447dF9fn/7Upz6lR0dH9Xve8x6dyWT0ZZddpj/96U/rq6++uuH7eeSRR7TjOPrQoUMNX3/ooYf0JZdcMuu5u+++W994441aa61vvfVW/alPfUprrfUPfvCDWXZv27ZN/+Vf/qW+8MILdTab1TfddJOuVqvTr3/+85/Xg4ODeuPGjfpLX/qSBvS+ffumx/3Yxz6mr7/+ep1MJvUjjzwy61haa/3Nb35TX3TRRTqTyeizzjpLP/zww1prrb/85S/rnTt36nQ6rbdv367vu+++6X3m2jiTvXv3aimlfuqppxq+fpJrr71W//Ef/7G+6qqrtOM4et++ffraa6/Vf//3f6+11joIAv2JT3xC9/f36+3bt+t77rlHA9r3/Ybjbdu2TT/yyCNaa63vvPNO/f73v1/fcsstOp1O6ze84Q1L2nOSJ554Qtu2rZ944gmtdf270ehzv+GGG/T73ve+psaMmWZBXY1FtwPk83nd19enP/ShD+nvfve7enx8fNbrjb7MP/jBD/QLL7ygwzDUzz//vF6/fr3+xje+obU+Jbq//du/rSuVin7uuee0ZVn6pZde0lpr/clPflJfc801emxsTB86dEhfcMEFs4ThoYce0kNDQzoMQ/3Vr35VJ5NJffTo0WlblFL6i1/8ovZ9X1cqFX3zzTfr97///bpUKukXX3xRb9q0aUHR/eQnP6l/+Zd/ecFzUavVdG9v77StWmt98cUX669//eta66VF97LLLtNDQ0N6bGxM79y5U997771aa60ffvhhvX79ev3iiy/qUqmkP/CBD8wT3Ww2qx9//HEdhqGuVquzjvXEE0/obDarv/e97+kwDPWRI0f0z3/+c611/QL4yiuv6CiK9KOPPqoTiYR++umnG9o4k3vvvVdv27ZtwXNxkmuvvVZv3bpV7969W/u+rz3PmyW69957r96xY4c+dOiQHhsb09ddd11Lomvbtv7Od76jgyDQf/iHf6jf/OY3L2rPDTfcoG3b1oB+5zvfqcMw1FovLLpf+tKX9Pr165d8nzGzWFBX4/BCB8hmszz++OMIIfjoRz/KunXruPHGGxkeHl5wn+uuu44LL7wQKSVvfOMb+cAHPsAPf/jDWdvceeedJBIJLrroIi666CKef/55AB566CE+9alP0dfXx9atW7n99ttn7ff+97+fTZs2IaXk5ptv5txzz+XJJ5+cfn3Tpk18/OMfxzAMLMviX/7lX/jsZz9LKpVi165di8Yax8bG2Lhx44Kv27bNzTffzFe+8hWgHn88cOAA7373uxc+gTO4/fbb2bRpE319fbznPe/hueeem37PH/7wh9m1axepVIq77rpr3r6/+qu/ytVXX42UEsdxZr32pS99iY985CO8/e1vR0rJ5s2b2blzJwA33HADZ599NkIIrr32Wt7xjnfw2GOPLWnr6Ogog4ODs57bsmULuVwOx3E4ePDg9PO33XYbF1xwAYZhYJrmrH0eeugh7rjjDrZu3UpfXx9/9Ed/1NS5Osk111zDu971LpRS3HLLLdPfk4X49re/TbFY5Lvf/S7veMc7kHJxGdi0aRPj4+Mt2RSzMLHodojzzz+fBx54gCNHjrB7926OHj3KHXfcseD2TzzxxPSkRk9PD/fddx+jo6Oztpn5g04mk5RKJQCOHj3K1q1bp1/btm3brP3+8R//kYsvvphcLkcul2P37t2zxp6578jICEEQLDreTPr7+2fFABtx66238uCDD6K15p/+6Z+46aabmo5vt/ueYfb7msvhw4c5++yzG7728MMPc8UVV9DX10cul+O73/3uvM+iEY3OxZEjRxgdHcV13fqtZBO2NfPeFmPuOavVakvG6k3T5Prrr+d73/se3/rWtxbddmhoiL6+vpZsilmYWHS7wM6dO7ntttumJx+EmF+c8pu/+ZvceOONHD58mHw+z8c+9rFZP9LF2LhxI4cPH57+/6FDh6b/ffDgQT760Y9yzz33MDY2xuTkJLt27Zo19kx71q1bh2EYC443l7e97W08+eSTHDlyZMFtrrjiCizL4rHHHuPBBx/klltuaep9LcZi7/kkjc7zSbZu3cqrr74673nXdXnf+97HH/zBHzA8PMzk5CTvete7mvos3vrWt3LkyBF++tOfLrntYrY18966RRAEDc/LTL7xjW/wlre8ZYUs+sUnFt0OsGfPHu6+++5pITp8+DD//M//zBVXXAHAhg0bOHLkCJ7nTe9TLBbp6+vDcRyefPJJHnzwwaaPd9NNN/G5z32OiYkJjhw5wl//9V9Pv1YulxFCsG7dOgDuv//+RWeelVK8973v5a677qJSqfDSSy8tmD8KddF9+9vfzq/92q/x9NNPEwQBxWKR++67jy9/+cvT233oQx/id3/3dzFNsyPpcjfddBMPPPAAL730EpVKhT/90z9taf/f+q3f4v777+f73/8+URQxNDTEnj178DwP13WnLz4PP/ww3/ve95oac8eOHfzO7/wOv/Ebv8EjjzxCtVolDEN+/OMft/zevvjFL3LkyBEmJib4i7/4i5b2b5Y9e/bw8MMPU61W8X2fr3zlK/zoRz/i2muvnbdtGIbs37+fj3/84zz66KPceeedXbHpdCQW3Q6QyWR44oknePOb30wqleKKK65g165d3H333UDdI7rgggsYHBxkYGAAgL/927/lT/7kT8hkMnz2s5/lpptuavp4d955J9u2bWP79u284x3vmOVJvuENb+ATn/gEV155JRs2bODFF1/k6quvXnS8e+65h1KpxODgILfddhsf/vCHF93+61//Ou9617u4+eab6enpYdeuXfz0pz/lbW972/Q2t9xyC7t37+aDH/xg0+9rMa6//nruuOMO3vrWt3LOOefw1re+taX9L7/8cu6//35+7/d+j56eHq699loOHjxIJpPhi1/8IjfddBO9vb08+OCD3HjjjU2P+zd/8zfcfvvt/P7v/z59fX1s2bKFz3zmM3zta1/jjDPOaGqMj370o7zzne/koosu4pJLLuG9731vS++tWbTW3HXXXaxfv55169bxhS98ga997Wtccskl09v85Cc/IZ1Ok81mue666ygUCjz11FNceOGFXbHpdEQscRsVN7yJaYtqtcr69et55plnOPfcc1fbnJiYlSZueBOzstx7771cdtllseDGxMxhqdaOMTEtc+aZZ6K15pvf/OZqmxITs+aIwwsxMTExnScOL8TExMSsBWLRjYmJiVlBYtGNiYmJWUFi0Y2JiYlZQWLRjYmJiVlBYtGNiYmJWUFi0Y2JiYlZQWLRjYmJiVlBYtGNiYmJWUFi0Y2JiYlZQWLRjYmJiVlBYtGNiYmJWUHiLmMxaw6tXdBl0FXQVbR2EboK2gM80AEQgA6BkHpfpmhqbwGo+l+hAAOECZggLDQOQlggElOPFIjEosvpxMR0klh0Y7qKjiYgHIFodOoxjo7GIZqAKA96cupvEaIS6BIwZ1FFtQ0dHmw4fssYF6CDn815UqJFEkQGZAZEFmQPyByIHEL2gewH1QdyAC3XI2Q/QqjO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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "%matplotlib inline\n", "\n", "import numpy as np # NumPy: A numerical methods module for Python\n", "import matplotlib.pyplot as plt\n", "from mpl_toolkits.mplot3d import Axes3D\n", "\n", "R = np.linspace(0, 2, 24)\n", "h = 2\n", "u = np.linspace(0, 2*np.pi, 24)\n", "\n", "x = np.outer(R, np.cos(u))\n", "y = np.outer(R, np.sin(u))\n", "z = h * np.outer(np.ones(np.size(u)), np.ones(np.size(u)))\n", "\n", "r = np.arange(0,2,0.25)\n", "theta = 2*np.pi*r*0\n", "\n", "fig = plt.figure(figsize=(12,12)) # 8 in x 8 in\n", "fig, (ax1, ax2) = plt.subplots(1, 2)\n", "\n", "ax1 = plt.axes(projection='polar')\n", "\n", "ax1.set_rmax(2)\n", "\n", "ax1.set_rgrids(r,labels=[])\n", "\n", "thetas = np.linspace(0,360,24, endpoint=True)\n", "ax1.set_thetagrids(thetas,labels=[])\n", "\n", "# ax.grid(True)\n", "ax1.grid(True,linewidth='1.0')\n", "ax1.set_title(\"Top Down View\")\n", "plt.show()\n", "\n", "ax2 = plt.axes(projection='3d', xticklabels=[], yticklabels=[], zticklabels=[])\n", "#ax2.plot_surface(x,y,z, alpha=.75, cmap = 'viridis') # z in case of disk which is parallel to XY plane is constant and you can directly use h\n", "\n", "x=np.linspace(-2, 2, 100)\n", "z=np.linspace(-2, 2, 100)\n", "Xc, Zc=np.meshgrid(x, z)\n", "Yc = np.sqrt(4-Xc**2)\n", "\n", "rstride = 10\n", "cstride = 10\n", "ax2.plot_surface(Xc, Yc, Zc, alpha=1.0, rstride=rstride, cstride=cstride, cmap = 'viridis')\n", "ax2.plot_surface(Xc, -Yc, Zc, alpha=1.0, rstride=rstride, cstride=cstride, cmap = 'viridis')\n", "ax2.set_title(\"Standard Cylindrical Grid in 3D\")\n", "ax2.grid(False)\n", "plt.axis('off')\n", "\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "\n", "\n", "### Step 3.b.ii\" **`reference_metric::CoordSystem = \"SinhCylindrical\"`** \\[Back to [top](#toc)\\]\n", "$$\\label{sinhcylindrical}$$\n", "\n", "Cylindrical coordinates, but with\n", "$$\\rho(xx_0) = \\text{AMPLRHO} \\frac{\\sinh\\left(\\frac{xx_0}{\\text{SINHWRHO}}\\right)}{\\sinh\\left(\\frac{1}{\\text{SINHWRHO}}\\right)}$$\n", "and \n", "$$z(xx_2) = \\text{AMPLZ} \\frac{\\sinh\\left(\\frac{xx_2}{\\text{SINHWZ}}\\right)}{\\sinh\\left(\\frac{1}{\\text{SINHWZ}}\\right)}$$" ] }, { "cell_type": "code", "execution_count": 16, "metadata": { "execution": { "iopub.execute_input": "2021-03-07T17:16:14.418643Z", "iopub.status.busy": "2021-03-07T17:16:14.417844Z", "iopub.status.idle": "2021-03-07T17:16:14.420759Z", "shell.execute_reply": "2021-03-07T17:16:14.421693Z" } }, "outputs": [], "source": [ "if CoordSystem == \"SinhCylindrical\":\n", " # Assuming the cylindrical radial coordinate\n", " # is positive makes nice simplifications of\n", " # unit vectors possible.\n", " xx[0] = sp.symbols(\"xx0\", real=True)\n", "\n", " xxmin = [sp.sympify(0), -M_PI, sp.sympify(-1)]\n", " xxmax = [sp.sympify(1), M_PI, sp.sympify(+1)]\n", "\n", " AMPLRHO, SINHWRHO, AMPLZ, SINHWZ = par.Cparameters(\"REAL\",thismodule,\n", " [\"AMPLRHO\",\"SINHWRHO\",\"AMPLZ\",\"SINHWZ\"],\n", " [ 10.0, 0.2, 10.0, 0.2])\n", "\n", " # Set SinhCylindrical radial & z coordinates by default; overwrite later if CoordSystem == \"SinhCylindricalv2\".\n", " RHOCYL = AMPLRHO * (sp.exp(xx[0] / SINHWRHO) - sp.exp(-xx[0] / SINHWRHO)) / (sp.exp(1 / SINHWRHO) - sp.exp(-1 / SINHWRHO))\n", " # phi coordinate remains unchanged.\n", " PHICYL = xx[1]\n", " ZCYL = AMPLZ * (sp.exp(xx[2] / SINHWZ) - sp.exp(-xx[2] / SINHWZ)) / (sp.exp(1 / SINHWZ) - sp.exp(-1 / SINHWZ))\n", " Cart_to_xx[0] = SINHWRHO*sp.asinh(sp.sqrt(Cartx ** 2 + Carty ** 2)*sp.sinh(1/SINHWRHO)/AMPLRHO)\n", " Cart_to_xx[1] = sp.atan2(Carty, Cartx)\n", " Cart_to_xx[2] = SINHWZ*sp.asinh(Cartz*sp.sinh(1/SINHWZ)/AMPLZ)\n", "\n", " xx_to_Cart[0] = RHOCYL*sp.cos(PHICYL)\n", " xx_to_Cart[1] = RHOCYL*sp.sin(PHICYL)\n", " xx_to_Cart[2] = ZCYL\n", "\n", " xxSph[0] = sp.sqrt(RHOCYL**2 + ZCYL**2)\n", " xxSph[1] = sp.acos(ZCYL / xxSph[0])\n", " xxSph[2] = PHICYL\n", "\n", " scalefactor_orthog[0] = sp.diff(RHOCYL,xx[0])\n", " scalefactor_orthog[1] = RHOCYL\n", " scalefactor_orthog[2] = sp.diff(ZCYL,xx[2])\n", "\n", " # Set the unit vectors\n", " UnitVectors = [[ sp.cos(PHICYL), sp.sin(PHICYL), sp.sympify(0)],\n", " [-sp.sin(PHICYL), sp.cos(PHICYL), sp.sympify(0)],\n", " [ sp.sympify(0), sp.sympify(0), sp.sympify(1)]]" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Next let's plot **\"SinhCylindrical\"** coordinates." ] }, { "cell_type": "code", "execution_count": 17, "metadata": { "execution": { "iopub.execute_input": "2021-03-07T17:16:14.452679Z", "iopub.status.busy": "2021-03-07T17:16:14.433319Z", "iopub.status.idle": "2021-03-07T17:16:14.760045Z", "shell.execute_reply": "2021-03-07T17:16:14.760568Z" }, "scrolled": true }, "outputs": [ { "data": { "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "fig=plt.figure()\n", "\n", "\n", "plt.clf()\n", "\n", "fig = plt.figure()\n", "\n", "ax = plt.subplot(1,1,1, projection='polar')\n", "\n", "ax.set_rmax(2)\n", "\n", "Nr = 20\n", "xx0s = np.linspace(0,2,Nr, endpoint=True) + 1.0/(2.0*Nr)\n", "\n", "rs = []\n", "AMPLRHO = 1.0\n", "SINHW = 0.4\n", "for i in range(Nr):\n", " rs.append(AMPLRHO * (np.exp(xx0s[i] / SINHW) - np.exp(-xx0s[i] / SINHW)) / \\\n", " (np.exp(1.0 / SINHW) - np.exp(-1.0 / SINHW)))\n", "\n", "ax.set_rgrids(rs,labels=[])\n", "\n", "thetas = np.linspace(0,360,25, endpoint=True)\n", "ax.set_thetagrids(thetas,labels=[])\n", "\n", "# ax.grid(True)\n", "ax.grid(True,linewidth='1.0')\n", "\n", "plt.show()\n", "\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "\n", "\n", "### Step 3.b.iii: **`reference_metric::CoordSystem = \"SinhCylindricalv2\"`** \\[Back to [top](#toc)\\]\n", "$$\\label{sinhcylindricalv2}$$\n", "\n", "Cylindrical coordinates, but with\n", "$$\\rho(xx_0) = \\text{AMPLRHO} \\left[\\text{const_drho}\\ xx_0 + \\frac{\\sinh\\left(\\frac{xx_0}{\\text{SINHWRHO}}\\right)}{\\sinh\\left(\\frac{1}{\\text{SINHWRHO}}\\right)}\\right]$$\n", "and \n", "$$z(xx_2) = \\text{AMPLZ} \\left[\\text{const_dz}\\ xx_2 + \\frac{\\sinh\\left(\\frac{xx_2}{\\text{SINHWZ}}\\right)}{\\sinh\\left(\\frac{1}{\\text{SINHWZ}}\\right)}\\right]$$" ] }, { "cell_type": "code", "execution_count": 18, "metadata": { "execution": { "iopub.execute_input": "2021-03-07T17:16:14.840340Z", "iopub.status.busy": "2021-03-07T17:16:14.839720Z", "iopub.status.idle": "2021-03-07T17:16:14.842017Z", "shell.execute_reply": "2021-03-07T17:16:14.842494Z" } }, "outputs": [], "source": [ "if CoordSystem == \"SinhCylindricalv2\":\n", " # Assuming the cylindrical radial coordinate\n", " # is positive makes nice simplifications of\n", " # unit vectors possible.\n", " xx[0] = sp.symbols(\"xx0\", real=True)\n", "\n", " # SinhCylindricalv2 adds the parameters \"const_drho\", \"const_dz\", which allows for regions near xx[0]=0\n", " # and xx[2]=0 to have constant rho and z resolution of const_drho and const_dz, provided the sinh() terms\n", " # do not dominate near xx[0]=0 and xx[2]=0.\n", " xxmin = [sp.sympify(0), -M_PI, sp.sympify(-1)]\n", " xxmax = [sp.sympify(1), M_PI, sp.sympify(+1)]\n", " AMPLRHO, SINHWRHO, AMPLZ, SINHWZ = par.Cparameters(\"REAL\",thismodule,\n", " [\"AMPLRHO\",\"SINHWRHO\",\"AMPLZ\",\"SINHWZ\"],\n", " [ 10.0, 0.2, 10.0, 0.2])\n", " const_drho, const_dz = par.Cparameters(\"REAL\",thismodule,[\"const_drho\",\"const_dz\"],[0.0625,0.0625])\n", "\n", " RHOCYL = AMPLRHO * ( const_drho*xx[0] + (sp.exp(xx[0] / SINHWRHO) - sp.exp(-xx[0] / SINHWRHO)) / (sp.exp(1 / SINHWRHO) - sp.exp(-1 / SINHWRHO)) )\n", " PHICYL = xx[1]\n", " ZCYL = AMPLZ * ( const_dz *xx[2] + (sp.exp(xx[2] / SINHWZ ) - sp.exp(-xx[2] / SINHWZ )) / (sp.exp(1 / SINHWZ ) - sp.exp(-1 / SINHWZ )) )\n", "\n", " # NO CLOSED-FORM EXPRESSION FOR RADIAL OR Z INVERSION.\n", " # Cart_to_xx[0] = \"NewtonRaphson\"\n", " # Cart_to_xx[1] = sp.atan2(Carty, Cartx)\n", " # Cart_to_xx[2] = \"NewtonRaphson\"\n", "\n", " xx_to_Cart[0] = RHOCYL*sp.cos(PHICYL)\n", " xx_to_Cart[1] = RHOCYL*sp.sin(PHICYL)\n", " xx_to_Cart[2] = ZCYL\n", "\n", " xxSph[0] = sp.sqrt(RHOCYL**2 + ZCYL**2)\n", " xxSph[1] = sp.acos(ZCYL / xxSph[0])\n", " xxSph[2] = PHICYL\n", "\n", " scalefactor_orthog[0] = sp.diff(RHOCYL,xx[0])\n", " scalefactor_orthog[1] = RHOCYL\n", " scalefactor_orthog[2] = sp.diff(ZCYL,xx[2])\n", "\n", " # Set the unit vectors\n", " UnitVectors = [[ sp.cos(PHICYL), sp.sin(PHICYL), sp.sympify(0)],\n", " [-sp.sin(PHICYL), sp.cos(PHICYL), sp.sympify(0)],\n", " [ sp.sympify(0), sp.sympify(0), sp.sympify(1)]]" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "For example, let's set up **`SinhCylindricalv2`** coordinates and output the Christoffel symbol $\\hat{\\Gamma}^{xx_2}_{xx_2 xx_2}$, or more simply $\\hat{\\Gamma}^2_{22}$:" ] }, { "cell_type": "code", "execution_count": 19, "metadata": { "execution": { "iopub.execute_input": "2021-03-07T17:16:14.916798Z", "iopub.status.busy": "2021-03-07T17:16:14.881093Z", "iopub.status.idle": "2021-03-07T17:16:16.613749Z", "shell.execute_reply": "2021-03-07T17:16:16.614234Z" }, "scrolled": true }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ " ⎛ 2⋅xx₂ ⎞ 1 \n", " ⎜ ────── ⎟ ────── \n", " ⎜ SINHWZ ⎟ SINHWZ \n", " -⎝ℯ - 1⎠⋅ℯ \n", "────────────────────────────────────────────────────────────────────────\n", " ⎛ ⎛ 2 ⎞ xx₂ ⎛ 2⋅xx₂ ⎞ 1 ⎞\n", " ⎜ ⎜ ────── ⎟ ────── ⎜ ────── ⎟ ──────⎟\n", " ⎜ ⎜ SINHWZ ⎟ SINHWZ ⎜ SINHWZ ⎟ SINHWZ⎟\n", "SINHWZ⋅⎝- SINHWZ⋅const_dz⋅⎝ℯ - 1⎠⋅ℯ - ⎝ℯ + 1⎠⋅ℯ ⎠\n" ] } ], "source": [ "par.set_parval_from_str(\"reference_metric::CoordSystem\",\"SinhCylindricalv2\")\n", "\n", "rfm.reference_metric()\n", "\n", "sp.pretty_print(sp.simplify(rfm.GammahatUDD[2][2][2]))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "As we will soon see, defining these \"hatted\" quantities will be quite useful when expressing hyperbolic ([wave-equation](https://en.wikipedia.org/wiki/Wave_equation)-like) PDEs in non-Cartesian coordinate systems." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "\n", "\n", "## Step 3.c: Cartesian-like coordinate systems \\[Back to [top](#toc)\\]\n", "$$\\label{cartesianlike}$$" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "\n", "\n", "### Step 3.c.i: **`reference_metric::CoordSystem = \"Cartesian\"`** \\[Back to [top](#toc)\\]\n", "$$\\label{cartesian}$$\n", "\n", "Standard Cartesian coordinates, with $(x,y,z)=$ `(xx0,xx1,xx2)`" ] }, { "cell_type": "code", "execution_count": 20, "metadata": { "execution": { "iopub.execute_input": "2021-03-07T17:16:16.625652Z", "iopub.status.busy": "2021-03-07T17:16:16.624787Z", "iopub.status.idle": "2021-03-07T17:16:16.627612Z", "shell.execute_reply": "2021-03-07T17:16:16.627047Z" } }, "outputs": [], "source": [ "if CoordSystem == \"Cartesian\":\n", " xmin, xmax, ymin, ymax, zmin, zmax = par.Cparameters(\"REAL\",thismodule,\n", " [\"xmin\",\"xmax\",\"ymin\",\"ymax\",\"zmin\",\"zmax\"],\n", " [ -10.0, 10.0, -10.0, 10.0, -10.0, 10.0])\n", " xxmin = [\"xmin\", \"ymin\", \"zmin\"]\n", " xxmax = [\"xmax\", \"ymax\", \"zmax\"]\n", "\n", " xx_to_Cart[0] = xx[0]\n", " xx_to_Cart[1] = xx[1]\n", " xx_to_Cart[2] = xx[2]\n", "\n", " xxSph[0] = sp.sqrt(xx[0] ** 2 + xx[1] ** 2 + xx[2] ** 2)\n", " xxSph[1] = sp.acos(xx[2] / xxSph[0])\n", " xxSph[2] = sp.atan2(xx[1], xx[0])\n", "\n", " Cart_to_xx[0] = Cartx\n", " Cart_to_xx[1] = Carty\n", " Cart_to_xx[2] = Cartz\n", "\n", " scalefactor_orthog[0] = sp.sympify(1)\n", " scalefactor_orthog[1] = sp.sympify(1)\n", " scalefactor_orthog[2] = sp.sympify(1)\n", "\n", " # Set the transpose of the matrix of unit vectors\n", " UnitVectors = [[sp.sympify(1), sp.sympify(0), sp.sympify(0)],\n", " [sp.sympify(0), sp.sympify(1), sp.sympify(0)],\n", " [sp.sympify(0), sp.sympify(0), sp.sympify(1)]]" ] }, { "cell_type": "code", "execution_count": 21, "metadata": { "execution": { "iopub.execute_input": "2021-03-07T17:16:16.651373Z", "iopub.status.busy": "2021-03-07T17:16:16.638319Z", "iopub.status.idle": "2021-03-07T17:16:16.833652Z", "shell.execute_reply": "2021-03-07T17:16:16.834099Z" }, "scrolled": true }, "outputs": [ { "data": { "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "%matplotlib inline\n", "\n", "import numpy as np # NumPy: A numerical methods module for Python\n", "import matplotlib.pyplot as plt # matplotlib: Python module specializing in plotting capabilities\n", "\n", "plt.clf()\n", "\n", "fig = plt.figure()\n", "ax = fig.gca()\n", "Nx = 16\n", "ax.set_xticks(np.arange(0, 1., 1./Nx))\n", "ax.set_yticks(np.arange(0, 1., 1./Nx))\n", "\n", "for tick in ax.get_xticklabels():\n", " tick.set_rotation(60)\n", "\n", "# plt.scatter(x, y)\n", "ax.set_aspect('equal')\n", "\n", "plt.grid()\n", "\n", "# plt.savefig(\"Cartgrid.png\",dpi=300)\n", "plt.show()\n", "# plt.close(fig)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "\n", "\n", "### Step 3.c.ii: **`reference_metric::CoordSystem = \"SinhCartesian\"`** \\[Back to [top](#toc)\\]\n", "$$\\label{sinhcartesian}$$\n", "\n", "In this coordinate system, all three coordinates behave like the $z$-coordinate in SinhCylindrical coordinates, i.e.\n", "\n", "$$\n", "\\begin{align}\n", "x(xx_0) &= \\text{AMPLXYZ} \\left[\\frac{\\sinh\\left(\\frac{xx_0}{\\text{SINHWXYZ}}\\right)}{\\sinh\\left(\\frac{1}{\\text{SINHWXYZ}}\\right)}\\right]\\ ,\\\\\n", "y(xx_1) &= \\text{AMPLXYZ} \\left[\\frac{\\sinh\\left(\\frac{xx_1}{\\text{SINHWXYZ}}\\right)}{\\sinh\\left(\\frac{1}{\\text{SINHWXYZ}}\\right)}\\right]\\ ,\\\\\n", "z(xx_2) &= \\text{AMPLXYZ} \\left[\\frac{\\sinh\\left(\\frac{xx_2}{\\text{SINHWXYZ}}\\right)}{\\sinh\\left(\\frac{1}{\\text{SINHWXYZ}}\\right)}\\right]\n", "\\end{align}\n", "$$" ] }, { "cell_type": "code", "execution_count": 22, "metadata": { "execution": { "iopub.execute_input": "2021-03-07T17:16:16.849179Z", "iopub.status.busy": "2021-03-07T17:16:16.848537Z", "iopub.status.idle": "2021-03-07T17:16:16.851328Z", "shell.execute_reply": "2021-03-07T17:16:16.850806Z" } }, "outputs": [], "source": [ "if CoordSystem == \"SinhCartesian\":\n", " # SinhCartesian coordinates allows us to push the outer boundary of the\n", " # computational domain a lot further away, while keeping reasonably high\n", " # resolution towards the center of the computational grid.\n", "\n", " # Set default values for min and max (x,y,z)\n", " xxmin = [sp.sympify(-1), sp.sympify(-1), sp.sympify(-1)]\n", " xxmax = [sp.sympify(+1), sp.sympify(+1), sp.sympify(+1)]\n", "\n", " # Declare basic parameters of the coordinate system and their default values\n", " AMPLXYZ, SINHWXYZ = par.Cparameters(\"REAL\", thismodule,\n", " [\"AMPLXYZ\", \"SINHWXYZ\"],\n", " [ 10.0, 0.2], gridsuffix=gridsuffix)\n", "\n", " # Compute (xx_to_Cart0,xx_to_Cart1,xx_to_Cart2) from (xx0,xx1,xx2)\n", " for ii in [0, 1, 2]:\n", " xx_to_Cart[ii] = AMPLXYZ*(sp.exp(xx[ii]/SINHWXYZ) - sp.exp(-xx[ii]/SINHWXYZ))/(sp.exp(1/SINHWXYZ) - sp.exp(-1/SINHWXYZ))\n", "\n", " # Compute (r,th,ph) from (xx_to_Cart2,xx_to_Cart1,xx_to_Cart2)\n", " xxSph[0] = sp.sqrt(xx_to_Cart[0] ** 2 + xx_to_Cart[1] ** 2 + xx_to_Cart[2] ** 2)\n", " xxSph[1] = sp.acos(xx_to_Cart[2] / xxSph[0])\n", " xxSph[2] = sp.atan2(xx_to_Cart[1], xx_to_Cart[0])\n", "\n", " # Compute (xx0,xx1,xx2) from (Cartx,Carty,Cartz)\n", " Cart_to_xx[0] = SINHWXYZ*sp.asinh(Cartx*sp.sinh(1/SINHWXYZ)/AMPLXYZ)\n", " Cart_to_xx[1] = SINHWXYZ*sp.asinh(Carty*sp.sinh(1/SINHWXYZ)/AMPLXYZ)\n", " Cart_to_xx[2] = SINHWXYZ*sp.asinh(Cartz*sp.sinh(1/SINHWXYZ)/AMPLXYZ)\n", "\n", " # Compute scale factors\n", " scalefactor_orthog[0] = sp.diff(xx_to_Cart[0], xx[0])\n", " scalefactor_orthog[1] = sp.diff(xx_to_Cart[1], xx[1])\n", " scalefactor_orthog[2] = sp.diff(xx_to_Cart[2], xx[2])\n", "\n", " # Set the transpose of the matrix of unit vectors\n", " UnitVectors = [[sp.sympify(1), sp.sympify(0), sp.sympify(0)],\n", " [sp.sympify(0), sp.sympify(1), sp.sympify(0)],\n", " [sp.sympify(0), sp.sympify(0), sp.sympify(1)]]\n" ] }, { "cell_type": "code", "execution_count": 20, "metadata": { "execution": { "iopub.execute_input": "2021-03-07T17:16:16.875867Z", "iopub.status.busy": "2021-03-07T17:16:16.874047Z", "iopub.status.idle": "2021-03-07T17:16:17.035561Z", "shell.execute_reply": "2021-03-07T17:16:17.036038Z" } }, "outputs": [ { "data": { "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "%matplotlib inline\n", "\n", "import numpy as np # NumPy: A numerical methods module for Python\n", "import matplotlib.pyplot as plt # matplotlib: Python module specializing in plotting capabilities\n", "\n", "plt.clf()\n", "\n", "fig = plt.figure(dpi=160)\n", "ax = fig.gca()\n", "\n", "# Set plot title\n", "ax.set_title(r\"$z=0$ slice of the 3D grid\")\n", "\n", "# Set SINH parameters. Here we assume:\n", "#\n", "# AMPLX = AMPLY = SINHA\n", "# SINHWX = SINHWY = SINHW\n", "SINHA = 10.0\n", "SINHW = 0.45\n", "\n", "# Set number of points. We assume the same point\n", "# distribution along the (x,y)-directions\n", "Nxxs = 24\n", "xxis = np.linspace(-1,1,Nxxs, endpoint=True)\n", "\n", "# Compute axis ticks by evaluating x and y using SinhCartesian coordinates\n", "axis_ticks = []\n", "for i in range(Nxxs):\n", " axis_ticks.append(SINHA * (np.exp(xxis[i] / SINHW) - np.exp(-xxis[i] / SINHW)) / \\\n", " (np.exp(1.0 / SINHW) - np.exp(-1.0 / SINHW)))\n", "\n", "# Set the axis ticks\n", "ax.set_xticks(axis_ticks)\n", "ax.set_yticks(axis_ticks)\n", "\n", "# Set x and y labels. Initialize array with empty strings\n", "labelsx = [\"\" for i in range(Nxxs)]\n", "labelsy = [\"\" for i in range(Nxxs)]\n", "\n", "# Set x_min and x_max tick label\n", "labelsx[0] = r\"-AMPLX\"\n", "labelsx[-1] = r\"AMPLX\"\n", "\n", "# Set y_min and y_max tick label\n", "labelsy[0] = r\"-AMPLY\"\n", "labelsy[-1] = r\"AMPLY\"\n", "\n", "# Set tick labels\n", "ax.set_xticklabels(labelsx)\n", "ax.set_yticklabels(labelsy)\n", "\n", "# Rotate x labels by 60 degrees\n", "for tick in ax.get_xticklabels():\n", " tick.set_rotation(60)\n", "\n", "# Draw the x=0 and y=0 ticklabel\n", "ax.text(0,-11,\"0\",ha=\"center\",va=\"center\")\n", "ax.text(-11,0,\"0\",ha=\"center\",va=\"center\")\n", "\n", "# plt.scatter(x, y)\n", "ax.set_aspect('equal')\n", "\n", "plt.grid(color='black',linewidth=0.3)\n", "\n", "plt.show()\n", "# plt.savefig(\"Cartgrid.png\",dpi=400)\n", "# plt.close(fig)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "\n", "\n", "## Step 3.d: [Prolate spheroidal](https://en.wikipedia.org/wiki/Prolate_spheroidal_coordinates)-like coordinate systems \\[Back to [top](#toc)\\]\n", "$$\\label{prolatespheroidal}$$" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "\n", "\n", "### Step 3.d.i: **`reference_metric::CoordSystem = \"SymTP\"`** \\[Back to [top](#toc)\\]\n", "$$\\label{symtp}$$\n", "\n", "Symmetric TwoPuncture coordinates, with $(\\rho,\\phi,z)=(xx_0\\sin(xx_1), xx_2, \\sqrt{xx_0^2 + \\text{bScale}^2}\\cos(xx_1))$" ] }, { "cell_type": "code", "execution_count": 24, "metadata": { "execution": { "iopub.execute_input": "2021-03-07T17:16:17.051432Z", "iopub.status.busy": "2021-03-07T17:16:17.050613Z", "iopub.status.idle": "2021-03-07T17:16:17.053035Z", "shell.execute_reply": "2021-03-07T17:16:17.053667Z" } }, "outputs": [], "source": [ "if CoordSystem == \"SymTP\":\n", "\n", " var1, var2= sp.symbols('var1 var2',real=True)\n", " bScale, AW, AMAX, RHOMAX, ZMIN, ZMAX = par.Cparameters(\"REAL\",thismodule,\n", " [\"bScale\",\"AW\",\"AMAX\",\"RHOMAX\",\"ZMIN\",\"ZMAX\"],\n", " [0.5, 0.2, 10.0, 10.0, -10.0, 10.0])\n", "\n", " # Assuming xx0, xx1, and bScale\n", " # are positive makes nice simplifications of\n", " # unit vectors possible.\n", " xx[0],xx[1] = sp.symbols(\"xx0 xx1\", real=True)\n", "\n", " xxmin = [sp.sympify(0), sp.sympify(0),-M_PI]\n", " xxmax = [ AMAX, M_PI, M_PI]\n", "\n", " AA = xx[0]\n", "\n", " if CoordSystem == \"SinhSymTP\":\n", " AA = (sp.exp(xx[0]/AW)-sp.exp(-xx[0]/AW))/2\n", "\n", " var1 = sp.sqrt(AA**2 + (bScale * sp.sin(xx[1]))**2)\n", " var2 = sp.sqrt(AA**2 + bScale**2)\n", "\n", " RHOSYMTP = AA*sp.sin(xx[1])\n", " PHSYMTP = xx[2]\n", " ZSYMTP = var2*sp.cos(xx[1])\n", "\n", " xx_to_Cart[0] = AA *sp.sin(xx[1])*sp.cos(xx[2])\n", " xx_to_Cart[1] = AA *sp.sin(xx[1])*sp.sin(xx[2])\n", " xx_to_Cart[2] = ZSYMTP\n", "\n", " xxSph[0] = sp.sqrt(RHOSYMTP**2 + ZSYMTP**2)\n", " xxSph[1] = sp.acos(ZSYMTP / xxSph[0])\n", " xxSph[2] = PHSYMTP\n", "\n", " rSph = sp.sqrt(Cartx ** 2 + Carty ** 2 + Cartz ** 2)\n", " thSph = sp.acos(Cartz / rSph)\n", " phSph = sp.atan2(Carty, Cartx)\n", "\n", " # Mathematica script to compute Cart_to_xx[]\n", " # AA = x1;\n", " # var2 = Sqrt[AA^2 + bScale^2];\n", " # RHOSYMTP = AA*Sin[x2];\n", " # ZSYMTP = var2*Cos[x2];\n", " # Solve[{rSph == Sqrt[RHOSYMTP^2 + ZSYMTP^2],\n", " # thSph == ArcCos[ZSYMTP/Sqrt[RHOSYMTP^2 + ZSYMTP^2]],\n", " # phSph == x3},\n", " # {x1, x2, x3}]\n", " Cart_to_xx[0] = sp.sqrt(-bScale**2 + rSph**2 +\n", " sp.sqrt(bScale**4 + 2*bScale**2*rSph**2 + rSph**4 -\n", " 4*bScale**2*rSph**2*sp.cos(thSph)**2))*M_SQRT1_2 # M_SQRT1_2 = 1/sqrt(2); define this way for UnitTesting\n", "\n", " # The sign() function in the following expression ensures the correct root is taken.\n", " Cart_to_xx[1] = sp.acos(sp.sign(Cartz)*(\n", " sp.sqrt(1 + rSph**2/bScale**2 -\n", " sp.sqrt(bScale**4 + 2*bScale**2*rSph**2 + rSph**4 -\n", " 4*bScale**2*rSph**2*sp.cos(thSph)**2)/bScale**2)*M_SQRT1_2)) # M_SQRT1_2 = 1/sqrt(2); define this way for UnitTesting\n", "\n", " Cart_to_xx[2] = phSph" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "\n", "\n", "### Step 3.d.ii: **`reference_metric::CoordSystem = \"SinhSymTP\"`** \\[Back to [top](#toc)\\]\n", "$$\\label{sinhsymtp}$$\n", "\n", "Symmetric TwoPuncture coordinates, but with $$xx_0 \\to \\sinh(xx_0/\\text{AW})$$" ] }, { "cell_type": "code", "execution_count": 25, "metadata": { "execution": { "iopub.execute_input": "2021-03-07T17:16:17.070103Z", "iopub.status.busy": "2021-03-07T17:16:17.069288Z", "iopub.status.idle": "2021-03-07T17:16:17.071767Z", "shell.execute_reply": "2021-03-07T17:16:17.072299Z" } }, "outputs": [], "source": [ "if CoordSystem == \"SinhSymTP\":\n", "\n", " var1, var2= sp.symbols('var1 var2',real=True)\n", " bScale, AW, AMAX, RHOMAX, ZMIN, ZMAX = par.Cparameters(\"REAL\",thismodule,\n", " [\"bScale\",\"AW\",\"AMAX\",\"RHOMAX\",\"ZMIN\",\"ZMAX\"],\n", " [0.5, 0.2, 10.0, 10.0, -10.0, 10.0])\n", "\n", " # Assuming xx0, xx1, and bScale\n", " # are positive makes nice simplifications of\n", " # unit vectors possible.\n", " xx[0],xx[1] = sp.symbols(\"xx0 xx1\", real=True)\n", "\n", " xxmin = [sp.sympify(0), sp.sympify(0),-M_PI]\n", " xxmax = [ AMAX, M_PI, M_PI]\n", "\n", " AA = xx[0]\n", "\n", " if CoordSystem == \"SinhSymTP\":\n", " # With xxmax[0] == AMAX, sinh(xx0/AMAX) will evaluate to a number between 0 and 1.\n", " # Similarly, sinh(xx0/(AMAX*SINHWAA)) / sinh(1/SINHWAA) will also evaluate to a number between 0 and 1.\n", " # Then AA = AMAX*sinh(xx0/(AMAX*SINHWAA)) / sinh(1/SINHWAA) will evaluate to a number between 0 and AMAX.\n", " AA = AMAX * (sp.exp(xx[0] / (AMAX*SINHWAA)) - sp.exp(-xx[0] / (AMAX*SINHWAA))) / (sp.exp(1 / SINHWAA) - sp.exp(-1 / AMAX))\n", "\n", " var1 = sp.sqrt(AA**2 + (bScale * sp.sin(xx[1]))**2)\n", " var2 = sp.sqrt(AA**2 + bScale**2)\n", "\n", " RHOSYMTP = AA*sp.sin(xx[1])\n", " PHSYMTP = xx[2]\n", " ZSYMTP = var2*sp.cos(xx[1])\n", "\n", " xx_to_Cart[0] = AA *sp.sin(xx[1])*sp.cos(xx[2])\n", " xx_to_Cart[1] = AA *sp.sin(xx[1])*sp.sin(xx[2])\n", " xx_to_Cart[2] = ZSYMTP\n", "\n", " xxSph[0] = sp.sqrt(RHOSYMTP**2 + ZSYMTP**2)\n", " xxSph[1] = sp.acos(ZSYMTP / xxSph[0])\n", " xxSph[2] = PHSYMTP\n", "\n", " scalefactor_orthog[0] = sp.diff(AA,xx[0]) * var1 / var2\n", " scalefactor_orthog[1] = var1\n", " scalefactor_orthog[2] = AA * sp.sin(xx[1])\n", "\n", " # Set the transpose of the matrix of unit vectors\n", " UnitVectors = [[sp.sin(xx[1]) * sp.cos(xx[2]) * var2 / var1,\n", " sp.sin(xx[1]) * sp.sin(xx[2]) * var2 / var1,\n", " AA * sp.cos(xx[1]) / var1],\n", " [AA * sp.cos(xx[1]) * sp.cos(xx[2]) / var1,\n", " AA * sp.cos(xx[1]) * sp.sin(xx[2]) / var1,\n", " -sp.sin(xx[1]) * var2 / var1],\n", " [-sp.sin(xx[2]), sp.cos(xx[2]), sp.sympify(0)]]" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "\n", "\n", "# Step 4: Output this notebook to $\\LaTeX$-formatted PDF file \\[Back to [top](#toc)\\]\n", "$$\\label{latex_pdf_output}$$\n", "\n", "The following code cell converts this Jupyter notebook into a proper, clickable $\\LaTeX$-formatted PDF file. After the cell is successfully run, the generated PDF may be found in the root NRPy+ tutorial directory, with filename\n", "[Tutorial-Reference_Metric.pdf](Tutorial-Reference_Metric.pdf) (Note that clicking on this link may not work; you may need to open the PDF file through another means.)" ] }, { "cell_type": "code", "execution_count": 26, "metadata": { "execution": { "iopub.execute_input": "2021-03-07T17:16:17.076569Z", "iopub.status.busy": "2021-03-07T17:16:17.075854Z", "iopub.status.idle": "2021-03-07T17:16:23.796349Z", "shell.execute_reply": "2021-03-07T17:16:23.797085Z" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Created Tutorial-Reference_Metric.tex, and compiled LaTeX file to PDF file\n", " Tutorial-Reference_Metric.pdf\n" ] } ], "source": [ "import cmdline_helper as cmd # NRPy+: Multi-platform Python command-line interface\n", "cmd.output_Jupyter_notebook_to_LaTeXed_PDF(\"Tutorial-Reference_Metric\")" ] } ], "metadata": { "kernelspec": { "display_name": "Python 3", "language": "python", "name": "python3" }, "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.9.2" } }, "nbformat": 4, "nbformat_minor": 2 }