mirror of
https://github.com/wassname/simpeg.git
synced 2026-06-28 17:19:06 +08:00
731 lines
80 KiB
Plaintext
731 lines
80 KiB
Plaintext
{
|
|
"metadata": {
|
|
"name": "GroundedSource"
|
|
},
|
|
"nbformat": 3,
|
|
"nbformat_minor": 0,
|
|
"worksheets": [
|
|
{
|
|
"cells": [
|
|
{
|
|
"cell_type": "code",
|
|
"collapsed": false,
|
|
"input": [
|
|
"import numpy as np\n",
|
|
"import matplotlib.pyplot as plt\n",
|
|
"from SimPEG import TensorMesh"
|
|
],
|
|
"language": "python",
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"prompt_number": 18
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"collapsed": false,
|
|
"input": [
|
|
"pad = 1\n",
|
|
"padfactor = 1.5\n",
|
|
"cs = 100\n",
|
|
"xpad = cs*(np.ones(pad)*padfactor)**np.arange(pad)\n",
|
|
"ypad = cs*(np.ones(pad)*padfactor)**np.arange(pad)\n",
|
|
"zpad = cs*(np.ones(pad)*padfactor)**np.arange(pad)\n",
|
|
"\n",
|
|
"core = 10\n",
|
|
"xcore = cs*np.ones(core)\n",
|
|
"ycore = cs*np.ones(core)\n",
|
|
"zcore = cs*np.ones(core)\n",
|
|
"\n",
|
|
"hx = np.r_[xpad[::-1],xcore, cs, xcore,xpad]\n",
|
|
"hy = np.r_[ypad[::-1],ycore, cs, ycore, ypad]\n",
|
|
"hz = np.r_[zpad[::-1],zcore,zcore, zpad]\n",
|
|
"x0 = np.array([-np.sum(hx)/2, -np.sum(hy)/2, -np.sum(hz)/2], )\n",
|
|
"mesh = TensorMesh([hx, hy, hz],x0)"
|
|
],
|
|
"language": "python",
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"prompt_number": 19
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"collapsed": false,
|
|
"input": [
|
|
"print mesh"
|
|
],
|
|
"language": "python",
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"output_type": "stream",
|
|
"stream": "stdout",
|
|
"text": [
|
|
" ---- 3-D TensorMesh ---- \n",
|
|
" x0: -1150.00\n",
|
|
" y0: -1150.00\n",
|
|
" z0: -1100.00\n",
|
|
" nCx: 23\n",
|
|
" nCy: 23\n",
|
|
" nCz: 22\n",
|
|
" hx: 23*100.00\n",
|
|
" hy: 23*100.00\n",
|
|
" hz: 22*100.00\n"
|
|
]
|
|
}
|
|
],
|
|
"prompt_number": 20
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"collapsed": false,
|
|
"input": [
|
|
"pts = np.array([[950, 50, 0], \n",
|
|
" [950, 950, 0],\n",
|
|
" [-950, 950,0],\n",
|
|
" [-950, 50, 0]])\n",
|
|
"pts = np.array([[950, 50, -500], \n",
|
|
" [950, 50, +500]])\n",
|
|
"pts = np.array([[950, 50, -200],\n",
|
|
"\t\t\t\t[950, 50, 0], \n",
|
|
" [950, 950, 0],\n",
|
|
" [-950, 950,0],\n",
|
|
" [-950, 50, 0],\n",
|
|
" [-950, 50, -200]])\n"
|
|
],
|
|
"language": "python",
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"prompt_number": 21
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"collapsed": false,
|
|
"input": [
|
|
"print mesh.vectorCCx\n",
|
|
"print mesh.vectorCCy\n",
|
|
"print mesh.vectorCCz\n"
|
|
],
|
|
"language": "python",
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"output_type": "stream",
|
|
"stream": "stdout",
|
|
"text": [
|
|
"[-1100. -1000. -900. -800. -700. -600. -500. -400. -300. -200.\n",
|
|
" -100. 0. 100. 200. 300. 400. 500. 600. 700. 800.\n",
|
|
" 900. 1000. 1100.]\n",
|
|
"[-1100. -1000. -900. -800. -700. -600. -500. -400. -300. -200.\n",
|
|
" -100. 0. 100. 200. 300. 400. 500. 600. 700. 800.\n",
|
|
" 900. 1000. 1100.]\n",
|
|
"[-1050. -950. -850. -750. -650. -550. -450. -350. -250. -150.\n",
|
|
" -50. 50. 150. 250. 350. 450. 550. 650. 750. 850.\n",
|
|
" 950. 1050.]\n"
|
|
]
|
|
}
|
|
],
|
|
"prompt_number": 22
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"collapsed": false,
|
|
"input": [],
|
|
"language": "python",
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"prompt_number": 22
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"collapsed": false,
|
|
"input": [
|
|
"def ismember(a, b):\n",
|
|
" tf = np.array([i in b for i in a])\n",
|
|
" return tf"
|
|
],
|
|
"language": "python",
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"prompt_number": 23
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"collapsed": false,
|
|
"input": [
|
|
"#def edgeModel = path2edgeModel\n",
|
|
"edm_x = np.zeros(np.prod(mesh.nEx))\n",
|
|
"edm_y = np.zeros(np.prod(mesh.nEy))\n",
|
|
"edm_z = np.zeros(np.prod(mesh.nEz))\n",
|
|
"\n",
|
|
"for ii in range (pts.shape[0]-1):\n",
|
|
" pt1 = pts[ii,:]\n",
|
|
" pt2 = pts[ii+1,:]\n",
|
|
" delta = pt2 - pt1\n",
|
|
" deltaDim = np.argwhere(delta)\n",
|
|
" #assert(np.size(deltaDim)==1), \"Path must be orthoginal to mesh\"\n",
|
|
" if deltaDim == 0:\n",
|
|
" xLoc = mesh.vectorCCx[(min(pt1[0],pt2[0]) < mesh.vectorCCx ) & (mesh.vectorCCx < max(pt1[0],pt2[0]))]\n",
|
|
" yLoc = pts[ii,1]\n",
|
|
" zLoc = pts[ii,2]\n",
|
|
" delDir = np.sign(pt2[0]-pt1[0])\n",
|
|
" xyz = np.c_[xLoc, np.ones(np.size(xLoc))*yLoc, np.ones(np.size(xLoc))*zLoc]\n",
|
|
" edgeInd=ismember(map(tuple,mesh.gridEx),map(tuple,xyz))\n",
|
|
" edm_x[edgeInd] = delDir\n",
|
|
" print '>> x-direction', ii\n",
|
|
" print mesh.gridEx[edgeInd]\n",
|
|
" if deltaDim == 1: \n",
|
|
" xLoc = pts[ii,0]\n",
|
|
" yLoc = mesh.vectorCCy[(min(pt1[1],pt2[1]) < mesh.vectorCCy ) & (mesh.vectorCCy < max(pt1[1],pt2[1]))]\n",
|
|
" zLoc = pts[ii,2]\n",
|
|
" delDir = np.sign(pt2[1]-pt1[1])\n",
|
|
" xyz = np.c_[np.ones(np.size(yLoc))*xLoc, yLoc, np.ones(np.size(yLoc))*zLoc]\n",
|
|
" edgeInd=ismember(map(tuple,mesh.gridEy),map(tuple,xyz))\n",
|
|
" edm_y[edgeInd] = delDir\n",
|
|
" print '>> y-direction', ii\n",
|
|
" print mesh.gridEy[edgeInd]\n",
|
|
" if deltaDim == 2: \n",
|
|
" xLoc = pts[ii,0]\n",
|
|
" yLoc = pts[ii,1]\n",
|
|
" zLoc = mesh.vectorCCz[(min(pt1[2],pt2[2]) < mesh.vectorCCz ) & (mesh.vectorCCz < max(pt1[2],pt2[2]))]\n",
|
|
" delDir = np.sign(pt2[2]-pt1[2])\n",
|
|
" xyz = np.c_[np.ones(np.size(zLoc))*xLoc, np.ones(np.size(zLoc))*yLoc, zLoc]\n",
|
|
" edgeInd=ismember(map(tuple,mesh.gridEz),map(tuple,xyz))\n",
|
|
" edm_z[edgeInd] = delDir\n",
|
|
" print '>> z-direction', ii\n",
|
|
" print mesh.gridEz[edgeInd]\n",
|
|
" \n",
|
|
" edgeModel = np.r_[edm_x, edm_y, edm_z]"
|
|
],
|
|
"language": "python",
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"output_type": "stream",
|
|
"stream": "stdout",
|
|
"text": [
|
|
">> z-direction 0\n",
|
|
"[[ 950. 50. -150.]\n",
|
|
" [ 950. 50. -50.]]\n",
|
|
">> y-direction 1\n",
|
|
"[[ 950. 100. 0.]\n",
|
|
" [ 950. 200. 0.]\n",
|
|
" [ 950. 300. 0.]\n",
|
|
" [ 950. 400. 0.]\n",
|
|
" [ 950. 500. 0.]\n",
|
|
" [ 950. 600. 0.]\n",
|
|
" [ 950. 700. 0.]\n",
|
|
" [ 950. 800. 0.]\n",
|
|
" [ 950. 900. 0.]]\n",
|
|
">> x-direction"
|
|
]
|
|
},
|
|
{
|
|
"output_type": "stream",
|
|
"stream": "stdout",
|
|
"text": [
|
|
" 2\n",
|
|
"[[-900. 950. 0.]\n",
|
|
" [-800. 950. 0.]\n",
|
|
" [-700. 950. 0.]\n",
|
|
" [-600. 950. 0.]\n",
|
|
" [-500. 950. 0.]\n",
|
|
" [-400. 950. 0.]\n",
|
|
" [-300. 950. 0.]\n",
|
|
" [-200. 950. 0.]\n",
|
|
" [-100. 950. 0.]\n",
|
|
" [ 0. 950. 0.]\n",
|
|
" [ 100. 950. 0.]\n",
|
|
" [ 200. 950. 0.]\n",
|
|
" [ 300. 950. 0.]\n",
|
|
" [ 400. 950. 0.]\n",
|
|
" [ 500. 950. 0.]\n",
|
|
" [ 600. 950. 0.]\n",
|
|
" [ 700. 950. 0.]\n",
|
|
" [ 800. 950. 0.]\n",
|
|
" [ 900. 950. 0.]]\n",
|
|
">> y-direction"
|
|
]
|
|
},
|
|
{
|
|
"output_type": "stream",
|
|
"stream": "stdout",
|
|
"text": [
|
|
" 3\n",
|
|
"[[-950. 100. 0.]\n",
|
|
" [-950. 200. 0.]\n",
|
|
" [-950. 300. 0.]\n",
|
|
" [-950. 400. 0.]\n",
|
|
" [-950. 500. 0.]\n",
|
|
" [-950. 600. 0.]\n",
|
|
" [-950. 700. 0.]\n",
|
|
" [-950. 800. 0.]\n",
|
|
" [-950. 900. 0.]]\n",
|
|
">> z-direction 4\n",
|
|
"[[-950. 50. -150.]\n",
|
|
" [-950. 50. -50.]]\n"
|
|
]
|
|
}
|
|
],
|
|
"prompt_number": 24
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"collapsed": false,
|
|
"input": [
|
|
"print xyz\n",
|
|
"print mesh.vectorNx\n",
|
|
"print mesh.vectorNy\n",
|
|
"print mesh.vectorNz"
|
|
],
|
|
"language": "python",
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"output_type": "stream",
|
|
"stream": "stdout",
|
|
"text": [
|
|
"[[-950. 50. -150.]\n",
|
|
" [-950. 50. -50.]]\n",
|
|
"[-1150. -1050. -950. -850. -750. -650. -550. -450. -350. -250.\n",
|
|
" -150. -50. 50. 150. 250. 350. 450. 550. 650. 750.\n",
|
|
" 850. 950. 1050. 1150.]\n",
|
|
"[-1150. -1050. -950. -850. -750. -650. -550. -450. -350. -250.\n",
|
|
" -150. -50. 50. 150. 250. 350. 450. 550. 650. 750.\n",
|
|
" 850. 950. 1050. 1150.]\n",
|
|
"[-1100. -1000. -900. -800. -700. -600. -500. -400. -300. -200.\n",
|
|
" -100. 0. 100. 200. 300. 400. 500. 600. 700. 800.\n",
|
|
" 900. 1000. 1100.]\n"
|
|
]
|
|
}
|
|
],
|
|
"prompt_number": 25
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"collapsed": false,
|
|
"input": [
|
|
"mesh.plotImage(edm_x, imageType='Ex')"
|
|
],
|
|
"language": "python",
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"output_type": "pyout",
|
|
"prompt_number": 26,
|
|
"text": [
|
|
"<matplotlib.collections.QuadMesh at 0xaad7588>"
|
|
]
|
|
},
|
|
{
|
|
"output_type": "display_data",
|
|
"png": "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\n",
|
|
"text": [
|
|
"<matplotlib.figure.Figure at 0xaac2748>"
|
|
]
|
|
}
|
|
],
|
|
"prompt_number": 26
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"collapsed": false,
|
|
"input": [
|
|
"mesh.plotImage(edm_y, imageType='Ey')"
|
|
],
|
|
"language": "python",
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"output_type": "pyout",
|
|
"prompt_number": 27,
|
|
"text": [
|
|
"<matplotlib.collections.QuadMesh at 0xafdf9e8>"
|
|
]
|
|
},
|
|
{
|
|
"output_type": "display_data",
|
|
"png": "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\nhRgMBoKCgigrK7MsLygoICYmxpZIQgghOsGm8p8yZQp5eXmcP3+e+vp6PvroI+68806MRiOZmZnU\n1taSmZlpKfLo6Gi2b99OSUkJWVlZaLVaPD09gebDQxs3bqS8vJxNmzZhNBrtNzohhBDtsumwz8CB\nA1mxYgWzZ8/m0qVLTJ8+nalTpxIdHc38+fMJCQkhMjKSlStXAuDn50dqairx8fG4ubmxfv16y2Ot\nWrWK+fPns2zZMubOnUtUVJR9RiaEEOK6bCp/gAcffJAHH3ywzTJPT082b97c7vpLlixhyZIl1yzX\n6/Xs37/f1hhCCCFsIN/wFUIIFZLyF0IIFZLyF0IIFZLyF0IIFZLyF0IIFZLyF0IIFZLyF0IIFZLy\nF0IIFZLyF0IIFZLyF0IIFZLyF0IIFZLyF0IIFZLyF0IIFZLyF0IIFZLyF0IIFZLyF0IIFZLyF0II\nFZLyF0IIFZLyF0IIFZLyF0IIFbJ5Andn8HuNGwBPKZd7OIn9uWietfx/o/Jku+u0jv9qfeW1uHr8\nV7veayGE6BzZ8xdCCBWS8hdCCBWS8hdCCBWS8hdCCBWS8hdCCBWS8hdCCBWS8hdCCBWS8hdCCBWy\nufwvXrzIL37xC8aOHYter8dkMlFdXU1CQgI6nY5Zs2ZRU1NjWX/NmjUEBwej1+vZu3evZbnZbCYy\nMpLRo0ezfPnyro1GCCGEVWwu/9/97nfodDoOHDjAgQMHCA0NJSMjA51Ox+HDhxkxYgTr1q0D4MyZ\nM6xdu5Zdu3aRkZFBWlqa5XGWLl3KE088QW5uLtnZ2eTl5XV9VEIIITpkc/nv3LmTJ598kptuuol+\n/frh5eVFTk4OKSkpuLu7k5ycjMlkAsBkMjF9+nR0Oh2xsbEoimJ5V1BUVERSUhI+Pj4kJiZathFC\nCNF9bLq2z4kTJ6irqyM1NRWz2UxiYiJpaWnk5uYSGhoKQGhoKDk5OUBz+YeFhVm2DwkJwWQyERAQ\ngK+vr2W5Xq9nw4YNLF68uM3zpaenk80eAALidATGBdgSWwgh+qxjWcUUZ5VYvb5N5V9XV8ehQ4d4\n4YUXmDZtGg8//DDvvvsuiqJY/RgajeaaZdfbPj09nSYabIkqhBCqEBgX0GbHePfTezpc36bDPkFB\nQYSEhDBjxgw8PDyYN28e27Ztw2AwYDabgeYPcg0GAwBGo5GCggLL9oWFhRgMBoKCgigrK7MsLygo\n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\nQggV+v+SqxuYi1KoIAAAAABJRU5ErkJggg==\n",
|
|
"text": [
|
|
"<matplotlib.figure.Figure at 0xaac32e8>"
|
|
]
|
|
}
|
|
],
|
|
"prompt_number": 27
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"collapsed": false,
|
|
"input": [
|
|
"mesh.plotImage(edm_z, imageType='Ez')"
|
|
],
|
|
"language": "python",
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"output_type": "pyout",
|
|
"prompt_number": 28,
|
|
"text": [
|
|
"<matplotlib.collections.QuadMesh at 0xad95e48>"
|
|
]
|
|
},
|
|
{
|
|
"output_type": "display_data",
|
|
"png": "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\njMFgICQkhIqKCsvyoqIi4uLibIkkhBCiC2wq/8mTJ1NQUMDZs2dpaGjgo48+4o477sBoNJKdnU1d\nXR3Z2dmWIo+NjWXr1q2UlZWRk5ODVqvF29sbaJkeWr9+PZWVlWzYsAGj0Wi/0QkhhOiQTdM+AwcO\nZPny5cyaNYuLFy8ybdo0pkyZQmxsLPPmzSMsLIzo6Giee+45AAICAkhPTycxMREPDw/Wrl1reawV\nK1Ywb948li5dypw5c4iJibHPyIQQQlyTTeUP8MADD/DAAw+0W+bt7c3GjRs7XH/x4sUsXrz4quV6\nvZ69e/faGkMIIYQN5Bu+QgihQlL+QgihQlL+QgihQlL+QgihQlL+QgihQlL+QgihQlL+QgihQlL+\nQgihQlL+QgihQlL+QgihQlL+QgihQlL+QgihQlL+QgihQlL+QgihQlL+QgihQlL+QgihQlL+Qgih\nQlL+QgihQlL+QgihQlL+QgihQlL+QgihQlL+QgihQlL+QgihQlL+QgihQlL+QgihQlL+QgihQlL+\nQgihQlL+QgihQlL+QgihQjaX/4ULF/jFL37B2LFj0ev1mEwmampqSEpKQqfTMXPmTGpray3rr1q1\nitDQUPR6Pbt377YsN5vNREdHM3r0aJYtW9a90QghhLCKzeX/u9/9Dp1Ox759+9i3bx/h4eFkZWWh\n0+k4ePAgI0aMYM2aNQCcOnWK1atXs2PHDrKyssjIyLA8zpIlS3j88cfJz88nNzeXgoKC7o9KCCFE\np2wu/+3bt/PEE09www030K9fP3x8fMjLyyMtLQ1PT09SU1MxmUwAmEwmpk2bhk6nIz4+HkVRLO8K\nSkpKSElJwc/Pj+TkZMs2Qgghek4/WzY6duwY9fX1pKenYzabSU5OJiMjg/z8fMLDwwEIDw8nLy8P\naCn/iIgIy/ZhYWGYTCaCgoLw9/e3LNfr9axbt45Fixa1e77MzExy2QVAUIKO4IQgW2ILIYTLOpJT\nSmlOmdXr21T+9fX1HDhwgBdeeIGpU6fy0EMP8e6776IoitWPodForlp2re0zMzNpptGWqEIIoQrB\nCUHtdox3PrWr0/VtmvYJCQkhLCyM6dOn4+Xlxdy5c9myZQsGgwGz2Qy0fJBrMBgAMBqNFBUVWbYv\nLi7GYDAQEhJCRUWFZXlRURFxcXG2RBJCCNEFNs/5h4aGYjKZaG5u5sMPP2Tq1KkYjUays7Opq6sj\n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\nFfr/O/wxcmvA4FsAAAAASUVORK5CYII=\n",
|
|
"text": [
|
|
"<matplotlib.figure.Figure at 0x796c630>"
|
|
]
|
|
}
|
|
],
|
|
"prompt_number": 28
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"collapsed": false,
|
|
"input": [
|
|
"subplot(131)\n",
|
|
"plot(edm_x)\n",
|
|
"subplot(132)\n",
|
|
"plot(edm_y)\n",
|
|
"subplot(133)\n",
|
|
"plot(edm_z)"
|
|
],
|
|
"language": "python",
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"output_type": "pyout",
|
|
"prompt_number": 29,
|
|
"text": [
|
|
"[<matplotlib.lines.Line2D at 0xb903588>]"
|
|
]
|
|
},
|
|
{
|
|
"output_type": "display_data",
|
|
"png": "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\nRK5CYII=\n",
|
|
"text": [
|
|
"<matplotlib.figure.Figure at 0xad85438>"
|
|
]
|
|
}
|
|
],
|
|
"prompt_number": 29
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"collapsed": false,
|
|
"input": [
|
|
"A = np.array([2,5,2,6,3,6,2,2,5])\n",
|
|
"B = np.array([3,4,4,3,6])\n",
|
|
"\n",
|
|
"def ismember(a, b):\n",
|
|
" tf = np.array([i in b for i in a])\n",
|
|
" return tf\n",
|
|
"\n",
|
|
"temp=ismember(map(tuple,mesh.gridEx),map(tuple,xyz))\n"
|
|
],
|
|
"language": "python",
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"prompt_number": 13
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"collapsed": false,
|
|
"input": [
|
|
"print [i in ['x', 'y', 'z'] for i in ['y','w']]"
|
|
],
|
|
"language": "python",
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"output_type": "stream",
|
|
"stream": "stdout",
|
|
"text": [
|
|
"[True, False]\n"
|
|
]
|
|
}
|
|
],
|
|
"prompt_number": 14
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"collapsed": false,
|
|
"input": [],
|
|
"language": "python",
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"prompt_number": 14
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"collapsed": false,
|
|
"input": [
|
|
"def path2edgeModel(mesh, pts):\n",
|
|
" edm_x = np.zeros(np.prod(mesh.nEx))\n",
|
|
" edm_y = np.zeros(np.prod(mesh.nEy))\n",
|
|
" edm_z = np.zeros(np.prod(mesh.nEz))\n",
|
|
" \n",
|
|
" for ii in range (pts.shape[0]-1):\n",
|
|
" pt1 = pts[ii,:]\n",
|
|
" pt2 = pts[ii+1,:]\n",
|
|
" delta = pt2 - pt1\n",
|
|
" deltaDim = np.argwhere(delta)\n",
|
|
" #assert(np.size(deltaDim)==1), \"Path must be orthoginal to mesh\"\n",
|
|
" if deltaDim == 0:\n",
|
|
" xLoc = mesh.vectorCCx[(min(pt1[0],pt2[0]) < mesh.vectorCCx ) & (mesh.vectorCCx < max(pt1[0],pt2[0]))]\n",
|
|
" yLoc = pts[ii,1]\n",
|
|
" zLoc = pts[ii,2]\n",
|
|
" delDir = np.sign(pt2[0]-pt1[0])\n",
|
|
" xyz = np.c_[xLoc, np.ones(np.size(xLoc))*yLoc, np.ones(np.size(xLoc))*zLoc]\n",
|
|
" edgeInd=ismember(map(tuple,mesh.gridEx),map(tuple,xyz))\n",
|
|
" edm_x[edgeInd] = delDir\n",
|
|
" print '>> x-direction', ii\n",
|
|
" print mesh.gridEx[edgeInd]\n",
|
|
" if deltaDim == 1: \n",
|
|
" xLoc = pts[ii,0]\n",
|
|
" yLoc = mesh.vectorCCy[(min(pt1[1],pt2[1]) < mesh.vectorCCy ) & (mesh.vectorCCy < max(pt1[1],pt2[1]))]\n",
|
|
" zLoc = pts[ii,2]\n",
|
|
" delDir = np.sign(pt2[1]-pt1[1])\n",
|
|
" xyz = np.c_[np.ones(np.size(yLoc))*xLoc, yLoc, np.ones(np.size(yLoc))*zLoc]\n",
|
|
" edgeInd=ismember(map(tuple,mesh.gridEy),map(tuple,xyz))\n",
|
|
" edm_y[edgeInd] = delDir\n",
|
|
" print '>> y-direction', ii\n",
|
|
" print mesh.gridEy[edgeInd]\n",
|
|
" if deltaDim == 2: \n",
|
|
" xLoc = pts[ii,0]\n",
|
|
" yLoc = pts[ii,1]\n",
|
|
" zLoc = mesh.vectorCCz[(min(pt1[2],pt2[2]) < mesh.vectorCCz ) & (mesh.vectorCCz < max(pt1[2],pt2[2]))]\n",
|
|
" delDir = np.sign(pt2[2]-pt1[2])\n",
|
|
" xyz = np.c_[np.ones(np.size(zLoc))*xLoc, np.ones(np.size(zLoc))*yLoc, zLoc]\n",
|
|
" edgeInd=ismember(map(tuple,mesh.gridEz),map(tuple,xyz))\n",
|
|
" edm_z[edgeInd] = delDir\n",
|
|
" print '>> z-direction', ii\n",
|
|
" print mesh.gridEz[edgeInd]\n",
|
|
" \n",
|
|
" \n",
|
|
" edgeModel = np.r_[edm_x, edm_y, edm_z]"
|
|
],
|
|
"language": "python",
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"prompt_number": 15
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"collapsed": false,
|
|
"input": [
|
|
"Js = path2edgeModel(mesh, pts)"
|
|
],
|
|
"language": "python",
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"output_type": "stream",
|
|
"stream": "stdout",
|
|
"text": [
|
|
">> z-direction 0\n",
|
|
"[[ 950. 50. -150.]\n",
|
|
" [ 950. 50. -50.]]\n",
|
|
">> y-direction"
|
|
]
|
|
},
|
|
{
|
|
"output_type": "stream",
|
|
"stream": "stdout",
|
|
"text": [
|
|
" 1\n",
|
|
"[[ 950. 100. 0.]\n",
|
|
" [ 950. 200. 0.]\n",
|
|
" [ 950. 300. 0.]\n",
|
|
" [ 950. 400. 0.]\n",
|
|
" [ 950. 500. 0.]\n",
|
|
" [ 950. 600. 0.]\n",
|
|
" [ 950. 700. 0.]\n",
|
|
" [ 950. 800. 0.]\n",
|
|
" [ 950. 900. 0.]]\n",
|
|
">> x-direction"
|
|
]
|
|
},
|
|
{
|
|
"output_type": "stream",
|
|
"stream": "stdout",
|
|
"text": [
|
|
" 2\n",
|
|
"[[-900. 950. 0.]\n",
|
|
" [-800. 950. 0.]\n",
|
|
" [-700. 950. 0.]\n",
|
|
" [-600. 950. 0.]\n",
|
|
" [-500. 950. 0.]\n",
|
|
" [-400. 950. 0.]\n",
|
|
" [-300. 950. 0.]\n",
|
|
" [-200. 950. 0.]\n",
|
|
" [-100. 950. 0.]\n",
|
|
" [ 0. 950. 0.]\n",
|
|
" [ 100. 950. 0.]\n",
|
|
" [ 200. 950. 0.]\n",
|
|
" [ 300. 950. 0.]\n",
|
|
" [ 400. 950. 0.]\n",
|
|
" [ 500. 950. 0.]\n",
|
|
" [ 600. 950. 0.]\n",
|
|
" [ 700. 950. 0.]\n",
|
|
" [ 800. 950. 0.]\n",
|
|
" [ 900. 950. 0.]]\n",
|
|
">> y-direction"
|
|
]
|
|
},
|
|
{
|
|
"output_type": "stream",
|
|
"stream": "stdout",
|
|
"text": [
|
|
" 3\n",
|
|
"[[-950. 100. 0.]\n",
|
|
" [-950. 200. 0.]\n",
|
|
" [-950. 300. 0.]\n",
|
|
" [-950. 400. 0.]\n",
|
|
" [-950. 500. 0.]\n",
|
|
" [-950. 600. 0.]\n",
|
|
" [-950. 700. 0.]\n",
|
|
" [-950. 800. 0.]\n",
|
|
" [-950. 900. 0.]]\n",
|
|
">> z-direction"
|
|
]
|
|
},
|
|
{
|
|
"output_type": "stream",
|
|
"stream": "stdout",
|
|
"text": [
|
|
" 4\n",
|
|
"[[-950. 50. -150.]\n",
|
|
" [-950. 50. -50.]]\n"
|
|
]
|
|
}
|
|
],
|
|
"prompt_number": 16
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"collapsed": false,
|
|
"input": [
|
|
"print pts"
|
|
],
|
|
"language": "python",
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"output_type": "stream",
|
|
"stream": "stdout",
|
|
"text": [
|
|
"[[ 950 50 -200]\n",
|
|
" [ 950 50 0]\n",
|
|
" [ 950 950 0]\n",
|
|
" [-950 950 0]\n",
|
|
" [-950 50 0]\n",
|
|
" [-950 50 -200]]\n"
|
|
]
|
|
}
|
|
],
|
|
"prompt_number": 30
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"collapsed": false,
|
|
"input": [],
|
|
"language": "python",
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"prompt_number": 30
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"collapsed": false,
|
|
"input": [],
|
|
"language": "python",
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"prompt_number": 17
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"collapsed": false,
|
|
"input": [],
|
|
"language": "python",
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"prompt_number": 17
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"collapsed": false,
|
|
"input": [],
|
|
"language": "python",
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"prompt_number": 17
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"collapsed": false,
|
|
"input": [],
|
|
"language": "python",
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"prompt_number": 17
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"collapsed": false,
|
|
"input": [],
|
|
"language": "python",
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"prompt_number": 17
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"collapsed": false,
|
|
"input": [],
|
|
"language": "python",
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"prompt_number": 17
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"collapsed": false,
|
|
"input": [],
|
|
"language": "python",
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"prompt_number": 17
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"collapsed": false,
|
|
"input": [],
|
|
"language": "python",
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"prompt_number": 17
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"collapsed": false,
|
|
"input": [],
|
|
"language": "python",
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"prompt_number": 17
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"collapsed": false,
|
|
"input": [],
|
|
"language": "python",
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"prompt_number": 17
|
|
}
|
|
],
|
|
"metadata": {}
|
|
}
|
|
]
|
|
} |