- added check is S_e is zero in getRHSDeriv of FDEM.py

- deleted code that has been commented out
This commit is contained in:
Lindsey Heagy
2015-07-05 21:58:14 -05:00
parent 7c63bfb6ac
commit b5b8b5fae6
2 changed files with 21 additions and 14 deletions
+21 -10
View File
@@ -354,8 +354,9 @@ class ProblemFDEM_b(BaseFDEMProblem):
elif SrcDeriv is not None:
RHSderiv = SrcDeriv
if self._makeASymmetric is True and not adjoint:
return MfMui.T * RHSderiv
if RHSderiv is not None:
if self._makeASymmetric is True and not adjoint:
return MfMui.T * RHSderiv
return RHSderiv
@@ -576,20 +577,30 @@ class ProblemFDEM_h(BaseFDEMProblem):
_, S_e = src.eval(self)
C = self.mesh.edgeCurl
MfRho = self.MfRho
MfRhoDeriv = self.MfRhoDeriv(S_e)
S_mDeriv, S_eDeriv = src.evalDeriv(self, adjoint)
if not adjoint:
RHSDeriv = C.T * (MfRhoDeriv * v)
elif adjoint:
RHSDeriv = MfRhoDeriv.T * (C * v)
RHSDeriv = None
if S_e is not None:
MfRhoDeriv = self.MfRhoDeriv(S_e)
if not adjoint:
RHSDeriv = C.T * (MfRhoDeriv * v)
elif adjoint:
RHSDeriv = MfRhoDeriv.T * (C * v)
S_mDeriv, S_eDeriv = src.evalDeriv(self, adjoint)
S_mDeriv = S_mDeriv(v)
S_eDeriv = S_eDeriv(v)
if S_mDeriv is not None:
RHSDeriv += S_mDeriv(v)
if RHSDeriv is not None:
RHSDeriv += S_mDeriv(v)
else:
RHSDeriv = S_mDeriv(v)
if S_eDeriv is not None:
RHSDeriv += C.T * (MfRho * S_e)
if RHSDeriv is not None:
RHSDeriv += C.T * (MfRho * S_e)
else:
RHSDeriv = C.T * (MfRho * S_e)
return RHSDeriv
-4
View File
@@ -25,10 +25,6 @@ class FieldsFDEM_e(FieldsFDEM):
self.prob = self.survey.prob
self._edgeCurl = self.survey.prob.mesh.edgeCurl
# def getDeriv_u(self, fieldsList, src, v, adjoint=False):
# def getDeriv_m(self, fieldsList, src, v, adjoint=False):
def _ePrimary(self, eSolution, srcList):
ePrimary = np.zeros_like(eSolution)
for i, src in enumerate(srcList):