From 3e35c6068b315de939de362ae5fe552ddf5e3c8a Mon Sep 17 00:00:00 2001 From: seogi Date: Thu, 5 Jun 2014 13:11:24 -0700 Subject: [PATCH] Put CircularLoop as an option in TDEM --- simpegEM/TDEM/SurveyTDEM.py | 21 +++++++++++++++++++-- simpegEM/Utils/Sources/__init__.py | 1 - simpegEM/Utils/__init__.py | 1 + simpegEM/__init__.py | 2 +- 4 files changed, 21 insertions(+), 4 deletions(-) delete mode 100644 simpegEM/Utils/Sources/__init__.py diff --git a/simpegEM/TDEM/SurveyTDEM.py b/simpegEM/TDEM/SurveyTDEM.py index b4cc1b5d..629658de 100644 --- a/simpegEM/TDEM/SurveyTDEM.py +++ b/simpegEM/TDEM/SurveyTDEM.py @@ -67,7 +67,8 @@ class RxTDEM(Survey.BaseTimeRx): class TxTDEM(Survey.BaseTx): rxPair = RxTDEM - knownTxTypes = ['VMD_MVP'] + radius = None + knownTxTypes = ['VMD_MVP', 'CircularLoop_MVP'] def getInitialFields(self, mesh): F0 = getattr(self, '_getInitialFields_' + self.txType)(mesh) @@ -90,6 +91,23 @@ class TxTDEM(Survey.BaseTx): return {"b": mesh.edgeCurl*MVP} + def _getInitialFields_CircularLoop_MVP(self, mesh): + """Circular Loop, magnetic vector potential""" + if mesh._meshType is 'CYL': + if mesh.isSymmetric: + MVP = Sources.MagneticLoopVectorPotential(self.loc, mesh.gridEy, 'y', self.radius) + else: + raise NotImplementedError('Non-symmetric cyl mesh not implemented yet!') + elif mesh._meshType is 'TENSOR': + MVPx = Sources.MagneticLoopVectorPotential(self.loc, mesh.gridEx, 'x', self.radius) + MVPy = Sources.MagneticLoopVectorPotential(self.loc, mesh.gridEy, 'y', self.radius) + MVPz = Sources.MagneticLoopVectorPotential(self.loc, mesh.gridEz, 'z', self.radius) + MVP = np.concatenate((MVPx, MVPy, MVPz)) + else: + raise Exception('Unknown mesh for CircularLoop') + + return {"b": mesh.edgeCurl*MVP} + def getJs(self, mesh, time): return None @@ -97,7 +115,6 @@ class SurveyTDEM(Survey.BaseSurvey): """ docstring for SurveyTDEM """ - txPair = TxTDEM def __init__(self, txList, **kwargs): diff --git a/simpegEM/Utils/Sources/__init__.py b/simpegEM/Utils/Sources/__init__.py deleted file mode 100644 index 9f44582f..00000000 --- a/simpegEM/Utils/Sources/__init__.py +++ /dev/null @@ -1 +0,0 @@ -from magneticDipole import MagneticDipoleVectorPotential \ No newline at end of file diff --git a/simpegEM/Utils/__init__.py b/simpegEM/Utils/__init__.py index 02b7819c..21404ecc 100644 --- a/simpegEM/Utils/__init__.py +++ b/simpegEM/Utils/__init__.py @@ -1,2 +1,3 @@ import Sources import Ana +import Solver \ No newline at end of file diff --git a/simpegEM/__init__.py b/simpegEM/__init__.py index 5beb775b..92c6ae92 100644 --- a/simpegEM/__init__.py +++ b/simpegEM/__init__.py @@ -2,4 +2,4 @@ import Utils import TDEM import FDEM -import Base +import Base \ No newline at end of file