From 710e6f43f68929323b87e95e95541baf1d4ac2b2 Mon Sep 17 00:00:00 2001 From: Michael Zingale Date: Sat, 31 Aug 2024 14:29:13 -0400 Subject: [PATCH] separate the mesh docs into their own section (#221) --- docs/source/index.rst | 6 + docs/source/mesh_basics.rst | 9 -- docs/source/spherical-mesh.ipynb | 1 + pyro/mesh/mesh-examples.ipynb | 144 ++++------------------ pyro/mesh/spherical-mesh.ipynb | 199 +++++++++++++++++++++++++++++++ 5 files changed, 231 insertions(+), 128 deletions(-) create mode 120000 docs/source/spherical-mesh.ipynb create mode 100644 pyro/mesh/spherical-mesh.ipynb diff --git a/docs/source/index.rst b/docs/source/index.rst index 9cb189530..0c4e7c4c7 100644 --- a/docs/source/index.rst +++ b/docs/source/index.rst @@ -22,8 +22,14 @@ pyro: a python hydro code running output problems + +.. toctree:: + maxdepth: 1 + :caption: mesh + mesh_basics mesh-examples.ipynb + spherical-mesh.ipynb .. toctree:: :maxdepth: 1 diff --git a/docs/source/mesh_basics.rst b/docs/source/mesh_basics.rst index d4f4d986e..0c3203c6a 100644 --- a/docs/source/mesh_basics.rst +++ b/docs/source/mesh_basics.rst @@ -96,15 +96,6 @@ Note that each variable needs to specify a BC—this allows us to do different actions for each variable (for example, some may do even reflection while others may do odd reflection). -Jupyter notebook ----------------- - -A Jupyter notebook that illustrates some of the basics of working with -the grid is provided as `mesh-examples.ipynb `_. This will -demonstrate, for example, how to use the :func:`ArrayIndexer ` methods to -construct differences. - - Tests ----- diff --git a/docs/source/spherical-mesh.ipynb b/docs/source/spherical-mesh.ipynb new file mode 120000 index 000000000..91965caf7 --- /dev/null +++ b/docs/source/spherical-mesh.ipynb @@ -0,0 +1 @@ +../../pyro/mesh/spherical-mesh.ipynb \ No newline at end of file diff --git a/pyro/mesh/mesh-examples.ipynb b/pyro/mesh/mesh-examples.ipynb index aa4f48b7b..5ec12e59b 100644 --- a/pyro/mesh/mesh-examples.ipynb +++ b/pyro/mesh/mesh-examples.ipynb @@ -16,18 +16,33 @@ }, { "cell_type": "code", - "execution_count": 1, + "execution_count": null, "metadata": {}, "outputs": [], "source": [ "import numpy as np\n", - "import pyro.mesh.boundary as bnd\n", - "import pyro.mesh.patch as patch\n", "import matplotlib.pyplot as plt\n", - "import warnings\n", - "warnings.filterwarnings(\"ignore\")\n", - "%matplotlib inline\n", "\n", + "import pyro.mesh.boundary as bnd\n", + "import pyro.mesh.patch as patch" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "import warnings\n", + "warnings.filterwarnings(\"ignore\")" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ "# for unit testing, we want to ensure the same random numbers\n", "np.random.seed(100)" ] @@ -730,6 +745,10 @@ "cell_type": "code", "execution_count": 22, "metadata": { + "editable": true, + "slideshow": { + "slide_type": "" + }, "tags": [ "nbval-ignore-output" ] @@ -867,119 +886,6 @@ "source": [ "f.pretty_print(fmt=\"%6.2g\")" ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "# Spherical Polar Grid" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Demonstrating the grid with matplotlib pcolormesh" - ] - }, - { - "cell_type": "code", - "execution_count": 27, - "metadata": {}, - "outputs": [], - "source": [ - "g = patch.SphericalPolar(4, 8, xmin=1.0, xmax=2.0, ymin=0.0, ymax=np.pi, ng=2)" - ] - }, - { - "cell_type": "code", - "execution_count": 28, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Spherical Polar 2D Grid: Define x : r, y : θ. xmin (r) = 1.0, xmax= 2.0, ymin = 0.0, ymax = 3.141592653589793, nx = 4, ny = 8, ng = 2\n" - ] - } - ], - "source": [ - "print(g)" - ] - }, - { - "cell_type": "code", - "execution_count": 29, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "\u001b[31m 0.13\u001b[0m\u001b[31m 0.26\u001b[0m\u001b[31m 0.43\u001b[0m\u001b[31m 0.65\u001b[0m\u001b[31m 0.9\u001b[0m\u001b[31m 1.2\u001b[0m\u001b[31m 1.5\u001b[0m\u001b[31m 1.9\u001b[0m \n", - "\u001b[31m 0.047\u001b[0m\u001b[31m 0.092\u001b[0m\u001b[31m 0.15\u001b[0m\u001b[31m 0.23\u001b[0m\u001b[31m 0.32\u001b[0m\u001b[31m 0.42\u001b[0m\u001b[31m 0.54\u001b[0m\u001b[31m 0.68\u001b[0m \n", - "\u001b[31m 0.047\u001b[0m\u001b[31m 0.092\u001b[0m 0.15 0.23 0.32 0.42\u001b[31m 0.54\u001b[0m\u001b[31m 0.68\u001b[0m \n", - "\u001b[31m 0.13\u001b[0m\u001b[31m 0.26\u001b[0m 0.43 0.65 0.9 1.2\u001b[31m 1.5\u001b[0m\u001b[31m 1.9\u001b[0m \n", - "\u001b[31m 0.2\u001b[0m\u001b[31m 0.39\u001b[0m 0.65 0.97 1.3 1.8\u001b[31m 2.3\u001b[0m\u001b[31m 2.9\u001b[0m \n", - "\u001b[31m 0.24\u001b[0m\u001b[31m 0.46\u001b[0m 0.76 1.1 1.6 2.1\u001b[31m 2.7\u001b[0m\u001b[31m 3.4\u001b[0m \n", - "\u001b[31m 0.24\u001b[0m\u001b[31m 0.46\u001b[0m 0.76 1.1 1.6 2.1\u001b[31m 2.7\u001b[0m\u001b[31m 3.4\u001b[0m \n", - "\u001b[31m 0.2\u001b[0m\u001b[31m 0.39\u001b[0m 0.65 0.97 1.3 1.8\u001b[31m 2.3\u001b[0m\u001b[31m 2.9\u001b[0m \n", - "\u001b[31m 0.13\u001b[0m\u001b[31m 0.26\u001b[0m 0.43 0.65 0.9 1.2\u001b[31m 1.5\u001b[0m\u001b[31m 1.9\u001b[0m \n", - "\u001b[31m 0.047\u001b[0m\u001b[31m 0.092\u001b[0m 0.15 0.23 0.32 0.42\u001b[31m 0.54\u001b[0m\u001b[31m 0.68\u001b[0m \n", - "\u001b[31m 0.047\u001b[0m\u001b[31m 0.092\u001b[0m\u001b[31m 0.15\u001b[0m\u001b[31m 0.23\u001b[0m\u001b[31m 0.32\u001b[0m\u001b[31m 0.42\u001b[0m\u001b[31m 0.54\u001b[0m\u001b[31m 0.68\u001b[0m \n", - "\u001b[31m 0.13\u001b[0m\u001b[31m 0.26\u001b[0m\u001b[31m 0.43\u001b[0m\u001b[31m 0.65\u001b[0m\u001b[31m 0.9\u001b[0m\u001b[31m 1.2\u001b[0m\u001b[31m 1.5\u001b[0m\u001b[31m 1.9\u001b[0m \n", - "\n", - " ^ y\n", - " |\n", - " +---> x\n", - " \n" - ] - } - ], - "source": [ - "g.V.pretty_print(fmt=\"%9.2g\")" - ] - }, - { - "cell_type": "code", - "execution_count": 30, - "metadata": {}, - "outputs": [ - { - "data": { - "image/png": "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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "r = g.x2d[g.ilo:g.ihi+1, g.jlo:g.jhi+1]\n", - "theta = g.y2d[g.ilo:g.ihi+1, g.jlo:g.jhi+1]\n", - "\n", - "x = r*np.sin(theta)\n", - "y = r*np.cos(theta)\n", - "\n", - "plt.figure(figsize=(6, 6))\n", - "plt.pcolormesh(x, y, g.V.v(), cmap='viridis', shading='auto')\n", - "plt.colorbar(label='Volume')\n", - "plt.title('Spherical Polar Grid')\n", - "plt.xlabel('X')\n", - "plt.ylabel('Y')\n", - "plt.axis('equal')\n", - "plt.show()" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [] } ], "metadata": { diff --git a/pyro/mesh/spherical-mesh.ipynb b/pyro/mesh/spherical-mesh.ipynb new file mode 100644 index 000000000..84cdc7fb2 --- /dev/null +++ b/pyro/mesh/spherical-mesh.ipynb @@ -0,0 +1,199 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Spherical Polar Grid" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": { + "editable": true, + "slideshow": { + "slide_type": "" + }, + "tags": [] + }, + "outputs": [], + "source": [ + "import numpy as np\n", + "import matplotlib.pyplot as plt\n", + "\n", + "import pyro.mesh.boundary as bnd\n", + "import pyro.mesh.patch as patch" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": { + "editable": true, + "slideshow": { + "slide_type": "" + }, + "tags": [] + }, + "outputs": [], + "source": [ + "import warnings\n", + "warnings.filterwarnings(\"ignore\")" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "editable": true, + "slideshow": { + "slide_type": "" + }, + "tags": [] + }, + "source": [ + "Demonstrating the grid with matplotlib pcolormesh" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": { + "editable": true, + "slideshow": { + "slide_type": "" + }, + "tags": [] + }, + "outputs": [], + "source": [ + "g = patch.SphericalPolar(4, 8, xmin=1.0, xmax=2.0, ymin=0.0, ymax=np.pi, ng=2)" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": { + "editable": true, + "slideshow": { + "slide_type": "" + }, + "tags": [] + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Spherical Polar 2D Grid: Define x : r, y : θ. xmin (r) = 1.0, xmax= 2.0, ymin = 0.0, ymax = 3.141592653589793, nx = 4, ny = 8, ng = 2\n" + ] + } + ], + "source": [ + "print(g)" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": { + "editable": true, + "slideshow": { + "slide_type": "" + }, + "tags": [] + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\u001b[31m 0.13\u001b[0m\u001b[31m 0.26\u001b[0m\u001b[31m 0.43\u001b[0m\u001b[31m 0.65\u001b[0m\u001b[31m 0.9\u001b[0m\u001b[31m 1.2\u001b[0m\u001b[31m 1.5\u001b[0m\u001b[31m 1.9\u001b[0m \n", + "\u001b[31m 0.047\u001b[0m\u001b[31m 0.092\u001b[0m\u001b[31m 0.15\u001b[0m\u001b[31m 0.23\u001b[0m\u001b[31m 0.32\u001b[0m\u001b[31m 0.42\u001b[0m\u001b[31m 0.54\u001b[0m\u001b[31m 0.68\u001b[0m \n", + "\u001b[31m 0.047\u001b[0m\u001b[31m 0.092\u001b[0m 0.15 0.23 0.32 0.42\u001b[31m 0.54\u001b[0m\u001b[31m 0.68\u001b[0m \n", + "\u001b[31m 0.13\u001b[0m\u001b[31m 0.26\u001b[0m 0.43 0.65 0.9 1.2\u001b[31m 1.5\u001b[0m\u001b[31m 1.9\u001b[0m \n", + "\u001b[31m 0.2\u001b[0m\u001b[31m 0.39\u001b[0m 0.65 0.97 1.3 1.8\u001b[31m 2.3\u001b[0m\u001b[31m 2.9\u001b[0m \n", + "\u001b[31m 0.24\u001b[0m\u001b[31m 0.46\u001b[0m 0.76 1.1 1.6 2.1\u001b[31m 2.7\u001b[0m\u001b[31m 3.4\u001b[0m \n", + "\u001b[31m 0.24\u001b[0m\u001b[31m 0.46\u001b[0m 0.76 1.1 1.6 2.1\u001b[31m 2.7\u001b[0m\u001b[31m 3.4\u001b[0m \n", + "\u001b[31m 0.2\u001b[0m\u001b[31m 0.39\u001b[0m 0.65 0.97 1.3 1.8\u001b[31m 2.3\u001b[0m\u001b[31m 2.9\u001b[0m \n", + "\u001b[31m 0.13\u001b[0m\u001b[31m 0.26\u001b[0m 0.43 0.65 0.9 1.2\u001b[31m 1.5\u001b[0m\u001b[31m 1.9\u001b[0m \n", + "\u001b[31m 0.047\u001b[0m\u001b[31m 0.092\u001b[0m 0.15 0.23 0.32 0.42\u001b[31m 0.54\u001b[0m\u001b[31m 0.68\u001b[0m \n", + "\u001b[31m 0.047\u001b[0m\u001b[31m 0.092\u001b[0m\u001b[31m 0.15\u001b[0m\u001b[31m 0.23\u001b[0m\u001b[31m 0.32\u001b[0m\u001b[31m 0.42\u001b[0m\u001b[31m 0.54\u001b[0m\u001b[31m 0.68\u001b[0m \n", + "\u001b[31m 0.13\u001b[0m\u001b[31m 0.26\u001b[0m\u001b[31m 0.43\u001b[0m\u001b[31m 0.65\u001b[0m\u001b[31m 0.9\u001b[0m\u001b[31m 1.2\u001b[0m\u001b[31m 1.5\u001b[0m\u001b[31m 1.9\u001b[0m \n", + "\n", + " ^ y\n", + " |\n", + " +---> x\n", + " \n" + ] + } + ], + "source": [ + "g.V.pretty_print(fmt=\"%9.2g\")" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": { + "editable": true, + "slideshow": { + "slide_type": "" + }, + "tags": [ + "nbval-ignore-output" + ] + }, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAsAAAAKaCAYAAAAwOu9+AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjkuMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy80BEi2AAAACXBIWXMAABJ0AAASdAHeZh94AACKsklEQVR4nO3deVxU570/8M+ACCKgZMSLRlGRxg2JgLkaNQYidcGm0VqMrS2SYE0icamVGE1uTbS3TdRYbS3WVqPYJHVJjBvc8ssoaIxLjGIsiSViZInayhIEUSnL+f2hM2VkBmY75zwz5/Pu67wKZ3nOM2r049fveY5OkiQJREREREQa4aX2BIiIiIiIlMQATERERESawgBMRERERJrCAExEREREmsIATERERESawgBMRERERJrCAExEREREmsIATERERESawgBMRERERJrCAExEREREmsIATERERESawgBMZIOvvvoKixYtQnR0NLp27YoOHTogKCgIgwcPxtNPP42MjAx88cUXstz7tddeg06nQ9++fWUZ35WKi4uh0+mg0+mQl5en9nRMUlJSoNPpEBcX59D1xs90/xYYGIgBAwbg2WefxaeffuryeW/bts10L3fS0NCAd955Bz/5yU8wYMAABAcHw8fHB3q9HsOGDcOzzz6LDz74ALdv33b6Xnl5eaYfo+LiYofGcPbXBxG5nw5qT4BIdL/97W+xZMkSNDQ0mO2vra3FhQsXcOHCBezatQsAIEmSSrMkNdy8eRNfffUVvvrqK2zbtg2vvPIKVq5cqfa0VHXgwAHMmzcPJSUlrY5VVVWhqqoKn3/+ObZu3Ypu3brhl7/8JebNm6fKXIlIu1gBJmrDO++8g0WLFqGhoQF9+vTBunXrkJ+fj/Lycly5cgW5ubl4/fXXERkZqfZUSQEzZ85EbW2taSstLcWf//xn6PV6SJKEX/3qV3jvvffUnqZq1q9fjylTpqCkpAS+vr544YUXkJ2dja+//hpVVVW4ePEisrKy8MILLyAwMBAVFRV488031Z42EWkQK8BEbXjllVcAAP369cOZM2cQHBxsdrxnz56Ii4vDL3/5S6H+yV8tffv29egqeIcOHRAQEGD6PiAgALNnz8aAAQMwduxYAMCvfvUr/PjHP1ZxlurIycnBz3/+c0iShAEDBiA7Oxvh4eFm5wQHByMiIgKJiYlYsWIF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L6O6uhrXr1/HZ599ht///vdITEw0XWuthcNZI0eOxA9/+EMAwG9/+1s899xz+Pvf/46qqiqcOHECTz75JP72t7+ZtasQkUao/SYOIlF99dVXUseOHVu9Cc7S1qVLF2n37t0WxzGe88c//tH0Zi5L24svvmjxeuOb4Pr06dPmfI3jbN261eLxDRs22PR5pk6davfYRm29Cc7oz3/+c7vzuP8+mZmZkpeXl8Vzg4KCpLy8PKlPnz4SAGn58uWt7in3m+Dakp+fL4WGhlr9rN7e3tLvfvc7i9e29Sa42tpa6eGHH7Y67g9+8ANpy5YtVq9v6w1qzti3b58UFhZm03833bp1k9avX9/qDXi2/Dqy9XPcuHFDGjFihNU5vPTSS07/+iAi98MKMJEV3/nOd1BeXo4dO3bg+eefx3//93+jW7du6NChA/z8/NCzZ08kJCRg1apVuHjxoqnSZI2vry8OHTqEN954A1FRUejcuTOCgoIQFxeHDz74AL///e9l/TxpaWkoKirCyy+/jNjYWAQHB8Pb2xtBQUGIiopCamoqPvjgA+zYsUPWecyePRuFhYVYuHAhhgwZgoCAAPj7+yMiIgJPPvkkMjMzW/1YJicnw2AwYPz48QgKCoKvry/69euH5557DmfPnrX6ghARDBs2DP/4xz/w2muvITo6GoGBgab5P/vsszh37hzmzZtn97gBAQH4+OOP8fLLL6N///7w8fHBAw88gDFjxmDLli14//33ZaustuX73/8+Ll68iO3bt+NHP/oRIiIi0KVLF3To0AF6vR5RUVF49tlnsWvXLly5cgXz58+3+81/9ggKCsLRo0fx5ptvYujQoaZ/LYiLi8OuXbtMb2EkIm3RSdbeeUpELmFcI3jr1q1ISUlRezpERESaxwowEREREWkKAzARERERaQoDMBERERFpCgMwEREREWkKAzARERERaYp8a88QEXB3AVa1p0BEREQtsAJMRERERJrCCrCgqqurceTIEfTu3Ru+vr5qT4eIiEh29fX1KCsrw+OPP46uXbsqcs+rV6/i22+/VeRewcHB6NmzpyL3orYxAAvqyJEjmDJlitrTICIiUtzevXvx1FNPyX6fq1evYuCA3qi92Sz7vQAgMDAQ//jHPxiCBcAALKjevXsD934TiIiIUHs6mjVn2gaL+//0wYuKz4WIyNMVFRVhypQppj8D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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "r = g.x2d[g.ilo:g.ihi+1, g.jlo:g.jhi+1]\n", + "theta = g.y2d[g.ilo:g.ihi+1, g.jlo:g.jhi+1]\n", + "\n", + "x = r*np.sin(theta)\n", + "y = r*np.cos(theta)\n", + "\n", + "plt.figure(figsize=(6, 6))\n", + "plt.pcolormesh(x, y, g.V.v(), cmap='viridis', shading='auto')\n", + "plt.colorbar(label='Volume')\n", + "plt.title('Spherical Polar Grid')\n", + "plt.xlabel('X')\n", + "plt.ylabel('Y')\n", + "plt.axis('equal')\n", + "plt.show()" + ] + } + ], + "metadata": { + "celltoolbar": "Tags", + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "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.12.4" + } + }, + "nbformat": 4, + "nbformat_minor": 4 +}