From 78584ae49d0e926aa6d5615b2be06d17afd29a71 Mon Sep 17 00:00:00 2001 From: D Fournier Date: Mon, 1 Feb 2016 21:03:58 -0800 Subject: [PATCH] Create pseudo-section simulation in Notebook. Sub-functions added to BaseDC. Required for the simulation --- notebooks/DCR Pseudo-section Simulation.ipynb | 167 +++++++ notebooks/DC_Forward_Live.ipynb | 66 ++- .../SimPEG Tutorial - DC Fwr Problem.ipynb | 441 ++++++++++++++++++ simpegDCIP/BaseDC.py | 2 +- simpegDCIP/Dev/DC2D_Demo_HTML_anim.py | 23 +- simpegDCIP/Dev/DC3D_Demo_TwoSpheres.py | 50 +- 6 files changed, 675 insertions(+), 74 deletions(-) create mode 100644 notebooks/DCR Pseudo-section Simulation.ipynb create mode 100644 notebooks/SimPEG Tutorial - DC Fwr Problem.ipynb diff --git a/notebooks/DCR Pseudo-section Simulation.ipynb b/notebooks/DCR Pseudo-section Simulation.ipynb new file mode 100644 index 00000000..a443897e --- /dev/null +++ b/notebooks/DCR Pseudo-section Simulation.ipynb @@ -0,0 +1,167 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# DCR Pseudo-section Simulation" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Efficiency Warning: Interpolation will be slow, use setup.py!\n", + "\n", + " python setup.py build_ext --inplace\n", + " \n" + ] + } + ], + "source": [ + "from SimPEG import *\n", + "from SimPEG.Examples import DC_PseudoSection_Simulation\n", + "\n", + "from ipywidgets import interactive, FloatText, FloatSlider, ToggleButtons #interactive plots!\n", + "\n", + "%matplotlib inline" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Transmitter 8 of 9 -> Time:0.976000070572 sec Transmitter 8 of 9\n", + "Forward completed\n" + ] + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "fig, ax = DC_PseudoSection_Simulation.run()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Now that we have a tool to forward model data in 3D space, we can experiment with different survey configurations.\n", + "\n", + "We here give the two options:\n", + "pole-dipole (pdp) or dipole-dipole (dpdp).\n", + "\n", + "In both cases we need to specify three important parameter.\n", + "\n", + "a: Transmitter and receivers seperation (m)\n", + "\n", + "b: Dipole seperation (m)\n", + "\n", + "n: Number of receiver dipoles along line\n", + "\n", + "We can also specify values of conductivity for the background (sig0) and the two sphere anomalies (sig1 and sig2)." + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Transmitter 8 of 9 -> Time:0.976999998093 sec Transmitter 8 of 9\n", + "Forward completed\n" + ] + }, + { + "data": { + "image/png": "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\nSUVORK5CYII=\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/plain": [ + "(,\n", + " )" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "Simul_Fct = lambda a,b,n, sig0, sig1, sig2, stype: DC_PseudoSection_Simulation.run(param = np.r_[a,b,n], sig=np.r_[sig0,sig1,sig2], stype = stype)\n", + "\n", + "interactive(Simul_Fct, a=FloatText(min=10.,max=40.,step=5.,value=30.),\n", + " b=FloatText(min=10.,max=40.,step=5.,value=30.),\n", + " n=FloatText(min=1,max=30,step=5,value=10.),\n", + " sig0=FloatText(min=1e-4,max=1e+4,step=1e+1,value=1e-2),\n", + " sig1=FloatText(min=1e-4,max=1e+4,step=1e+1,value=1e-1),\n", + " sig2=FloatText(min=1e-4,max=1e+4,step=1e+1,value=1e-3),\n", + " stype=ToggleButtons(options=['pdp','dpdp'],value='dpdp'))\n", + " " + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 2", + "language": "python", + "name": "python2" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 2 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython2", + "version": "2.7.11" + } + }, + "nbformat": 4, + "nbformat_minor": 0 +} diff --git a/notebooks/DC_Forward_Live.ipynb b/notebooks/DC_Forward_Live.ipynb index 1d724eaf..f7a9868d 100644 --- a/notebooks/DC_Forward_Live.ipynb +++ b/notebooks/DC_Forward_Live.ipynb @@ -2,7 +2,7 @@ "cells": [ { "cell_type": "code", - "execution_count": 5, + "execution_count": 1, "metadata": { "collapsed": false }, @@ -35,7 +35,7 @@ }, { "cell_type": "code", - "execution_count": 6, + "execution_count": 2, "metadata": { "collapsed": false }, @@ -49,7 +49,7 @@ }, { "cell_type": "code", - "execution_count": 7, + "execution_count": 3, "metadata": { "collapsed": false }, @@ -60,7 +60,7 @@ }, { "cell_type": "code", - "execution_count": 8, + "execution_count": 4, "metadata": { "collapsed": false }, @@ -75,7 +75,7 @@ }, { "cell_type": "code", - "execution_count": 33, + "execution_count": 5, "metadata": { "collapsed": false }, @@ -83,19 +83,19 @@ { "data": { "text/plain": [ - "(,\n", - " )" + "(,\n", + " )" ] }, - "execution_count": 33, + "execution_count": 5, "metadata": {}, "output_type": "execute_result" }, { "data": { - "image/png": "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\nyP8BTq1WovUUtLAAAAAASUVORK5CYII=\n", + "image/png": "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\nSUVORK5CYII=\n", "text/plain": [ - "" + "" ] }, "metadata": {}, @@ -103,9 +103,9 @@ }, { "data": { - "image/png": "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\n/wGi1ygb+o1aFwAAAABJRU5ErkJggg==\n", + "image/png": "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\nFJsU75szS+48xi16riHmn8Y9CUlST7abJEnYbloK2039c203rV5sUrxvziy58xi36LmGmH8a202S\npJ5sN0mSsN20FLab+ufablq92KR435xZcucxbtFzDTH/NLabJEk9WSQkSU3uSUiScE9iKdyT6J/r\nnsTqxSbF++bMkjuPcYuea4j5p3FPQpLUk+0mSRK2m5bCdlP/XNtNqxebFO+bM0vuPMYteq4h5p/G\ndpMkqSfbTZIkbDcthe2m/rm2m1YvNineN2eW3HmMW/RcQ8w/je0mSVJPFglJUpN7EpIk3JNYCvck\n+ue6J7F6sUnxvjmz5M5j3KLnGmL+adyTkCT1ZLtJkoTtpqWw3dQ/13bT6sUmxfvmzJI7j3GLnmuI\n+aex3SRJ6sl2kyQJ201LYbupf67tptWLTYr3zZkldx7jFj3XEPNPY7tJktSTRUKS1GSRkCQ1uXEt\nScKN66Vw47p/rhvXqxebFO+bM0vuPMYteq4h5p/GjWtJUk8WCUlSk0VCktTkxrUkCTeul8KN6/65\nblyvXmxSvG/OLLnzGLfouYaYfxo3riVJPVkkJElNFglJUpNFQpLUZJGQJDVZJCRJTV4nIUnC6ySW\nwusk+ud6ncTqxSbF++bMkjuPcYuea4j5p/E6CUlSTxYJSVKTRUKS1GSRkCQ1WSQkSU0WCUlSk0VC\nktTkxXSSJNbVxXRJLgJeCXyjC72lqq7tjr0Z+HXgAeC1VXV9F38acDlwBHBNVb2u/QheTLfYebyY\nztik2KR435xZcucxbtFzDTH/NOvrYroC3l1Vp3U/ewvEFuAcYAuwFXh/kr2V7QPA+VV1KnBqkq1D\nLFySNpIh9yQe9rYGOBv4SFXdV1W7gNuBM5KcABxVVTu6vA8BL1jOMiVp4xqySFyY5PNJLktydBc7\nEdg9lrMbOGmN+J4uLklaoIXtSSTZDhy/xqG3MmodvaO7/07gXcD583v0T4/dPgXYPL+pJWkl7AR2\nTc1aWJGoqp8/kLwklwKf6O7uATaNHX4Co3cQe7rb4/E97VmH3PyRpIPBZvb9BXodbVx3ewx7vRC4\nubt9NfDiJIcn2QycCuyoqjuBe5Kc0W1kvxT4+FIXLUkb0FDfJ3FJkqcyOstpJ/BqgKq6Jck24Bbg\nfuCCeuhCjgsYnQL7aEanwF639FVL0gYzSJGoqpdNOHYxcPEa8X8FfnyR65Ik7cuP5ZAkNVkkJElN\nFglJUpMf8CdJYl19wN/i+QF/i53HD/gzNik2Kd43Z5bceYxb9FxDzD/NOrpOQpJ0cLBISJKaLBKS\npCaLhCSpySIhSWqySEiSmiwSkqQmi4QkqckiIUlqskhIkposEpKkJouEJKnJIiFJarJISJKa/D4J\nSRJ+n8RS+H0S/XP9PonVi02K982ZJXce4xY91xDzT+P3SUiSerJISJKaLBKSpCaLhCSpySIhSWqy\nSEiSmiwSkqQmi4QkqckiIUlqskhIkposEpKkJouEJKnJIiFJarJISJKaLBKSpCaLxErbOfQCtA+f\nj/XH52Qai8RK2zX0ArSPXUMvQA+za+gFrHsWCUlSk0VCktSUqhp6DXOVZLX+QJK0JFWV/WMrVyQk\nSfNju0mS1GSRkCQ1WSRWQJKLkuxO8rnu5xfHjr05yW1Jbk1y1lj8aUlu7o69d5iVbxxJtnbPwW1J\nfmvo9WwUSXYl+UL3utjRxY5Nsj3JV5Jcn+Tosfw1Xy8bmUViNRTw7qo6rfu5FiDJFuAcYAuwFXh/\nkr0bUx8Azq+qU4FTk2wdYuEbQZJDgfcxeg62AOcmecqwq9owCjize12c3sXeBGyvqicDn+rut14v\nG/7fyA3/P2CFPOysBOBs4CNVdV9V7QJuB85IcgJwVFXt6PI+BLxgOcvckE4Hbq+qXVV1H/BRRs+N\nlmP/18bzgSu621fw0N/9tV4vp7PBWSRWx4VJPp/ksrG3zycCu8dydgMnrRHf08W1GCcBXx+7v/d5\n0OIVcEOSm5K8qosdV1V3dbfvAo7rbrdeLxvaYUMvQAcmyXbg+DUOvZVR6+gd3f13Au8Czl/S0jSd\n55kP55lVdUeSxwPbk9w6frCqasq1VRv+ubNIHCSq6ucPJC/JpcAnurt7gE1jh5/A6LejPd3t8fie\nOSxTa9v/edjEvr+xakGq6o7uv99IchWj9tFdSY6vqju71uvdXfpar5cN/7qw3bQCur/oe70QuLm7\nfTXw4iSHJ9kMnArsqKo7gXuSnNFtZL8U+PhSF72x3MTo5IBTkhzOaHP06oHXtPKSPCbJUd3tI4Gz\nGL02rgbO69LO46G/+2u+Xpa76vXHdxKr4ZIkT2X01ngn8GqAqrolyTbgFuB+4IJ66BL7C4DLgUcD\n11TVdUtf9QZRVfcneQ3wSeBQ4LKq+tLAy9oIjgOu6k7oOwy4sqquT3ITsC3J+Yw+BvZFMPX1smH5\nsRySpCbbTZKkJouEJKnJIiFJarJISJKaLBKSpCaLhCSpySIhSWqySEiSmiwS0oIl+ZnuE3p/IMmR\nSb7YfXeBtO55xbW0BEneCRzB6GNQvl5Vlwy8JOmAWCSkJUjyKEYf9Pdd4Bl+JpAOFrabpOV4HHAk\n8IOM3k1IBwXfSUhLkORq4M+BJwInVNWFAy9JOiB+VLi0YEleBny/qj6a5BDgs0nOrKq/G3hp0lS+\nk5AkNbknIUlqskhIkposEpKkJouEJKnJIiFJarJISJKaLBKSpCaLhCSp6f8Bi7dTcflLpucAAAAA\nSUVORK5CYII=\n", "text/plain": [ - "" + "" ] }, "metadata": {}, @@ -119,7 +119,7 @@ }, { "cell_type": "code", - "execution_count": 10, + "execution_count": 6, "metadata": { "collapsed": false }, @@ -134,7 +134,7 @@ }, { "cell_type": "code", - "execution_count": 11, + "execution_count": 7, "metadata": { "collapsed": false }, @@ -142,18 +142,18 @@ { "data": { "text/plain": [ - "[]" + "[]" ] }, - "execution_count": 11, + "execution_count": 7, "metadata": {}, "output_type": "execute_result" }, { "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAVIAAAFRCAYAAAAmQSVBAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAHAlJREFUeJzt3X2sHOd13/HfuW+kwkr30o1Fy3oxRYVMLCSAjFQvjhyY\njnlV9gKxxCKJYySxk6qBAcEvQJNCdqwiFzWg1nUtp43hIK5tWXETMYoLKkxoWqRSNkjLlozaSFZB\ny6QKXtFkJNFUSMoiI9630z92Lu+Qmp2d4ZmZfeH3Ayy0c57zPM/cxepwZ57ZWXN3AQAu3VC3dwAA\n+h2FFACCKKQAEEQhBYAgCikABFFIASCIQoq+Zma/amZ/ldr+gZmt7d4e4XJEIUXPM7N3mdleMztl\nZq+Y2X83s3+UlevuV7r7TMXzf8TMnjKz183s4Yvabk7a/i7Zv/9hZu+qcn70vpFu7wCQx8yukvTn\nkj4s6TFJKyT9tKRzDe7GMUmflvSPJV2R0fbzkmaS7Y9I+oaktzS1c+g+PpGi122Q5O7+x97yurvv\ndvdns5LNbNHM1iXPrzCzz5nZTPJp8a/MbGXSdkfyKfekmT1tZu9utwPuvs3d/1TSKxltp939sLe+\nIjgsaVHSixX83egjfCJFr/uupAUz+5qkrZL2ufvJgn3/vaS3S3qnpJcl3SZp0cyuVetT7i+7+7fM\nbJOk/2JmP+buJ3LGs7YNZqckrZL0t5J+puD+YUDwiRQ9zd1/IOldklzSf5J03Mz+1MyuzutnZkOS\nfk3Sx939RXdfdPf/5e6zkn5Z0jfd/VvJHE9KekrSVKfdydnPCUnjahX7PzGztkUXg4dCip7n7s+5\n+6+5+/WSflzSWyX9ToduPyxppaT/l9H2Nkk/nxzWnzSzk5LuVOfzmrnF0d3PSvqEWqcjfqLDWBgg\nFFL0FXf/rqRH1CqoeU5Iel3Sj2S0HZH0dXdfnXpc6e7/rtP0BXZxWK3/r84WyMWAoJCip5nZj5rZ\nv0jOa8rMrpf0AUn/M6+fuy9K+qqkh8zsGjMbNrN3mtmYpP8s6WfN7K4kvtLMNi7NkbEPw8ki1Yik\nYTNbYWbDSdsmM7slyblK0kOSvuvuz1f1GqD3UUjR634g6XZJ+8zsNbUK6Lcl/UbS7rrwk2L6+W9K\nelbSX6u14v5vJA25+1FJd0v6LUnH1fqE+htq///Dv1LrE+b9ap1f/XtJn0raJiQ9KumUWgtjb5b0\n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\n", + "image/png": "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\n", "text/plain": [ - "" + "" ] }, "metadata": {}, @@ -169,7 +169,7 @@ }, { "cell_type": "code", - "execution_count": 22, + "execution_count": 8, "metadata": { "collapsed": false }, @@ -190,7 +190,7 @@ }, { "cell_type": "code", - "execution_count": 13, + "execution_count": 9, "metadata": { "collapsed": false }, @@ -203,7 +203,7 @@ }, { "cell_type": "code", - "execution_count": 11, + "execution_count": 10, "metadata": { "collapsed": false }, @@ -218,7 +218,7 @@ }, { "cell_type": "code", - "execution_count": 10, + "execution_count": 11, "metadata": { "collapsed": false }, @@ -230,7 +230,7 @@ "traceback": [ "\u001b[1;31m---------------------------------------------------------------------------\u001b[0m", "\u001b[1;31mImportError\u001b[0m Traceback (most recent call last)", - "\u001b[1;32m\u001b[0m in \u001b[0;36m\u001b[1;34m()\u001b[0m\n\u001b[1;32m----> 1\u001b[1;33m \u001b[1;32mfrom\u001b[0m \u001b[0mpymatsolver\u001b[0m \u001b[1;32mimport\u001b[0m \u001b[0mMumpsSolver\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m", + "\u001b[1;32m\u001b[0m in \u001b[0;36m\u001b[1;34m()\u001b[0m\n\u001b[1;32m----> 1\u001b[1;33m \u001b[1;32mfrom\u001b[0m \u001b[0mpymatsolver\u001b[0m \u001b[1;32mimport\u001b[0m \u001b[0mMumpsSolver\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m", "\u001b[1;31mImportError\u001b[0m: No module named pymatsolver" ] } @@ -241,7 +241,7 @@ }, { "cell_type": "code", - "execution_count": 18, + "execution_count": 12, "metadata": { "collapsed": false }, @@ -254,20 +254,18 @@ }, { "cell_type": "code", - "execution_count": 19, + "execution_count": 13, "metadata": { "collapsed": false }, "outputs": [ { - "data": { - "text/plain": [ - "441" - ] - }, - "execution_count": 19, - "metadata": {}, - "output_type": "execute_result" + "ename": "IndentationError", + "evalue": "expected an indented block (, line 3)", + "output_type": "error", + "traceback": [ + "\u001b[1;36m File \u001b[1;32m\"\"\u001b[1;36m, line \u001b[1;32m3\u001b[0m\n\u001b[1;33m \u001b[0m\n\u001b[1;37m ^\u001b[0m\n\u001b[1;31mIndentationError\u001b[0m\u001b[1;31m:\u001b[0m expected an indented block\n" + ] } ], "source": [ @@ -528,7 +526,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython2", - "version": "2.7.10" + "version": "2.7.11" } }, "nbformat": 4, diff --git a/notebooks/SimPEG Tutorial - DC Fwr Problem.ipynb b/notebooks/SimPEG Tutorial - DC Fwr Problem.ipynb new file mode 100644 index 00000000..b7769364 --- /dev/null +++ b/notebooks/SimPEG Tutorial - DC Fwr Problem.ipynb @@ -0,0 +1,441 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "**Objective:** \n", + "\n", + "In this tutorial we will create a simple two-sphere model and simulate DC Resistivity data for various transmitter-receiver configurations.\n", + "\n" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Efficiency Warning: Interpolation will be slow, use setup.py!\n", + "\n", + " python setup.py build_ext --inplace\n", + " \n" + ] + } + ], + "source": [ + "from SimPEG import *\n", + "import simpegDCIP as DC\n", + "import scipy.interpolate as interpolation\n", + "import time\n", + "import re" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "C:\\Users\\dominiquef.MIRAGEOSCIENCE\\AppData\\Local\\Continuum\\Anaconda\\lib\\site-packages\\IPython\\kernel\\__init__.py:13: ShimWarning: The `IPython.kernel` package has been deprecated. You should import from ipykernel or jupyter_client instead.\n", + " \"You should import from ipykernel or jupyter_client instead.\", ShimWarning)\n", + "WARNING: " + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Populating the interactive namespace from numpy and matplotlib\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "pylab import has clobbered these variables: ['linalg']\n", + "`%matplotlib` prevents importing * from pylab and numpy\n" + ] + } + ], + "source": [ + "%matplotlib notebook\n", + "%pylab inline" + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "metadata": { + "collapsed": false, + "scrolled": true + }, + "outputs": [ + { + "data": { + "text/plain": [ + "(-200, 200)" + ] + }, + "execution_count": 13, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "# First we need to create a mesh and a model.\n", + "\n", + "# This is our mesh\n", + "dx = 5.\n", + "\n", + "hxind = [(dx,15,-1.3), (dx, 75), (dx,15,1.3)]\n", + "hyind = [(dx,15,-1.3), (dx, 10), (dx,15,1.3)]\n", + "hzind = [(dx,15,-1.3),(dx, 15)]\n", + "\n", + "mesh = Mesh.TensorMesh([hxind, hyind, hzind], 'CCN')\n", + "\n", + "# Define our model\n", + "bckgr = 1e-2\n", + "cond = 1e-1\n", + "resis = 1e-3\n", + "zloc = -50.\n", + "xloc = 50.\n", + "yloc = 0.\n", + "radi = 25.\n", + "\n", + "# Set background conductivity\n", + "model = np.ones(mesh.nC) * bckgr\n", + "\n", + "# First anomaly (conductor)\n", + "ind = Utils.ModelBuilder.getIndicesSphere([-xloc,yloc,zloc],radi,mesh.gridCC)\n", + "model[ind] = cond\n", + "\n", + "# Second anomaly (resistor)\n", + "ind = Utils.ModelBuilder.getIndicesSphere([xloc,yloc,zloc],radi,mesh.gridCC)\n", + "model[ind] = resis\n", + "\n", + "# Get index of the center\n", + "indy = int(mesh.nCy/2)\n", + "indz = int(np.argmin( np.abs(mesh.vectorCCz - zloc) ))\n", + "\n", + "# Plot the model for reference\n", + "# Define core mesh extent\n", + "xlim = 200\n", + "zlim = 200\n", + "\n", + "plt.figure()\n", + "ax = plt.subplot(1,2,1, aspect='equal')\n", + "mesh.plotSlice(np.log10(model), ax =ax, normal = 'Y', ind = indy,grid=True)\n", + "ax.set_title('E-W section at '+str(mesh.vectorCCy[indy])+' m')\n", + "plt.gca().set_aspect('equal', adjustable='box')\n", + "plt.xlim([-xlim,xlim])\n", + "plt.ylim([-zlim,0])\n", + "\n", + "ax = plt.subplot(1,2,2, aspect='equal')\n", + "mesh.plotSlice(np.log10(model), ax =ax, normal = 'Z', ind = indz,grid=True)\n", + "ax.set_title('Depth at '+str(mesh.vectorCCz[indz])+' m')\n", + "plt.gca().set_aspect('equal', adjustable='box')\n", + "plt.xlim([-xlim,xlim])\n", + "plt.ylim([-xlim,xlim])" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Now that we have model in 3D, we can define a survey.\n", + "There area various ground DC configurations used in the field.\n", + "We can explore two survey types here: pole-dipole (pdp) and dipole-dipole (dpdp).\n", + "In both cases we need to specify three important parameter.\n", + "\n", + "a: Seperation (m) between the transmitter and receivers\n", + "\n", + "b: Dipole seperation (m) of the receiver (and transmitter for dpdp)\n", + "\n", + "n: Number of receiver dipoles along line\n", + "\n", + "We also need to give a starting and end point for the survey.\n" + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "data": { + "text/plain": [ + "(-200, 200)" + ] + }, + "execution_count": 14, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "# Survey parameters\n", + "a = 30.\n", + "b = 30.\n", + "n = 20 # Integer number of rx dipoles\n", + "\n", + "# Specify the survey type: \"pdp\" | \"dpdp\"\n", + "stype = 'dpdp'\n", + "\n", + "# Then specify the end points of the survey. Let's keep it simple for now and survey above the anomalies, top of the mesh\n", + "ends = [(-175,0),(175,0)]\n", + "ends = np.c_[np.asarray(ends),np.ones(2).T*mesh.vectorNz[-1]]\n", + "\n", + "# Snap the endpoints to the grid. Easier to create 2D section.\n", + "indx = Utils.closestPoints(mesh, ends )\n", + "locs = np.c_[mesh.gridCC[indx,0],mesh.gridCC[indx,1],np.ones(2).T*mesh.vectorNz[-1]]\n", + "\n", + "# We will handle the geometry of the survey for you and create all the combination of tx-rx along line\n", + "[Tx, Rx] = DC.gen_DCIPsurvey(locs, mesh, stype, a, b, n)\n", + "\n", + "# Here is an example for the first tx-rx array\n", + "fig, ax = plt.subplots(1,1, figsize = (6.5,5))\n", + "mesh.plotSlice(np.log10(model), ax =ax, normal = 'Z', ind = indz,grid=True)\n", + "ax.set_title('Depth at '+str(mesh.vectorCCz[indz])+' m')\n", + "plt.gca().set_aspect('equal', adjustable='box')\n", + "\n", + "plt.scatter(Tx[0][0,:],Tx[0][1,:],s=20,c='g')\n", + "plt.scatter(Rx[0][:,0::3],Rx[0][:,1::3],s=20,c='y')\n", + "plt.xlim([-xlim,xlim])\n", + "plt.ylim([-xlim,xlim])" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "The next section will specify all the parameters used to forward model the data" + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [ + "#Set boundary conditions\n", + "mesh.setCellGradBC('neumann')\n", + "\n", + "# Define the differential operators needed for the DC problem\n", + "Div = mesh.faceDiv\n", + "Grad = mesh.cellGrad\n", + "Msig = Utils.sdiag(1./(mesh.aveF2CC.T*(1./model)))\n", + "\n", + "A = Div*Msig*Grad\n", + "\n", + "# Change one corner to deal with nullspace\n", + "A[0,0] = 1\n", + "A = sp.csc_matrix(A)\n", + "\n", + "# We will solve the system iteratively, so a pre-conditioner is helpful\n", + "# This is simply a Jacobi preconditioner (inverse of the main diagonal)\n", + "dA = A.diagonal()\n", + "P = sp.spdiags(1/dA,0,A.shape[0],A.shape[0])\n", + " " + ] + }, + { + "cell_type": "code", + "execution_count": 17, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Transmitter 8 of 9 -> Time:0.990999937057 sec Transmitter 8 of 9\n", + "Forward completed\n" + ] + } + ], + "source": [ + "# Now we can solve the system for all the transmitters\n", + "# We want to store the data\n", + "data = []\n", + "\n", + "# There is probably a more elegant way to do this, but we can just for-loop through the transmitters\n", + "for ii in range(len(Tx)):\n", + " \n", + " start_time = time.time() # Let's time the calculations\n", + " \n", + " #print(\"Transmitter %i / %i\\r\" % (ii+1,len(Tx)))\n", + " \n", + " # Select dipole locations for receiver\n", + " rxloc_M = np.asarray(Rx[ii][:,0:3])\n", + " rxloc_N = np.asarray(Rx[ii][:,3:])\n", + " \n", + " # Number of receivers\n", + " nrx = rxloc_M.shape[0]\n", + " \n", + " # For usual cases \"dpdp\" or \"gradient\"\n", + " if not re.match(stype,'pdp'): \n", + " inds = Utils.closestPoints(mesh, np.asarray(Tx[ii]).T )\n", + " RHS = mesh.getInterpolationMat(np.asarray(Tx[ii]).T, 'CC').T*( [-1,1] / mesh.vol[inds] ) \n", + " \n", + " else: \n", + " \n", + " # Create an \"inifinity\" pole\n", + " tx = np.squeeze(Tx[ii][:,0:1])\n", + " tinf = tx + np.array([dl_x,dl_y,0])*dl_len*2\n", + " inds = Utils.closestPoints(mesh, np.c_[tx,tinf].T)\n", + " RHS = mesh.getInterpolationMat(np.asarray(Tx[ii]).T, 'CC').T*( [-1] / mesh.vol[inds] ) \n", + "\n", + "\n", + " # Iterative Solve\n", + " Ainvb = sp.linalg.bicgstab(P*A,P*RHS, tol=1e-5)\n", + "\n", + " # We now have the potential everywhere\n", + " phi = mkvc(Ainvb[0])\n", + " \n", + " # Solve for phi on pole locations\n", + " P1 = mesh.getInterpolationMat(rxloc_M, 'CC')\n", + " P2 = mesh.getInterpolationMat(rxloc_N, 'CC')\n", + " \n", + " # Compute the potential difference\n", + " dtemp = (P1*phi - P2*phi)*np.pi\n", + " \n", + " data.append( dtemp ) \n", + " print '\\rTransmitter {0} of {1} -> Time:{2} sec'.format(ii,len(Tx),time.time()- start_time),\n", + " \n", + "print 'Transmitter {0} of {1}'.format(ii,len(Tx))\n", + "print 'Forward completed'\n", + " \n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Once we have our problem, we can use the inversion tools in SimPEG to run our inversion:" + ] + }, + { + "cell_type": "code", + "execution_count": 25, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "# Let's just convert the 3D format into 2D (distance along line) and plot\n", + "[Tx2d, Rx2d] = DC.convertObs_DC3D_to_2D(Tx,Rx)\n", + "\n", + "fig, ax = plt.subplots(1,1, figsize = (8,7))\n", + "plt.gca().set_aspect('equal', adjustable='box')\n", + "\n", + "# Plot the location of the spheres for reference\n", + "circle1=plt.Circle((-xloc-Tx[0][0,0],zloc),radi,color='w',fill=False, lw=3)\n", + "circle2=plt.Circle((xloc-Tx[0][0,0],zloc),radi,color='k',fill=False, lw=3)\n", + "ax.add_artist(circle1)\n", + "ax.add_artist(circle2)\n", + "\n", + "# Add the speudo section\n", + "DC.plot_pseudoSection(Tx2d,Rx2d,data,mesh.vectorNz[-1],stype)\n", + "\n", + "plt.xlim([0,2*xlim])\n", + "plt.ylim([-zlim,0])\n", + "plt.show()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Back in the days (not so long ago really), geophysicists used to interpret DCR data directly from pseudo-section. Hopefully this example will convince you that interpretating speudo-section is really tricky, arguably impossible.\n", + "Fortunately for us, we now have inversion techniques to make sense of the data." + ] + }, + { + "cell_type": "code", + "execution_count": 24, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "125.0\n" + ] + } + ], + "source": [ + "print -xloc-Tx[0][0,0]" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 2", + "language": "python", + "name": "python2" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 2 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython2", + "version": "2.7.11" + } + }, + "nbformat": 4, + "nbformat_minor": 0 +} diff --git a/simpegDCIP/BaseDC.py b/simpegDCIP/BaseDC.py index 9803038c..5b1a6076 100644 --- a/simpegDCIP/BaseDC.py +++ b/simpegDCIP/BaseDC.py @@ -424,7 +424,7 @@ def gen_DCIPsurvey(endl, mesh, stype, a, b, n): Input: :param endl -> input endpoints [x1, y1, z1, x2, y2, z2] :object mesh -> SimPEG mesh object - :switch stype -> "dpdp" (dipole-dipole) | "pdp" (pole-dipole) + :switch stype -> "dpdp" (dipole-dipole) | "pdp" (pole-dipole) | 'gradient' : param a, n -> pole seperation, number of rx dipoles per tx Output: diff --git a/simpegDCIP/Dev/DC2D_Demo_HTML_anim.py b/simpegDCIP/Dev/DC2D_Demo_HTML_anim.py index 9a00257d..b41d4574 100644 --- a/simpegDCIP/Dev/DC2D_Demo_HTML_anim.py +++ b/simpegDCIP/Dev/DC2D_Demo_HTML_anim.py @@ -1,17 +1,16 @@ import os -from SimPEG import np, sp, Utils, Mesh, mkvc +from SimPEG import * import simpegDCIP as DC import pylab as plt -#from ipywidgets import interact, IntSlider from matplotlib import animation from JSAnimation import HTMLWriter import time import re -from readUBC_DC2DMesh import readUBC_DC2DMesh -from readUBC_DC2DModel import readUBC_DC2DModel -from readUBC_DC2DLoc import readUBC_DC2DLoc -from convertObs_DC3D_to_2D import convertObs_DC3D_to_2D -from readUBC_DC3Dobs import readUBC_DC3Dobs +#from readUBC_DC2DMesh import readUBC_DC2DMesh +#from readUBC_DC2DModel import readUBC_DC2DModel +#from readUBC_DC2DLoc import readUBC_DC2DLoc +#from convertObs_DC3D_to_2D import convertObs_DC3D_to_2D +#from readUBC_DC3Dobs import readUBC_DC3Dobs #%% home_dir = 'C:\\Users\\dominiquef.MIRAGEOSCIENCE\\ownCloud\\Research\\Modelling\\Synthetic\\Two_Sphere' @@ -25,20 +24,20 @@ dsep = '\\' slvr = 'BiCGStab' #'LU' # Preconditioner -pcdr = 'Jacobi'#'Gauss-Seidel'# +pcdr = 'Jacobi' #'Gauss-Seidel'# # Number of padding cells to remove from plotting padc = 15 # Load UBC mesh 2D -mesh = readUBC_DC2DMesh(home_dir + dsep + msh_file) +mesh = DC.readUBC_DC2DMesh(home_dir + dsep + msh_file) # Load model -model = readUBC_DC2DModel(home_dir + dsep + mod_file) +model = DC.readUBC_DC2DModel(home_dir + dsep + mod_file) # load obs file -[Tx,Rx,d,wd] = readUBC_DC3Dobs(home_dir + dsep + obs_file) -[Tx, Rx] = convertObs_DC3D_to_2D(Tx,Rx) +[Tx,Rx,d,wd] = DC.readUBC_DC3Dobs(home_dir + dsep + obs_file) +[Tx, Rx] = DC.convertObs_DC3D_to_2D(Tx,Rx) #%% Create system #Set boundary conditions mesh.setCellGradBC('neumann') diff --git a/simpegDCIP/Dev/DC3D_Demo_TwoSpheres.py b/simpegDCIP/Dev/DC3D_Demo_TwoSpheres.py index 5b661469..a041aedd 100644 --- a/simpegDCIP/Dev/DC3D_Demo_TwoSpheres.py +++ b/simpegDCIP/Dev/DC3D_Demo_TwoSpheres.py @@ -20,7 +20,7 @@ #%% -from SimPEG import np, Utils, Mesh, mkvc, sp +from SimPEG import * import simpegDCIP as DC import pylab as plt from pylab import get_current_fig_manager @@ -28,13 +28,16 @@ from scipy.interpolate import griddata import time import re import numpy.matlib as npm -from readUBC_DC3Dobs import readUBC_DC3Dobs -from readUBC_DC2DModel import readUBC_DC2DModel -from writeUBC_DCobs import writeUBC_DCobs import scipy.interpolate as interpolation -from plot_pseudoSection import plot_pseudoSection -from gen_DCIPsurvey import gen_DCIPsurvey -from convertObs_DC3D_to_2D import convertObs_DC3D_to_2D +#============================================================================== +# from readUBC_DC3Dobs import readUBC_DC3Dobs +# from readUBC_DC2DModel import readUBC_DC2DModel +# from writeUBC_DCobs import writeUBC_DCobs + +# from plot_pseudoSection import plot_pseudoSection +# from gen_DCIPsurvey import gen_DCIPsurvey +# from convertObs_DC3D_to_2D import convertObs_DC3D_to_2D +#============================================================================== from matplotlib.colors import LogNorm import os @@ -43,7 +46,7 @@ dsep = '\\' #from scipy.linalg import solve_banded # Load UBC mesh 3D -mesh = Utils.meshutils.readUBCTensorMesh(home_dir + '\Mesh_5m.msh') +mesh = Mesh.TensorMesh.readUBC(home_dir + '\Mesh_5m.msh') #mesh = Utils.meshutils.readUBCTensorMesh(home_dir + '\MtIsa_20m.msh') #mesh = Utils.meshutils.readUBCTensorMesh(home_dir + '\Mesh_50m.msh') @@ -51,7 +54,7 @@ mesh = Utils.meshutils.readUBCTensorMesh(home_dir + '\Mesh_5m.msh') #model = Utils.meshutils.readUBCTensorModel(home_dir + '\MtIsa_3D.con',mesh) #model = Utils.meshutils.readUBCTensorModel(home_dir + '\Synthetic.con',mesh) #model = Utils.meshutils.readUBCTensorModel(home_dir + '\Lalor_model_50m.con',mesh) -model = Utils.meshutils.readUBCTensorModel(home_dir + '\TwoSpheres.con',mesh) +model = Mesh.TensorMesh.readModelUBC(mesh,home_dir + '\TwoSpheres.con') #model = model**0 * 1e-2 # Specify survey type @@ -66,7 +69,7 @@ n = 20 slvr = 'BiCGStab' #'LU' # Preconditioner -pcdr = 'Jacobi'#'Gauss-Seidel'# +pcdr = 'Jacobi'# # Inversion parameter pct = 0.01 @@ -99,9 +102,6 @@ if re.match(slvr,'BiCGStab'): dA = A.diagonal() P = sp.spdiags(1/dA,0,A.shape[0],A.shape[0]) - # Create Gauss-Seidel Preconditioner - elif re.match(pcdr,'Gauss-Seidel'): - LD = sp.tril(A,k=0) #LDinv = sp.linalg.splu(LD) elif re.match(slvr,'LU'): @@ -116,8 +116,8 @@ top = int(mesh.nCz)-1 plt.figure() ax_prim = plt.subplot(1,1,1) mesh.plotSlice(model, ind=top, normal='Z', grid=False, pcolorOpts={'alpha':0.5}, ax =ax_prim) -plt.xlim([423000,424000]) -plt.ylim([546200,547000]) +plt.xlim([423200,423750]) +plt.ylim([546350,546650]) plt.gca().set_aspect('equal', adjustable='box') plt.show() @@ -153,7 +153,7 @@ var = np.c_[np.asarray(gin),np.ones(2).T*nz[-1]] indx = Utils.closestPoints(mesh, var ) endl = np.c_[mesh.gridCC[indx,0],mesh.gridCC[indx,1],np.ones(2).T*nz[-1]] -[Tx, Rx] = gen_DCIPsurvey(endl, mesh, stype, a, b, n) +[Tx, Rx] = DC.gen_DCIPsurvey(endl, mesh, stype, a, b, n) dl_len = np.sqrt( np.sum((endl[0,:] - endl[1,:])**2) ) dl_x = ( Tx[-1][0,1] - Tx[0][0,0] ) / dl_len @@ -206,10 +206,6 @@ for ii in range(len(Tx)): # Iterative Solve Ainvb = sp.linalg.bicgstab(P*A,P*RHS, tol=1e-5) - # Create Gauss-Seidel Preconditioner - elif re.match(pcdr,'Gauss-Seidel'): - LD = sp.tril(A,k=0) - phi = mkvc(Ainvb[0]) @@ -233,17 +229,17 @@ for ii in range(len(Tx)): if not re.match(stype,'gradient'): #%% Write data file in UBC-DCIP3D format - writeUBC_DCobs(home_dir+'\FWR_data3D.dat',Tx,Rx,data,unct,'3D') + DC.writeUBC_DCobs(home_dir+'\FWR_data3D.dat',Tx,Rx,data,unct,'3D') #%% Load 3D data - [Tx, Rx, data, wd] = readUBC_DC3Dobs(home_dir + '\FWR_data3D.dat') + [Tx, Rx, data, wd] = DC.readUBC_DC3Dobs(home_dir + '\FWR_data3D.dat') #%% Convert 3D obs to 2D and write to file - [Tx2d, Rx2d] = convertObs_DC3D_to_2D(Tx,Rx) + [Tx2d, Rx2d] = DC.convertObs_DC3D_to_2D(Tx,Rx) - writeUBC_DCobs(home_dir+'\FWR_3D_2_2D.dat',Tx2d,Rx2d,data,unct,'2D') + DC.writeUBC_DCobs(home_dir+'\FWR_3D_2_2D.dat',Tx2d,Rx2d,data,unct,'2D') #%% Create a 2D mesh along axis of Tx end points and keep z-discretization dx = np.min( [ np.min(mesh.hx), np.min(mesh.hy) ]) @@ -315,7 +311,7 @@ if not re.match(stype,'gradient'): axs.add_artist(circle1) axs.add_artist(circle2) - plot_pseudoSection(Tx2d,Rx2d,data,nz[-1],stype) + DC.plot_pseudoSection(Tx2d,Rx2d,data,nz[-1],stype) plt.show() #%% Run two inversions with different reference models and compute a DOI @@ -355,7 +351,7 @@ if not re.match(stype,'gradient'): fid.close() # Export data file - writeUBC_DCobs(inv_dir + dsep + obsfile2d,Tx2d,Rx2d,data,unct,'2D') + DC.writeUBC_DCobs(inv_dir + dsep + obsfile2d,Tx2d,Rx2d,data,unct,'2D') # Write input file fid = open(inv_dir + dsep + inp_file,'w') @@ -377,7 +373,7 @@ if not re.match(stype,'gradient'): #Load model - minv = readUBC_DC2DModel(inv_dir + dsep + 'dcinv2d.con') + minv = DC.readUBC_DC2DModel(inv_dir + dsep + 'dcinv2d.con') axs = plt.subplot(2,1,jj+1)