mirror of
https://github.com/wassname/simpeg.git
synced 2026-06-27 22:38:37 +08:00
198 lines
30 KiB
Plaintext
198 lines
30 KiB
Plaintext
{
|
|
"metadata": {
|
|
"name": ""
|
|
},
|
|
"nbformat": 3,
|
|
"nbformat_minor": 0,
|
|
"worksheets": [
|
|
{
|
|
"cells": [
|
|
{
|
|
"cell_type": "code",
|
|
"collapsed": false,
|
|
"input": [
|
|
"from SimPEG import *\n",
|
|
"%pylab inline"
|
|
],
|
|
"language": "python",
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"output_type": "stream",
|
|
"stream": "stdout",
|
|
"text": [
|
|
"Populating the interactive namespace from numpy and matplotlib\n"
|
|
]
|
|
}
|
|
],
|
|
"prompt_number": 4
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"collapsed": false,
|
|
"input": [
|
|
"M = mesh.TensorMesh([20,30]) \n",
|
|
"A = M.faceDiv*M.faceDiv.T + sp.identity(M.nC)\n",
|
|
"b = np.random.rand(M.nC)"
|
|
],
|
|
"language": "python",
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"prompt_number": 35
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"collapsed": false,
|
|
"input": [
|
|
"phi = Solver(A).solve(b)\n",
|
|
"colorbar(M.plotImage(phi))"
|
|
],
|
|
"language": "python",
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"metadata": {},
|
|
"output_type": "pyout",
|
|
"prompt_number": 37,
|
|
"text": [
|
|
"<matplotlib.colorbar.Colorbar instance at 0x6c411b8>"
|
|
]
|
|
},
|
|
{
|
|
"metadata": {},
|
|
"output_type": "display_data",
|
|
"png": "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\n",
|
|
"text": [
|
|
"<matplotlib.figure.Figure at 0x67e6050>"
|
|
]
|
|
}
|
|
],
|
|
"prompt_number": 37
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"collapsed": false,
|
|
"input": [
|
|
"print np.linalg.norm(A*phi-b)"
|
|
],
|
|
"language": "python",
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"output_type": "stream",
|
|
"stream": "stdout",
|
|
"text": [
|
|
"1.5220841846e-13\n"
|
|
]
|
|
}
|
|
],
|
|
"prompt_number": 38
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"collapsed": false,
|
|
"input": [
|
|
"import petsc4py\n",
|
|
"import sys\n",
|
|
"petsc4py.init(sys.argv)\n",
|
|
"from petsc4py import PETSc"
|
|
],
|
|
"language": "python",
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"prompt_number": 39
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"collapsed": false,
|
|
"input": [
|
|
"import PETScIO as IO\n",
|
|
"Apetsc = PETSc.Mat().createAIJ(size=A.shape,csr=(A.indptr, A.indices, A.data))\n",
|
|
"bpetsc = IO.arrayToVec(b)\n",
|
|
"xpetsc = IO.arrayToVec(0*b)"
|
|
],
|
|
"language": "python",
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"prompt_number": 40
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"collapsed": false,
|
|
"input": [
|
|
"ksp = PETSc.KSP().create()\n",
|
|
"pc = PETSc.PC().create()\n",
|
|
"\n",
|
|
"ksp.setOperators(Apetsc)\n",
|
|
"\n",
|
|
"ksp.setType(ksp.Type.CG)\n",
|
|
"pc = ksp.getPC()\n",
|
|
"pc.setType(pc.Type.HYPRE)\n",
|
|
"ksp.view()\n",
|
|
"\n",
|
|
"ksp.solve(bpetsc, xpetsc)\n",
|
|
"print ksp.its"
|
|
],
|
|
"language": "python",
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"output_type": "stream",
|
|
"stream": "stdout",
|
|
"text": [
|
|
"3\n"
|
|
]
|
|
}
|
|
],
|
|
"prompt_number": 76
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"collapsed": false,
|
|
"input": [
|
|
"X = IO.vecToArray(xpetsc)\n",
|
|
"print np.linalg.norm(A*X-b)\n",
|
|
"M.plotImage(X)"
|
|
],
|
|
"language": "python",
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"output_type": "stream",
|
|
"stream": "stdout",
|
|
"text": [
|
|
"0.000199616893249\n"
|
|
]
|
|
},
|
|
{
|
|
"metadata": {},
|
|
"output_type": "pyout",
|
|
"prompt_number": 77,
|
|
"text": [
|
|
"<matplotlib.collections.QuadMesh at 0x792ae50>"
|
|
]
|
|
},
|
|
{
|
|
"metadata": {},
|
|
"output_type": "display_data",
|
|
"png": "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\nrkJggg==\n",
|
|
"text": [
|
|
"<matplotlib.figure.Figure at 0x77479d0>"
|
|
]
|
|
}
|
|
],
|
|
"prompt_number": 77
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"collapsed": false,
|
|
"input": [],
|
|
"language": "python",
|
|
"metadata": {},
|
|
"outputs": []
|
|
}
|
|
],
|
|
"metadata": {}
|
|
}
|
|
]
|
|
} |