def test_geometry(self): import numpy as nm from sfepy.linalg import get_face_areas a1 = get_face_areas([[0, 1, 2, 3]], [[0, 0], [1, 0], [1, 1], [0, 1]]) a2 = get_face_areas([[0, 1, 2, 3]], [[0, 0, 2], [1, 0, 2], [1, 1, 2], [0, 1, 2]]) ok = nm.allclose([a1, a2], [1, 1], rtol=0, atol=1e-15) return ok
def delete_zero_faces(self, eps=1e-14): """ Delete faces with zero area. """ from sfepy.linalg import get_face_areas fa = self.domain.fa for ig, faces in self.faces.iteritems(): fav = fa.facets[faces] areas = get_face_areas(fav, self.domain.mesh.coors) self.faces[ig] = faces[areas > eps]