Commits

Anthony Scopatz committed 16698bb

More ray updates.

Comments (0)

Files changed (1)

cylindrical_rays1.ipynb

       "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-30 14:39:51,212 integer runtime parameter checkpointfilenumber overwrites a simulation scalar of the same name\n"
-       ]
-      },
-      {
-       "output_type": "stream",
-       "stream": "stderr",
-       "text": [
-        "yt : [WARNING  ] 2012-08-30 14:39:51,212 integer runtime parameter forcedplotfilenumber overwrites a simulation scalar of the same name\n"
-       ]
-      },
-      {
-       "output_type": "stream",
-       "stream": "stderr",
-       "text": [
-        "yt : [WARNING  ] 2012-08-30 14:39:51,213 integer runtime parameter nbegin overwrites a simulation scalar of the same name\n"
-       ]
-      },
-      {
-       "output_type": "stream",
-       "stream": "stderr",
-       "text": [
-        "yt : [WARNING  ] 2012-08-30 14:39:51,213 integer runtime parameter plotfilenumber overwrites a simulation scalar of the same name\n"
-       ]
-      },
-      {
-       "output_type": "stream",
-       "stream": "stderr",
-       "text": [
-        "yt : [INFO     ] 2012-08-30 14:39:51,221 Parameters: current_time              = 8.00057343882e-10\n"
-       ]
-      },
-      {
-       "output_type": "stream",
-       "stream": "stderr",
-       "text": [
-        "yt : [INFO     ] 2012-08-30 14:39:51,222 Parameters: domain_dimensions         = [48 96  1]\n"
-       ]
-      },
-      {
-       "output_type": "stream",
-       "stream": "stderr",
-       "text": [
-        "yt : [INFO     ] 2012-08-30 14:39:51,223 Parameters: domain_left_edge          = [ 0.     -1.2288  0.    ]\n"
-       ]
-      },
-      {
-       "output_type": "stream",
-       "stream": "stderr",
-       "text": [
-        "yt : [INFO     ] 2012-08-30 14:39:51,225 Parameters: domain_right_edge         = [ 1.2288      1.2288      6.28318531]\n"
-       ]
-      },
-      {
-       "output_type": "stream",
-       "stream": "stderr",
-       "text": [
-        "yt : [INFO     ] 2012-08-30 14:39:51,227 Parameters: cosmological_simulation   = 0.0\n"
-       ]
-      }
-     ],
-     "prompt_number": 1
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "# Ray tracer\n",
-      "E = np.array([0.5, -1.0, 0.0])\n",
-      "F = np.array([1.0, 1.0, 0.75*np.pi])\n",
-      "D = F - E\n",
+      "pf = load('cylindrical_data/nif2013_hdf5_plt_cnt_0006')\\\n",
       "\n",
-      "Ecart = na.array((E[0]*na.cos(E[2]), E[0]*na.sin(E[2]), E[1]))\n",
-      "Fcart = na.array((F[0]*na.cos(F[2]), F[0]*na.sin(F[2]), F[1]))\n",
-      "Dcart = Fcart - Ecart"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [],
-     "prompt_number": 29
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
       "tocart = lambda x: np.array((x[...,0]*np.cos(x[...,2]), x[...,0]*np.sin(x[...,2]), x[...,1])).T\n",
       "\n",
-      "#def intersect(a, b, c, d):\n",
-      "#    r = b - a\n",
-      "#    s = d - c\n",
-      "#    para = (np.cross(tocart(r), tocart(s))).sum(axis=1)\n",
-      "#    t = (np.cross(tocart(c - a), tocart(s))).sum(axis=1) / para\n",
-      "#    return t, a + (t*r[:,np.newaxis]).T\n",
-      "\n",
       "def intersect(a, b, c, d):\n",
       "    r = tocart(b) - tocart(a)\n",
       "    s = tocart(d) - tocart(c)\n",
      ],
      "language": "python",
      "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stderr",
+       "text": [
+        "yt : [WARNING  ] 2012-08-30 18:46:01,717 integer runtime parameter checkpointfilenumber overwrites a simulation scalar of the same name\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stderr",
+       "text": [
+        "yt : [WARNING  ] 2012-08-30 18:46:01,718 integer runtime parameter forcedplotfilenumber overwrites a simulation scalar of the same name\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stderr",
+       "text": [
+        "yt : [WARNING  ] 2012-08-30 18:46:01,719 integer runtime parameter nbegin overwrites a simulation scalar of the same name\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stderr",
+       "text": [
+        "yt : [WARNING  ] 2012-08-30 18:46:01,720 integer runtime parameter plotfilenumber overwrites a simulation scalar of the same name\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stderr",
+       "text": [
+        "yt : [INFO     ] 2012-08-30 18:46:01,733 Parameters: current_time              = 8.00057343882e-10\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stderr",
+       "text": [
+        "yt : [INFO     ] 2012-08-30 18:46:01,734 Parameters: domain_dimensions         = [48 96  1]\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stderr",
+       "text": [
+        "yt : [INFO     ] 2012-08-30 18:46:01,736 Parameters: domain_left_edge          = [ 0.     -1.2288  0.    ]\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stderr",
+       "text": [
+        "yt : [INFO     ] 2012-08-30 18:46:01,738 Parameters: domain_right_edge         = [ 1.2288      1.2288      6.28318531]\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stderr",
+       "text": [
+        "yt : [INFO     ] 2012-08-30 18:46:01,741 Parameters: cosmological_simulation   = 0.0\n"
+       ]
+      }
+     ],
+     "prompt_number": 341
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Ray tracer\n",
+      "#E = np.array([0.5, -1.0, 0.0])\n",
+      "E = np.array([0.5, 0.0, 0.0])\n",
+      "\n",
+      "#F = np.array([1.0, 1.0, 0.75*np.pi])\n",
+      "F = np.array([0.5, 0.0, np.pi])\n",
+      "\n",
+      "D = F - E\n",
+      "\n",
+      "Ecart = na.array((E[0]*na.cos(E[2]), E[0]*na.sin(E[2]), E[1]))\n",
+      "Fcart = na.array((F[0]*na.cos(F[2]), F[0]*na.sin(F[2]), F[1]))\n",
+      "Dcart = Fcart - Ecart"
+     ],
+     "language": "python",
+     "metadata": {},
      "outputs": [],
-     "prompt_number": 30
+     "prompt_number": 355
     },
     {
      "cell_type": "code",
      "language": "python",
      "metadata": {},
      "outputs": [],
-     "prompt_number": 31
+     "prompt_number": 356
     },
     {
      "cell_type": "code",
      "collapsed": false,
      "input": [
       "ind = np.unique(np.concatenate([np.argwhere(tmmleft).flat, np.argwhere(tpmleft).flat, np.argwhere(tmmright).flat, np.argwhere(tpmright).flat,]))\n",
-      "thetaleft = np.zeros(len(ind))\n",
-      "thetaright = np.zeros(len(ind))\n",
-      "thetaleftinv = np.zeros(len(ind))\n",
-      "thetarightinv = np.zeros(len(ind))\n",
-      "for j, i in enumerate(ind):\n",
-      "    if ~np.isnan(tmleft[i]):\n",
-      "        thetaleft[j] = np.arctan((Ecart[1] + tmleft[i]*Dcart[1])/(Ecart[0] + tmleft[i]*Dcart[0]))\n",
-      "    else:\n",
-      "        thetaleft[j] = np.arctan((Ecart[1] + tpleft[i]*Dcart[1])/(Ecart[0] + tpleft[i]*Dcart[0]))\n",
-      "    if ~np.isnan(tmright[i]):\n",
-      "        thetaright[j] = np.arctan((Ecart[1] + tmright[i]*Dcart[1])/(Ecart[0] + tmright[i]*Dcart[0]))\n",
-      "    else:\n",
-      "        thetaright[j] = np.arctan((Ecart[1] + tpright[i]*Dcart[1])/(Ecart[0] + tpright[i]*Dcart[0]))\n",
-      "    if ~np.isnan(tpleft[i]):\n",
-      "        thetaleftinv[j] = np.arctan((Ecart[1] + tpleft[i]*Dcart[1])/(Ecart[0] + tpleft[i]*Dcart[0]))\n",
-      "    else:\n",
-      "        thetaleftinv[j] = np.arctan((Ecart[1] + tmleft[i]*Dcart[1])/(Ecart[0] + tmleft[i]*Dcart[0]))\n",
-      "    if ~np.isnan(tpright[i]):\n",
-      "        thetarightinv[j] = np.arctan((Ecart[1] + tpright[i]*Dcart[1])/(Ecart[0] + tpright[i]*Dcart[0]))\n",
-      "    else:\n",
-      "        thetarightinv[j] = np.arctan((Ecart[1] + tmright[i]*Dcart[1])/(Ecart[0] + tmright[i]*Dcart[0]))\n",
+      "if 0 == len(ind):\n",
+      "    print \"Ind len zero\"\n",
+      "    ind = np.arange(len(rleft))\n",
+      "\n",
+      "thetaleft = np.arctan((Ecart[1] + tmleft[ind]*Dcart[1])/(Ecart[0] + tmleft[ind]*Dcart[0]))\n",
+      "nans = np.isnan(thetaleft)\n",
+      "thetaleft[nans] = np.arctan((Ecart[1] + tpleft[ind[nans]]*Dcart[1])/(Ecart[0] + tpleft[ind[nans]]*Dcart[0]))\n",
+      "\n",
+      "thetaright = np.arctan((Ecart[1] + tmright[ind]*Dcart[1])/(Ecart[0] + tmright[ind]*Dcart[0]))\n",
+      "nans = np.isnan(thetaleft)\n",
+      "thetaright[nans] = np.arctan((Ecart[1] + tpright[ind[nans]]*Dcart[1])/(Ecart[0] + tpright[ind[nans]]*Dcart[0]))\n",
       "\n",
       "a = E\n",
       "b = F\n",
       "#c = np.array([rright[ind], zleft[ind], thetaright]).T\n",
       "#d = np.array([rright[ind], zright[ind], thetaright]).T\n",
       "\n",
-      "#c = np.array([rleft[ind], zleft[ind], thetaleft + np.pi/2]).T\n",
-      "#d = np.array([rright[ind], zleft[ind], thetaright + np.pi/2]).T\n",
+      "c =              np.array([rleft[ind], zright[ind], thetaleft]).T\n",
+      "c = np.append(c, np.array([rleft[ind], zleft[ind], thetaleft]).T, axis=0)\n",
+      "c = np.append(c, np.array([rleft[ind], zleft[ind], thetaleft]).T, axis=0)\n",
+      "c = np.append(c, np.array([rright[ind], zleft[ind], thetaright]).T, axis=0)\n",
+      "c = np.append(c, np.array([rleft[ind], zleft[ind], thetaleft]).T, axis=0)\n",
+      "c = np.append(c, np.array([rright[ind], zright[ind], thetaleft]).T, axis=0)\n",
+      "c = np.append(c, np.array([rleft[ind], zright[ind], thetaleft]).T, axis=0)\n",
+      "c = np.append(c, np.array([rright[ind], zleft[ind], thetaleft]).T, axis=0)\n",
       "\n",
-      "#c = np.array([rleft[ind], zright[ind], thetaleft]).T\n",
-      "#d = np.array([rright[ind], zright[ind], thetaright]).T\n",
+      "d =              np.array([rright[ind], zright[ind], thetaright]).T\n",
+      "d = np.append(d, np.array([rright[ind], zleft[ind], thetaright]).T, axis=0)\n",
+      "d = np.append(d, np.array([rleft[ind], zright[ind], thetaleft]).T, axis=0)\n",
+      "d = np.append(d, np.array([rright[ind], zright[ind], thetaright]).T, axis=0)\n",
+      "d = np.append(d, np.array([rleft[ind], zleft[ind], thetaright]).T, axis=0)\n",
+      "d = np.append(d, np.array([rright[ind], zright[ind], thetaright]).T, axis=0)\n",
+      "d = np.append(d, np.array([rleft[ind], zright[ind], thetaright]).T, axis=0)\n",
+      "d = np.append(d, np.array([rright[ind], zleft[ind], thetaright]).T, axis=0)\n",
       "\n",
-      "c = np.array([rleft[ind], zleft[ind], thetaleftinv]).T\n",
-      "d = np.array([rright[ind], zleft[ind], thetarightinv]).T\n",
-      "\n",
+      "origind = ind\n",
+      "ind = np.append(ind, origind)\n",
+      "ind = np.append(ind, origind)\n",
+      "ind = np.append(ind, origind)\n",
+      "ind = np.append(ind, origind)\n",
+      "ind = np.append(ind, origind)\n",
+      "ind = np.append(ind, origind)\n",
+      "ind = np.append(ind, origind)\n",
       "\n",
       "tsec, intsec = intersect(a, b, c, d)\n",
       "tmask = np.logical_and(0.0<=tsec, tsec<=1.0)\n",
-      "xyz = intsec[tmask]\n",
+      "print np.isnan(tsec).all(), len(tsec)\n",
+      "tsec, utmask = np.unique(tsec[tmask], return_index=True)\n",
+      "ind = ind[tmask][utmask]\n",
+      "xyz = intsec[tmask][utmask]\n",
       "s = np.sqrt(((xyz - Ecart)**2).sum(axis=1))\n",
+      "s, smask = np.unique(s, return_index=True)\n",
+      "ind = ind[smask]\n",
+      "xyz = xyz[smask]\n",
       "t = s/np.sqrt((Dcart**2).sum())\n",
       "si = s.argsort()\n",
       "s = s[si]\n",
       "t = t[si]\n",
+      "ind = ind[si]\n",
       "xyz = xyz[si]\n",
       "rztheta = np.array([np.sqrt(xyz[:,0]**2 + xyz[:,1]**2), xyz[:,2], np.arctan(xyz[:,1]/xyz[:,0])]).T\n",
       "theta = rztheta[:,2]\n",
      ],
      "language": "python",
      "metadata": {},
-     "outputs": [],
-     "prompt_number": 32
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "(201616,) (201616, 3)\n",
+        "False"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        " 201616\n"
+       ]
+      }
+     ],
+     "prompt_number": 357
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "len(ind)\n",
+      "t"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "pyout",
+       "prompt_number": 358,
+       "text": [
+        "array([ 0.    ,  0.012 ,  0.1144,  0.1144,  0.3192])"
+       ]
+      }
+     ],
+     "prompt_number": 358
     },
     {
      "cell_type": "code",
      "input": [
       "fig = plt.figure(figsize=(8,6))\n",
       "plt.plot(t, rztheta, figure=fig)\n",
-      "#plt.plot(t, s, figure=fig)\n",
-      "#plt.plot(thetaleft, figure=fig)\n",
-      "#plt.plot(t, dr_dt, 'g-', figure=fig)\n",
-      "#plt.plot(t, dr/dt, 'ro', figure=fig)"
+      "plt.legend(['r', 'z', '$\\\\theta$'], loc=0)"
      ],
      "language": "python",
      "metadata": {},
      "outputs": [
       {
        "output_type": "pyout",
-       "prompt_number": 33,
+       "prompt_number": 359,
        "text": [
-        "[<matplotlib.lines.Line2D at 0x7fa176fdc6d0>]"
+        "<matplotlib.legend.Legend at 0x7fa1598f8510>"
        ]
       },
       {
        "output_type": "display_data",
-       "png": "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\n"
+       "png": "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\naLu6rnPnyeeqVasC8r1tPjiWmpqqurq6lvc1NTVKv0f39d/+9rfKyclRcXGxevfuHZDCAADBq2dP\naeFCM2UrNVWaOFFasEA6e9Z2ZcGlzZD2er2SzBPeZ86c0aFDh5SWltZqm3PnzukHP/iBdu/erWHD\nhnVdpQCAoNOrl7RkiQnrRx+VkpNN69GLF21XFhzafbr78OHDysnJUXNzs3Jzc5Wbm6uCggJJUnZ2\ntv72b/9WRUVFGjRokCSpR48eqqysbP1LeHAMACDpiy/Mkpgffmj6gi9ebB40CzWsJw0ACFrnzpn7\n1Pv3S6+9Jr36qvTQQ7arChzWkwYABK1Bg6Tt26WKCqm62nQvy8+XbtywXZm7ENIAAGvi403XsgMH\nzCs+3lwKv3nTdmXuwOVuAIBrHDliupd99ZW0Zo307LPB2b2Me9IAgJDkONLBgyasPR7TvWzy5OAK\na0IaABDSbt0yi3gsX26Wy3zrLekerTpciQfHAAAhLTLSdC6rqfm2i9nMmdKJE7Yr6z6ENADA1Twe\nKStLqq+XJk2SpkyR5s2TTp+2XVnXI6QBAEEhOtp0Kzt1yvQBT0uTtmyxXVXX4p40ACAoNTZKly9L\nQ4faruRuPDgGAIBL8eAYAAAhjpAGAMClCGkAAFyKkAYAwKUIaQAAXIqQBgDApQhpAABcipAGAMCl\nCGkAAFyKkAYAwKUIaQAAXIqQBgDApQhpAABcipAGAMClCGkAAFyKkAYAwKUIaQAAXIqQBgDApQhp\nAABcipAGAMClCGkAAFyKkAYAwKUIaQAAXIqQBgDApQhpAABcipAGAMClCGkAAFyKkAYAwKUIaQAA\nXIqQBgDApQhpAABcipAGAMClCGkAAFyKkAYAwKUIaQAAXIqQBgDApQhpAABcipAGAMClCGkAAFyK\nkAYAwKUIaQAAXIqQBgDApQhpAABcipAGAMClCGkAAFyKkAYAwKUIaQAAXIqQBgDApdoN6fLyciUm\nJsrn82nLli13fV5XV6fx48crOjpaGzZs6JIiAQAIRxGO4zhtbTB27Fht3rxZcXFxmjZtmioqKhQb\nG9vy+ZdffqmzZ8/q3/7t3/Twww/rtddeu/uXRESonV8DAEDICFTutXkmfeXKFUnShAkTFBcXp6lT\np+r48eOttunXr58ee+wx9ejRw+9iAADAtzxtfVhVVaWEhISW90lJSTp27JgyMzM7/YtWrlzZ8nNG\n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\nYII=\n"
       }
      ],
-     "prompt_number": 33
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "s"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "pyout",
-       "prompt_number": 23,
-       "text": [
-        "array([ 0.05974362,  0.1274708 ,  0.13626709,  0.21279055,  0.21735933,\n",
-        "        0.22692477,  0.2364902 ,  0.24605563,  0.2474015 ,  0.24778964,\n",
-        "        0.25218422,  0.25562107,  0.25696693,  0.26174965,  0.26490341,\n",
-        "        0.2651865 ,  0.26653237,  0.2669205 ,  0.2669205 ,  0.26729477,\n",
-        "        0.26968613,  0.27131508,  0.27207749,  0.27648594,  0.27648594,\n",
-        "        0.28051773,  0.28126865,  0.28126865,  0.28366001,  0.28605137,\n",
-        "        0.28605137,  0.28605137,  0.28605137,  0.28844273,  0.28931402,\n",
-        "        0.29083409,  0.29506001,  0.2956168 ,  0.2956168 ,  0.29625569,\n",
-        "        0.29745137,  0.29864705,  0.30039952,  0.30518224,  0.30518224,\n",
-        "        0.31474767,  0.31511239,  0.31750375,  0.31750375,  0.31869943,\n",
-        "        0.31989511,  0.31989511,  0.32109079,  0.32228647,  0.3243131 ,\n",
-        "        0.32467782,  0.32706918,  0.34344397,  0.35961179,  0.36583748,\n",
-        "        0.43356466,  0.44236095,  0.51265871,  0.51888441,  0.57373251,\n",
-        "        0.58661159,  0.59540787,  0.66570564,  0.67193134,  0.72677944,\n",
-        "        0.73965852,  0.7484548 ,  0.81875257,  0.82497827,  0.82497827,\n",
-        "        0.86324   ,  0.87982637,  0.89270545,  0.89270545,  0.90150173,\n",
-        "        0.90150173,  0.9026062 ,  0.93976346,  0.94086794,  0.96922891,\n",
-        "        0.9717995 ,  0.9780252 ,  0.9780252 ,  0.97912967,  1.01278301,\n",
-        "        1.01628693,  1.0173914 ,  1.03287329,  1.04575237,  1.04575237,\n",
-        "        1.05454866,  1.05565313,  1.08930647,  1.09391486,  1.12227584,\n",
-        "        1.12484643,  1.13107212,  1.16582994,  1.18592022,  1.1987993 ,\n",
-        "        1.1987993 ,  1.2423534 ,  1.27532277,  1.27789336,  1.31887687,\n",
-        "        1.33896715,  1.35184623,  1.39540033,  1.43094029,  1.49201408,\n",
-        "        1.50489316,  1.58398721,  1.64506101,  1.65794009,  1.73703414,\n",
-        "        1.79810794,  1.81098702,  1.89008107,  1.95115487,  2.043128  ,\n",
-        "        2.10420179,  2.25724872])"
-       ]
-      }
-     ],
-     "prompt_number": 23
+     "prompt_number": 359
     },
     {
      "cell_type": "code",