From be90cc48d2dcdaf98ac2d5f1cdaa692d0e06820a Mon Sep 17 00:00:00 2001 From: rowanc1 Date: Thu, 16 Jan 2014 15:46:17 -0800 Subject: [PATCH] Removed mesh.n as it is the same as mesh.nCv --- SimPEG/Mesh/BaseMesh.py | 34 +++++++++++++------------- SimPEG/Mesh/DiffOperators.py | 32 ++++++++++++------------ SimPEG/Mesh/LogicallyOrthogonalMesh.py | 24 +++++++++--------- SimPEG/Mesh/TensorMesh.py | 4 +-- SimPEG/Tests/test_basemesh.py | 14 +++++------ 5 files changed, 54 insertions(+), 54 deletions(-) diff --git a/SimPEG/Mesh/BaseMesh.py b/SimPEG/Mesh/BaseMesh.py index f034aa5f..7b656697 100644 --- a/SimPEG/Mesh/BaseMesh.py +++ b/SimPEG/Mesh/BaseMesh.py @@ -96,7 +96,7 @@ class BaseMesh(object): def switchKernal(xx): """Switches over the different options.""" if xType in ['CC', 'N']: - nn = (self.n) if xType == 'CC' else (self.n+1) + nn = (self._n) if xType == 'CC' else (self._n+1) assert xx.size == np.prod(nn), "Number of elements must not change." return outKernal(xx, nn) elif xType in ['F', 'E']: @@ -147,16 +147,16 @@ class BaseMesh(object): else: return switchKernal(x) - def n(): - doc = """ - Number of Cells in each dimension (array of integers) + # def n(): + # doc = """ + # Number of Cells in each dimension (array of integers) - :rtype: numpy.array - :return: n - """ - fget = lambda self: self._n - return locals() - n = property(**n()) + # :rtype: numpy.array + # :return: n + # """ + # fget = lambda self: self._n + # return locals() + # n = property(**n()) def dim(): doc = """ @@ -176,7 +176,7 @@ class BaseMesh(object): :rtype: int :return: nCx """ - fget = lambda self: self.n[0] + fget = lambda self: self._n[0] return locals() nCx = property(**nCx()) @@ -190,7 +190,7 @@ class BaseMesh(object): def fget(self): if self.dim > 1: - return self.n[1] + return self._n[1] else: return None return locals() @@ -205,7 +205,7 @@ class BaseMesh(object): def fget(self): if self.dim > 2: - return self.n[2] + return self._n[2] else: return None return locals() @@ -224,7 +224,7 @@ class BaseMesh(object): import numpy as np TensorMesh([np.ones(n) for n in [2,3]]).plotGrid(centers=True,showIt=True) """ - fget = lambda self: np.prod(self.n) + fget = lambda self: np.prod(self._n) return locals() nC = property(**nC()) @@ -260,7 +260,7 @@ class BaseMesh(object): def fget(self): if self.dim > 1: - return self.n[1] + 1 + return self._n[1] + 1 else: return None return locals() @@ -276,7 +276,7 @@ class BaseMesh(object): def fget(self): if self.dim > 2: - return self.n[2] + 1 + return self._n[2] + 1 else: return None return locals() @@ -295,7 +295,7 @@ class BaseMesh(object): import numpy as np TensorMesh([np.ones(n) for n in [2,3]]).plotGrid(nodes=True,showIt=True) """ - fget = lambda self: np.prod(self.n + 1) + fget = lambda self: np.prod(self.nCv + 1) return locals() nN = property(**nN()) diff --git a/SimPEG/Mesh/DiffOperators.py b/SimPEG/Mesh/DiffOperators.py index 1e8c1ccb..978f964b 100644 --- a/SimPEG/Mesh/DiffOperators.py +++ b/SimPEG/Mesh/DiffOperators.py @@ -129,7 +129,7 @@ class DiffOperators(object): def fget(self): if(self._faceDiv is None): # The number of cell centers in each direction - n = self.n + n = self.nCv # Compute faceDivergence operator on faces if(self.dim == 1): D = ddx(n[0]) @@ -158,7 +158,7 @@ class DiffOperators(object): def fget(self): if(self._faceDivx is None): # The number of cell centers in each direction - n = self.n + n = self.nCv # Compute faceDivergence operator on faces if(self.dim == 1): D1 = ddx(n[0]) @@ -183,7 +183,7 @@ class DiffOperators(object): if(self.dim < 2): return None if(self._faceDivy is None): # The number of cell centers in each direction - n = self.n + n = self.nCv # Compute faceDivergence operator on faces if(self.dim == 2): D2 = sp.kron(ddx(n[1]), speye(n[0])) @@ -225,7 +225,7 @@ class DiffOperators(object): def fget(self): if(self._nodalGrad is None): # The number of cell centers in each direction - n = self.n + n = self.nCv # Compute divergence operator on faces if(self.dim == 1): G = ddx(n[0]) @@ -253,7 +253,7 @@ class DiffOperators(object): if(self._nodalLaplacian is None): print 'Warning: Laplacian has not been tested rigorously.' # The number of cell centers in each direction - n = self.n + n = self.nCv # Compute divergence operator on faces if(self.dim == 1): D1 = sdiag(1./self.hx) * ddx(mesh.nCx) @@ -291,7 +291,7 @@ class DiffOperators(object): """ if(type(BC) is str): - BC = [BC for _ in self.n] # Repeat the str self.dim times + BC = [BC for _ in self.nCv] # Repeat the str self.dim times elif(type(BC) is list): assert len(BC) == self.dim, 'BC list must be the size of your mesh' else: @@ -313,7 +313,7 @@ class DiffOperators(object): def fget(self): if(self._cellGrad is None): BC = self.setCellGradBC(self._cellGradBC_list) - n = self.n + n = self.nCv if(self.dim == 1): G = ddxCellGrad(n[0], BC[0]) elif(self.dim == 2): @@ -340,7 +340,7 @@ class DiffOperators(object): def fget(self): if(self._cellGradBC is None): BC = self.setCellGradBC(self._cellGradBC_list) - n = self.n + n = self.nCv if(self.dim == 1): G = ddxCellGradBC(n[0], BC[0]) elif(self.dim == 2): @@ -367,7 +367,7 @@ class DiffOperators(object): def fget(self): if getattr(self, '_cellGradx', None) is None: BC = ['neumann', 'neumann'] - n = self.n + n = self.nCv if(self.dim == 1): G1 = ddxCellGrad(n[0], BC) elif(self.dim == 2): @@ -388,7 +388,7 @@ class DiffOperators(object): if self.dim < 2: return None if getattr(self, '_cellGrady', None) is None: BC = ['neumann', 'neumann'] - n = self.n + n = self.nCv if(self.dim == 2): G2 = sp.kron(ddxCellGrad(n[1], BC), speye(n[0])) elif(self.dim == 3): @@ -466,7 +466,7 @@ class DiffOperators(object): def fget(self): if(self._aveF2CC is None): - n = self.n + n = self.nCv if(self.dim == 1): self._aveF2CC = av(n[0]) elif(self.dim == 2): @@ -486,7 +486,7 @@ class DiffOperators(object): def fget(self): if(self._aveCC2F is None): - n = self.n + n = self.nCv if(self.dim == 1): self._aveCC2F = avExtrap(n[0]) elif(self.dim == 2): @@ -507,7 +507,7 @@ class DiffOperators(object): def fget(self): if(self._aveE2CC is None): # The number of cell centers in each direction - n = self.n + n = self.nCv if(self.dim == 1): raise Exception('Edge Averaging does not make sense in 1D: Use Identity?') elif(self.dim == 2): @@ -528,7 +528,7 @@ class DiffOperators(object): def fget(self): if(self._aveN2CC is None): # The number of cell centers in each direction - n = self.n + n = self.nCv if(self.dim == 1): self._aveN2CC = av(n[0]) elif(self.dim == 2): @@ -546,7 +546,7 @@ class DiffOperators(object): def fget(self): if(self._aveN2E is None): # The number of cell centers in each direction - n = self.n + n = self.nCv if(self.dim == 1): self._aveN2E = av(n[0]) elif(self.dim == 2): @@ -567,7 +567,7 @@ class DiffOperators(object): def fget(self): if(self._aveN2F is None): # The number of cell centers in each direction - n = self.n + n = self.nCv if(self.dim == 1): self._aveN2F = av(n[0]) elif(self.dim == 2): diff --git a/SimPEG/Mesh/LogicallyOrthogonalMesh.py b/SimPEG/Mesh/LogicallyOrthogonalMesh.py index a0495630..dca59026 100644 --- a/SimPEG/Mesh/LogicallyOrthogonalMesh.py +++ b/SimPEG/Mesh/LogicallyOrthogonalMesh.py @@ -194,13 +194,13 @@ class LogicallyOrthogonalMesh(BaseMesh, DiffOperators, InnerProducts, LomView): def fget(self): if(self._vol is None): if self.dim == 2: - A, B, C, D = Utils.indexCube('ABCD', self.n+1) + A, B, C, D = Utils.indexCube('ABCD', self.nCv+1) normal, area = Utils.faceInfo(np.c_[self.gridN, np.zeros((self.nN, 1))], A, B, C, D) self._vol = area elif self.dim == 3: # Each polyhedron can be decomposed into 5 tetrahedrons # However, this presents a choice so we may as well divide in two ways and average. - A, B, C, D, E, F, G, H = Utils.indexCube('ABCDEFGH', self.n+1) + A, B, C, D, E, F, G, H = Utils.indexCube('ABCDEFGH', self.nCv+1) vol1 = (Utils.volTetra(self.gridN, A, B, D, E) + # cutted edge top Utils.volTetra(self.gridN, B, E, F, G) + # cutted edge top @@ -228,11 +228,11 @@ class LogicallyOrthogonalMesh(BaseMesh, DiffOperators, InnerProducts, LomView): # Compute areas of cell faces if(self.dim == 2): xy = self.gridN - A, B = Utils.indexCube('AB', self.n+1, np.array([self.nNx, self.nCy])) + A, B = Utils.indexCube('AB', self.nCv+1, np.array([self.nNx, self.nCy])) edge1 = xy[B, :] - xy[A, :] normal1 = np.c_[edge1[:, 1], -edge1[:, 0]] area1 = length2D(edge1) - A, D = Utils.indexCube('AD', self.n+1, np.array([self.nCx, self.nNy])) + A, D = Utils.indexCube('AD', self.nCv+1, np.array([self.nCx, self.nNy])) # Note that we are doing A-D to make sure the normal points the right way. # Think about it. Look at the picture. Normal points towards C iff you do this. edge2 = xy[A, :] - xy[D, :] @@ -242,13 +242,13 @@ class LogicallyOrthogonalMesh(BaseMesh, DiffOperators, InnerProducts, LomView): self._normals = [normalize2D(normal1), normalize2D(normal2)] elif(self.dim == 3): - A, E, F, B = Utils.indexCube('AEFB', self.n+1, np.array([self.nNx, self.nCy, self.nCz])) + A, E, F, B = Utils.indexCube('AEFB', self.nCv+1, np.array([self.nNx, self.nCy, self.nCz])) normal1, area1 = Utils.faceInfo(self.gridN, A, E, F, B, average=False, normalizeNormals=False) - A, D, H, E = Utils.indexCube('ADHE', self.n+1, np.array([self.nCx, self.nNy, self.nCz])) + A, D, H, E = Utils.indexCube('ADHE', self.nCv+1, np.array([self.nCx, self.nNy, self.nCz])) normal2, area2 = Utils.faceInfo(self.gridN, A, D, H, E, average=False, normalizeNormals=False) - A, B, C, D = Utils.indexCube('ABCD', self.n+1, np.array([self.nCx, self.nCy, self.nNz])) + A, B, C, D = Utils.indexCube('ABCD', self.nCv+1, np.array([self.nCx, self.nCy, self.nNz])) normal3, area3 = Utils.faceInfo(self.gridN, A, B, C, D, average=False, normalizeNormals=False) self._area = np.r_[Utils.mkvc(area1), Utils.mkvc(area2), Utils.mkvc(area3)] @@ -291,19 +291,19 @@ class LogicallyOrthogonalMesh(BaseMesh, DiffOperators, InnerProducts, LomView): if(self._edge is None or self._tangents is None): if(self.dim == 2): xy = self.gridN - A, D = Utils.indexCube('AD', self.n+1, np.array([self.nCx, self.nNy])) + A, D = Utils.indexCube('AD', self.nCv+1, np.array([self.nCx, self.nNy])) edge1 = xy[D, :] - xy[A, :] - A, B = Utils.indexCube('AB', self.n+1, np.array([self.nNx, self.nCy])) + A, B = Utils.indexCube('AB', self.nCv+1, np.array([self.nNx, self.nCy])) edge2 = xy[B, :] - xy[A, :] self._edge = np.r_[Utils.mkvc(length2D(edge1)), Utils.mkvc(length2D(edge2))] self._tangents = np.r_[edge1, edge2]/np.c_[self._edge, self._edge] elif(self.dim == 3): xyz = self.gridN - A, D = Utils.indexCube('AD', self.n+1, np.array([self.nCx, self.nNy, self.nNz])) + A, D = Utils.indexCube('AD', self.nCv+1, np.array([self.nCx, self.nNy, self.nNz])) edge1 = xyz[D, :] - xyz[A, :] - A, B = Utils.indexCube('AB', self.n+1, np.array([self.nNx, self.nCy, self.nNz])) + A, B = Utils.indexCube('AB', self.nCv+1, np.array([self.nNx, self.nCy, self.nNz])) edge2 = xyz[B, :] - xyz[A, :] - A, E = Utils.indexCube('AE', self.n+1, np.array([self.nNx, self.nNy, self.nCz])) + A, E = Utils.indexCube('AE', self.nCv+1, np.array([self.nNx, self.nNy, self.nCz])) edge3 = xyz[E, :] - xyz[A, :] self._edge = np.r_[Utils.mkvc(length3D(edge1)), Utils.mkvc(length3D(edge2)), Utils.mkvc(length3D(edge3))] self._tangents = np.r_[edge1, edge2, edge3]/np.c_[self._edge, self._edge, self._edge] diff --git a/SimPEG/Mesh/TensorMesh.py b/SimPEG/Mesh/TensorMesh.py index 544ec716..441cb234 100644 --- a/SimPEG/Mesh/TensorMesh.py +++ b/SimPEG/Mesh/TensorMesh.py @@ -282,7 +282,7 @@ class TensorMesh(BaseMesh, TensorView, DiffOperators, InnerProducts): # Ensure that we are working with column vectors vh = self.h # The number of cell centers in each direction - n = self.n + n = self.nCv # Compute areas of cell faces if(self.dim == 1): self._area = np.ones(n[0]+1) @@ -308,7 +308,7 @@ class TensorMesh(BaseMesh, TensorView, DiffOperators, InnerProducts): # Ensure that we are working with column vectors vh = self.h # The number of cell centers in each direction - n = self.n + n = self.nCv # Compute edge lengths if(self.dim == 1): self._edge = Utils.mkvc(vh[0]) diff --git a/SimPEG/Tests/test_basemesh.py b/SimPEG/Tests/test_basemesh.py index 835bd29e..75b67347 100644 --- a/SimPEG/Tests/test_basemesh.py +++ b/SimPEG/Tests/test_basemesh.py @@ -13,7 +13,7 @@ class TestBaseMesh(unittest.TestCase): self.assertTrue(self.mesh.dim, 3) def test_mesh_nc(self): - self.assertTrue(np.all(self.mesh.n == [6, 2, 3])) + self.assertTrue(np.all(self.mesh.nCv == [6, 2, 3])) def test_mesh_nc_xyz(self): x = np.all(self.mesh.nCx == 6) @@ -106,9 +106,9 @@ class TestBaseMesh(unittest.TestCase): g[:, 1] = 2 g[:, 2] = 3 Xc, Yc, Zc = self.mesh.r(g, 'CC', 'CC', 'M') - self.assertTrue(np.all(Xc.shape == self.mesh.n)) - self.assertTrue(np.all(Yc.shape == self.mesh.n)) - self.assertTrue(np.all(Zc.shape == self.mesh.n)) + self.assertTrue(np.all(Xc.shape == self.mesh.nCv)) + self.assertTrue(np.all(Yc.shape == self.mesh.nCv)) + self.assertTrue(np.all(Zc.shape == self.mesh.nCv)) self.assertTrue(np.all(Xc == 1)) self.assertTrue(np.all(Yc == 2)) self.assertTrue(np.all(Zc == 3)) @@ -123,7 +123,7 @@ class TestMeshNumbers2D(unittest.TestCase): self.assertTrue(self.mesh.dim, 2) def test_mesh_nc(self): - self.assertTrue(np.all(self.mesh.n == [6, 2])) + self.assertTrue(np.all(self.mesh.nCv == [6, 2])) def test_mesh_nc_xyz(self): x = np.all(self.mesh.nCx == 6) @@ -203,8 +203,8 @@ class TestMeshNumbers2D(unittest.TestCase): g = np.ones((self.mesh.nC, 2)) g[:, 1] = 2 Xc, Yc = self.mesh.r(g, 'CC', 'CC', 'M') - self.assertTrue(np.all(Xc.shape == self.mesh.n)) - self.assertTrue(np.all(Yc.shape == self.mesh.n)) + self.assertTrue(np.all(Xc.shape == self.mesh.nCv)) + self.assertTrue(np.all(Yc.shape == self.mesh.nCv)) self.assertTrue(np.all(Xc == 1)) self.assertTrue(np.all(Yc == 2))