diff --git a/simpegEM/FDEM/FieldsFDEM.py b/simpegEM/FDEM/FieldsFDEM.py index ced02d08..f27679bd 100644 --- a/simpegEM/FDEM/FieldsFDEM.py +++ b/simpegEM/FDEM/FieldsFDEM.py @@ -20,19 +20,16 @@ class FieldsFDEM_e(FieldsFDEM): def startup(self): self._edgeCurl = self.survey.prob.mesh.edgeCurl - # self._getSource = self.survey.prob.getSource - # self._getSourceDeriv = self.survey.prob.getSourceDeriv - def _b_sec(self, e, src): #adjoint=False - return - 1./(1j*omega(src.freq)) * (self._edgeCurl * e) + def _b_sec(self, e, src): + return - 1./(1j*omega(src.freq)) * (self._edgeCurl * Utils.mkvc(e)) def _b_secDeriv(self, e, src, v, adjoint=False): return None - def _b(self, e, src): #adjoint=False + def _b(self, e, src): b = self._b_sec(e,src) S_m = src._getS_m(self.survey.prob) - print S_m.shape if S_m is not None: b += 1./(1j*omega(src.freq)) * S_m return b @@ -68,7 +65,7 @@ class FieldsFDEM_b(FieldsFDEM): # self._getSourceDeriv = self.survey.prob.getSourceDeriv def _e_sec(self, b, src): - return self._MeSigmaI * ( self._edgeCurl.T * ( self._MfMui * b) ) + return self._MeSigmaI * ( self._edgeCurl.T * ( self._MfMui * Utils.mkvc(b))) def _e_secDeriv(self, b, src, v, adjoint=False): return None @@ -113,7 +110,7 @@ class FieldsFDEM_j(FieldsFDEM): self._curModel = self.survey.prob.curModel def _h_sec(self, j, src): #v, adjoint=False - return - 1./(1j*omega(src.freq)) * self._MeMuI * (self._edgeCurl.T * (self._MfSigmai * j) ) + return - 1./(1j*omega(src.freq)) * self._MeMuI * (self._edgeCurl.T * (self._MfSigmai * Utils.mkvc(j)) ) def _h_secDeriv(self, j, src, v, adjoint=False): MeMuI = self._MeMuI @@ -166,7 +163,7 @@ class FieldsFDEM_h(FieldsFDEM): # self._getSourceDeriv = self.survey.prob.getSourceDeriv def _j_sec(self, h, src): # adjoint=False - return self._edgeCurl*h + return self._edgeCurl*Utils.mkvc(h) def _j_secDeriv(self, h, src, v, adjoint=False): return None diff --git a/simpegEM/Tests/test_FDEM.py b/simpegEM/Tests/test_FDEM.py index 763a7bfe..5458f42a 100644 --- a/simpegEM/Tests/test_FDEM.py +++ b/simpegEM/Tests/test_FDEM.py @@ -11,7 +11,7 @@ testAdjoint = False testEB = True testHJ = True -verbose = True +verbose = False TOL = 1e-4 FLR = 1e-20 # "zero", so if residual below this --> pass regardless of order @@ -35,7 +35,7 @@ def getProblem(fdemType, comp): x = np.array([np.linspace(-30,-15,3),np.linspace(15,30,3)]) #don't sample right by the source XYZ = Utils.ndgrid(x,x,np.r_[0.]) Rx0 = EM.FDEM.RxFDEM(XYZ, comp) - Src0 = EM.FDEM.SrcFDEM_MagDipole([Rx0],freq=freq, loc=np.r_[0.,0.,0.]) + Src0 = EM.FDEM.SrcFDEM_MagDipole([Rx0], loc=np.r_[0.,0.,0.], freq=freq) survey = EM.FDEM.SurveyFDEM([Src0]) @@ -123,9 +123,7 @@ def crossCheckTest(fdemType, comp): prb1.mu = mu survey1 = prb1.survey - - u1 = prb1.fields(m) - d1 = Utils.mkvc(survey1.projectFields(u1)) + d1 = survey1.dpred(m) if verbose: print ' Problem 1 solved' @@ -143,9 +141,7 @@ def crossCheckTest(fdemType, comp): prb2.mu = mu survey2 = prb2.survey - - u2 = prb2.fields(m) - d2 = Utils.mkvc(survey2.projectFields(u2)) + d2 = survey2.dpred(m) if verbose: print ' Problem 2 solved'