{ "metadata": { "name": "", "signature": "sha256:97e555d042bfefd57c2df46c9164b543d1b3777851e08a95cefdb104e8f7d6e2" }, "nbformat": 3, "nbformat_minor": 0, "worksheets": [ { "cells": [ { "cell_type": "code", "collapsed": false, "input": [ "from SimPEG import *\n", "import scipy\n", "%pylab inline" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "Populating the interactive namespace from numpy and matplotlib\n" ] } ], "prompt_number": 2 }, { "cell_type": "code", "collapsed": false, "input": [ "cs = 0.5\n", "hx = np.ones(500)*cs\n", "hy = np.ones(500)*cs\n", "mesh = Mesh.TensorMesh([hx, hy], 'CC')" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 3 }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Acoustic Wave equation in time domain (1st order form)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "$ \\rho\\frac{\\partial p}{\\partial t} = \\nabla \\cdot \\vec{u}+\\frac{\\partial s}{\\partial t}\\delta(\\vec{r}-\\vec{r}_s)$\n", "\n", "$ \\mu^{-1}\\frac{\\partial \\vec{u}}{\\partial t} = \\nabla p$" ] }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "Add damping term" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "$ \\rho[\\frac{\\partial p}{\\partial t} + \\sigma p] = \\nabla \\cdot \\vec{u}+\\frac{\\partial s}{\\partial t}\\delta(\\vec{r}-\\vec{r}_s)$\n", "\n", "$ \\mu^{-1}[\\frac{\\partial \\vec{u}}{\\partial t}+\\sigma \\vec{u}] = \\nabla p$" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Discretized form" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "$ \\mathbf{diag}(\\rho)\\frac{\\mathbf{p}^{n+1}-\\mathbf{p}^{n}}{\\triangle t} + \\mathbf{diag}(\\rho\\sigma)\\mathbf{p}^n = \\mathbf{Div} \\mathbf{u}^{n}+\\mathbf{M}^{cc -1}\\frac{\\mathbf{s}^{n+1}-\\mathbf{s}^{n}}{\\triangle t}$ \n", "\n", "\n", "$ \\mathbf{diag}(\\mathbf{Av}^{f}_{cc}\\mu^{-1})\\frac{\\mathbf{u}^{n+1}-\\mathbf{u}^{n}}{\\triangle t} + \\mathbf{diag}(\\mathbf{Av}^{f}_{cc}\\mu^{-1}\\sigma)\\mathbf{u}^{n+1}= \\mathbf{Grad} \\mathbf{p}^{n+1}$" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "
\n", "\n", "\\begin{eqnarray}\n", " \\begin{bmatrix}\n", " \\triangle t^{-1}\\mathbf{diag}(\\rho) & \\tilde{\\mathbf{0}} \\\\[0.3em]\n", " -\\mathbf{Grad} & \\triangle t^{-1}\\mathbf{diag}(\\mathbf{Av}^{f}_{cc}\\mu^{-1}) + \\mathbf{diag}(\\mathbf{Av}^{f}_{cc}\\mu^{-1}\\sigma) \\\\[0.3em]\n", " \\end{bmatrix}\n", " \\begin{bmatrix}\n", " \\mathbf{p}^{n+1} \\\\[0.3em]\n", " \\mathbf{u}^{n+1} \\\\[0.3em]\n", " \\end{bmatrix} + \n", " \\begin{bmatrix}\n", " -\\triangle t^{-1}\\mathbf{diag}(\\rho)+ \\mathbf{diag}(\\rho\\sigma)& -\\mathbf{Div} \\\\[0.3em]\n", " \\tilde{\\mathbf{0}} & -\\triangle t^{-1}\\mathbf{diag}(\\mathbf{Av}^{f}_{cc}\\mu^{-1}) \\\\[0.3em]\n", " \\end{bmatrix}\n", " \\begin{bmatrix}\n", " \\mathbf{p}^{n} \\\\[0.3em]\n", " \\mathbf{u}^{n} \\\\[0.3em]\n", " \\end{bmatrix} = \n", " \\begin{bmatrix}\n", " \\triangle t^{-1}\\mathbf{M}^{cc -1}(\\mathbf{s}^{n+1}-\\mathbf{s}^{n}) \\\\[0.3em]\n", " \\tilde{\\mathbf{0}} \\\\[0.3em]\n", " \\end{bmatrix}\n", "\\end{eqnarray}" ] }, { "cell_type": "code", "collapsed": false, "input": [ "mesh.setCellGradBC('dirichlet')\n", "Grad = mesh.cellGrad\n", "Div = mesh.faceDiv\n", "rho = np.ones(mesh.nC)*2.7\n", "vhalf = 2000\n", "vblk = 2800\n", "v = np.ones(mesh.nC)*vhalf\n", "blkind = np.logical_and(mesh.gridCC[:,1]>-12.5, mesh.gridCC[:,1]<12.5) & np.logical_and(mesh.gridCC[:,0]>-12.5, mesh.gridCC[:,0]<12.5)\n", "v[blkind] = vblk\n", "mu = rho*v**2\n", "AvF2CC = mesh.aveF2CC" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 4 }, { "cell_type": "code", "collapsed": false, "input": [ "dat = mesh.plotImage(v)\n", "plt.colorbar(dat[0])" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 5, "text": [ "" ] }, { "metadata": {}, "output_type": "display_data", "png": "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\njwdxcwAAAABJRU5ErkJggg==\n", "text": [ "" ] } ], "prompt_number": 5 }, { "cell_type": "code", "collapsed": false, "input": [ "time = np.linspace(0, 0.08, 2**10)\n", "dt = time[1]-time[0]" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 7 }, { "cell_type": "code", "collapsed": false, "input": [ "print dt" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "7.82013685239e-05\n" ] } ], "prompt_number": 8 }, { "cell_type": "code", "collapsed": false, "input": [ "ax = mesh.vectorCCx[-30]\n", "ay = mesh.vectorCCy[-30]\n", "indy = np.logical_or(mesh.gridCC[:,1]<=-ay, mesh.gridCC[:,1]>=ay)\n", "indx = np.logical_or(mesh.gridCC[:,0]<=-ax, mesh.gridCC[:,0]>=ax)\n", "tempx = zeros_like(mesh.gridCC[:,0])\n", "tempx[indx] = (abs(mesh.gridCC[:,0][indx])-ax)**2\n", "tempx[indx] = tempx[indx]-tempx[indx].min()\n", "tempx[indx] = tempx[indx]/tempx[indx].max()\n", "tempy = zeros_like(mesh.gridCC[:,1])\n", "tempy[indy] = (abs(mesh.gridCC[:,1][indy])-ay)**2\n", "tempy[indy] = tempy[indy]-tempy[indy].min()\n", "tempy[indy] = tempy[indy]/tempy[indy].max()\n", "temp = tempx+tempy\n", "temp[temp>1.] = 1.\n", "f = 1-temp*0.1\n", "sig = (1.-f)/f*2./dt" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 9 }, { "cell_type": "code", "collapsed": false, "input": [ "An = sp.vstack((sp.hstack((1/dt*Utils.sdiag(rho), Utils.spzeros(mesh.nC, mesh.nF))),\\\n", " sp.hstack((-Grad, 1/dt*Utils.sdiag(AvF2CC.T*(1/mu)) + Utils.sdiag(AvF2CC.T*(1/mu*sig))))))\n", "Bn = sp.vstack((sp.hstack((-1/dt*Utils.sdiag(rho)+Utils.sdiag(rho*sig), -Div)),\\\n", " sp.hstack((Utils.spzeros(mesh.nF, mesh.nC), -1/dt*Utils.sdiag(AvF2CC.T*(1/mu))))))" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 10 }, { "cell_type": "code", "collapsed": false, "input": [ "fig, ax = plt.subplots(1,2, figsize = (10, 5))\n", "ax[0].spy(An, ms = 1)\n", "ax[0].grid(True)\n", "ax[1].spy(Bn, ms = 1)\n", "ax[1].grid(True)" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "display_data", "png": "iVBORw0KGgoAAAANSUhEUgAAAmYAAAEaCAYAAAC7JJutAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzt3X2QXNV55/Hv2LJl47AMIl5eBUOtpcSKSQZNGRwn2CNj\nQM7aQP4BuWoLDSbLGuwFbZwYQbxgr3EMbGl5SRU4GL8AZfMSs07WZcDIpuVsZRfJyG6HDSYSkHGh\nwQgsZ1j5JVmIe/84p+nbVz0zt7tP3/ucc3+fqq7pe/vt0dO3nznnnqdHICIiIiIiIiIiIiIiIiIi\nIiIiIiIiIiIiIiIiIiIiIiIiIiVZDzwB7AYuG/A5Pg/sBR7L7FsBbAV2AQ8B45nbLvev9wRwemb/\nlH+O3cCNmf3LgXv8/keA4zK3bfSv8TTwOPB3wP8BLqkojt3AU0DTx/PpiuLYBZwHvBr4HvC1CuN4\nAfhbH8eOCuP4IPAV4Ae49+bkkuP4B+CfgFmfixdxx2lVx0YKUqlfu4BNQAPVsGxONqL6ZaV+7cLV\nsFmfC9WwEXk18CQwAbwG90F88wDPcwpwIt2F7Trgo/76ZcA1/voa/zqv8a/7JDDmb9sBnOSv348r\nugAXAzf76+cCd/vrK3AFZBxYDTzjr/8K8Pf+31J2HOO4QeI4sAx3YP1uRXE8BVwBfAn4H/4+VcTx\nkn/OrCri2A98yN+2DDikojieAg4FfgSsrDCGbPGMUUr1axz3C+8Uf5tqmLv8GLgX1S9r9WsceBWq\nYSPx28CDme3N/jKICboL2xPA4f76EX4b3Og5O7N9EHgbcCRuJtC2AfhM5j4n++vLcDMYgPcDt2Qe\n8xn/OIC/BN5dcRwHAd8BfqOiOO7EvSfr6Mw4q4jj/wJ/QLey4zjEx9E+PqqKA3//TwH/s+IY8rmI\nTcr1C1TDjgH2AP8F1S9r9WsD7uyX2Rr2qoVuiMDRuLNMbXv8vhAOxy0P4H+237Sj/OvkXzO/fy4T\nSzbOl3GnTw9b5LkmcDPg7RXFMQds8a/XXpqoIo4TcaeVf5nZV0UcLwOfAB4F/n1FcRzv9/8h8F3g\ns8AbKsrHHuA04K6KcpF9rpilWr9ANQzgeuCv/P421S8b9eto3KDIbA2LeWDWKvF1ynqt1wL3AZfi\nTv1WEUcL+G+4Gd87cGesyo7jvcBPgWfpnDrOKysft+Ly8R7cqfhTcreXEccy3Af7fwFrgZ9x4NmV\nsvLxatwp/r/ocVuZn5XYpVi/wC1j1r2GvRd4HrdUpvplq36Bq2Hvw3ANi3lgNodbH25bSfeIdBh7\ncac0wZ22fH6B12yfrp7z1/P724851l9vr63v6/Fcx+FG8XfilgGqiqOdxxeBr+OaHMuO4+3AW3Cn\nke8C3oXLSxX5ONQ/5gXgq7i+grLj2IMrZv/bb38FV+CeqyAfv43rtWifoq/yGI1ZavVrJW4gch+q\nYW8HzsT1Lb0f1S9L9Wsl8EZgJ6phI7EM10A3gTvTNGjzLBzYo3EdnbXlzRzYDPha3OnZp+jMiLbj\n1pbHOLAZsL22vIHuZsB2k+qhuNllu2mwqjj+Da6Jdxx4PfDXwKkV5aN9/Z10ejTKjuMo3Dd5xnGn\n3v8G15tQRT5+gfsFA/BxH0MVcfwUuIiOKo+NmKVWv57GTaKuz8VW9xr2b1H9slS/nsZNHjbSoRoW\n2Htw3/55EteoN4i7cEtm/w+3Nnw+LonfpPfXZ6/wr/cEcEZmf/vrs08CN2X2L8d9M6f99dmJzG3n\n+/3P4HqpmnS+yru+gjh+iCtqTdxXrP/Y3152HLvpfHDeSedbTWXH8Q+4nDRxfwKgfYxVkY+P4RqZ\nvw/8d9xMrOw4nsRNIA7O3FblsRG7VOrXbuBqVMPyOdmI6pel+rUb12f3Y1TDRERERCQVIf4Io4hI\nVVTDRCQZof4Io4hIFVTDRKQv1r+VeRKuqM3i/oLx3cBZVQYkItIH1TAR6Yv1gdko/wijiMioqYaJ\nSF+sD8wq/0NvIiJDUA0Tkb4sqzqAJRT4o2zLWu5/PhCRGvk+MFl1EAWoholI3qL1y/oZs0eBVXT+\nCOO5dP4mjPcy7o8Iu0ur1arksnHjxspeW3HYjUFxjCYO4LdKrEPD6KuGxfyeWIgj+7tgmHymko8Q\nF/dnvvQ7NmQcLFG/rA/MXgY+DHwDeBy4h+7/1f0AY2NTi90sIlKmvmqY6tdwWq2dXdvK5/A2bnxf\n17ZyOnrWB2YADwC/BrwJ+HSvO1j4ME5MTJT+mr0oDlsxgOLIsxJHiZasYVmqX8MJ8fsgpXyEiEG/\nYzvKiCOGgVkhVR8409PTpb7eQhSHrRhAceRZicMS1S8nVBzD5jO1fISIQceoU0YcyQzMoPoDR0Rk\nUKpfYSmf4Smn5UhqYAY6cEQkXqpfYSmf4SmnozdWdQABtPy3HLrkD5b8wSQi8RobG4M06hf0qGGq\nX2Epn+Epp4Nbqn4ld8asTaN6EYmV6ldYymd4yunoJDswg3IPnG3bto3sufuhOGzFAIojz0oc1ql+\nhdVPPuuQjxAx6BgdjaQHZqBRvYjES/UrLOUzPOU0vBR6NHr2mOVpPVwkHan3mOWpfoWlfIannBZX\n2x6zPI3qRSRWql9hKZ/hKafh1GZgBqM9cOq0/l2EhTgsxACKI89KHLFR/QprsXzWMR8hYtAxGkat\nBmagUb2IxEv1KyzlMzzldHgp9GgU6jHL03q4SLzq1mOWp/oVlvIZnnK6MPWYLUCjehGJlepXWMpn\neMrp4Go7MIOwB06d1r+LsBCHhRhAceRZiSN2ql9hdedzv4mBhIX3ZZgYdIwOptYDM9CoXkTipfoV\nlvIZnnLavxR6NAbqMcvTerhIPOreY5an+hWW8hmectqhHrOCNKoXkVipfoWlfIannBangVnGMAdO\nnda/i7AQh4UYQHHkWYkjNapf4Wzbts3EQMJCPkLGoGO0GA3Mcix8GEVEBqH6FZbyGZ5yurQUejSC\n9JjlaT1cxC71mC1O9Sss5TO8OudUPWYD0qheRGKl+hWW8hmecrowDcwW0c+BU6f17yIsxGEhBlAc\neVbiSJ3q1+B6xVHFQMJCPkYZg47R3jQwW4JG9SISK9WvsJTP8JTTA6XQozGSHrO8Oq+Hi1ijHrP+\nqH6FpXyGV6ecqscsEI3qRSRWql9hKZ/hKacdRQZmnwf2Ao9l9q0AtgK7gIeA8cxtlwO7gSeA0zP7\np/xz7AZuzOxfDtzj9z8CHJe5baN/jV3AeQViHanFDpw6rX8XYSEOCzGA4sgrOQ7VL0/1q7gicZQx\nkLCQjzJj0DHqFBmYfQFYn9u3GVfYVgPf8tsAa4Bz/c/1wM10TtfdAlwArPKX9nNeAOzz+64HrvX7\nVwBXAif5y1V0F9BKaFQvEhXVrwzVr7CUz/CU0+I9GhPA14AT/PYTwDtxM9EjgG3Ar+Nmm7+kU5we\nBD4O/BB4GHiz378BmAY+6O9zFbAdWAb8CHgj8H7gHcBF/jGf8a9zdy62UnrM8uq0Hi5iTZ89ZhPY\nrV9QQQ1T/QpL+Qwv5ZyOqsfscFxRw/883F8/CtiTud8e4Oge++f8fvzPZ/z1l4EXgcMWeS4TNKoX\niZbql+pXUMpneHXOaYjm/5a/1E73gbPfxIFTp3X4GGIAxZFnJQ5P9QtQ/eo2SByjGEhYyEeVMdT1\nGF024OPaSwDPAUcCz/v9c8DKzP2Owc0U5/z1/P72Y44FnvXxHILr2ZjDLRe0rcQtJxxgZmaGiYkJ\nAMbHx5mcnGR62j20ncRRbTcaW1i37sJXYhkbW02jcWtpr5/fbjabpb7eQtttVb2+pe1ms2kqnqq3\nB8lH+/rs7CwBmKpfUF0Na7V2Mja2Gvg5cDBjY1M0GltG9nqxbA/6me3kE1LJZ9W/U1L4HdtsNpmf\nnwcoVMMG7dG4Dld8rsU1zo77n2uAL+OaXY8Gvgm8CTcj3Q5cAuwAvg7chOvPuNg/70W43o2z/c8V\nwKPAWh/nTn99PhdbJT1meSmvh4tYM2SPmaX6BQZqmOpXWMpneCnldKn6VaSw3YVrlP1V3EzzSuCv\ngHtxM8VZ4Bw6BecK4AO4fotLgW/4/VPAF4HXA/fjihy4r5vfCZyIK5Yb/HMCnO+fD+Bq4PYe8VVe\n1NpSOnBELOtjYGa9foGRGqb6FZbyGV4qOU3sD2T31LKg0Wi0Wq1WC9Z2XaqKo2oW4rAQQ6ulOPJC\nxEFafWHDJ3VIql/dQsUxbD4t5MNCDK1WWscoS9Qv/eX/wOr8TRIRiZvqV1jKZ3h1yGkKp9L8ANSW\nVE65iliU2FKAuRqm+hWW8hlezDnV/5VZkTqM6kUkTapfYSmf4aWcUw3MAsl+rb+tigOnVxxVsBCH\nhRhAceRZiUM6VL+6jSKOQfJpIR8WYoB6HaMamI1YyqN6EUmb6ldYymd4KeY0hR4Nc/0ZvcS8Hi5i\njXrMyqX6FZbyGV5MOVWPmREpjupFpB5Uv8JSPsNLKacamAVSZN25jAPHcj9AHWMAxZFnJQ7pUP3q\nVkYcRfJpIR8WYoB6HaMamJUspVG9iNSL6ldYymd4KeQ0hR4N8/0ZvcS0Hi5ijXrMqqX6FZbyGZ7l\nnKrHzKgURvUiUk+qX2Epn+HFnFMNzAIZZN15FAdOTP0AdYgBFEeelTikQ/WrWxVx9MqnhXxYiAHq\ndYxqYFaxmEf1IlJvql9h5fO5bt2FFUWSjhiP0RR6NKLrz+jF8nq4iDXqMbNF9Sss5TM8Szldqn6l\nUNiiL2ptlg4cEcs0MLNH9SusXmd2lNPhWDlG1fxfkhDrziFOucbcD5BiDKA48qzEIR2qX90sxNFq\n7eSMM07o2lfFMpyFXEC9jlENzIyJcT1cRARUv0LbvHlGOQ0shnymsBSQxDJAnpVTriIWaSnTNtWv\n8JTTsKrMp5YyIxXDqF5EpBfVr/CU07As51MDs0BGse48yIGTUj9ACjGA4sizEod0qH51sxpHFYMJ\nq7kIweoxqoGZcZZH9SIii1H9Ck85DctiPlPo0UiuP6MX9ReIdKjHLC6qX+Epp2GVmU/1mCXC4qhe\nRKQI1a/wlNOwLOVTA7NAylh3LnLgpNwPEGMMoDjyrMQhHapf3WKJo4zBRCy5CMHKMaqBWWQsjepF\nRPqh+hWechqWhXwW6dFYCdwB/GugBdwK3ASsAO4BjgNmgXOAef+Yy4EPAP8CXAI85PdPAV8EXgfc\nD1zq9y/3r7EW2AecC/zQ37YR+BN//Wp/v6zk+zN6UX+B1FkfPWbW6xfUsIapfoWnnIY1ynyG6DF7\nCfhPwG8AbwM+BLwZ2AxsBVYD3/LbAGtwhWkNsB64ORPALcAFwCp/We/3X4AraKuA64Fr/f4VwJXA\nSf5yFTBeIObkWRjVi0RA9csg1a/wlNOwqsxnkYHZc0DTX/8p8APgaOBM4Ha//3bgbH/9LOAuXEGc\nBZ4ETgaOBA4Gdvj73ZF5TPa57gNO9dfPwM1W5/1lK51iaEoV6/C9Dpw69QPEEAMojryS41D9KkD1\nq1uscYxiMBFrLkKo6hjtt8dsAjgR2A4cDuz1+/f6bYCjgD2Zx+zBFcL8/jm/H//zGX/9ZeBF4LBF\nnku8/IGzbt2FFUUiYt4Eql+mqH6FpzNnYVVxjPYzMPsV3GzwUmB/7raWv9TW9PR0Za/dfeAcbOKD\nWGU+LMUAiiOvojhUvxah+tUt9s9KyMFZ7LkIoexjdFnB+70GV9TuBP7S79sLHIFbKjgSeN7vn8M1\n3LYdg5spzvnr+f3txxwLPOtjOgTXszEHTGcesxJ4OB/czMwMExMTAIyPjzM5OfnKm9g+7Zj6dqu1\n0x8s7nfO2NgUrdZOM/FpW9vDbLevz87OMgDT9QtUwxqNLaxb9xGfjf2Mja2m1dplJr4Yt/U7Iez2\nMPlsNpvMz7vvFg1Yww4whuunuD63/zrgMn99M3CNv74G19PxWuB44Ck6zbPbcf0aY7hvNbX7LS7G\nNdYCbADu9tdXAE/jGmYPzVzPalnQaDSqDqHVarVasKoFa1+5VMVCPizE0GopjrwQcVD8DJf1+mWi\nhlk5NlS/uoX5rKwdKqcp5SKEEMfoUvXrVYvd6P0O8O+AdcD3/GW9L2SnAbuAd2UK2+PAvf7nA75o\ntYO4GLgN2I1rqn3Q7/8cridjN7CJzjekfgJ8EvgOrun2E3S+0i49NBq3dm1bWBYQqZDqV0RUv8JT\nz1lYZRyjKfxfc34AKln6mzaSMv1fmWlT/QpPOQ1rmHzq/8qsKc2SRCRWql/hKadhjTKfGpgFkm1S\nrlI2jio/iBbyYSEGUBx5VuKQDivviepXt9BxDJLTVHMxqDKOUQ3MEqdZkojESvUrPOU0rFHkM4Ue\nDfVnFKD+AkmJeszqRfUrPOU0rH7yqR4zATRLEpF4qX6Fp5yGFTKfGpgFYnH9O6/MD6KFfFiIARRH\nnpU4pMPKe6L61W3UcRTJaV1yUVQZx6gGZjWjWZKIxEr1KzzlNKwQ+UyhR0P9GQNQf4HETD1m9ab6\nFZ5yGtZi+VSPmfSkWZKIxEr1KzzlNKxh8qmBWSAxrH/njfKDaCEfFmIAxZFnJQ7psPKeqH51KzuO\nXjmtay4WUsYxqoFZzWmWJCKxUv0KL5/TdesurCiSNAxyjKbQo6H+jADUXyAxUY+ZZKl+haechtWd\nz+9C6j1mmiUNTzNPEYmV6ld4GoiF1U8+kxiYQfUfxBjXv/NCFjcL+bAQAyiOPCtxSIeV90T1q1vV\ncbic7q80hraqc9EW8hhdSDIDM6h+cJYCzTxFJFaqX+E1Grfq7FlARXKZQo9GC9Z279BBNDT1F4hl\n6jGTxah+iWW1+DtmmiWFp5yKSKxUvyRmSQzMoPoPYgrr33nD5NRCPizEAIojz0oc0mHlPVH96mYh\nDgsxQL3iSGZgBtUPzlKknIpIrFS/JEYp9Ggc0J+h/oLwlFOxRD1m0g/VL7GkFj1meZolhaecikis\nVL8kJkkOzKD8D2Id1r/7yamFfFiIARRHnpU4pMPKe6L61c1CHBZigHrFkezADDRLGgXlVERipfol\nMUihR2PJ/gz1F4SnnEqV1GMmw1D9kirVsscsT7Ok8JRTEYmV6pdYttTA7HXAdqAJPA582u9fAWwF\ndgEPAeOZx1wO7AaeAE7P7J8CHvO33ZjZvxy4x+9/BDguc9tG/xq7gPMK/pt6GvUHsU7r322L5dRC\nPizEAIojr+Q4kqlho1THY8N6/QIbcViIAeoVx1IDs38C1gGTwG/6678LbMYVtdXAt/w2wBrgXP9z\nPXAzndN1twAXAKv8Zb3ffwGwz++7HrjW718BXAmc5C9X0V08+6ZZUnjKqRiXVA2TsFS/xKJ+ejQO\nAr4NzAD3Ae8E9gJHANuAX8fNNH9JpzA9CHwc+CHwMPBmv38DMA180N/nKtysdhnwI+CNwPuBdwAX\n+cd8xr/O3bm4+u7PUH9BeMqplGnAHrNkapiEpfolZQrRY/Yq3DLAXqAB/B1wuN/G/zzcXz8K2JN5\n7B7g6B775/x+/M9n/PWXgReBwxZ5rqFplhSeciqGJVfDJCzVL7FkWYH7/BK3DHAI8A3cUkBWy18q\nMzMzw8TEBADj4+NMTk4yPT0NdNaD89ut1k7/4dsPuA9iq7Vzwfsvtd3eN+jjQ23fcMMNhf79o9h2\nOV39Sj7GxqZoNLZUlo/8e1P267e3m80mmzZtquz129sx56N9fXZ2lgEkWcOqfk9SO0a7fyf8fOjf\nCbHno71d5e+U7HZ7X5XvBwyWj2azyfz8PMCgNWxR/xn4I1xT7BF+35F+G1yfxubM/R8ETvb3/UFm\n//tx/Rrt+7zNX18GvOCvb8Cd+m/7c1zvR15rGLC26zKoRqMxVByhWIjD5XLV0DkdloVctFqKIy9E\nHAw+kEquhoWQ0rExLCv1q9WykQ8LMbRaacXBEvVrqR6NX8Wdmp8HXo+bbX4COAPX7HotroiN+59r\ngC/jGl2PBr4JvMkHsR24BNgBfB24yRe0i4ETcH0YG4Cz/c8VwKPAWh/nTn99vkdRW+KfsTj1F4Sn\nnMoo9dFjVosaJmGpfskoLVW/lipsJwC343o0XgXcCfxXXMG5FzgWmAXOoVNsrgA+gCuGl+IKIbiv\nmn8RVxzvxxU4cF81vxM4EVcoN/jnBDjfPx/A1T6WvCBFTR/E8JRTGZU+Bma1qWESluqXjEpifyC7\np6FPK3ZOLw6+rJnSadYQ2nGEWioeJoaqKY5uFS9lWjR8UoeU0rERgoX6lY2jShZiaLXSioMl6lct\n/vJ/UfpmTnjKqYjESvVLqpDCqTQ/AA1Hp7DDU04lpMSWAoLXMAlL9UtC0v+VOQDNksJTTkUkVqpf\nUiYNzBbQ7wcx+7dWqmQ5jrKLm+VcVEFxyEKsvCeW46hicGYhHxZigHrFoYHZIjRLCk85FZFYqX5J\nGVLo0Rh5f4b6C8JTTmUY6jGTKql+yTDUYxaAZknhKaciEivVLxklDcwKWuqDWKf17yKKxDHq4hZT\nLsqgOGQhVt6TmOIoY3BmIR8WYoB6xaGBWR80SwpPORWRWKl+ySik0KNRen+G+gvCU06lH+oxE0tU\nv6Qf6jEbAc2SwlNORSRWql8SkgZmAzrwg7i6oki6xbwOH7q4xZyLUVAcshAr70nMcYxicGYhHxZi\ngHrFoYHZEDRLCk85FZFYqX5JCCn0aFTen6H+gvCUU1mMeszEMtUvWYx6zEqgWVJ4yqmIxEr1S4ah\ngVkgjcaWru2qPogprcMPW9xSykUIikMWYuU9SSmOEIMzC/mwEAPUKw4NzALSLCk85VREYqX6JYNI\noUfDXH+G+gvCU04lSz1mEhPVL8lSj1kFNEsKTzkVkVipfkk/NDALJL/uXNUHMeV1+H5zmnIuBqE4\nZCFW3pOU4xjkd4KFfFiIAeoVhwZmI6RZUnjKqYjESvVLikihR8N8f4b6C8JTTutNPWYSM9WvelOP\nmQGaJYWnnIpIrFS/ZDEamAWy1LpzWR/EOq3DL5XTOuWiCMUhC7HyntQpjiK/Eyzkw0IMUK84ig7M\nXg18D/ia314BbAV2AQ8B45n7Xg7sBp4ATs/snwIe87fdmNm/HLjH738EOC5z20b/GruA8wrGapZm\nSeEpp1KQapiYo/olvRTt0fhDXFE6GDgTuA74sf95GXAosBlYA3wZeCtwNPBNYBXQAnYAH/Y/7wdu\nAh4ELgbe4n+eC/w+sAFXOL/jXxdgp78+n4stuv4M9ReEp5zWywA9ZqphYpbqV72E6DE7Bvg94LbM\nE50J3O6v3w6c7a+fBdwFvATMAk8CJwNH4griDn+/OzKPyT7XfcCp/voZuJnsvL9sBdYXiNc8zZLC\nU05lEaphYprql2QVGZhdD/wx8MvMvsOBvf76Xr8NcBSwJ3O/PbhZZ37/nN+P//mMv/4y8CJw2CLP\nZVK/686j+iDWaR0+78Ccri49hl7q/J70UkEcqmFLqPGx0ZON+jVlIh8WYoB6xbHUwOy9wPO43oyF\nTru1/EX6pFlSeMqp5KiGSTTy9WvdugsrikSqtGyJ29+OO03/e8DrgH8F3ImbYR4BPIc7xf+8v/8c\nsDLz+GNws8Q5fz2/v/2YY4FnfTyHAPv8/unMY1YCD/cKcmZmhomJCQDGx8eZnJxketo9tD26tbrd\naGzxH76DAXeWp9G4deDna++z8u+rYtvl9CO4nO5nbGw1rdauSuNrqzI/09PTJt6frH7uv23bNmZn\nZ+mTapiO0YG228p+/e7fCQcP/Tth2O32vqrfDyvb7X39PL7ZbDI/71pLi9Swfppn3wn8EfA+XMPs\nPuBaXMPsON2NsyfRaZx9E242uh24BNej8XW6G2dPAC7CNcyeTadx9lFgrY9zp7+eZOOsmj/DU07T\nNeAfmFUNk2iofqUr9B+YbVePa4DTcF8Bf5ffBngcuNf/fABXsNqPuRjXfLsb11D7oN//OVw/xm5g\nE644AvwE+CTuW007gE9wYEEzIz/L6leoJbhh4wjFQhyNxpau7aqWNS3kAhSHpxrWg46NbhbicL8T\n9r+yrfq1reoQgHLiWGopM+vb/gKu4Lx7gfv9qb/k7cTNKvP+GThngef6gr/UQqu1s+vDNzY2pVnS\nkJRTyVANk6g0Grf6tgxH9aseUvi/5pJbBtAp7PCU07To/8qUOlH9Sov+r8wI6ZuF4SmnIhIr1a96\n0cAskNDrzoN+EOu0Dt9vDFUVNwu5AMUhC7PyniiObtk4VL+2VR0CUE4cGpgZpllSeMqpiMRK9ase\nUujRSL4/Q/0F4SmncVOPmdSZ6lfc1GOWAM2SwlNORSRWql9p08AskFGvOxf9INZpHX7YGMoqbhZy\nAYpDFmblPVEc3RaLQ/WrGuoxky6aJYWnnIpIrFS/0pRCj0bt+jPUXxCechoX9ZiJdKh+xUU9ZgnS\nLCk85VREYqX6lRYNzAIpe/17oQ9indbhQ8cwquJmIRegOGRhVt4TxdGtnzhUv8qhHjNZlGZJ4Smn\nIhIr1a80pNCjUfv+DPUXhKec2qYeM5GFqX7Zph6zGtAsKTzlVERipfoVNw3MAql6/bvzQdwPVP9B\nrDofIWIIVdws5AIUhyzMynuiOLoNE4fq12iox0z6ollSeMqpiMRK9StOKfRoqD8jR/0F4SmntqjH\nTKQ41S9b1GNWQ5olhaecikisVL/iooFZINbWv6v+IFrIR+gYBs2phVyA4pCFWXlPFEe3kHGofoWh\nHjMZStWDsxQppyISK9WvOKTQo6H+jCWovyA85bRa6jETGZzqV7XUYyaaJY2AcioisVL9sk0Ds0Cs\nr3+X/UG0kI9Rx1A0pxZyAYpDFmblPVEc3UYZh+rXYNRjJkFplhSecioisVL9simFHg31Z/RJ/QXh\nKaflUo+ZSDiqX+UK1WM2C/wt8D1gh9+3AtgK7AIeAsYz978c2A08AZye2T8FPOZvuzGzfzlwj9//\nCHBc5raN/jV2AecVjFcWoVlSeMqpabOofoksSPXLlqIDsxYwDZwInOT3bcYVttXAt/w2wBrgXP9z\nPXAznZHhLcAFwCp/We/3XwDs8/uuB671+1cAV/rXPAm4iu4CakZs69+j/iBayEfZMSyUUwu5gFrH\nofq1hBrKUpirAAAPcUlEQVQfGz3VMQ7Vr2Ks9ZjlT7udCdzur98OnO2vnwXcBbyEm6k+CZwMHAkc\nTGfGekfmMdnnug841V8/AzebnfeXrXSKoQxJs6TwlFOzVL9ElqD6ZUPRHo2ngReBfwH+HPgs8I/A\noZnn+Ynf/jPc6fwv+dtuAx7AFblrgNP8/lOAjwLvwy0PnAE8629rF8MZ4HXAp/z+jwG/ALZkYlN/\nxpDUXxCecjpaffaYWa5foBomxqh+jVaoHrPfwS0DvAf4EK4oZbX8pRIa1Q9Hs6TwlFNTTNcvEWtU\nv6q1rOD9fuR/vgB8FdcvsRc4AngOd5r/eX+fOWBl5rHHAHv8/mN67G8/5ljcjHMZcAiuZ2MO1xvS\nthJ4+MDwZhkbO5KrrvoPjI+PMzk5yfS0e1h7PXjU2+19Zb3eQts33HDDQP/+Vmun//DtJyvmfORj\nKfv1XU5XAz8HDmdsbIpGY0tt89HebjabbNq0qa/Ht6/Pzs4yAOP1C2ZmZpiYmACopIYN8p7oGB39\ndpX56PxO2AscxNjYFK3Wzsry0d5X5fsBg/2ObTabzM/PAwxaww5wEK63AuANwN/gvql0HXCZ378Z\nd5ofXNNsE3gtcDzwFJ1Tdttxp/jHgPvp9FtcjGusBdgA3O2vr8AtQ4zjlhna17NasPaVS1UajUZl\nr52lOGzF0Gq1WrBKx2hGiDgofobLev0Ct5RZqZSOjRAUR4fqV7cy6leRHo3jcbNMcLPBLwGf9kXn\nXtxMcRY4B9fgCnAF8AHgZeBS4Bt+/xTwReD1uMJ2id+/HLgTt9ywD1fcZv1t5/vnA7iaTpNtWwvW\ndu/QergYo56NsProMbNev0A9ZmKc6ldYS9WvFP5A4wEDM9CBI/aouIWjPzArUi7Vr3Bq8Z+Y9zpA\nym5WzK6DV0lx2IoBuns2snSMihVW3hPF0c1CHKpf3cqII4mBGdgYnIksperiJiIyKNWvcqSwFNC1\nDNDrQNEpV7FGywLD0VKmSHVUv4ZTi6XMLJ05kxho5ikisVL9Gq3kBmZQzeCsTuvfRViIw0IMsHAc\nZRc36/mQ6lh5TxRHNwtxqH51U4/ZEHTmTGKgmaeIxEr1azRS6NFYtD9DPWcSA/Vs9Ec9ZiJ2qH71\np3Y9Znk6cyYx0MxTRGKl+hVW8gMzKGdwVqf17yIsxGEhBigex6iLW2z5kPJYeU8URzcLcah+dVOP\nWUA6cyYx0MxTRGKl+hVGCj0affVnqOdMYqCejcWpx0zELtWvxdW+xyxPZ84kBpp5ikisVL+GU7uB\nGYxmcFan9e8iLMRhIQYYPI7QxS32fMjoWHlPFEc3C3GofnVTj9kI6cyZxEAzTxGJlerXYFLo0Riq\nP0M9ZxID9Wx0U4+ZSDxUv7qpx2wJOnMmMdDMU0RipfrVn9oPzCDM4KxO699FWIjDQgwQLo5hi1tq\n+ZBwrLwniqObhThUv7qpx6xEOnMmMdDMU0RipfpVTAo9GkH7M9RzJjGoe8+GesxE4qX6pR6zvujM\nmcRAM08RiZXq1+I0MOthkMFZnda/i7AQh4UYYHRx9FvcUs+HDM7Ke6I4ulmIQ/Wrm3rMKqQzZxID\nzTxFJFaqX72l0KMx0v4M9ZxJDOrWs6EeM5F0qH510xmzJejMmcRAM08RiZXqVzcNzAooMjir0/p3\nERbisBADlBfHUsWtbvmQ4qy8J4qjm4U4VL+6WeoxGwe+AvwAeBw4GVgBbAV2AQ/5+7RdDuwGngBO\nz+yfAh7zt92Y2b8cuMfvfwQ4LnPbRv8au4DzCsYbnM6cSQw08+yp9vVLJAaqX07RHo3bgW8DnweW\nAW8A/gT4MXAdcBlwKLAZWAN8GXgrcDTwTWAV0AJ2AB/2P+8HbgIeBC4G3uJ/ngv8PrABVzy/gyuI\nADv99flMbKX2Z6jnTGKQes9Gnz1mlusXqMdMpEvd61eRM2aHAKfgihrAy8CLwJm4gof/eba/fhZw\nF/ASMAs8iZuhHgkcjCtqAHdkHpN9rvuAU/31M3Cz2Xl/2QqsLxDzyOjMmcRAM89XqH6JRKbu9avI\nwOx44AXgC8B3gc/iZpyHA3v9ffb6bYCjgD2Zx+/BzTzz++f8fvzPZ/z1duE8bJHnqlTvwdnqCiI5\nUJ3W4WOIAaqL48DiVstjVPWrgLp/VvIUR/Ux1Ll+FRmYLQPWAjf7nz/DnfLPavlLbejMmcSg7jNP\nVL9EolXX+rWswH32+Mt3/PZXcM2xzwFH+J9HAs/72+eAlZnHH+MfP+ev5/e3H3Ms8KyP6RBgn98/\nnXnMSuDhfIAzMzNMTEwAMD4+zuTkJNPT7mHt0e0otlutnZlR/MGAG9U3GreW8vq9ttv7qnp9S9vT\n09Nm4mmr4vUbjS2sW/cR3DG6n7Gx1bRauyqLJ6uf+2/bto3Z2Vn6ZL5+QXU1LLvdps+s226rez7a\n+6p6fVe/LiTm37HNZpP5eddaWqSGFW2e/WvgD3DfLPo4cJDfvw+4FjcDHae7efYkOs2zb8LNSLcD\nl+D6NL5Od/PsCcBFuKbZs+k0zz6Km+mO4Zpn11Jh838v+kKAxCClhto+m/8t1y8wUMNErKtT/Sr6\n5zL+I/Al4PvAbwKfAq4BTsMVu3f5bXBfR7/X/3wAV7TaVedi4Dbc18qfxBU1gM/hejJ2A5voLDX8\nBPgkbra7A/gEBxa1yrkDZH/XvqpOueZne1WxEIeFGMBOHI3Glq7tGh2jql9LsHKMKo5uFuKwEAPU\nq34VWcoEV9De2mP/uxe4/5/6S95O3Mwy75+BcxZ4ri/4i2mNxq1+uahjbGwq6lG9pMctv3cKWk2O\nUdUvkQTUpX6l8H/NmVoG0LKmxCD2ZQH9X5ki9ZV6/Sq6lCkF6duaEoO6fttJROKXev3SwCyQ7Lpz\nlYMzK/0AFuKwEAPYjaOq4mYlH9Jh5T1RHN0sxGEhBqhX/dLAbER05kxikPrMU0TSlWr9SqFHw3R/\nhnrOJAax9Wyox0xE2lKrXzpjNmI6cyYxSHXmKSLpS61+aWAWyGLrzmUOzqz2A9Q1BognjrKKm5V8\nSIeV90RxdLMQh4UYoF71SwOzkujMmcQgtZmniNRHKvUrhR6NqPoz1HMmMbDes6EeMxFZSOz1S2fM\nSqYzZxKDVGaeIlI/sdcvDcwC6WfdeZSDs1j6AeoSA8Qbx6iKm5V8SIeV90RxdLMQh4UYoF71SwOz\niujMmcQg9pmniNRXrPUrhR6NqPsz1HMmMbDWs6EeMxEpKrb6pTNmFdOZM4lBrDNPEZHY6pcGZoEM\ns+4ccnAWaz9AqjFAOnGEKm5W8iEdVt4TxdHNQhwWYoB61S8NzIzQmTOJQWwzTxGRtljqVwo9Gkn1\nZ6jnTGJQdc+GesxEZFDW65fOmBmjM2cSg1hmniIiedbrlwZmgYRcdx5mcJZKP0AqMUC6cQxa3Kzk\nQzqsvCeKo5uFOCzEAPWqXxqYGaUzZxID6zNPEZGFWK1fKfRoJN2foZ4ziUHZPRvqMRORUKzVL50x\nM05nziQGVmeeIiJLsVa/NDALZJTrzv0MzlLtB4g1BqhPHEWLm5V8SIeV90RxdLMQh4UYoF71SwOz\nSOjMmcTA2sxTRKQoK/UrhR6NWvVnqOdMYjDqng31mInIqFRdv4qcMfs14HuZy4vAJcAKYCuwC3gI\nGM885nJgN/AEcHpm/xTwmL/txsz+5cA9fv8jwHGZ2zb619gFnFcg3qTpzJnEwMrME9UvEelT1fWr\nyMDs74ET/WUK+DnwVWAzrrCtBr7ltwHWAOf6n+uBm+mMDG8BLgBW+ct6v/8CYJ/fdz1wrd+/ArgS\nOMlfrqK7gJpR5jr8YoOzuvQDxBID1DeOhYpbyXGofhVQ12N0IYrDVgxQr/rVb4/Zu4EngWeAM4Hb\n/f7bgbP99bOAu4CXgFl//5OBI4GDgR3+fndkHpN9rvuAU/31M3Cz2Xl/2UqnGNaazpxJDKqeeeao\nfolIYVXVr357ND4PPIqbRf4jcGjmeX7it/8Mdzr/S/6224AHcEXuGuA0v/8U4KPA+3DLA2cAz/rb\n2sVwBngd8Cm//2PAL4AtmZhq3Z+hnjOJQeiejQF7zCzWL6h5DROxruz61c8Zs9fiitBf9Lit5S9S\nMp05kxgYOHOm+iUiAym7fi3r477vAXYCL/jtvcARwHO40/zP+/1zwMrM444B9vj9x/TY337MsbgZ\n5zLgEFzPxhwwnXnMSuDhfGAzMzNMTEwAMD4+zuTkJNPT7mHt9eBRb7f3lfV62e1GYwvr1n3ER7EX\nOIixsSlarZ2VxFN1PvKvXdXrt7ebzSabNm2q7PXb21Xno9XaydjYalyb1+GMjU3RaGwp9Pj29dnZ\nWQZktn5B9TVMx6jysdD2DTfcUMnv1F41IJuTsl/f1a8pBvkd22w2mZ+fBximhvV0N+4bRm3XAZf5\n65txp/nBNc02cTPU44Gn6Jyy2447xT8G3E+n3+JiXGMtwAb/WuCaZ5/GNcwemrme1bKg0WhUHUIL\n1rZglf/pLlWxkA8LMbRaiiMvxDFK/2e4rNYvEzXMyrGhOLpZiMNCDK2WnTjKqF9FezTeAPzQF6r9\nmaJzL26mOAucg2twBbgC+ADwMnAp8A2/fwr4IvB6XGG7xO9fDtyJ++bUPlxxm/W3ne+fD+BqOk22\nbf7fKaCeM4nDsD0bffaYWa5foBomEpVR168U/kCjilqOBmcSg2GKm/7ArIhUaZT1S/8lUyDZdfAq\nbdu2zcQXAizkw0IMoDjysj0bWfrSSnWsHRtVUxy2YgB7cYyyfmlgligLgzORpWhwJiKxGlX9SmEp\nQMsAi9CypsSg32UBLWWKiBWh65fOmCVOZ84kBjpzJiKxCl2/NDALxNr6d1YVgzML+bAQAyiOvIXi\n0OCsOtaPjbIpDlsxgP04QtYvDcxqQmfOJAYanIlIrELVrxR6NNSf0Qf1nEkMlurZUI+ZiFg1bP3S\nGbOa0ZkziYHOnIlIrIatXxqYBWJ9/TurjMGZhXxYiAEUR17RODQ4K09sx8aoKQ5bMUB8cQxTvzQw\nC6TZbFYdAlA8jlEPzizkw0IMoDjy+olDg7NyxHhsjJLisBUDxBnHoPVLA7NA2v9zfNX6iWOUgzML\n+bAQAyiOvH7j0OBs9GI9NkZFcdiKAeKNY5D6pYFZzannTGKgL6iISKz6rV8amAUyOztbdQjAYHGM\n4peehXxYiAEUR96gcWhwNjqxHxuhKQ5bMUD8cfT1n5wP9Aq2NIHfqjoIESnTG4CfpVC/QDVMpGaS\nql8iIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiFfn/wDFCxka64TcAAAAASUVORK5CYII=\n", "text": [ "" ] } ], "prompt_number": 11 }, { "cell_type": "code", "collapsed": false, "input": [ "def ricker(fpeak, t, tlag):\n", " \"\"\"\n", " Generating Ricker Wavelet\n", " \n", " .. math ::\n", " \n", " \n", " \"\"\"\n", " return (1-2*np.pi**2*fpeak**2*(t-tlag)**2)*np.exp(-np.pi**2*fpeak**2*(t-tlag)**2)" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 12 }, { "cell_type": "code", "collapsed": false, "input": [ "wave = ricker(600, time, 0.0025)" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 13 }, { "cell_type": "code", "collapsed": false, "input": [ "fig, ax = plt.subplots(1,1, figsize = (7, 5))\n", "ax.plot(time, wave, '.-')\n", "ax.set_xlim(0, 0.1)" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 14, "text": [ "(0, 0.1)" ] }, { "metadata": {}, "output_type": "display_data", "png": "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\n", "text": [ "" ] } ], "prompt_number": 14 }, { "cell_type": "code", "collapsed": false, "input": [ "txind = Utils.closestPoints(mesh, [0., 30.], gridLoc='CC')\n", "q = Utils.sdiag(1/mesh.vol)*np.zeros(mesh.nC)\n", "q[txind] = 1." ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 15 }, { "cell_type": "code", "collapsed": false, "input": [ "Ainv = SolverLU(An)" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 16 }, { "cell_type": "code", "collapsed": false, "input": [ "p = np.zeros((mesh.nC, time.size))" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 17 }, { "cell_type": "code", "collapsed": false, "input": [ "Proj = mesh.getInterpolationMat(np.r_[3., 30], 'CC')" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 18 }, { "cell_type": "code", "collapsed": false, "input": [ "%%time\n", "b0 = np.zeros(mesh.nC+mesh.nF)\n", "for i in range(time.size-1):\n", " s1 = ricker(400, time[i+1], 0.0025)\n", " s0 = ricker(400, time[i], 0.0025)\n", " s = np.r_[q*(s1-s0)*1/dt, np.zeros(mesh.nF)]\n", " bn = Ainv*(s-Bn*b0) \n", " p[:,i+1] = bn[0:mesh.nC]\n", " b0 = bn.copy()" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "Wall time: 3min 22s\n" ] } ], "prompt_number": 42 }, { "cell_type": "code", "collapsed": false, "input": [ "data = Proj*p" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 43 }, { "cell_type": "code", "collapsed": false, "input": [ "import JSAnimation" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 44 }, { "cell_type": "code", "collapsed": false, "input": [ "import urllib" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 45 }, { "cell_type": "code", "collapsed": false, "input": [ "extent = [mesh.vectorCCx.min(), mesh.vectorCCx.max(), mesh.vectorCCy.min(), mesh.vectorCCy.max()]\n", "extent[:2]" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 46, "text": [ "[-124.75, 124.75]" ] } ], "prompt_number": 46 }, { "cell_type": "code", "collapsed": false, "input": [ "from JSAnimation import IPython_display\n", "from matplotlib import animation\n", "fig, ax = subplots(1,2, figsize = (16, 8))\n", "ax[0].set_xlabel('Easting (m)')\n", "ax[0].set_ylabel('Depth (m)')\n", "extent = [mesh.vectorCCx.min(), mesh.vectorCCx.max(), mesh.vectorCCy.min(), mesh.vectorCCy.max()]\n", "ax[0].set_xlim(extent[:2])\n", "ax[0].set_ylim(extent[2:])\n", "ax[1].plot(Utils.mkvc(data), time, 'k--',)\n", "ax[1].set_xlim(data.min(), data.max())\n", "ax[1].set_ylim(time.min(), 0.04)\n", "ax[1].invert_yaxis()\n", "\n", "line, = ax[1].plot([], [], color=\"black\", lw=2)\n", "nskip = 20\n", "def animate(i_id):\n", " icount = i_id*nskip\n", " frame = ax[0].imshow(np.flipud(p[:,icount].reshape((500, 500), order = 'F').T), cmap = 'binary', extent=extent) \n", " tx = ax[0].plot(mesh.gridCC[txind,0], mesh.gridCC[txind,1], 'k.', ms = 10)\n", " rx = ax[0].plot(10, 30, 'r.', ms = 10)\n", " text_tx = ax[0].text(mesh.gridCC[txind,0]-15., mesh.gridCC[txind,1], 'Tx', fontsize = 18)\n", " text_tx = ax[0].text(10+5., 30, 'Rx', fontsize = 18, color=\"red\")\n", " ax[0].plot(np.r_[-12.5, 12.5, 12.5, -12.5, -12.5], np.r_[-12.5, -12.5, 12.5, 12.5, -12.5], 'w-', lw=2)\n", " line.set_data([Utils.mkvc(data)[:icount]], [time[:icount]])\n", " return frame, line\n", "animation.FuncAnimation(fig, animate, frames=40, interval=40, blit=True)" ], "language": "python", "metadata": {}, "outputs": [ { "html": [ "\n", "\n", "\n", "
\n", " \n", "
\n", " \n", "
\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
\n", " Once \n", " Loop \n", " Reflect \n", "
\n", "
\n", "\n", "\n", "\n" ], "metadata": {}, "output_type": "pyout", "prompt_number": 48, "text": [ "" ] } ], "prompt_number": 48 }, { "cell_type": "code", "collapsed": false, "input": [ "!ipython nbconvert --to html SeismicEx.ipynb" ], "language": "python", "metadata": {}, "outputs": [] } ], "metadata": {} } ] }