Put CircularLoop as an option in TDEM

This commit is contained in:
seogi
2014-06-05 13:11:24 -07:00
parent 0838d21bce
commit 3e35c6068b
4 changed files with 21 additions and 4 deletions
+19 -2
View File
@@ -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):
-1
View File
@@ -1 +0,0 @@
from magneticDipole import MagneticDipoleVectorPotential
+1
View File
@@ -1,2 +1,3 @@
import Sources
import Ana
import Solver
+1 -1
View File
@@ -2,4 +2,4 @@
import Utils
import TDEM
import FDEM
import Base
import Base