diff --git a/simpegEM/TDEM/BaseTDEM.py b/simpegEM/TDEM/BaseTDEM.py index 11193cf4..48e51ecc 100644 --- a/simpegEM/TDEM/BaseTDEM.py +++ b/simpegEM/TDEM/BaseTDEM.py @@ -33,6 +33,8 @@ class BaseTDEMProblem(BaseTimeProblem, BaseEMProblem): for tInd, dt in enumerate(self.timeSteps): if dt != dtFact: dtFact = dt + if tInd!=0: + Asolve.clean() A = self.getA(tInd) # print 'Factoring... (dt = ' + str(dt) + ')' Asolve = self.Solver(A, **self.solverOpts) @@ -42,6 +44,7 @@ class BaseTDEMProblem(BaseTimeProblem, BaseEMProblem): if sol.ndim == 1: sol.shape = (sol.size,1) F[:,:,tInd+1] = CalcFields(sol, tInd) + Asolve.clean() return F def adjoint(self, m, RHS, CalcFields, F=None): @@ -51,6 +54,8 @@ class BaseTDEMProblem(BaseTimeProblem, BaseEMProblem): for tInd, dt in reversed(list(enumerate(self.timeSteps))): if dt != dtFact: dtFact = dt + if tInd != self.timeSteps.size-1: + Asolve.clean() A = self.getA(tInd) # print 'Factoring... (dt = ' + str(dt) + ')' Asolve = self.Solver(A, **self.solverOpts) @@ -60,6 +65,7 @@ class BaseTDEMProblem(BaseTimeProblem, BaseEMProblem): if sol.ndim == 1: sol.shape = (sol.size,1) F[:,:,tInd+1] = CalcFields(sol, tInd) + Asolve.clean() return F def Jvec(self, m, v, u=None): diff --git a/simpegEM/Utils/__init__.py b/simpegEM/Utils/__init__.py index 2e690cbb..21404ecc 100644 --- a/simpegEM/Utils/__init__.py +++ b/simpegEM/Utils/__init__.py @@ -1,2 +1,3 @@ import Sources -import Ana \ No newline at end of file +import Ana +import Solver \ No newline at end of file