- _fieldType --> _solutionType

- light cleanup of conversion to numpy arrays in Jvec
This commit is contained in:
Lindsey Heagy
2016-03-07 13:31:15 -08:00
parent b30fe88a7a
commit ab1108c9c2
3 changed files with 8 additions and 15 deletions
+4 -5
View File
@@ -77,7 +77,7 @@ class BaseFDEMProblem(BaseEMProblem):
Jv = self.dataPair(self.survey)
for freq in self.survey.freqs:
A = self.getA(freq) #
A = self.getA(freq)
Ainv = self.Solver(A, **self.solverOpts)
for src in self.survey.getSrcByFreq(freq):
@@ -89,7 +89,6 @@ class BaseFDEMProblem(BaseEMProblem):
for rx in src.rxList:
df_dmFun = getattr(u, '_%sDeriv'%rx.projField, None)
df_dm_v = df_dmFun(src, du_dm_v, v, adjoint=False)
df_dm_v = np.array(df_dm_v,dtype=complex)
Jv[src, rx] = rx.evalDeriv(src, self.mesh, u, df_dm_v)
Ainv.clean()
return Utils.mkvc(Jv)
@@ -135,14 +134,14 @@ class BaseFDEMProblem(BaseEMProblem):
dRHS_dmT = self.getRHSDeriv(freq, src, ATinvdf_duT, adjoint=True)
du_dmT = -dA_dmT + dRHS_dmT
Df_DmT = df_dmT + du_dmT
df_dmT = df_dmT + du_dmT
# TODO: this should be taken care of by the reciever?
real_or_imag = rx.projComp
if real_or_imag is 'real':
Jtv += np.array(Df_DmT,dtype=complex).real
Jtv += np.array(df_dmT, dtype=complex).real
elif real_or_imag is 'imag':
Jtv += - np.array(Df_DmT,dtype=complex).real
Jtv += - np.array(df_dmT, dtype=complex).real
else:
raise Exception('Must be real or imag')
+4 -5
View File
@@ -104,7 +104,7 @@ class Fields(SimPEG.Problem.Fields):
if adjoint:
return self._eDeriv_u(src, v, adjoint), self._eDeriv_m(src, v, adjoint)
return self._eDeriv_u(src, du_dm_v, adjoint) + self._eDeriv_m(src, v, adjoint)
return np.array(self._eDeriv_u(src, du_dm_v, adjoint) + self._eDeriv_m(src, v, adjoint), dtype = complex)
def _bDeriv(self, src, du_dm_v, v, adjoint = False):
"""
@@ -122,7 +122,7 @@ class Fields(SimPEG.Problem.Fields):
if adjoint:
return self._bDeriv_u(src, v, adjoint), self._bDeriv_m(src, v, adjoint)
return self._bDeriv_u(src, du_dm_v, adjoint) + self._bDeriv_m(src, v, adjoint)
return np.array(self._bDeriv_u(src, du_dm_v, adjoint) + self._bDeriv_m(src, v, adjoint), dtype = complex)
def _hDeriv(self, src, du_dm_v, v, adjoint = False):
"""
@@ -140,7 +140,7 @@ class Fields(SimPEG.Problem.Fields):
if adjoint:
return self._hDeriv_u(src, v, adjoint), self._hDeriv_m(src, v, adjoint)
return self._hDeriv_u(src, du_dm_v, adjoint) + self._hDeriv_m(src, v, adjoint)
return np.array(self._hDeriv_u(src, du_dm_v, adjoint) + self._hDeriv_m(src, v, adjoint), dtype = complex)
def _jDeriv(self, src, du_dm_v, v, adjoint = False):
"""
@@ -158,8 +158,7 @@ class Fields(SimPEG.Problem.Fields):
if adjoint:
return self._jDeriv_u(src, v, adjoint), self._jDeriv_m(src, v, adjoint)
return self._jDeriv_u(src, du_dm_v, adjoint) + self._jDeriv_m(src, v, adjoint)
return np.array(self._jDeriv_u(src, du_dm_v, adjoint) + self._jDeriv_m(src, v, adjoint), dtype = complex)
class Fields_e(Fields):
"""
-5
View File
@@ -99,11 +99,6 @@ class Rx(SimPEG.Survey.BaseRx):
:return: fields projected to recievers
"""
# projGLoc = u._GLoc(self.knownRxTypes[self.rxType][0])
# print self.knownRxTypes[self.rxType][:2], 'Deriv', projGLoc
# projGLoc += self.knownRxTypes[self.rxType][1]
P = self.getP(mesh, self.projGLoc(u))
if not adjoint: