From fa683194eaba187a535eaa227dff1381f8b5bf83 Mon Sep 17 00:00:00 2001 From: rowanc1 Date: Fri, 16 May 2014 19:53:27 -0700 Subject: [PATCH] more tests for tensor mesh --- SimPEG/Mesh/TensorMesh.py | 21 --------------------- SimPEG/Tests/test_tensorMesh.py | 31 +++++++++++++++++++++++++++++++ 2 files changed, 31 insertions(+), 21 deletions(-) diff --git a/SimPEG/Mesh/TensorMesh.py b/SimPEG/Mesh/TensorMesh.py index 2dff9b0a..41e670d5 100644 --- a/SimPEG/Mesh/TensorMesh.py +++ b/SimPEG/Mesh/TensorMesh.py @@ -577,24 +577,3 @@ class TensorMesh(BaseTensorMesh, TensorView, DiffOperators, InnerProducts): indzd = (self.gridCC[:,2]==min(self.gridCC[:,2])) indzu = (self.gridCC[:,2]==max(self.gridCC[:,2])) return indxd, indxu, indyd, indyu, indzd, indzu - - - - -if __name__ == '__main__': - print('Welcome to tensor mesh!') - - testDim = 1 - h1 = 0.3*np.ones(7) - h1[0] = 0.5 - h1[-1] = 0.6 - h2 = .5 * np.ones(4) - h3 = .4 * np.ones(6) - - h = [h1, h2, h3] - h = h[:testDim] - - M = TensorMesh(h) - print M - - xn = M.plotGrid() diff --git a/SimPEG/Tests/test_tensorMesh.py b/SimPEG/Tests/test_tensorMesh.py index 3e3286e5..b9335164 100644 --- a/SimPEG/Tests/test_tensorMesh.py +++ b/SimPEG/Tests/test_tensorMesh.py @@ -4,6 +4,7 @@ from SimPEG.Mesh import TensorMesh from TestUtils import OrderTest from SimPEG import Solver +TOL = 1e-10 class BasicTensorMeshTests(unittest.TestCase): @@ -60,6 +61,36 @@ class BasicTensorMeshTests(unittest.TestCase): M = TensorMesh([hx]) self.assertTrue(M.nC == 1) + def test_printing(self): + print TensorMesh([10]) + print TensorMesh([10,10]) + print TensorMesh([10,10,10]) + + def test_centering(self): + M1d = TensorMesh([10], 'C') + M2d = TensorMesh([10,10], 'CC') + M3d = TensorMesh([10,10,10], 'CCC') + self.assertLess(np.abs(M1d.x0 + 0.5).sum(), TOL) + self.assertLess(np.abs(M2d.x0 + 0.5).sum(), TOL) + self.assertLess(np.abs(M3d.x0 + 0.5).sum(), TOL) + + def test_negative(self): + M1d = TensorMesh([10], 'N') + self.assertRaises(Exception, TensorMesh, [10], 'F') + M2d = TensorMesh([10,10], 'NN') + M3d = TensorMesh([10,10,10], 'NNN') + self.assertLess(np.abs(M1d.x0 + 1.0).sum(), TOL) + self.assertLess(np.abs(M2d.x0 + 1.0).sum(), TOL) + self.assertLess(np.abs(M3d.x0 + 1.0).sum(), TOL) + + def test_cent_neg(self): + M3d = TensorMesh([10,10,10], 'C0N') + self.assertLess(np.abs(M3d.x0 + np.r_[0.5,0,1.0]).sum(), TOL) + + def test_tensor(self): + M = TensorMesh([[(10.,2)]]) + self.assertLess(np.abs(M.hx - np.r_[10.,10.]).sum(), TOL) + class TestPoissonEqn(OrderTest): name = "Poisson Equation" meshSizes = [10, 16, 20]