def runTest(self): m = MeshTri() fbasis1 = FacetBasis(m, ElementTriP1() * ElementTriP1(), facets=m.facets_satisfying(lambda x: x[0] == 0)) fbasis2 = FacetBasis(m, ElementTriP1(), facets=lambda x: x[0] == 0) fbasis3 = FacetBasis(m, ElementTriP1(), facets='left') @BilinearForm def uv1(u, p, v, q, w): return u * v + p * q @BilinearForm def uv2(u, v, w): return u * v A = asm(uv1, fbasis1) B = asm(uv2, fbasis2) C = asm(uv2, fbasis2) assert_allclose(A[0].todense()[0, ::2], B[0].todense()[0]) assert_allclose(A[0].todense()[0, ::2], C[0].todense()[0])
def runTest(self): # Mesh.remove_elements m = MeshTri() m.refine() M = m.remove_elements(np.array([0])) self.assertEqual(M.t.shape[1], 7) # Mesh.define_boundary m.define_boundary('foo', lambda x: x[0] == 0.) self.assertEqual(m.boundaries['foo'].size, 2) # Mesh.define_boundary (internal) m.define_boundary('bar', lambda x: x[0] == 1. / 2, boundaries_only=False) self.assertEqual(m.boundaries['bar'].size, 2) # Mesh.scale, Mesh.translate m = MeshHex() m.scale(0.5) m.translate((0.5, 0.5, 0.5)) self.assertGreater(np.min(m.p), 0.4999) # Mesh3D.facets_satisfying self.assertEqual(len(m.facets_satisfying(lambda x: x[0] == 0.5)), 1)
def runTest(self): # Mesh.remove m = MeshTri().refined() M = m.remove_elements(np.array([0])) self.assertEqual(M.t.shape[1], 7) # boundaries M = m.with_boundaries({ 'foo': lambda x: x[0] == 0., }) self.assertEqual(M.boundaries['foo'].size, 2) m = MeshHex().scaled(0.5).translated((0.5, 0.5, 0.5)) self.assertGreater(np.min(m.p), 0.4999) # Mesh3D.facets_satisfying self.assertEqual(len(m.facets_satisfying(lambda x: x[0] == 0.5)), 1)
def runTest(self): m = MeshTri() e = ElementTriArgyris() basis = InteriorBasis(m, e) all_dofs = basis.get_dofs() self.assertEqual(len(all_dofs.keep('u').nodal), 1) self.assertTrue('u' in all_dofs.keep('u').nodal) self.assertEqual(len(all_dofs.keep('u_n').facet), 1) self.assertEqual(len(all_dofs.drop('u').facet), 1) all_dofs = basis.dofs.get_facet_dofs(m.facets_satisfying(lambda x: 1)) self.assertEqual(len(all_dofs.keep('u_n').facet), 1) self.assertEqual(len(all_dofs.drop('u').facet), 1)