mirror of
https://github.com/wassname/simpeg.git
synced 2026-07-13 17:45:30 +08:00
bug fixes in TreeMesh
This commit is contained in:
@@ -19,7 +19,7 @@ class InnerProducts(object):
|
||||
:rtype: scipy.csr_matrix
|
||||
:return: M, the inner product matrix (nF, nF)
|
||||
"""
|
||||
return self._getInnerProduct('F', prop=prop, invProp=invProp, invMat=invMat, doFast=True)
|
||||
return self._getInnerProduct('F', prop=prop, invProp=invProp, invMat=invMat, doFast=doFast)
|
||||
|
||||
def getEdgeInnerProduct(self, prop=None, invProp=False, invMat=False, doFast=True):
|
||||
"""
|
||||
@@ -30,7 +30,7 @@ class InnerProducts(object):
|
||||
:rtype: scipy.csr_matrix
|
||||
:return: M, the inner product matrix (nE, nE)
|
||||
"""
|
||||
return self._getInnerProduct('E', prop=prop, invProp=invProp, invMat=invMat)
|
||||
return self._getInnerProduct('E', prop=prop, invProp=invProp, invMat=invMat, doFast=doFast)
|
||||
|
||||
def _getInnerProduct(self, projType, prop=None, invProp=False, invMat=False, doFast=True):
|
||||
"""
|
||||
@@ -43,11 +43,10 @@ class InnerProducts(object):
|
||||
:return: M, the inner product matrix (nE, nE)
|
||||
"""
|
||||
assert projType in ['F', 'E'], "projType must be 'F' for faces or 'E' for edges"
|
||||
fast = None
|
||||
|
||||
fast = None
|
||||
if hasattr(self, '_fastInnerProduct') and doFast:
|
||||
fast = self._fastInnerProduct(projType, prop=prop, invProp=invProp, invMat=invMat)
|
||||
|
||||
if fast is not None:
|
||||
return fast
|
||||
|
||||
|
||||
+30
-22
@@ -1022,31 +1022,39 @@ class TreeMesh(InnerProducts, BaseMesh):
|
||||
V += [1./lenj]*lenj
|
||||
return sp.csr_matrix((V,(I,J)), shape=(self.nC, self.nE))
|
||||
|
||||
def _getFacePxx(self, xFace, yFace):
|
||||
self.number()
|
||||
xP = self._getFaceP(xFace, yFace, None)
|
||||
yP = self._getFaceP(yFace, xFace, None)
|
||||
return sp.vstack((xP, yP))
|
||||
def _getFacePxx(self):
|
||||
def Pxx(xFace, yFace):
|
||||
self.number()
|
||||
xP = self._getFaceP(xFace, yFace, None)
|
||||
yP = self._getFaceP(yFace, xFace, None)
|
||||
return sp.vstack((xP, yP))
|
||||
return Pxx
|
||||
|
||||
def _getEdgePxx(self, xEdge, yEdge):
|
||||
self.number()
|
||||
xP = self._getEdgeP(xEdge, yEdge, None)
|
||||
yP = self._getEdgeP(yEdge, xEdge, None)
|
||||
return sp.vstack((xP, yP))
|
||||
def _getEdgePxx(self):
|
||||
def Pxx(xEdge, yEdge):
|
||||
self.number()
|
||||
xP = self._getEdgeP(xEdge, yEdge, None)
|
||||
yP = self._getEdgeP(yEdge, xEdge, None)
|
||||
return sp.vstack((xP, yP))
|
||||
return Pxx
|
||||
|
||||
def _getFacePxxx(self, xFace, yFace, zFace):
|
||||
self.number()
|
||||
xP = self._getFaceP(xFace, yFace, zFace)
|
||||
yP = self._getFaceP(yFace, xFace, zFace)
|
||||
zP = self._getFaceP(zFace, xFace, yFace)
|
||||
return sp.vstack((xP, yP, zP))
|
||||
def _getFacePxxx(self):
|
||||
def Pxxx(xFace, yFace, zFace):
|
||||
self.number()
|
||||
xP = self._getFaceP(xFace, yFace, zFace)
|
||||
yP = self._getFaceP(yFace, xFace, zFace)
|
||||
zP = self._getFaceP(zFace, xFace, yFace)
|
||||
return sp.vstack((xP, yP, zP))
|
||||
return Pxxx
|
||||
|
||||
def _getEdgePxxx(self, xEdge, yEdge, zEdge):
|
||||
self.number()
|
||||
xP = self._getEdgeP(xEdge, yEdge, zEdge)
|
||||
yP = self._getEdgeP(yEdge, xEdge, zEdge)
|
||||
zP = self._getEdgeP(zEdge, xEdge, yEdge)
|
||||
return sp.vstack((xP, yP, zP))
|
||||
def _getEdgePxxx(self):
|
||||
def Pxxx(xEdge, yEdge, zEdge):
|
||||
self.number()
|
||||
xP = self._getEdgeP(xEdge, yEdge, zEdge)
|
||||
yP = self._getEdgeP(yEdge, xEdge, zEdge)
|
||||
zP = self._getEdgeP(zEdge, xEdge, yEdge)
|
||||
return sp.vstack((xP, yP, zP))
|
||||
return Pxxx
|
||||
|
||||
def plotGrid(self, ax=None, text=False, centers=False, faces=False, edges=False, lines=True, nodes=False, showIt=False):
|
||||
self.number()
|
||||
|
||||
Reference in New Issue
Block a user