Files
simpeg/notebooks/DCinverse.ipynb
T
seogi_macbook e0d9c27d87 Result of SimPEG hackathon
- Incorporate field class on DC
- Add IP forward modelling and inversion
- Modify notebooks
- change folder name form simpegDC to simpegDCIP
2015-06-03 08:29:05 -07:00

451 lines
77 KiB
Plaintext

{
"metadata": {
"name": "",
"signature": "sha256:9107d99fbfb21822b71a94de16f078e82c12cf73d2e85893fd26dfda06c8ce14"
},
"nbformat": 3,
"nbformat_minor": 0,
"worksheets": [
{
"cells": [
{
"cell_type": "code",
"collapsed": false,
"input": [
"from SimPEG import *\n",
"import simpegDCIP as DC\n",
"%pylab inline\n",
"from pymatsolver import MumpsSolver"
],
"language": "python",
"metadata": {},
"outputs": [
{
"output_type": "stream",
"stream": "stdout",
"text": [
"Populating the interactive namespace from numpy and matplotlib\n"
]
},
{
"output_type": "stream",
"stream": "stderr",
"text": [
"Vendor: Continuum Analytics, Inc.\n",
"Package: mkl\n",
"Message: trial mode expires in 29 days\n"
]
}
],
"prompt_number": 1
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"cs = 12.5\n",
"nc = 500/cs+1\n",
"hx = [(cs,7, -1.3),(cs,nc),(cs,7, 1.3)]\n",
"hy = [(cs,7, -1.3),(cs,int(nc/2+1)),(cs,7, 1.3)]\n",
"hz = [(cs,7, -1.3),(cs,int(nc/2+1))]"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 2
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"mesh = Mesh.TensorMesh([hx, hy, hz], 'CCN')\n",
"print mesh"
],
"language": "python",
"metadata": {},
"outputs": [
{
"output_type": "stream",
"stream": "stdout",
"text": [
" ---- 3-D TensorMesh ---- \n",
" x0: -541.97\n",
" y0: -416.97\n",
" z0: -548.22\n",
" nCx: 55\n",
" nCy: 35\n",
" nCz: 28\n",
" hx: 78.44, 60.34, 46.41, 35.70, 27.46, 21.13, 16.25, 41*12.50, 16.25, 21.13, 27.46, 35.70, 46.41, 60.34, 78.44\n",
" hy: 78.44, 60.34, 46.41, 35.70, 27.46, 21.13, 16.25, 21*12.50, 16.25, 21.13, 27.46, 35.70, 46.41, 60.34, 78.44\n",
" hz: 78.44, 60.34, 46.41, 35.70, 27.46, 21.13, 16.25, 21*12.50\n"
]
}
],
"prompt_number": 3
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"sighalf = 1e-2\n",
"sigma = np.ones(mesh.nC)*sighalf\n",
"p0 = np.r_[-50., 50., -50.]\n",
"p1 = np.r_[ 50.,-50., -150.]\n",
"blk_ind = Utils.ModelBuilder.getIndecesBlock(p0, p1, mesh.gridCC)\n",
"sigma[blk_ind] = 1e-3"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 4
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"nElecs = 21\n",
"x_temp = np.linspace(-250, 250, nElecs)\n",
"aSpacing = x_temp[1]-x_temp[0]\n",
"y_temp = 0.\n",
"xyz = Utils.ndgrid(x_temp, np.r_[y_temp], np.r_[0.])"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 5
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"srcList = DC.Examples.WennerArray.getSrcList(nElecs,aSpacing)\n",
"survey = DC.SurveyDC(srcList)\n",
"print len(survey.srcList)"
],
"language": "python",
"metadata": {},
"outputs": [
{
"output_type": "stream",
"stream": "stdout",
"text": [
"63\n"
]
}
],
"prompt_number": 6
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"fig, ax = plt.subplots(1,1, figsize = (6.5,5))\n",
"indz = 22\n",
"dat = mesh.plotSlice(sigma, grid=True, ax = ax, ind=indz)\n",
"ax.set_xlim(-300, 300)\n",
"ax.set_ylim(-300, 300)\n",
"cb = plt.colorbar(dat[0])\n",
"ax.set_title('Depth at '+str(mesh.vectorCCz[indz])+' m')\n",
"\n",
"txLocs = np.array([[tx.loc[0][0], tx.loc[1][0]] for tx in survey.srcList]).flatten()\n",
"ax.plot(txLocs, txLocs*0, 'w.', ms = 3)"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 7,
"text": [
"[<matplotlib.lines.Line2D at 0x10db0fa50>]"
]
},
{
"metadata": {},
"output_type": "display_data",
"png": "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\nWSX+P3faf3379MqEAAAAAElFTkSuQmCC\n",
"text": [
"<matplotlib.figure.Figure at 0x10d9ac710>"
]
}
],
"prompt_number": 7
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"expmap = Maps.ExpMap(mesh)\n",
"m2to3 = Maps.Map2Dto3D(mesh,normal='Y')\n",
"imap = Maps.IdentityMap(mesh)\n",
"problem = DC.ProblemDC_CC(mesh, mapping= imap )\n",
"problem.Solver = MumpsSolver\n",
"problem.pair(survey)"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 9
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"datasyn = survey.dpred(sighalf*np.ones(mesh.nC))\n",
"survey.makeSyntheticData(sigma,std=0.01,force=True)\n",
"plot(np.log(np.c_[survey.dobs,datasyn]))"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 10,
"text": [
"[<matplotlib.lines.Line2D at 0x1038621d0>,\n",
" <matplotlib.lines.Line2D at 0x103862450>]"
]
},
{
"metadata": {},
"output_type": "display_data",
"png": "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\nAAAASUVORK5CYII=\n",
"text": [
"<matplotlib.figure.Figure at 0x10e82c610>"
]
}
],
"prompt_number": 10
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"problem.mapping = expmap * m2to3"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 11
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"dmis = DataMisfit.l2_DataMisfit(survey)\n",
"reg = Regularization.Tikhonov(mesh,mapping=m2to3)\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": 12
},
{
"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 7.28e+00 1.86e+03 1.05e+04 7.84e+04 2.20e+03 0 "
]
},
{
"output_type": "stream",
"stream": "stdout",
"text": [
"\n",
" 1 7.28e+00 6.57e+02 1.06e+04 7.80e+04 1.15e+03 1 "
]
},
{
"output_type": "stream",
"stream": "stdout",
"text": [
"\n",
" 2 1.46e+00 5.58e+02 1.06e+04 1.61e+04 1.03e+03 3 Skip BFGS "
]
},
{
"output_type": "stream",
"stream": "stdout",
"text": [
"\n",
" 3 1.46e+00 1.36e+02 1.08e+04 1.59e+04 1.69e+02 0 Skip BFGS "
]
},
{
"output_type": "stream",
"stream": "stdout",
"text": [
"\n",
" 4 2.91e-01 8.24e+01 1.07e+04 3.20e+03 2.05e+02 0 "
]
},
{
"output_type": "stream",
"stream": "stdout",
"text": [
"\n",
" 5 2.91e-01 4.61e+01 1.07e+04 3.16e+03 1.35e+02 0 Skip BFGS "
]
},
{
"output_type": "stream",
"stream": "stdout",
"text": [
"\n",
" 6 5.83e-02 4.40e+01 1.07e+04 6.65e+02 1.16e+02 0 "
]
},
{
"output_type": "stream",
"stream": "stdout",
"text": [
"\n",
" 7 5.83e-02 3.99e+01 1.07e+04 6.61e+02 1.35e+02 0 "
]
},
{
"output_type": "stream",
"stream": "stdout",
"text": [
"\n",
"------------------------- STOP! -------------------------\n",
"1 : |fc-fOld| = 4.7528e+00 <= tolF*(1+|f0|) = 7.8397e+03\n",
"0 : |xc-x_last| = 4.6314e-01 <= tolX*(1+|x0|) = 1.8172e-13\n",
"0 : |proj(x-g)-x| = 1.3494e+02 <= tolG = 1.0000e-01\n",
"0 : |proj(x-g)-x| = 1.3494e+02 <= 1e3*eps = 1.0000e-02\n",
"1 : maxIter = 7 <= iter = 7\n",
"------------------------- DONE! -------------------------\n"
]
}
],
"prompt_number": 13
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"colorbar(mesh.plotSlice(np.log10(expmap * m2to3 * mopt), normal='Y', ind=indz, grid=True)[0])"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 14,
"text": [
"<matplotlib.colorbar.Colorbar instance at 0x10fcbaa28>"
]
},
{
"metadata": {},
"output_type": "display_data",
"png": "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\n",
"text": [
"<matplotlib.figure.Figure at 0x103879a90>"
]
}
],
"prompt_number": 14
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"dpred = survey.dpred(mopt)"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 15
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"plot(np.c_[dpred,survey.dobs])"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 16,
"text": [
"[<matplotlib.lines.Line2D at 0x10f42a790>,\n",
" <matplotlib.lines.Line2D at 0x10f42aa10>]"
]
},
{
"metadata": {},
"output_type": "display_data",
"png": "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\nAABJRU5ErkJggg==\n",
"text": [
"<matplotlib.figure.Figure at 0x10fa4d110>"
]
}
],
"prompt_number": 16
},
{
"cell_type": "code",
"collapsed": false,
"input": [],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 16
},
{
"cell_type": "code",
"collapsed": false,
"input": [],
"language": "python",
"metadata": {},
"outputs": []
}
],
"metadata": {}
}
]
}