1D DC examples

This commit is contained in:
seogi committed 2014-09-22 16:56:44 -07:00
1 parent f60a415b59
commit 90957676b4
4 files changed
+1150

No files matched your search

+397
View File
@@ -0,0 +1,397 @@
{
"metadata": {
"name": "",
"signature": "sha256:4c81eac7c432b351e702d9aa1f39f2d14f9487903d874e4c95342ece5a8bb266"
},
"nbformat": 3,
"nbformat_minor": 0,
"worksheets": [
{
"cells": [
{
"cell_type": "code",
"collapsed": false,
"input": [
"from SimPEG import *\n",
"import simpegDC as DC\n",
"from simpegem1d import Utils1D\n",
"import simpegEM.Utils as EMUtils\n",
"%pylab inline"
],
"language": "python",
"metadata": {},
"outputs": [
{
"output_type": "stream",
"stream": "stdout",
"text": [
"Populating the interactive namespace from numpy and matplotlib\n"
]
}
],
"prompt_number": 1
},
{
"cell_type": "heading",
"level": 1,
"metadata": {},
"source": [
"DC Forward Modeling of Schlumber array"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Here we test the accuracy of DC forward modeling using analytic solution."
]
},
{
"cell_type": "heading",
"level": 2,
"metadata": {},
"source": [
"Step1: Generate mesh"
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"cs = 25.\n",
"npad = 11\n",
"hx = [(cs,npad, -1.3),(cs,41),(cs,npad, 1.3)]\n",
"hy = [(cs,npad, -1.3),(cs,17),(cs,npad, 1.3)]\n",
"hz = [(cs,npad, -1.3),(cs,20)]"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 113
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"mesh = Mesh.TensorMesh([hx, hy, hz], 'CCN')"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 114
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"mesh.plotGrid()"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "display_data",
"png": "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 truncated
"text": [
"<matplotlib.figure.Figure at 0x4ecf510>"
]
}
],
"prompt_number": 115
},
{
"cell_type": "heading",
"level": 2,
"metadata": {},
"source": [
"Step2: Generating model"
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"sighalf = 1e-2\n",
"sigma = np.ones(mesh.nC)*sighalf"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 121
},
{
"cell_type": "heading",
"level": 2,
"metadata": {},
"source": [
"Step3: Design survey: Schulumberger array"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"<img src=\"http://www.landrinstruments.com/_/rsrc/1271695892678/home/ultra-minires/additional-information-1/schlumberger-soundings/schlum%20array.JPG\"> </img>"
]
},
{
"cell_type": "heading",
"level": 3,
"metadata": {},
"source": [
"$$ \\rho_a = \\frac{V}{I}\\pi\\frac{b(b+a)}{a}$$"
]
},
{
"cell_type": "heading",
"level": 4,
"metadata": {},
"source": [
"Let $b=na$, then we rewrite above equation as:"
]
},
{
"cell_type": "heading",
"level": 3,
"metadata": {},
"source": [
"$$ \\rho_a = \\frac{V}{I}\\pi na(n+1)$$"
]
},
{
"cell_type": "heading",
"level": 4,
"metadata": {},
"source": [
"Since AB/2 can be a good measure for depth of investigation, we express "
]
},
{
"cell_type": "heading",
"level": 3,
"metadata": {},
"source": [
"$$AB/2 = \\frac{(2n+1)a}{2}$$"
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"matplotlib.rcParams.update({'font.size': 14, 'text.usetex': True, 'font.family': 'arial'})"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 140
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"ntx = 16"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 141
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"xtemp_txP = np.arange(ntx)*(25.)-500.\n",
"xtemp_txN = -xtemp_txP\n",
"ytemp_tx = np.zeros(ntx)\n",
"xtemp_rxP = -50.\n",
"xtemp_rxN = 50.\n",
"ytemp_rx = 0.\n",
"abhalf = abs(xtemp_txP-xtemp_txN)*0.5\n",
"a = xtemp_rxN-xtemp_rxP\n",
"b = ((xtemp_txN-xtemp_txP)-a)*0.5"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 142
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"fig, ax = plt.subplots(1,1, figsize = (12,3))\n",
"for i in range(ntx):\n",
" ax.plot(np.r_[xtemp_txP[i], xtemp_txP[i]], np.r_[0., 0.4-0.01*(i-1)], 'k-', lw = 1)\n",
" ax.plot(np.r_[xtemp_txN[i], xtemp_txN[i]], np.r_[0., 0.4-0.01*(i-1)], 'k-', lw = 1)\n",
" ax.plot(xtemp_txP[i], ytemp_tx[i], 'bo')\n",
" ax.plot(xtemp_txN[i], ytemp_tx[i], 'ro')\n",
" ax.plot(np.r_[xtemp_txP[i], xtemp_txN[i]], np.r_[0.4-0.01*(i-1), 0.4-0.01*(i-1)], 'k-', lw = 1) \n",
"\n",
"ax.plot(np.r_[xtemp_rxP, xtemp_rxP], np.r_[0., 0.2], 'k-', lw = 1)\n",
"ax.plot(np.r_[xtemp_rxN, xtemp_rxN], np.r_[0., 0.2], 'k-', lw = 1)\n",
"ax.plot(xtemp_rxP, ytemp_rx, 'ko')\n",
"ax.plot(xtemp_rxN, ytemp_rx, 'go')\n",
"ax.plot(np.r_[xtemp_rxP, xtemp_rxN], np.r_[0.2, 0.2], 'k-', lw = 1) \n",
"\n",
"ax.grid(True) \n",
"ax.set_ylim(-0.2,0.6)\n",
"ax.set_xlim(-600,600)"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 124,
"text": [
"(-600, 600)"
]
},
{
"metadata": {},
"output_type": "display_data",
"png": "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 truncated
"text": [
"<matplotlib.figure.Figure at 0x65e8150>"
]
}
],
"prompt_number": 124
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"fig, ax = plt.subplots(1,1, figsize = (5,3))\n",
"mesh.plotSlice(sigma, grid=True, ax = ax, pcolorOpts={'cmap':'binary'})\n",
"ax.plot(xtemp_txP, ytemp_tx, 'bo')\n",
"ax.plot(xtemp_txN, ytemp_tx, 'ro')\n",
"ax.plot(xtemp_rxP, ytemp_rx, 'ko')\n",
"ax.plot(xtemp_rxN, ytemp_rx, 'go')\n",
"ax.set_xlim(-600, 600)\n",
"ax.set_ylim(-200, 200)\n",
"ax.set_title('Survey geometry (Plan view)')"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 144,
"text": [
"<matplotlib.text.Text at 0x62fa710>"
]
},
{
"metadata": {},
"output_type": "display_data",
"png": "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 truncated
"text": [
"<matplotlib.figure.Figure at 0x4ec6210>"
]
}
],
"prompt_number": 144
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"txlist = []\n",
"rx = DC.DipoleRx(np.r_[xtemp_rxP, ytemp_rx, -12.5], np.r_[xtemp_rxN, ytemp_rx, -12.5])\n",
"for i in range(ntx): \n",
" tx = DC.DipoleTx([xtemp_txP[i], ytemp_tx[i], -12.5],[xtemp_txN[i], ytemp_tx[i], -12.5], [rx])\n",
" txlist.append(tx)"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 129
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"survey = DC.SurveyDC(txlist)\n",
"problem = DC.ProblemDC(mesh)\n",
"problem.pair(survey)\n",
"problem.Solver = SolverWrapD(EMUtils.Solver.Mumps)"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 133
},
{
"cell_type": "heading",
"level": 2,
"metadata": {},
"source": [
"Step4: Run DC forward modeling"
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"data = survey.dpred(sigma)"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 134
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"$$ \\rho_a = \\frac{V}{I}\\pi\\frac{b(b+a)}{a}$$"
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"appres = data*np.pi*b*(b+a)/a\n",
"\n",
"\n",
"fig, ax = plt.subplots(1,1, figsize = (6, 4))\n",
"ax.semilogx(np.r_[100., 500.], np.r_[100., 100.], 'k--')\n",
"ax.semilogx(abhalf, appres, 'k.-')\n",
"ax.set_ylim(90., 120.)\n",
"ax.set_xscale('log')\n",
"ax.set_xlabel('AB/2')\n",
"ax.set_ylabel('Apparent resistivity ($\\Omega m$)')\n",
"ax.grid(True)\n",
"ax.legend(('True', 'simpegDC'), loc = 1, fontsize = 14)"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 148,
"text": [
"<matplotlib.legend.Legend at 0x9a06b90>"
]
},
{
"metadata": {},
"output_type": "display_data",
"png": "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 truncated
"text": [
"<matplotlib.figure.Figure at 0x934c3d0>"
]
}
],
"prompt_number": 148
}
],
"metadata": {}
}
]
}
+753
View File
@@ -0,0 +1,753 @@
{
"metadata": {
"name": "",
"signature": "sha256:19c3127b59d003240c9fc3ef942fdeb1b3f06fc6f97ca83dc7d01ca16af87352"
},
"nbformat": 3,
"nbformat_minor": 0,
"worksheets": [
{
"cells": [
{
"cell_type": "code",
"collapsed": false,
"input": [
"from SimPEG import *\n",
"import simpegDC as DC\n",
"from simpegem1d import Utils1D\n",
"import simpegEM.Utils as EMUtils\n",
"%pylab inline"
],
"language": "python",
"metadata": {},
"outputs": [
{
"output_type": "stream",
"stream": "stdout",
"text": [
"Populating the interactive namespace from numpy and matplotlib\n"
]
}
],
"prompt_number": 89
},
{
"cell_type": "heading",
"level": 1,
"metadata": {},
"source": [
"1D DC inversion of Schlumberger array"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"This is an example for 1D DC Sounding inversion. This 1D inversion usually use analytic foward modeling, which is efficient. However, we choose different approach to show flexibility in geophysical inversion through mapping. Here mapping ($M$)indicates transformation of our model to a different space:\n",
"\n",
"$$\n",
" \\mathbf{m} = M(\\mathbf{\\sigma})\n",
"$$\n",
"\n",
"Now we consider a transformation, which maps 3D conductivity model to 1D layer model. That is, 3D distribution of conducitivity can be parameterized as 1D model. Once we can compute derivative of this transformation, we can change our model space, based on the transformation. \n",
"\n",
"Following example will show you how user can implement this set up with 1D DC inversion example. Note that we have 3D forward modeling mesh."
]
},
{
"cell_type": "heading",
"level": 2,
"metadata": {},
"source": [
"Step1: Generate mesh"
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"cs = 25.\n",
"npad = 11\n",
"hx = [(cs,npad, -1.3),(cs,41),(cs,npad, 1.3)]\n",
"hy = [(cs,npad, -1.3),(cs,17),(cs,npad, 1.3)]\n",
"hz = [(cs,npad, -1.3),(cs,20)]"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 90
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"mesh = Mesh.TensorMesh([hx, hy, hz], 'CCN')"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 91
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"mesh.plotGrid()"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "display_data",
"png": "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 truncated
"text": [
"<matplotlib.figure.Figure at 0x4702410>"
]
}
],
"prompt_number": 92
},
{
"cell_type": "heading",
"level": 2,
"metadata": {},
"source": [
"Step2: Generating model and mapping (1D to 3D)"
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"mapping = Maps.ExpMap(mesh)*Maps.Vertical1DMap(mesh)\n",
"siglay1 = 1./(100.)\n",
"siglay2 = 1./(500.)\n",
"sighalf = 1./(100.)\n",
"sigma = np.ones(mesh.nCz)*siglay1\n",
"sigma[mesh.vectorCCz<=-100.] = siglay2\n",
"sigma[mesh.vectorCCz<-150.] = sighalf\n",
"mtrue = np.log(sigma)"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 138
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"dat = mesh.plotImage(mapping*mtrue)\n",
"print (mapping*mtrue).min()"
],
"language": "python",
"metadata": {},
"outputs": [
{
"output_type": "stream",
"stream": "stdout",
"text": [
"0.002\n"
]
},
{
"metadata": {},
"output_type": "display_data",
"png": "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 truncated
"text": [
"<matplotlib.figure.Figure at 0x5424110>"
]
}
],
"prompt_number": 139
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"fig, ax = plt.subplots(1,1, figsize = (3, 6))\n",
"Utils1D.plotLayer(1./sigma, mesh.vectorCCz, 'log', ax = ax)\n",
"ax.set_ylim(-600, 0)"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 140,
"text": [
"(-600, 0)"
]
},
{
"metadata": {},
"output_type": "display_data",
"png": "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 truncated
"text": [
"<matplotlib.figure.Figure at 0x4b9a090>"
]
}
],
"prompt_number": 140
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"fig, ax = plt.subplots(1,1, figsize = (7, 5))\n",
"dat = mesh.plotSlice((mapping*mtrue), normal='Y', ind = 9, ax = ax)\n",
"cb = plt.colorbar(dat[0], ax =ax)\n",
"ax.set_title(\"Vertical section\")\n",
"cb.set_label(\"Conductivity (S/m)\")\n",
"ax.set_xlim(-1000., 1000.)\n",
"ax.set_ylim(-500., 0.)"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 213,
"text": [
"(-500.0, 0.0)"
]
},
{
"metadata": {},
"output_type": "display_data",
"png": "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 truncated
"text": [
"<matplotlib.figure.Figure at 0x6cda950>"
]
}
],
"prompt_number": 213
},
{
"cell_type": "heading",
"level": 2,
"metadata": {},
"source": [
"Step3: Design survey: Schulumberger array"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"<img src=\"http://www.landrinstruments.com/_/rsrc/1271695892678/home/ultra-minires/additional-information-1/schlumberger-soundings/schlum%20array.JPG\"> </img>"
]
},
{
"cell_type": "heading",
"level": 3,
"metadata": {},
"source": [
"$$ \\rho_a = \\frac{V}{I}\\pi\\frac{b(b+a)}{a}$$"
]
},
{
"cell_type": "heading",
"level": 4,
"metadata": {},
"source": [
"Let $b=na$, then we rewrite above equation as:"
]
},
{
"cell_type": "heading",
"level": 3,
"metadata": {},
"source": [
"$$ \\rho_a = \\frac{V}{I}\\pi na(n+1)$$"
]
},
{
"cell_type": "heading",
"level": 4,
"metadata": {},
"source": [
"Since AB/2 can be a good measure for depth of investigation, we express "
]
},
{
"cell_type": "heading",
"level": 3,
"metadata": {},
"source": [
"$$AB/2 = \\frac{(2n+1)a}{2}$$"
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"ntx = 16"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 142
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"xtemp_txP = np.arange(ntx)*(25.)-500.\n",
"xtemp_txN = -xtemp_txP\n",
"ytemp_tx = np.zeros(ntx)\n",
"xtemp_rxP = -50.\n",
"xtemp_rxN = 50.\n",
"ytemp_rx = 0.\n",
"abhalf = abs(xtemp_txP-xtemp_txN)*0.5\n",
"a = xtemp_rxN-xtemp_rxP\n",
"b = ((xtemp_txN-xtemp_txP)-a)*0.5"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 143
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"print a\n",
"print b"
],
"language": "python",
"metadata": {},
"outputs": [
{
"output_type": "stream",
"stream": "stdout",
"text": [
"100.0\n",
"[ 450. 425. 400. 375. 350. 325. 300. 275. 250. 225. 200. 175.\n",
" 150. 125. 100. 75.]\n"
]
}
],
"prompt_number": 144
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"fig, ax = plt.subplots(1,1, figsize = (12,3))\n",
"for i in range(ntx):\n",
" ax.plot(np.r_[xtemp_txP[i], xtemp_txP[i]], np.r_[0., 0.4-0.01*(i-1)], 'k-', lw = 1)\n",
" ax.plot(np.r_[xtemp_txN[i], xtemp_txN[i]], np.r_[0., 0.4-0.01*(i-1)], 'k-', lw = 1)\n",
" ax.plot(xtemp_txP[i], ytemp_tx[i], 'bo')\n",
" ax.plot(xtemp_txN[i], ytemp_tx[i], 'ro')\n",
" ax.plot(np.r_[xtemp_txP[i], xtemp_txN[i]], np.r_[0.4-0.01*(i-1), 0.4-0.01*(i-1)], 'k-', lw = 1) \n",
"\n",
"ax.plot(np.r_[xtemp_rxP, xtemp_rxP], np.r_[0., 0.2], 'k-', lw = 1)\n",
"ax.plot(np.r_[xtemp_rxN, xtemp_rxN], np.r_[0., 0.2], 'k-', lw = 1)\n",
"ax.plot(xtemp_rxP, ytemp_rx, 'ko')\n",
"ax.plot(xtemp_rxN, ytemp_rx, 'go')\n",
"ax.plot(np.r_[xtemp_rxP, xtemp_rxN], np.r_[0.2, 0.2], 'k-', lw = 1) \n",
"\n",
"ax.grid(True) \n",
"ax.set_ylim(-0.2,0.6)\n",
"# ax.set_xlim(-600,600)"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 145,
"text": [
"(-0.2, 0.6)"
]
},
{
"metadata": {},
"output_type": "display_data",
"png": "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 truncated
"text": [
"<matplotlib.figure.Figure at 0x4da7b90>"
]
}
],
"prompt_number": 145
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"fig, ax = plt.subplots(1,1, figsize = (5,3))\n",
"mesh.plotSlice(np.log10(mapping*mtrue), grid=True, ax = ax, pcolorOpts={'cmap':'binary'})\n",
"ax.plot(xtemp_txP, ytemp_tx, 'bo')\n",
"ax.plot(xtemp_txN, ytemp_tx, 'ro')\n",
"ax.plot(xtemp_rxP, ytemp_rx, 'ko')\n",
"ax.plot(xtemp_rxN, ytemp_rx, 'go')\n",
"ax.set_xlim(-1000, 1000)\n",
"ax.set_ylim(-200, 200)\n",
"ax.set_title('Survey geometry (Plan view)')"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 220,
"text": [
"<matplotlib.text.Text at 0xee2d3d0>"
]
},
{
"metadata": {},
"output_type": "display_data",
"png": "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 truncated
"text": [
"<matplotlib.figure.Figure at 0x77ef110>"
]
}
],
"prompt_number": 220
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"We generate tx and rx lists:"
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"txlist = []\n",
"rx = DC.DipoleRx(np.r_[xtemp_rxP, ytemp_rx, -12.5], np.r_[xtemp_rxN, ytemp_rx, -12.5])\n",
"for i in range(ntx): \n",
" tx = DC.DipoleTx([xtemp_txP[i], ytemp_tx[i], -12.5],[xtemp_txN[i], ytemp_tx[i], -12.5], [rx])\n",
" txlist.append(tx)\n",
"survey = DC.SurveyDC(txlist) "
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 147
},
{
"cell_type": "heading",
"level": 2,
"metadata": {},
"source": [
"Step4: Set up problem and pair with survey"
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"problem = DC.ProblemDC(mesh, mapping=mapping)\n",
"problem.pair(survey)\n",
"problem.Solver = SolverWrapD(EMUtils.Solver.Mumps)"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 216
},
{
"cell_type": "heading",
"level": 2,
"metadata": {},
"source": [
"Step5: Run survey.dpred to comnpute syntetic data"
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"data = survey.dpred(mtrue)"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 149
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"$$ \\rho_a = \\frac{V}{I}\\pi\\frac{b(b+a)}{a}$$"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"To make synthetic example you can use survey.makeSyntheticData, which generates related setups"
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"survey.makeSyntheticData(mtrue,std=0.01,force=True)"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 217
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"appres = data*np.pi*b*(b+a)/a\n",
"appres_obs = survey.dobs*np.pi*b*(b+a)/a\n",
"fig, ax = plt.subplots(1,1, figsize = (6, 4))\n",
"ax.semilogx(abhalf, appres, '.-')\n",
"ax.semilogx(abhalf, appres_obs, '.-')\n",
"ax.set_xscale('log')\n",
"ax.set_ylim(100., 180.)\n",
"ax.set_xlabel('AB/2')\n",
"ax.set_ylabel('Apparent resistivity ($\\Omega m$)')\n",
"ax.grid(True)\n",
"ax.legend(('Observed', 'Predicted'), loc = 1)"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 214,
"text": [
"<matplotlib.legend.Legend at 0xee25050>"
]
},
{
"metadata": {},
"output_type": "display_data",
"png": "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 truncated
"text": [
"<matplotlib.figure.Figure at 0xe215c90>"
]
}
],
"prompt_number": 214
},
{
"cell_type": "heading",
"level": 2,
"metadata": {},
"source": [
"Step6: Run inversion"
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"dmis = DataMisfit.l2_DataMisfit(survey)\n",
"reg = Regularization.Tikhonov(mesh,mapping=mapping)\n",
"opt = Optimization.InexactGaussNewton(maxIter=7,tolX=1e-15)\n",
"opt.remember('xc')\n",
"invProb = InvProblem.BaseInvProblem(dmis, reg, opt)\n",
"beta = Directives.BetaEstimate_ByEig(beta0_ratio=1e1)\n",
"betaSched = Directives.BetaSchedule(coolingFactor=5, coolingRate=2)\n",
"inv = Inversion.BaseInversion(invProb, directiveList=[beta,betaSched])"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 162
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"m0 = np.log(np.ones(problem.mapping.nP)*sighalf)\n",
"mopt = inv.run(m0)"
],
"language": "python",
"metadata": {},
"outputs": [
{
"output_type": "stream",
"stream": "stdout",
"text": [
"SimPEG.InvProblem will set Regularization.mref to m0.\n",
"SimPEG.InvProblem is setting bfgsH0 to the inverse of the eval2Deriv.\n",
" ***Done using same solver as the problem***\n",
"SimPEG.l2_DataMisfit is creating default weightings for Wd."
]
},
{
"output_type": "stream",
"stream": "stdout",
"text": [
"\n",
"============================ Inexact Gauss Newton ============================"
]
},
{
"output_type": "stream",
"stream": "stdout",
"text": [
"\n",
" # beta phi_d phi_m f |proj(x-g)-x| LS Comment \n",
"-----------------------------------------------------------------------------\n",
" 0 9.67e-02 6.33e+03 2.24e+04 8.50e+03 9.06e+03 0 "
]
},
{
"output_type": "stream",
"stream": "stdout",
"text": [
"\n",
" 1 9.67e-02 4.67e+02 7.43e+03 1.19e+03 2.80e+03 0 "
]
},
{
"output_type": "stream",
"stream": "stdout",
"text": [
"\n",
" 2 1.93e-02 1.95e+02 4.57e+03 2.84e+02 4.36e+02 0 "
]
},
{
"output_type": "stream",
"stream": "stdout",
"text": [
"\n",
" 3 1.93e-02 1.02e+02 7.15e+03 2.40e+02 1.26e+02 0 "
]
},
{
"output_type": "stream",
"stream": "stdout",
"text": [
"\n",
" 4 3.87e-03 1.11e+02 6.52e+03 1.37e+02 2.18e+02 0 "
]
},
{
"output_type": "stream",
"stream": "stdout",
"text": [
"\n",
" 5 3.87e-03 3.10e+01 1.73e+04 9.80e+01 1.06e+02 0 "
]
},
{
"output_type": "stream",
"stream": "stdout",
"text": [
"\n",
" 6 7.73e-04 3.94e+01 1.45e+04 5.07e+01 1.01e+02 0 "
]
},
{
"output_type": "stream",
"stream": "stdout",
"text": [
"\n",
" 7 7.73e-04 1.04e+01 3.03e+04 3.38e+01 3.64e+01 0 "
]
},
{
"output_type": "stream",
"stream": "stdout",
"text": [
"\n",
"------------------------- STOP! -------------------------\n",
"1 : |fc-fOld| = 1.6880e+01 <= tolF*(1+|f0|) = 8.5000e+02\n",
"0 : |xc-x_last| = 1.3315e+00 <= tolX*(1+|x0|) = 2.6641e-14\n",
"0 : |proj(x-g)-x| = 3.6437e+01 <= tolG = 1.0000e-01\n",
"0 : |proj(x-g)-x| = 3.6437e+01 <= 1e3*eps = 1.0000e-02\n",
"1 : maxIter = 7 <= iter = 7\n",
"------------------------- DONE! -------------------------\n"
]
}
],
"prompt_number": 163
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"matplotlib.rcParams.update({'font.size': 14, 'text.usetex': True, 'font.family': 'arial'})"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 207
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"appres = data*np.pi*b*(b+a)/a\n",
"appres_obs = survey.dobs*np.pi*b*(b+a)/a\n",
"appres_pred = invProb.dpred*np.pi*b*(b+a)/a\n",
"fig, ax = plt.subplots(1,1, figsize = (6, 4))\n",
"ax.plot(abhalf, appres_obs, 'k.-')\n",
"ax.plot(abhalf, appres_pred, 'r.-')\n",
"ax.set_xscale('log')\n",
"ax.set_ylim(100., 180.)\n",
"ax.set_xlabel('AB/2')\n",
"ax.set_ylabel('Apparent resistivity ($\\Omega m$)')\n",
"ax.grid(True)\n",
"ax.legend(('Observed', 'Predicted'), loc = 1)\n",
"fig.savefig('obspred_dc1d_dat.png')"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "display_data",
"png": "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 truncated
"text": [
"<matplotlib.figure.Figure at 0x6cbdf90>"
]
}
],
"prompt_number": 218
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"fig, ax = plt.subplots(1,1, figsize = (3, 6))\n",
"ax.plot(1., 1., 'k', lw = 2)\n",
"ax.plot(1., 1., 'r', lw = 2)\n",
"ax.legend(('True', 'Recovered'), loc = 4, fontsize = 14)\n",
"Utils1D.plotLayer(1./(np.exp(mopt)), mesh.vectorCCz, 'log', ax = ax, **{'lw':2, 'color':'r'})\n",
"Utils1D.plotLayer(1./(np.exp(mtrue)), mesh.vectorCCz, 'log', ax = ax, **{'lw':2})\n",
"ax.set_ylim(-600, 0)\n",
"fig.savefig('obspred_dc1d_mod.png')"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "display_data",
"png": "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 truncated
"text": [
"<matplotlib.figure.Figure at 0xdbb1050>"
]
}
],
"prompt_number": 219
}
],
"metadata": {}
}
]
}
Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.8 KiB