Skip to content

Instantly share code, notes, and snippets.

@rowanc1
Last active January 2, 2016 17:59
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save rowanc1/8340152 to your computer and use it in GitHub Desktop.
Save rowanc1/8340152 to your computer and use it in GitHub Desktop.
SimPEG Play - Anisotropic Block

Playing with anisotropy in SimPEG.

<div class="cell border-box-sizing code_cell vbox">
<div class="input hbox">
<div class="prompt input_prompt">
In&nbsp;[1]:
</div>
<div class="input_area box-flex1">
<div class="highlight"><pre><span class="kn">from</span> <span class="nn">SimPEG</span> <span class="kn">import</span> <span class="o">*</span>
</pre></div>
</div>
</div>
<div class="vbox output_wrapper">
<div class="output vbox">
<div class="hbox output_area"><div class="prompt"></div>
<div class="box-flex1 output_subarea output_stream output_stdout">
<pre>
Warning: mumps solver not available.
</pre>
</div>
</div>
</div>
</div>
</div>
<div class="cell border-box-sizing code_cell vbox">
<div class="input hbox">
<div class="prompt input_prompt">
In&nbsp;[40]:
</div>
<div class="input_area box-flex1">
<div class="highlight"><pre><span class="n">M</span> <span class="o">=</span> <span class="n">mesh</span><span class="o">.</span><span class="n">TensorMesh</span><span class="p">([</span><span class="mi">30</span><span class="p">,</span><span class="mi">40</span><span class="p">])</span>
</pre></div>
</div>
</div>
</div>
<div class="cell border-box-sizing code_cell vbox">
<div class="input hbox">
<div class="prompt input_prompt">
In&nbsp;[51]:
</div>
<div class="input_area box-flex1">
<div class="highlight"><pre><span class="n">D</span> <span class="o">=</span> <span class="n">M</span><span class="o">.</span><span class="n">faceDiv</span>
<span class="n">G</span> <span class="o">=</span> <span class="n">M</span><span class="o">.</span><span class="n">cellGrad</span>
<span class="n">sig1</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">ones</span><span class="p">(</span><span class="n">M</span><span class="o">.</span><span class="n">nC</span><span class="p">)</span>
<span class="n">sig2</span> <span class="o">=</span> <span class="mf">2.</span><span class="o">*</span><span class="n">np</span><span class="o">.</span><span class="n">ones</span><span class="p">(</span><span class="n">M</span><span class="o">.</span><span class="n">nC</span><span class="p">)</span>
<span class="n">sig3</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">zeros</span><span class="p">(</span><span class="n">M</span><span class="o">.</span><span class="n">nC</span><span class="p">)</span>
<span class="n">xL</span> <span class="o">=</span> <span class="p">(</span><span class="n">np</span><span class="o">.</span><span class="n">abs</span><span class="p">(</span><span class="n">M</span><span class="o">.</span><span class="n">gridCC</span><span class="p">[:,</span><span class="mi">0</span><span class="p">]</span><span class="o">-</span><span class="mf">0.5</span><span class="p">)</span><span class="o">&lt;</span><span class="mf">0.25</span><span class="p">)</span>
<span class="n">yL</span> <span class="o">=</span> <span class="p">(</span><span class="n">np</span><span class="o">.</span><span class="n">abs</span><span class="p">(</span><span class="n">M</span><span class="o">.</span><span class="n">gridCC</span><span class="p">[:,</span><span class="mi">1</span><span class="p">]</span><span class="o">-</span><span class="mf">0.5</span><span class="p">)</span><span class="o">&lt;</span><span class="mf">0.25</span><span class="p">)</span>
<span class="n">sig3</span><span class="p">[</span><span class="n">np</span><span class="o">.</span><span class="n">logical_and</span><span class="p">(</span><span class="n">xL</span><span class="p">,</span><span class="n">yL</span><span class="p">)]</span> <span class="o">=</span> <span class="mf">0.25</span>
<span class="n">sig</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">c_</span><span class="p">[</span><span class="n">sig1</span><span class="p">,</span><span class="n">sig2</span><span class="p">,</span><span class="n">sig3</span><span class="p">]</span>
<span class="n">Msig_ani</span> <span class="o">=</span> <span class="n">M</span><span class="o">.</span><span class="n">getFaceInnerProduct</span><span class="p">(</span><span class="n">sig</span><span class="p">)</span>
<span class="n">Msig_iso</span> <span class="o">=</span> <span class="n">M</span><span class="o">.</span><span class="n">getFaceInnerProduct</span><span class="p">(</span><span class="n">sig1</span><span class="p">)</span>
<span class="n">rhs</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">zeros</span><span class="p">(</span><span class="n">M</span><span class="o">.</span><span class="n">nCv</span><span class="p">)</span>
<span class="n">rhs</span><span class="p">[[</span><span class="mi">3</span><span class="p">,</span><span class="mi">27</span><span class="p">],[</span><span class="mi">10</span><span class="p">,</span><span class="mi">30</span><span class="p">]]</span> <span class="o">=</span> <span class="p">[</span><span class="o">-</span><span class="mi">1</span><span class="p">,</span><span class="mi">1</span><span class="p">]</span>
<span class="n">rhs</span> <span class="o">=</span> <span class="n">utils</span><span class="o">.</span><span class="n">mkvc</span><span class="p">(</span><span class="n">rhs</span><span class="p">)</span>
<span class="n">M</span><span class="o">.</span><span class="n">plotImage</span><span class="p">(</span><span class="n">rhs</span><span class="p">)</span>
</pre></div>
</div>
</div>
<div class="vbox output_wrapper">
<div class="output vbox">
<div class="hbox output_area"><div class="prompt output_prompt">
Out[51]:</div>
<div class="box-flex1 output_subarea output_pyout">
<pre>
&lt;matplotlib.collections.QuadMesh at 0x111b2a250&gt;
</pre>
</div>
</div>
<div class="hbox output_area"><div class="prompt"></div>
<div class="box-flex1 output_subarea output_display_data">
<img src="data:image/png;base64,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
EydOjNw+e/assrKykjZjsiSyF5J09OhRrVu3Tvv27dPtt9+ezBGTJpG9eP3111VdXa3Pfe5zevnl
l/X4449r3759yR7VVYnsw7Jly/Tggw9q3rx5ysrKUkFBgcLhcLJHdV0iexEOh/XQQw9p5syZ8vv9
uuOOO27oN2h8mok8bk6aMPz/C+L6+vrU1tYmv99v1vj9fr388ss6d+6cXnrppateEDfVJbIX77zz
jlavXq2WlhYtXLgwFWMmRSJ7cfr0ab399tt6++23VVVVpeeff16VlZWpGNc1iezD0qVL1dnZqQsX
LmhgYEBvvvmm7r333lSM66pE9uL+++/X/v37NTw8rNOnT2tgYMA8/XQzmcjj5qR6KokL4q6Itxfb
tm3TwMCA1q1bJ0maPn26enp6Ujmya+Ltxc0i3j7MmTNHa9euVUFBgTIzM7Vt2zbddtttKZ7aHfH2
orq6WidOnBjZi8bGxhRP7J5AIKDOzk5Fo1HNnz9fW7duVSwWkzTxx00ucAMAGJPmqSQAwORAGAAA
BmEAABiEAQBgEAYAgEEYAAAGYQAAGIQBAGAQBmACIpGI8vPz9eGHH+qDDz7QokWLzO+jAaYyrnwG
Jmjz5s26dOmSLl68qPnz5+upp55K9UjAdUEYgAmKxWIqKCjQjBkz9Ic//OGm/xXwuHHwVBIwQdFo
VB988IHef/99Xbx4MdXjANcNZwzABFVWVmrNmjU6ffq0zpw5M+aH0gNT0aT6tdvAVLF792595jOf
UXV1tYaHh3XPPfeoo6NDxcXFqR4NuGacMQAADF5jAAAYhAEAYBAGAIBBGAAABmEAABiEAQBgEAYA
gEEYAADG/wKfDuvXnLtllAAAAABJRU5ErkJggg==
">
</div>
</div>
</div>
</div>
</div>
<div class="cell border-box-sizing code_cell vbox">
<div class="input hbox">
<div class="prompt input_prompt">
In&nbsp;[52]:
</div>
<div class="input_area box-flex1">
<div class="highlight"><pre><span class="n">phi_ani</span> <span class="o">=</span> <span class="n">Solver</span><span class="p">(</span><span class="n">D</span><span class="o">*</span><span class="n">Msig_ani</span><span class="o">*</span><span class="n">G</span><span class="p">)</span><span class="o">.</span><span class="n">solve</span><span class="p">(</span><span class="n">rhs</span><span class="p">)</span>
<span class="n">phi_iso</span> <span class="o">=</span> <span class="n">Solver</span><span class="p">(</span><span class="n">D</span><span class="o">*</span><span class="n">Msig_iso</span><span class="o">*</span><span class="n">G</span><span class="p">)</span><span class="o">.</span><span class="n">solve</span><span class="p">(</span><span class="n">rhs</span><span class="p">)</span>
<span class="n">M</span><span class="o">.</span><span class="n">plotImage</span><span class="p">(</span><span class="n">phi_ani</span><span class="p">,</span> <span class="n">figNum</span><span class="o">=</span><span class="mi">1</span><span class="p">)</span>
<span class="n">M</span><span class="o">.</span><span class="n">plotImage</span><span class="p">(</span><span class="n">phi_iso</span><span class="p">,</span><span class="n">figNum</span><span class="o">=</span><span class="mi">2</span><span class="p">)</span>
<span class="n">M</span><span class="o">.</span><span class="n">plotImage</span><span class="p">(</span><span class="n">phi_iso</span> <span class="o">-</span> <span class="n">phi_ani</span><span class="p">,</span><span class="n">figNum</span><span class="o">=</span><span class="mi">3</span><span class="p">)</span>
</pre></div>
</div>
</div>
<div class="vbox output_wrapper">
<div class="output vbox">
<div class="hbox output_area"><div class="prompt output_prompt">
Out[52]:</div>
<div class="box-flex1 output_subarea output_pyout">
<pre>
&lt;matplotlib.collections.QuadMesh at 0x111d90590&gt;
</pre>
</div>
</div>
<div class="hbox output_area"><div class="prompt"></div>
<div class="box-flex1 output_subarea output_display_data">
<img src="data:image/png;base64,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
ABz/H5Q5yrGyx5cSAAAAAElFTkSuQmCC
">
</div>
</div>
<div class="hbox output_area"><div class="prompt"></div>
<div class="box-flex1 output_subarea output_display_data">
<img src="data:image/png;base64,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
">
</div>
</div>
<div class="hbox output_area"><div class="prompt"></div>
<div class="box-flex1 output_subarea output_display_data">
<img src="data:image/png;base64,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
BgoDAMBAYQAAGJwWhng8rqysLE2bNk1lZWU9xmzYsEEZGRn6yle+orfeeuvGG0txcLNhs92hFrcw
GujPL2w6LG4D3VWLG27IaWFYu3atysvLVVVVpW3btqmpqcl4vL6+Xq+88ooOHDigdevWad26dS7T
GRCqjyc7g+CoPpnsDIKj+lSyMwiO6sZkZxB+zgpDS0uLJKmgoEDp6elasGCB6urqjJi6ujotXbpU
48aNU0lJid58801X6QwYFIZufBl2Yyy6URg+PWeFoaGhQZmZmV33s7OzVVtba8TU19crOzu7635a
WppOnuRnIAAkU1Innz3Pk+d5xn+LRCJJygYAIEnyHDl//rx36623dt3/3ve+5/3ud78zYp555hnv
pz/9adf9jIyMHrf1+c9/3pPEjRs3btwsbjk5OX36/na2WlBqaqqka51JU6ZM0b59+/TEE08YMfn5
+Xr00Uf1wAMPqLKyUllZWT1u669//aurNAEAH+N0GbktW7YoFoupvb1dpaWlikajKi8vlyTFYjHd
dtttmjNnjnJzczVu3Djt2LHDZToAAB8invexg/wAgEEtUGc+9+sJcSHX21hUVFQoJydHOTk5Wr58
uU6cOJGELBPDz/tCutYJl5KSop07dyYwu8TxMw4NDQ3Ky8tTVlaWCgsLE5tgAvU2FpcuXdKDDz6o
mTNnat68edq1a1cSskyMlStXasKECfryl798wxjr780+zUw4cuutt3o1NTVeY2Oj98UvftE7e/as
8XhdXZ13xx13eOfOnfNefPFFr7i4OEmZutfbWOzfv987f/6853me98ILL3jf/va3k5FmQvQ2Fp7n
eVevXvXuvPNOr7i42PvNb36ThCzd620cOjs7venTp3v79u3zPM/rcZwGit7G4rnnnvNWr17teZ7n
NTY2ehkZGV5nZ2cyUnUuHo97b7zxhjd9+vQeH+/L92Zg9hg4Ia6bn7GYPXt21wR/cXGxampqEp5n
IvgZC0kqKyvT0qVLlZaWlugUE8LPOBw4cEAzZszQ/PnzJUnRaDTheSaCn7FITU1Va2ur2tvb1dzc
rJEjRw7YVvi5c+dq7NixN3y8L9+bgSkMnBDXzc9Y/Lvnn39eixYtSkRqCednLN577z3t2rVLq1ev
ljQwz4XxMw6VlZWKRCKaO3euFi1apMrKykSnmRB+xqKkpEQdHR2KRqOaM2eOKioqEp1mYPTlezMI
F7f0zeOEuOtUVVVpx44d2r9/f7JTSZpHHnlEmzdvViQS6fE9Mli0tbXp0KFDqqqq0sWLF3X33Xfr
6NGjGjFiRLJTS7hnn31WKSkpOnPmjI4cOaLi4mKdPn1aQ4YE5rdwwvTlezMwo5SXl2dMihw7dkyz
Zs0yYvLz83X8ePdiQWfPnlVGRkbCckwUP2MhSYcPH9aqVau0e/du3XzzzYlMMWH8jMXrr7+uZcuW
6XOf+5xeeuklrVmzRrt37050qk75GYfZs2frnnvu0cSJE5WRkaHc3FzF4/FEp+qcn7GIx+O67777
NHLkSOXn52vSpEkDukHjk/TlezMwheHfT4hrbGzUvn37lJ+fb8Tk5+frpZde0rlz5/Tiiy/e8IS4
sPMzFu+8846WLFmiiooKTZ06NRlpJoSfsTh16pTefvttvf3221q6dKmee+45LV68OBnpOuNnHGbN
mqWamhpdvHhRzc3NOnjwoO64445kpOuUn7G46667tGfPHnV2durUqVNqbm42Dj8NJn353gzUoSRO
iOvW21hs2rRJzc3NWrVqlSRp2LBhqq+vT2bKzvQ2FoNFb+Mwfvx4rVixQrm5uUpLS9OmTZs0evTo
JGftRm9jsWzZMh0/frxrLLZu3ZrkjN0pKSlRTU2NmpqaNHnyZD355JNqb2+X1PfvTU5wAwAYAnMo
CQAQDBQGAICBwgAAMFAYAAAGCgMAwEBhAAAYKAwAAAOFAQBgoDAAfdDQ0KCcnBxdvnxZH330kaZP
n26sRwOEGWc+A330gx/8QG1tbbp06ZImT56sxx57LNkpAf2CwgD0UXt7u3JzczVixAj98Y9/HPRL
wGPg4FAS0EdNTU366KOPdOHCBV26dCnZ6QD9hj0GoI8WL16s5cuX69SpUzpz5kyPF6UHwihQy24D
YbF9+3YNHz5cy5YtU2dnp26//XZVV1ersLAw2akBnxp7DAAAA3MMAAADhQEAYKAwAAAMFAYAgIHC
AAAwUBgAAAYKAwDAQGEAABj+PwL/UG6XtxAkAAAAAElFTkSuQmCC
">
</div>
</div>
</div>
</div>
</div>
<div class="cell border-box-sizing code_cell vbox">
<div class="input hbox">
<div class="prompt input_prompt">
In&nbsp;[]:
</div>
<div class="input_area box-flex1">
<div class="highlight"><pre>
</pre></div>
</div>
</div>
</div>
Display the source blob
Display the rendered blob
Raw
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment