Anthony Scopatz avatar Anthony Scopatz committed ef71663

Added preliminary ray casting nb for cylindrical coords.

Comments (0)

Files changed (1)

cylindrical_rays.ipynb

+{
+ "metadata": {
+  "name": "cylindrical_rays"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+  {
+   "cells": [
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "from yt.mods import *\n",
+      "import matplotlib.pyplot as plt\n",
+      "import numpy as np\n",
+      "\n",
+      "pf = load('cylindrical_data/nif2013_hdf5_plt_cnt_0006')"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stderr",
+       "text": [
+        "yt : [WARNING  ] 2012-08-21 15:55:48,384 integer runtime parameter checkpointfilenumber overwrites a simulation scalar of the same name\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stderr",
+       "text": [
+        "yt : [WARNING  ] 2012-08-21 15:55:48,385 integer runtime parameter forcedplotfilenumber overwrites a simulation scalar of the same name\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stderr",
+       "text": [
+        "yt : [WARNING  ] 2012-08-21 15:55:48,385 integer runtime parameter nbegin overwrites a simulation scalar of the same name\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stderr",
+       "text": [
+        "yt : [WARNING  ] 2012-08-21 15:55:48,386 integer runtime parameter plotfilenumber overwrites a simulation scalar of the same name\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stderr",
+       "text": [
+        "yt : [INFO     ] 2012-08-21 15:55:48,394 Parameters: current_time              = 8.00057343882e-10\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stderr",
+       "text": [
+        "yt : [INFO     ] 2012-08-21 15:55:48,394 Parameters: domain_dimensions         = [48 96  1]\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stderr",
+       "text": [
+        "yt : [INFO     ] 2012-08-21 15:55:48,395 Parameters: domain_left_edge          = [ 0.     -1.2288  0.    ]\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stderr",
+       "text": [
+        "yt : [INFO     ] 2012-08-21 15:55:48,396 Parameters: domain_right_edge         = [ 1.2288      1.2288      6.28318531]\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stderr",
+       "text": [
+        "yt : [INFO     ] 2012-08-21 15:55:48,397 Parameters: cosmological_simulation   = 0.0\n"
+       ]
+      }
+     ],
+     "prompt_number": 1
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Ray tracer\n",
+      "E = (1.0, 1.0, 0.0)\n",
+      "#F = (1.0, 1.0, na.pi)\n",
+      "F = (1.0, 1.0, 0.75 * na.pi)\n",
+      "\n",
+      "Ecart = na.array((2.0, 0.0, 1.0))\n",
+      "Fcart = na.array((-2.0, na.sin(0.75*na.pi), 1.0))\n",
+      "\n",
+      "D = Fcart - Ecart\n",
+      "\n",
+      "zi = np.logical_or(pf.h.grid_left_edge[:,1] == 0.0, pf.h.grid_right_edge[:,1] == 0.0)\n",
+      "r = pf.h.grid_right_edge[zi,0]\n",
+      "dr = pf.h.grid_right_edge[zi,0] - pf.h.grid_left_edge[zi,0]\n",
+      "a = (D**2)[:2].sum()\n",
+      "b = (2*D*Ecart)[:2].sum()\n",
+      "c = (Ecart**2)[:2].sum() - r**2\n",
+      "\n",
+      "tp = (-b + na.sqrt(b**2 - 4*a*c)) / (2*a)\n",
+      "tm = (-b - na.sqrt(b**2 - 4*a*c)) / (2*a)\n",
+      "\n",
+      "tf = np.concatenate([tm, tp])\n",
+      "ti = tf.argsort()\n",
+      "\n",
+      "tf = tf[ti]\n",
+      "r = np.concatenate([r, r])[ti]\n",
+      "c = np.concatenate([c, c])[ti]\n",
+      "dr = np.concatenate([dr, dr])[ti]\n",
+      "\n",
+      "mask = ~na.isnan(tf)\n",
+      "\n",
+      "dt_dr = (2*r/ na.sqrt(b**2 - 4*a*c))[mask]\n",
+      "int_dt_dr = na.cumsum(dt_dr * dr[mask])\n",
+      "\n",
+      "hand_dt_dr = []\n",
+      "for ri, dri in zip(r, dr):\n",
+      "    router = ri + dri / 2.0 \n",
+      "    rinner = ri - dri / 2.0\n",
+      "    \n",
+      "    couter = (Ecart**2)[:2].sum() - router**2\n",
+      "    cinner = (Ecart**2)[:2].sum() - rinner**2\n",
+      "    \n",
+      "    touter = -b + na.sqrt(b**2 - 4*a*couter) / (2 * a)\n",
+      "    tinner = -b + na.sqrt(b**2 - 4*a*cinner) / (2 * a)\n",
+      "    \n",
+      "    hand_dt_dr.append((touter - tinner)/(router - rinner))\n",
+      "hand_dt_dr = np.array(hand_dt_dr)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [],
+     "prompt_number": 73
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#plt.plot(r, c)\n",
+      "#plt.plot(r, tp, 'r+')\n",
+      "#plt.plot(r, tm, 'k--')\n",
+      "#plt.plot(r[mask], int_dt_dr, 'g-')\n",
+      "\n",
+      "#plt.plot(r, tf, 'r+')\n",
+      "#plt.plot(r[mask], int_dt_dr, 'g-')\n",
+      "\n",
+      "plt.plot(r, hand_dt_dr, 'r+')\n",
+      "plt.plot(r[mask], dt_dr, 'g-')"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "pyout",
+       "prompt_number": 78,
+       "text": [
+        "[<matplotlib.lines.Line2D at 0x7f673d622c50>]"
+       ]
+      },
+      {
+       "output_type": "display_data",
+       "png": "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\n"
+      }
+     ],
+     "prompt_number": 78
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#print np.unique(tf).shape\n",
+      "#print np.unique(r).shape\n",
+      "#print int_dt_dr.max()\n",
+      "#print np.unique(tf[mask]/int_dt_dr)\n",
+      "print hand_dt_dr"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "[ 69.91033866  69.91033866  69.91033866 ...,          nan          nan\n",
+        "          nan]\n"
+       ]
+      }
+     ],
+     "prompt_number": 61
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [],
+     "language": "python",
+     "metadata": {},
+     "outputs": []
+    }
+   ],
+   "metadata": {}
+  }
+ ]
+}
Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for ProjectModifiedEvent.java.
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.