mirror of
https://github.com/wassname/simpeg.git
synced 2026-07-05 17:55:39 +08:00
updates to number of edges in the z direction
This commit is contained in:
+26
-1
@@ -61,6 +61,31 @@ class CylMesh(BaseTensorMesh):
|
||||
nNx = self.nNx if self.nCy == 1 else self.nNx - 1
|
||||
return np.r_[nNx, self.nCy, self.nNz]
|
||||
|
||||
@property
|
||||
def vnEz(self):
|
||||
"""
|
||||
Number of z-edges in each direction
|
||||
|
||||
:rtype: numpy.array (dim, )
|
||||
:return: vnEz or None if nCy > 1
|
||||
"""
|
||||
if self.nCy == 1:
|
||||
return np.r_[self.nNx, self.nNy, self.nCz]
|
||||
else:
|
||||
return None
|
||||
|
||||
@property
|
||||
def nEz(self):
|
||||
"""
|
||||
Number of z-edges
|
||||
|
||||
:rtype: int
|
||||
:return: nEz
|
||||
"""
|
||||
if self.nCy == 1:
|
||||
return self.vnEz.prod()
|
||||
return (np.r_[self.nNx-1, self.nNy, self.nCz]).prod() + self.nCz
|
||||
|
||||
@property
|
||||
def vectorCCx(self):
|
||||
"""Cell-centered grid vector (1D) in the x direction."""
|
||||
@@ -116,7 +141,7 @@ class CylMesh(BaseTensorMesh):
|
||||
if self.nCy > 1:
|
||||
raise NotImplementedError('vol not yet implemented for 3D cyl mesh')
|
||||
az = pi*(self.vectorNx**2 - np.r_[0, self.vectorNx[:-1]]**2)
|
||||
self._vol = np.kron(self.hz,az)
|
||||
self._vol = np.kron(self.hz, az)
|
||||
return self._vol
|
||||
|
||||
####################################################
|
||||
|
||||
@@ -216,10 +216,10 @@ class TestCyl3DMesh(unittest.TestCase):
|
||||
self.assertTrue(np.all(self.mesh.vnEx == [3, 2, 3]))
|
||||
self.assertTrue(self.mesh.nEy == 18)
|
||||
self.assertTrue(np.all(self.mesh.vnEy == [3, 2, 3]))
|
||||
# self.assertTrue(self.mesh.nEz == 0)
|
||||
# self.assertTrue(np.all(self.mesh.vnEz == [3, 0, 2]))
|
||||
# self.assertTrue(self.mesh.nE == 9)
|
||||
# self.assertTrue(np.all(self.mesh.vnE == [0, 9, 0]))
|
||||
self.assertTrue(self.mesh.nEz == 12 + 2)
|
||||
self.assertTrue(self.mesh.vnEz is None)
|
||||
self.assertTrue(self.mesh.nE == 50)
|
||||
self.assertTrue(np.all(self.mesh.vnE == [18, 18, 14]))
|
||||
|
||||
def test_vectorsCC(self):
|
||||
v = np.r_[0.5, 1.5, 2.25]
|
||||
|
||||
Reference in New Issue
Block a user