mirror of
https://github.com/wassname/simpeg.git
synced 2026-10-29 13:40:11 +08:00
Fixing up ProblemMT, SurveyMT and adding Sources folder
This commit is contained in:
1 parent
0d1073367c
commit
8aa823ba5d
3 files changed
+39
-38
No files matched your search
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"metadata": {
|
||||
"name": "",
|
||||
"signature": "sha256:2a604d362593cf35c24bee160845949e5d870c81c4db8253338e6e041bc0e5dd"
|
||||
"signature": "sha256:090d72f749f721ee8a9ec2a32ec92230d1a8d709fd7a2d443382e8716798661a"
|
||||
},
|
||||
"nbformat": 3,
|
||||
"nbformat_minor": 0,
|
||||
@@ -21,7 +21,7 @@
|
||||
"language": "python",
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"prompt_number": 58
|
||||
"prompt_number": 1
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
@@ -40,7 +40,7 @@
|
||||
]
|
||||
}
|
||||
],
|
||||
"prompt_number": 59
|
||||
"prompt_number": 2
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
@@ -56,13 +56,13 @@
|
||||
{
|
||||
"metadata": {},
|
||||
"output_type": "pyout",
|
||||
"prompt_number": 60,
|
||||
"prompt_number": 3,
|
||||
"text": [
|
||||
"2529.536000000001"
|
||||
]
|
||||
}
|
||||
],
|
||||
"prompt_number": 60
|
||||
"prompt_number": 3
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
@@ -74,7 +74,7 @@
|
||||
"language": "python",
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"prompt_number": 61
|
||||
"prompt_number": 4
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
@@ -97,7 +97,7 @@
|
||||
]
|
||||
}
|
||||
],
|
||||
"prompt_number": 62
|
||||
"prompt_number": 5
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
@@ -118,9 +118,9 @@
|
||||
{
|
||||
"metadata": {},
|
||||
"output_type": "pyout",
|
||||
"prompt_number": 63,
|
||||
"prompt_number": 6,
|
||||
"text": [
|
||||
"<matplotlib.colorbar.Colorbar instance at 0x7f7f4b9ae5f0>"
|
||||
"<matplotlib.colorbar.Colorbar instance at 0x7f49fad5ae60>"
|
||||
]
|
||||
},
|
||||
{
|
||||
@@ -128,11 +128,11 @@
|
||||
"output_type": "display_data",
|
||||
"png": "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 truncated
|
||||
"text": [
|
||||
"<matplotlib.figure.Figure at 0x7f7f503538d0>"
|
||||
"<matplotlib.figure.Figure at 0x7f49faf630d0>"
|
||||
]
|
||||
}
|
||||
],
|
||||
"prompt_number": 63
|
||||
"prompt_number": 6
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
@@ -147,7 +147,7 @@
|
||||
"language": "python",
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"prompt_number": 64
|
||||
"prompt_number": 7
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
@@ -161,7 +161,7 @@
|
||||
"language": "python",
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"prompt_number": 65
|
||||
"prompt_number": 8
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
@@ -178,7 +178,7 @@
|
||||
"ez_x = np.zeros((M.nEz,1),dtype=complex)\n",
|
||||
"# Assign the source to ex_x\n",
|
||||
"for i in arange(M.vnEx[0]):\n",
|
||||
" for j in arange(M.vnEx[2]):\n",
|
||||
" for j in arange(M.vnEx[1]):\n",
|
||||
" ex_x[i,j,:] = e0_1d\n",
|
||||
"eBG_x = np.vstack((simpeg.Utils.mkvc(M.r(ex_x,'Ex','Ex','V'),2),ey_x,ez_x))\n",
|
||||
"rhs_x = ABG.dot(eBG_x)"
|
||||
@@ -186,27 +186,38 @@
|
||||
"language": "python",
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"prompt_number": 66
|
||||
"prompt_number": 10
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"collapsed": false,
|
||||
"input": [
|
||||
"M.vnEy"
|
||||
"for i in arange(M.vnEx[0]):\n",
|
||||
" for j in arange(M.vnEx[1]):\n",
|
||||
" ex_x[i,j,:] = e0_1d"
|
||||
],
|
||||
"language": "python",
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"prompt_number": 15
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"collapsed": false,
|
||||
"input": [],
|
||||
"language": "python",
|
||||
"metadata": {},
|
||||
"outputs": [
|
||||
{
|
||||
"metadata": {},
|
||||
"output_type": "pyout",
|
||||
"prompt_number": 67,
|
||||
"prompt_number": 17,
|
||||
"text": [
|
||||
"array([21, 20, 19])"
|
||||
"(19,)"
|
||||
]
|
||||
}
|
||||
],
|
||||
"prompt_number": 67
|
||||
"prompt_number": 17
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
|
||||
+6
-18
@@ -85,14 +85,17 @@ class MTProblem(Problem.BaseProblem):
|
||||
e = Ainv * rhs # is this e?
|
||||
|
||||
Src = self.survey.getSources(freq)
|
||||
# Stroe the fields
|
||||
F[Src, 'e'] = e
|
||||
F[Src, 'b'] = self.mesh.edgeCurl * e # ???
|
||||
F[Src, 'b'] = self.mesh.edgeCurl * e
|
||||
|
||||
return F
|
||||
|
||||
|
||||
def getA(self, freq):
|
||||
"""
|
||||
Function to get the A matrix.
|
||||
|
||||
:param float freq: Frequency
|
||||
:rtype: scipy.sparse.csr_matrix
|
||||
:return: A
|
||||
@@ -104,6 +107,8 @@ class MTProblem(Problem.BaseProblem):
|
||||
return C.T*mui*C + 1j*omega(freq)*sig
|
||||
def getAbg(self, freq):
|
||||
"""
|
||||
Function to get the A matrix for the background model.
|
||||
|
||||
:param float freq: Frequency
|
||||
:rtype: scipy.sparse.csr_matrix
|
||||
:return: A
|
||||
@@ -132,26 +137,9 @@ class MTProblem(Problem.BaseProblem):
|
||||
"""
|
||||
raise NotImplementedError()
|
||||
|
||||
getAbg(freq)
|
||||
|
||||
|
||||
"""
|
||||
Put this in MT.Sources.EldadsSource
|
||||
|
||||
from simpegMT.Utils import get1DEfields
|
||||
# Get a 1d solution for a halfspace background
|
||||
mesh1d = simpeg.Mesh.TensorMesh([M.hz],np.array([M.x0[2]]))
|
||||
e0_1d = get1DEfields(mesh1d,M.r(sigBG,'CC','CC','M')[0,0,:],freq)
|
||||
# Setup x (east) polarization (_x)
|
||||
ex_x = np.zeros(M.vnEx,dtype=complex)
|
||||
ey_x = np.zeros((M.nEy,1),dtype=complex)
|
||||
ez_x = np.zeros((M.nEz,1),dtype=complex)
|
||||
# Assign the source to ex_x
|
||||
for i in arange(M.vnEx[0]):
|
||||
for j in arange(M.vnEx[2]):
|
||||
ex_x[i,j,:] = e0_1d
|
||||
eBG_x = np.vstack((simpeg.Utils.mkvc(M.r(ex_x,'Ex','Ex','V'),2),ey_x,ez_x))
|
||||
rhs_x = ABG.dot(eBG_x)
|
||||
"""
|
||||
|
||||
Txs = self.survey.getTransmitters(freq)
|
||||
|
||||
@@ -1,4 +1,6 @@
|
||||
# from EM import *
|
||||
import Utils
|
||||
# import FDEM
|
||||
import Base
|
||||
# import Sources
|
||||
# import PromblemMT
|
||||
# import SurveyMT
|
||||
Reference in new issue
Block a user