Futurize 1, futurize 2, pasteurize.

This commit is contained in:
Brendan Smithyman
2016-07-16 14:17:02 -05:00
parent 362975d2bd
commit ca8d8f8c2d
197 changed files with 2618 additions and 1235 deletions
+6
View File
@@ -1,3 +1,9 @@
from __future__ import unicode_literals
from __future__ import print_function
from __future__ import division
from __future__ import absolute_import
from future import standard_library
standard_library.install_aliases()
if __name__ == '__main__':
import os
import glob
+24 -17
View File
@@ -1,3 +1,10 @@
from __future__ import print_function
from __future__ import division
from __future__ import unicode_literals
from __future__ import absolute_import
from future import standard_library
standard_library.install_aliases()
from past.utils import old_div
import unittest
from SimPEG import *
from SimPEG import EM
@@ -39,7 +46,7 @@ class FDEM_analyticTests(unittest.TestCase):
try:
from pymatsolver import MumpsSolver
prb.Solver = MumpsSolver
except ImportError, e:
except ImportError as e:
prb.Solver = SolverLU
sig = 1e-1
@@ -54,7 +61,7 @@ class FDEM_analyticTests(unittest.TestCase):
self.sig = sig
def test_Transect(self):
print 'Testing Transect for analytic'
print('Testing Transect for analytic')
u = self.prb.fields(self.m)
@@ -85,17 +92,17 @@ class FDEM_analyticTests(unittest.TestCase):
def test_CylMeshEBDipoles(self):
print 'Testing CylMesh Electric and Magnetic Dipoles in a wholespace- Analytic: J-formulation'
print('Testing CylMesh Electric and Magnetic Dipoles in a wholespace- Analytic: J-formulation')
sigmaback = 1.
mur = 2.
freq = 1.
skdpth = 500./np.sqrt(sigmaback*freq)
skdpth = old_div(500.,np.sqrt(sigmaback*freq))
csx, ncx, npadx = 5, 50, 25
csz, ncz, npadz = 5, 50, 25
hx = Utils.meshTensor([(csx,ncx), (csx,npadx,1.3)])
hz = Utils.meshTensor([(csz,npadz,-1.3), (csz,ncz), (csz,npadz,1.3)])
mesh = Mesh.CylMesh([hx,1,hz], [0.,0.,-hz.sum()/2]) # define the cylindrical mesh
mesh = Mesh.CylMesh([hx,1,hz], [0.,0.,old_div(-hz.sum(),2)]) # define the cylindrical mesh
if plotIt:
mesh.plotGrid()
@@ -113,8 +120,8 @@ class FDEM_analyticTests(unittest.TestCase):
s_ind = Utils.closestPoints(mesh,src_loc,'Fz') + mesh.nFx
de = np.zeros(mesh.nF,dtype=complex)
de[s_ind] = 1./csz
de_p = [EM.FDEM.Src.RawVec_e([],freq,de/mesh.area)]
de[s_ind] = old_div(1.,csz)
de_p = [EM.FDEM.Src.RawVec_e([],freq,old_div(de,mesh.area))]
dm_p = [EM.FDEM.Src.MagDipole([],freq,src_loc)]
@@ -151,7 +158,7 @@ class FDEM_analyticTests(unittest.TestCase):
jn = fieldsBackE[de_p,'j']
bn = fieldsBackM[dm_p,'b']
Rho = Utils.sdiag(1./SigmaBack)
Rho = Utils.sdiag(old_div(1.,SigmaBack))
Rho = sp.block_diag([Rho,Rho])
en = Rho*mesh.aveF2CCV*jn
@@ -167,12 +174,12 @@ class FDEM_analyticTests(unittest.TestCase):
bxa, bya, bza = EM.Analytics.FDEM.MagneticDipoleWholeSpace(XYZ, src_loc, sigmaback, freq,orientation='Z',mu= mur*mu_0)
bxa, bya, bza = Utils.mkvc(bxa,2), Utils.mkvc(bya,2), Utils.mkvc(bza,2)
print ' comp, anayltic, numeric, num - ana, (num - ana)/ana'
print ' ex:', np.linalg.norm(exa), np.linalg.norm(ex), np.linalg.norm(exa-ex), np.linalg.norm(exa-ex)/np.linalg.norm(exa)
print ' ez:', np.linalg.norm(eza), np.linalg.norm(ez), np.linalg.norm(eza-ez), np.linalg.norm(eza-ez)/np.linalg.norm(eza)
print(' comp, anayltic, numeric, num - ana, (num - ana)/ana')
print(' ex:', np.linalg.norm(exa), np.linalg.norm(ex), np.linalg.norm(exa-ex), old_div(np.linalg.norm(exa-ex),np.linalg.norm(exa)))
print(' ez:', np.linalg.norm(eza), np.linalg.norm(ez), np.linalg.norm(eza-ez), old_div(np.linalg.norm(eza-ez),np.linalg.norm(eza)))
print ' bx:', np.linalg.norm(bxa), np.linalg.norm(bx), np.linalg.norm(bxa-bx), np.linalg.norm(bxa-bx)/np.linalg.norm(bxa)
print ' bz:', np.linalg.norm(bza), np.linalg.norm(bz), np.linalg.norm(bza-bz), np.linalg.norm(bza-bz)/np.linalg.norm(bza)
print(' bx:', np.linalg.norm(bxa), np.linalg.norm(bx), np.linalg.norm(bxa-bx), old_div(np.linalg.norm(bxa-bx),np.linalg.norm(bxa)))
print(' bz:', np.linalg.norm(bza), np.linalg.norm(bz), np.linalg.norm(bza-bz), old_div(np.linalg.norm(bza-bz),np.linalg.norm(bza)))
if plotIt:
# Edipole
@@ -231,11 +238,11 @@ class FDEM_analyticTests(unittest.TestCase):
plt.tight_layout()
self.assertTrue(np.linalg.norm(exa-ex)/np.linalg.norm(exa) < tol_EBdipole)
self.assertTrue(np.linalg.norm(eza-ez)/np.linalg.norm(eza) < tol_EBdipole)
self.assertTrue(old_div(np.linalg.norm(exa-ex),np.linalg.norm(exa)) < tol_EBdipole)
self.assertTrue(old_div(np.linalg.norm(eza-ez),np.linalg.norm(eza)) < tol_EBdipole)
self.assertTrue(np.linalg.norm(bxa-bx)/np.linalg.norm(bxa) < tol_EBdipole)
self.assertTrue(np.linalg.norm(bza-bz)/np.linalg.norm(bza) < tol_EBdipole)
self.assertTrue(old_div(np.linalg.norm(bxa-bx),np.linalg.norm(bxa)) < tol_EBdipole)
self.assertTrue(old_div(np.linalg.norm(bza-bz),np.linalg.norm(bza)) < tol_EBdipole)
@@ -1,3 +1,9 @@
from __future__ import unicode_literals
from __future__ import print_function
from __future__ import division
from __future__ import absolute_import
from future import standard_library
standard_library.install_aliases()
from SimPEG import Tests, Utils, np
import SimPEG.EM.Analytics.FDEMcasing as Casing
import unittest
@@ -1,3 +1,9 @@
from __future__ import unicode_literals
from __future__ import print_function
from __future__ import division
from __future__ import absolute_import
from future import standard_library
standard_library.install_aliases()
import unittest
from SimPEG import *
from SimPEG import EM
@@ -1,3 +1,9 @@
from __future__ import unicode_literals
from __future__ import print_function
from __future__ import division
from __future__ import absolute_import
from future import standard_library
standard_library.install_aliases()
import unittest
from SimPEG import *
from SimPEG import EM
@@ -1,3 +1,9 @@
from __future__ import unicode_literals
from __future__ import print_function
from __future__ import division
from __future__ import absolute_import
from future import standard_library
standard_library.install_aliases()
import unittest
from SimPEG import *
from SimPEG import EM
@@ -1,3 +1,9 @@
from __future__ import unicode_literals
from __future__ import print_function
from __future__ import division
from __future__ import absolute_import
from future import standard_library
standard_library.install_aliases()
if __name__ == '__main__':
import os
import glob
@@ -1,3 +1,10 @@
from __future__ import print_function
from __future__ import unicode_literals
from __future__ import division
from __future__ import absolute_import
from builtins import int
from future import standard_library
standard_library.install_aliases()
import unittest
from SimPEG import *
from SimPEG import EM
@@ -21,7 +28,7 @@ SrcList = ['RawVec', 'MagDipole'] #or 'MAgDipole_Bfield', 'CircularLoop', 'RawVe
def adjointTest(fdemType, comp):
prb = getFDEMProblem(fdemType, comp, SrcList, freq)
print 'Adjoint %s formulation - %s' % (fdemType, comp)
print('Adjoint %s formulation - %s' % (fdemType, comp))
m = np.log(np.ones(prb.mapping.nP)*CONDUCTIVITY)
mu = np.ones(prb.mesh.nC)*MU
@@ -41,7 +48,7 @@ def adjointTest(fdemType, comp):
vJw = v.dot(prb.Jvec(m, w, u))
wJtv = w.dot(prb.Jtvec(m, v, u))
tol = np.max([TOL*(10**int(np.log10(np.abs(vJw)))),FLR])
print vJw, wJtv, vJw - wJtv, tol, np.abs(vJw - wJtv) < tol
print(vJw, wJtv, vJw - wJtv, tol, np.abs(vJw - wJtv) < tol)
return np.abs(vJw - wJtv) < tol
class FDEM_AdjointTests(unittest.TestCase):
@@ -1,3 +1,10 @@
from __future__ import print_function
from __future__ import unicode_literals
from __future__ import division
from __future__ import absolute_import
from builtins import int
from future import standard_library
standard_library.install_aliases()
import unittest
from SimPEG import *
from SimPEG import EM
@@ -21,7 +28,7 @@ SrcList = ['RawVec', 'MagDipole'] #or 'MAgDipole_Bfield', 'CircularLoop', 'RawVe
def adjointTest(fdemType, comp):
prb = getFDEMProblem(fdemType, comp, SrcList, freq)
print 'Adjoint %s formulation - %s' % (fdemType, comp)
print('Adjoint %s formulation - %s' % (fdemType, comp))
m = np.log(np.ones(prb.mapping.nP)*CONDUCTIVITY)
mu = np.ones(prb.mesh.nC)*MU
@@ -39,7 +46,7 @@ def adjointTest(fdemType, comp):
vJw = v.dot(prb.Jvec(m, w, u))
wJtv = w.dot(prb.Jtvec(m, v, u))
tol = np.max([TOL*(10**int(np.log10(np.abs(vJw)))),FLR])
print vJw, wJtv, vJw - wJtv, tol, np.abs(vJw - wJtv) < tol
print(vJw, wJtv, vJw - wJtv, tol, np.abs(vJw - wJtv) < tol)
return np.abs(vJw - wJtv) < tol
class FDEM_AdjointTests(unittest.TestCase):
+6
View File
@@ -1,3 +1,9 @@
from __future__ import unicode_literals
from __future__ import print_function
from __future__ import division
from __future__ import absolute_import
from future import standard_library
standard_library.install_aliases()
if __name__ == '__main__':
import os
import glob
@@ -1,3 +1,9 @@
from __future__ import print_function
from __future__ import unicode_literals
from __future__ import division
from __future__ import absolute_import
from future import standard_library
standard_library.install_aliases()
import unittest
from SimPEG import *
from SimPEG import EM
@@ -26,7 +32,7 @@ SrcType = ['MagDipole', 'RawVec'] #or 'MAgDipole_Bfield', 'CircularLoop', 'RawVe
def derivTest(fdemType, comp):
prb = getFDEMProblem(fdemType, comp, SrcType, freq)
print '%s formulation - %s' % (fdemType, comp)
print('%s formulation - %s' % (fdemType, comp))
x0 = np.log(np.ones(prb.mapping.nP)*CONDUCTIVITY)
mu = np.log(np.ones(prb.mesh.nC)*MU)
+6
View File
@@ -1,3 +1,9 @@
from __future__ import unicode_literals
from __future__ import print_function
from __future__ import division
from __future__ import absolute_import
from future import standard_library
standard_library.install_aliases()
import os
import glob
import unittest
+14 -7
View File
@@ -1,3 +1,10 @@
from __future__ import print_function
from __future__ import division
from __future__ import unicode_literals
from __future__ import absolute_import
from future import standard_library
standard_library.install_aliases()
from past.utils import old_div
import unittest
from SimPEG import Mesh, Utils, EM, Maps, np
import SimPEG.EM.Static.DC as DC
@@ -32,7 +39,7 @@ class DCProblemAnalyticTests(unittest.TestCase):
try:
from pymatsolver import MumpsSolver
self.Solver = MumpsSolver
except ImportError, e:
except ImportError as e:
self.Solver = SolverLU
def test_Problem3D_N(self):
@@ -41,13 +48,13 @@ class DCProblemAnalyticTests(unittest.TestCase):
problem.Solver = self.Solver
problem.pair(self.survey)
data = self.survey.dpred(self.sigma)
err= np.linalg.norm((data-self.data_anal)/self.data_anal)**2 / self.data_anal.size
err= old_div(np.linalg.norm(old_div((data-self.data_anal),self.data_anal))**2, self.data_anal.size)
if err < 0.05:
passed = True
print ">> DC analytic test for Problem3D_N is passed"
print(">> DC analytic test for Problem3D_N is passed")
else:
passed = False
print ">> DC analytic test for Problem3D_N is failed"
print(">> DC analytic test for Problem3D_N is failed")
self.assertTrue(passed)
def test_Problem3D_CC(self):
@@ -55,13 +62,13 @@ class DCProblemAnalyticTests(unittest.TestCase):
problem.Solver = self.Solver
problem.pair(self.survey)
data = self.survey.dpred(self.sigma)
err= np.linalg.norm((data-self.data_anal)/self.data_anal)**2 / self.data_anal.size
err= old_div(np.linalg.norm(old_div((data-self.data_anal),self.data_anal))**2, self.data_anal.size)
if err < 0.05:
passed = True
print ">> DC analytic test for Problem3D_CC is passed"
print(">> DC analytic test for Problem3D_CC is passed")
else:
passed = False
print ">> DC analytic test for Problem3D_CC is failed"
print(">> DC analytic test for Problem3D_CC is failed")
self.assertTrue(passed)
if __name__ == '__main__':
+8 -2
View File
@@ -1,3 +1,9 @@
from __future__ import print_function
from __future__ import unicode_literals
from __future__ import division
from __future__ import absolute_import
from future import standard_library
standard_library.install_aliases()
import unittest
from SimPEG import *
import SimPEG.EM.Static.DC as DC
@@ -55,7 +61,7 @@ class DCProblem_2DTestsCC(unittest.TestCase):
wtJv = w.dot(self.p.Jvec(self.m0, v))
vtJtw = v.dot(self.p.Jtvec(self.m0, w))
passed = np.abs(wtJv - vtJtw) < 1e-10
print 'Adjoint Test', np.abs(wtJv - vtJtw), passed
print('Adjoint Test', np.abs(wtJv - vtJtw), passed)
self.assertTrue(passed)
def test_dataObj(self):
@@ -115,7 +121,7 @@ class DCProblemTestsN(unittest.TestCase):
wtJv = w.dot(self.p.Jvec(self.m0, v))
vtJtw = v.dot(self.p.Jtvec(self.m0, w))
passed = np.abs(wtJv - vtJtw) < 1e-8
print 'Adjoint Test', np.abs(wtJv - vtJtw), passed
print('Adjoint Test', np.abs(wtJv - vtJtw), passed)
self.assertTrue(passed)
def test_dataObj(self):
+14 -7
View File
@@ -1,3 +1,10 @@
from __future__ import print_function
from __future__ import division
from __future__ import unicode_literals
from __future__ import absolute_import
from future import standard_library
standard_library.install_aliases()
from past.utils import old_div
import unittest
from SimPEG import Mesh, Utils, EM, Maps, np
import SimPEG.EM.Static.DC as DC
@@ -35,7 +42,7 @@ class DCProblemAnalyticTests(unittest.TestCase):
try:
from pymatsolver import MumpsSolver
self.Solver = MumpsSolver
except ImportError, e:
except ImportError as e:
self.Solver = SolverLU
def test_Problem3D_N(self):
@@ -43,13 +50,13 @@ class DCProblemAnalyticTests(unittest.TestCase):
problem.Solver = self.Solver
problem.pair(self.survey)
data = self.survey.dpred(self.sigma)
err= np.linalg.norm(data-self.data_anal)/np.linalg.norm(self.data_anal)
err= old_div(np.linalg.norm(data-self.data_anal),np.linalg.norm(self.data_anal))
if err < 0.2:
passed = True
print ">> DC analytic test for Problem3D_N is passed"
print(">> DC analytic test for Problem3D_N is passed")
else:
passed = False
print ">> DC analytic test for Problem3D_N is failed"
print(">> DC analytic test for Problem3D_N is failed")
self.assertTrue(passed)
def test_Problem3D_CC(self):
@@ -57,13 +64,13 @@ class DCProblemAnalyticTests(unittest.TestCase):
problem.Solver = self.Solver
problem.pair(self.survey)
data = self.survey.dpred(self.sigma)
err= np.linalg.norm(data-self.data_anal)/np.linalg.norm(self.data_anal)
err= old_div(np.linalg.norm(data-self.data_anal),np.linalg.norm(self.data_anal))
if err < 0.2:
passed = True
print ">> DC analytic test for Problem3D_CC is passed"
print(">> DC analytic test for Problem3D_CC is passed")
else:
passed = False
print ">> DC analytic test for Problem3D_CC is failed"
print(">> DC analytic test for Problem3D_CC is failed")
self.assertTrue(passed)
if __name__ == '__main__':
+11 -4
View File
@@ -1,3 +1,10 @@
from __future__ import print_function
from __future__ import division
from __future__ import unicode_literals
from __future__ import absolute_import
from future import standard_library
standard_library.install_aliases()
from past.utils import old_div
import unittest
from SimPEG import *
import SimPEG.EM.Static.DC as DC
@@ -14,7 +21,7 @@ class DCProblemTestsCC(unittest.TestCase):
cs = surveySize/nElecs/4
mesh = Mesh.TensorMesh([
[(cs,10, -1.3),(cs,surveySize/cs),(cs,10, 1.3)],
[(cs,10, -1.3),(cs,old_div(surveySize,cs)),(cs,10, 1.3)],
[(cs,3, -1.3),(cs,3,1.3)],
# [(cs,5, -1.3),(cs,10)]
],'CN')
@@ -55,7 +62,7 @@ class DCProblemTestsCC(unittest.TestCase):
wtJv = w.dot(self.p.Jvec(self.m0, v))
vtJtw = v.dot(self.p.Jtvec(self.m0, w))
passed = np.abs(wtJv - vtJtw) < 1e-10
print 'Adjoint Test', np.abs(wtJv - vtJtw), passed
print('Adjoint Test', np.abs(wtJv - vtJtw), passed)
self.assertTrue(passed)
def test_dataObj(self):
@@ -74,7 +81,7 @@ class DCProblemTestsN(unittest.TestCase):
cs = surveySize/nElecs/4
mesh = Mesh.TensorMesh([
[(cs,10, -1.3),(cs,surveySize/cs),(cs,10, 1.3)],
[(cs,10, -1.3),(cs,old_div(surveySize,cs)),(cs,10, 1.3)],
[(cs,3, -1.3),(cs,3,1.3)],
# [(cs,5, -1.3),(cs,10)]
],'CN')
@@ -115,7 +122,7 @@ class DCProblemTestsN(unittest.TestCase):
wtJv = w.dot(self.p.Jvec(self.m0, v))
vtJtw = v.dot(self.p.Jtvec(self.m0, w))
passed = np.abs(wtJv - vtJtw) < 1e-8
print 'Adjoint Test', np.abs(wtJv - vtJtw), passed
print('Adjoint Test', np.abs(wtJv - vtJtw), passed)
self.assertTrue(passed)
def test_dataObj(self):
+15 -8
View File
@@ -1,3 +1,10 @@
from __future__ import print_function
from __future__ import division
from __future__ import unicode_literals
from __future__ import absolute_import
from future import standard_library
standard_library.install_aliases()
from past.utils import old_div
import unittest
from SimPEG import Mesh, Utils, EM, Maps, np
import SimPEG.EM.Static.DC as DC
@@ -42,7 +49,7 @@ class IPProblemAnalyticTests(unittest.TestCase):
try:
from pymatsolver import MumpsSolver
self.Solver = MumpsSolver
except ImportError, e:
except ImportError as e:
self.Solver = SolverLU
def test_Problem3D_N(self):
@@ -59,13 +66,13 @@ class IPProblemAnalyticTests(unittest.TestCase):
problemIP.pair(surveyIP)
data_full = data0 - datainf
data = surveyIP.dpred(self.eta)
err= np.linalg.norm((data-data_full)/data_full)**2 / data_full.size
err= old_div(np.linalg.norm(old_div((data-data_full),data_full))**2, data_full.size)
if err < 0.05:
passed = True
print ">> IP forward test for Problem3D_N is passed"
print(">> IP forward test for Problem3D_N is passed")
else:
passed = False
print ">> IP forward test for Problem3D_N is failed"
print(">> IP forward test for Problem3D_N is failed")
self.assertTrue(passed)
def test_Problem3D_CC(self):
@@ -76,19 +83,19 @@ class IPProblemAnalyticTests(unittest.TestCase):
data0 = self.surveyDC.dpred(self.sigma0)
finf = problemDC.fields(self.sigmaInf)
datainf = self.surveyDC.dpred(self.sigmaInf, f=finf)
problemIP = IP.Problem3D_CC(self.mesh, rho=1./self.sigmaInf, Ainv=problemDC.Ainv, f=finf)
problemIP = IP.Problem3D_CC(self.mesh, rho=old_div(1.,self.sigmaInf), Ainv=problemDC.Ainv, f=finf)
problemIP.Solver = self.Solver
surveyIP = IP.Survey([self.src])
problemIP.pair(surveyIP)
data_full = data0 - datainf
data = surveyIP.dpred(self.eta)
err= np.linalg.norm((data-data_full)/data_full)**2 / data_full.size
err= old_div(np.linalg.norm(old_div((data-data_full),data_full))**2, data_full.size)
if err < 0.05:
passed = True
print ">> IP forward test for Problem3D_CC is passed"
print(">> IP forward test for Problem3D_CC is passed")
else:
passed = False
print ">> IP forward test for Problem3D_CC is failed"
print(">> IP forward test for Problem3D_CC is failed")
self.assertTrue(passed)
if __name__ == '__main__':
+12 -5
View File
@@ -1,3 +1,10 @@
from __future__ import print_function
from __future__ import division
from __future__ import unicode_literals
from __future__ import absolute_import
from future import standard_library
standard_library.install_aliases()
from past.utils import old_div
import unittest
from SimPEG import *
import SimPEG.EM.Static.DC as DC
@@ -15,7 +22,7 @@ class IPProblemTestsCC(unittest.TestCase):
cs = surveySize/nElecs/4
mesh = Mesh.TensorMesh([
[(cs,10, -1.3),(cs,surveySize/cs),(cs,10, 1.3)],
[(cs,10, -1.3),(cs,old_div(surveySize,cs)),(cs,10, 1.3)],
[(cs,3, -1.3),(cs,3,1.3)],
# [(cs,5, -1.3),(cs,10)]
],'CN')
@@ -23,7 +30,7 @@ class IPProblemTestsCC(unittest.TestCase):
srcList = DC.Utils.WennerSrcList(nElecs, aSpacing, in2D=True)
survey = IP.Survey(srcList)
sigma = np.ones(mesh.nC)
problem = IP.Problem3D_CC(mesh, rho=1./sigma)
problem = IP.Problem3D_CC(mesh, rho=old_div(1.,sigma))
problem.pair(survey)
mSynth = np.ones(mesh.nC)*0.1
survey.makeSyntheticData(mSynth)
@@ -55,7 +62,7 @@ class IPProblemTestsCC(unittest.TestCase):
wtJv = w.dot(self.p.Jvec(self.m0, v))
vtJtw = v.dot(self.p.Jtvec(self.m0, w))
passed = np.abs(wtJv - vtJtw) < 1e-10
print 'Adjoint Test', np.abs(wtJv - vtJtw), passed
print('Adjoint Test', np.abs(wtJv - vtJtw), passed)
self.assertTrue(passed)
def test_dataObj(self):
@@ -74,7 +81,7 @@ class IPProblemTestsN(unittest.TestCase):
cs = surveySize/nElecs/4
mesh = Mesh.TensorMesh([
[(cs,10, -1.3),(cs,surveySize/cs),(cs,10, 1.3)],
[(cs,10, -1.3),(cs,old_div(surveySize,cs)),(cs,10, 1.3)],
[(cs,3, -1.3),(cs,3,1.3)],
# [(cs,5, -1.3),(cs,10)]
],'CN')
@@ -114,7 +121,7 @@ class IPProblemTestsN(unittest.TestCase):
wtJv = w.dot(self.p.Jvec(self.m0, v))
vtJtw = v.dot(self.p.Jtvec(self.m0, w))
passed = np.abs(wtJv - vtJtw) < 1e-8
print 'Adjoint Test', np.abs(wtJv - vtJtw), passed
print('Adjoint Test', np.abs(wtJv - vtJtw), passed)
self.assertTrue(passed)
def test_dataObj(self):
+15 -7
View File
@@ -1,3 +1,11 @@
from __future__ import print_function
from __future__ import division
from __future__ import unicode_literals
from __future__ import absolute_import
from builtins import int
from future import standard_library
standard_library.install_aliases()
from past.utils import old_div
import unittest
from SimPEG import *
import SimPEG
@@ -37,10 +45,10 @@ class IPProblemTestsCC(unittest.TestCase):
src = SIP.Src.Dipole([rx], Aloc, Bloc)
survey = SIP.Survey([src])
colemap = [("eta", Maps.IdentityMap(mesh)), ("taui", Maps.IdentityMap(mesh))]
problem = SIP.Problem3D_CC(mesh, rho=1./sigma, mapping=colemap)
problem = SIP.Problem3D_CC(mesh, rho=old_div(1.,sigma), mapping=colemap)
problem.Solver = MumpsSolver
problem.pair(survey)
mSynth = np.r_[eta, 1./tau]
mSynth = np.r_[eta, old_div(1.,tau)]
survey.makeSyntheticData(mSynth)
# Now set up the problem to do some minimization
dmis = DataMisfit.l2_DataMisfit(survey)
@@ -70,7 +78,7 @@ class IPProblemTestsCC(unittest.TestCase):
wtJv = w.dot(self.p.Jvec(self.m0, v))
vtJtw = v.dot(self.p.Jtvec(self.m0, w))
passed = np.abs(wtJv - vtJtw) < 1e-10
print 'Adjoint Test', np.abs(wtJv - vtJtw), passed
print('Adjoint Test', np.abs(wtJv - vtJtw), passed)
self.assertTrue(passed)
def test_dataObj(self):
@@ -112,7 +120,7 @@ class IPProblemTestsN(unittest.TestCase):
problem = SIP.Problem3D_N(mesh, sigma=sigma, mapping=colemap)
problem.Solver = MumpsSolver
problem.pair(survey)
mSynth = np.r_[eta, 1./tau]
mSynth = np.r_[eta, old_div(1.,tau)]
survey.makeSyntheticData(mSynth)
# Now set up the problem to do some minimization
dmis = DataMisfit.l2_DataMisfit(survey)
@@ -142,7 +150,7 @@ class IPProblemTestsN(unittest.TestCase):
wtJv = w.dot(self.p.Jvec(self.m0, v))
vtJtw = v.dot(self.p.Jtvec(self.m0, w))
passed = np.abs(wtJv - vtJtw) < 1e-8
print 'Adjoint Test', np.abs(wtJv - vtJtw), passed
print('Adjoint Test', np.abs(wtJv - vtJtw), passed)
self.assertTrue(passed)
def test_dataObj(self):
@@ -189,7 +197,7 @@ class IPProblemTestsN_air(unittest.TestCase):
problem = SIP.Problem3D_N(mesh, sigma=sigma, mapping=colemap)
problem.Solver = MumpsSolver
problem.pair(survey)
mSynth = np.r_[eta[~airind], 1./tau[~airind]]
mSynth = np.r_[eta[~airind], old_div(1.,tau[~airind])]
survey.makeSyntheticData(mSynth)
# Now set up the problem to do some minimization
dmis = DataMisfit.l2_DataMisfit(survey)
@@ -220,7 +228,7 @@ class IPProblemTestsN_air(unittest.TestCase):
wtJv = w.dot(self.p.Jvec(self.m0, v))
vtJtw = v.dot(self.p.Jtvec(self.m0, w))
passed = np.abs(wtJv - vtJtw) < 1e-8
print 'Adjoint Test', np.abs(wtJv - vtJtw), passed
print('Adjoint Test', np.abs(wtJv - vtJtw), passed)
self.assertTrue(passed)
def test_dataObj(self):
+6
View File
@@ -1,3 +1,9 @@
from __future__ import unicode_literals
from __future__ import print_function
from __future__ import division
from __future__ import absolute_import
from future import standard_library
standard_library.install_aliases()
if __name__ == '__main__':
import os
import glob
+23 -15
View File
@@ -1,3 +1,11 @@
from __future__ import print_function
from __future__ import division
from __future__ import unicode_literals
from __future__ import absolute_import
from future import standard_library
standard_library.install_aliases()
from builtins import range
from past.utils import old_div
import unittest
from SimPEG import *
from SimPEG import EM
@@ -35,7 +43,7 @@ class TDEM_bDerivTests(unittest.TestCase):
try:
from pymatsolver import MumpsSolver
self.prb.Solver = MumpsSolver
except ImportError, e:
except ImportError as e:
self.prb.Solver = SolverLU
self.sigma = np.ones(mesh.nCz)*1e-8
@@ -58,7 +66,7 @@ class TDEM_bDerivTests(unittest.TestCase):
V1 = Ahu[:,'b',1]
V2 = 1./prb.timeSteps[0]*prb.MfMui*u[:,'b',0]
self.assertLess(np.linalg.norm(V1-V2)/np.linalg.norm(V2), 1.e-6)
self.assertLess(old_div(np.linalg.norm(V1-V2),np.linalg.norm(V2)), 1.e-6)
V1 = Ahu[:,'e',1]
return np.linalg.norm(V1) < 1.e-6
@@ -70,12 +78,12 @@ class TDEM_bDerivTests(unittest.TestCase):
V1 = Ahu[:,'b',i]
V2 = 1.0/dt*prb.MfMui*u[:,'b', i-1]
# print np.linalg.norm(V1), np.linalg.norm(V2)
self.assertLess(np.linalg.norm(V1)/np.linalg.norm(V2), 1.e-6)
self.assertLess(old_div(np.linalg.norm(V1),np.linalg.norm(V2)), 1.e-6)
V1 = Ahu[:,'e',i]
V2 = prb.MeSigma*u[:,'e',i]
# print np.linalg.norm(V1), np.linalg.norm(V2)
return np.linalg.norm(V1)/np.linalg.norm(V2), 1.e-6
return old_div(np.linalg.norm(V1),np.linalg.norm(V2)), 1.e-6
def test_AhVecVSMat_OneTS(self):
@@ -95,7 +103,7 @@ class TDEM_bDerivTests(unittest.TestCase):
u1 = A*f.tovec()
u2 = prb._AhVec(sigma,f).tovec()
self.assertTrue(np.linalg.norm(u1-u2)/np.linalg.norm(u1)<1e-12)
self.assertTrue(old_div(np.linalg.norm(u1-u2),np.linalg.norm(u1))<1e-12)
def test_solveAhVSMat_OneTS(self):
prb = self.prb
@@ -155,7 +163,7 @@ class TDEM_bDerivTests(unittest.TestCase):
h = 0.01
derChk = lambda m: [self.prb._AhVec(m, f).tovec(), lambda mx: self.prb.Gvec(sigma, mx, u=f).tovec()]
print '\ntest_DerivG'
print('\ntest_DerivG')
passed = Tests.checkDerivative(derChk, sigma, plotIt=False, dx=dm, num=4, eps=1e-20)
return passed
@@ -170,8 +178,8 @@ class TDEM_bDerivTests(unittest.TestCase):
f = prb.fields(sigma)
derChk = lambda m: [self.prb.fields(m).tovec(), lambda mx: -prb.solveAh(sigma, prb.Gvec(sigma, mx, u=f)).tovec()]
print '\n'
print 'test_Deriv_dUdM'
print('\n')
print('test_Deriv_dUdM')
Tests.checkDerivative(derChk, sigma, plotIt=False, dx=dm, num=4, eps=1e-20)
def test_Deriv_J(self):
@@ -186,8 +194,8 @@ class TDEM_bDerivTests(unittest.TestCase):
derChk = lambda m: [prb.survey.dpred(m), lambda mx: prb.Jvec(sigma, mx)]
print '\n'
print 'test_Deriv_J'
print('\n')
print('test_Deriv_J')
Tests.checkDerivative(derChk, sigma, plotIt=False, dx=d_sig, num=4, eps=1e-20)
def test_projectAdjoint(self):
@@ -207,7 +215,7 @@ class TDEM_bDerivTests(unittest.TestCase):
V1 = d_vec.dot(survey.evalDeriv(None, v=f).tovec())
V2 = f.tovec().dot(survey.evalDeriv(None, v=d, adjoint=True).tovec())
self.assertTrue((V1-V2)/np.abs(V1) < tol)
self.assertTrue(old_div((V1-V2),np.abs(V1)) < tol)
def test_adjointAhVsAht(self):
prb = self.prb
@@ -226,7 +234,7 @@ class TDEM_bDerivTests(unittest.TestCase):
V1 = f2.tovec().dot(prb._AhVec(sigma, f1).tovec())
V2 = f1.tovec().dot(prb._AhtVec(sigma, f2).tovec())
self.assertTrue(np.abs(V1-V2)/np.abs(V1) < tol)
self.assertTrue(old_div(np.abs(V1-V2),np.abs(V1)) < tol)
# def test_solveAhtVsAhtVec(self):
# prb = self.prb
@@ -291,7 +299,7 @@ class TDEM_bDerivTests(unittest.TestCase):
V1 = m.dot(prb.Gtvec(sigma, v, u))
V2 = v.tovec().dot(prb.Gvec(sigma, m, u).tovec())
self.assertTrue(np.abs(V1-V2)/np.abs(V1) < tol)
self.assertTrue(old_div(np.abs(V1-V2),np.abs(V1)) < tol)
def test_adjointJvecVsJtvec(self):
mesh = self.mesh
@@ -303,8 +311,8 @@ class TDEM_bDerivTests(unittest.TestCase):
V1 = d.dot(prb.Jvec(sigma, m))
V2 = m.dot(prb.Jtvec(sigma, d))
passed = np.abs(V1-V2)/np.abs(V1) < tol
print 'AdjointTest', V1, V2, passed
passed = old_div(np.abs(V1-V2),np.abs(V1)) < tol
print('AdjointTest', V1, V2, passed)
self.assertTrue(passed)
@@ -1,3 +1,11 @@
from __future__ import print_function
from __future__ import division
from __future__ import unicode_literals
from __future__ import absolute_import
from future import standard_library
standard_library.install_aliases()
from builtins import range
from past.utils import old_div
import unittest
from SimPEG import *
from SimPEG import EM
@@ -36,7 +44,7 @@ class TDEM_bDerivTests(unittest.TestCase):
try:
from pymatsolver import MumpsSolver
self.prb.Solver = MumpsSolver
except ImportError, e:
except ImportError as e:
self.prb.Solver = SolverLU
self.sigma = np.ones(mesh.nCz)*1e-8
@@ -59,7 +67,7 @@ class TDEM_bDerivTests(unittest.TestCase):
h = 0.01
derChk = lambda m: [self.prb._AhVec(m, f).tovec(), lambda mx: self.prb.Gvec(sigma, mx, u=f).tovec()]
print '\ntest_DerivG'
print('\ntest_DerivG')
Tests.checkDerivative(derChk, sigma, plotIt=False, dx=dm, num=4, eps=1e-20)
def test_Deriv_dUdM(self):
@@ -73,8 +81,8 @@ class TDEM_bDerivTests(unittest.TestCase):
f = prb.fields(sigma)
derChk = lambda m: [self.prb.fields(m).tovec(), lambda mx: -prb.solveAh(sigma, prb.Gvec(sigma, mx, u=f)).tovec()]
print '\n'
print 'test_Deriv_dUdM'
print('\n')
print('test_Deriv_dUdM')
Tests.checkDerivative(derChk, sigma, plotIt=False, dx=dm, num=4, eps=1e-20)
def test_Deriv_J(self):
@@ -89,8 +97,8 @@ class TDEM_bDerivTests(unittest.TestCase):
derChk = lambda m: [prb.survey.dpred(m), lambda mx: prb.Jvec(sigma, mx)]
print '\n'
print 'test_Deriv_J'
print('\n')
print('test_Deriv_J')
Tests.checkDerivative(derChk, sigma, plotIt=False, dx=d_sig, num=4, eps=1e-20)
def test_projectAdjoint(self):
@@ -111,7 +119,7 @@ class TDEM_bDerivTests(unittest.TestCase):
V1 = d_vec.dot(survey.evalDeriv(None, v=f).tovec())
V2 = np.sum((f.tovec())*(survey.evalDeriv(None, v=d, adjoint=True).tovec()))
self.assertTrue((V1-V2)/np.abs(V1) < 1e-6)
self.assertTrue(old_div((V1-V2),np.abs(V1)) < 1e-6)
def test_adjointGvecVsGtvec(self):
mesh = self.mesh
@@ -132,7 +140,7 @@ class TDEM_bDerivTests(unittest.TestCase):
V1 = m.dot(prb.Gtvec(sigma, v, u))
V2 = np.sum(v.tovec()*prb.Gvec(sigma, m, u).tovec())
self.assertTrue(np.abs(V1-V2)/np.abs(V1) <1e-6)
self.assertTrue(old_div(np.abs(V1-V2),np.abs(V1)) <1e-6)
def test_adjointJvecVsJtvec(self):
mesh = self.mesh
@@ -144,8 +152,8 @@ class TDEM_bDerivTests(unittest.TestCase):
V1 = d.dot(prb.Jvec(sigma, m))
V2 = m.dot(prb.Jtvec(sigma, d))
print 'AdjointTest', V1, V2
self.assertTrue(np.abs(V1-V2)/np.abs(V1) < 1e-6)
print('AdjointTest', V1, V2)
self.assertTrue(old_div(np.abs(V1-V2),np.abs(V1)) < 1e-6)
+11 -3
View File
@@ -1,3 +1,11 @@
from __future__ import print_function
from __future__ import division
from __future__ import unicode_literals
from __future__ import absolute_import
from future import standard_library
standard_library.install_aliases()
from builtins import range
from past.utils import old_div
import unittest
from SimPEG import *
from SimPEG import EM
@@ -34,7 +42,7 @@ def getProb(meshType='CYL',rxTypes='bx,bz',nSrc=1):
try:
from pymatsolver import MumpsSolver
prb.Solver = MumpsSolver
except ImportError, e:
except ImportError as e:
prb.Solver = SolverLU
sigma = np.ones(mesh.nCz)*1e-8
@@ -57,8 +65,8 @@ def dotestAdjoint(prb, mesh, sigma):
V1 = d.dot(prb.Jvec(sigma, m))
V2 = m.dot(prb.Jtvec(sigma, d))
print 'AdjointTest', V1, V2
return np.abs(V1-V2)/np.abs(V1), 1e-6
print('AdjointTest', V1, V2)
return old_div(np.abs(V1-V2),np.abs(V1)), 1e-6
class TDEM_bDerivTests(unittest.TestCase):
+10 -3
View File
@@ -1,3 +1,10 @@
from __future__ import print_function
from __future__ import division
from __future__ import unicode_literals
from __future__ import absolute_import
from future import standard_library
standard_library.install_aliases()
from past.utils import old_div
import unittest
from SimPEG import *
from SimPEG import EM
@@ -6,7 +13,7 @@ import matplotlib.pyplot as plt
try:
from pymatsolver import MumpsSolver
except ImportError, e:
except ImportError as e:
MumpsSolver = SolverLU
@@ -49,8 +56,8 @@ def halfSpaceProblemAnaDiff(meshType, sig_half=1e-2, rxOffset=50., bounds=None,
bz_calc = survey.dpred(sigma)
ind = np.logical_and(rx.times > bounds[0],rx.times < bounds[1])
log10diff = np.linalg.norm(np.log10(np.abs(bz_calc[ind])) - np.log10(np.abs(bz_ana[ind])))/np.linalg.norm(np.log10(np.abs(bz_ana[ind])))
print 'Difference: ', log10diff
log10diff = old_div(np.linalg.norm(np.log10(np.abs(bz_calc[ind])) - np.log10(np.abs(bz_ana[ind]))),np.linalg.norm(np.log10(np.abs(bz_ana[ind]))))
print('Difference: ', log10diff)
if showIt == True:
plt.loglog(rx.times[bz_calc>0], bz_calc[bz_calc>0], 'r', rx.times[bz_calc<0], -bz_calc[bz_calc<0], 'r--')