def test_extrude_rotate(): p = pygalmesh.Polygon2D([[-0.5, -0.3], [0.5, -0.3], [0.0, 0.5]]) edge_size = 0.1 domain = pygalmesh.Extrude(p, [0.0, 0.0, 1.0], 0.5 * 3.14159265359, edge_size) pygalmesh.generate_mesh(domain, 'out.mesh', cell_size=0.1, edge_size=edge_size, verbose=False) vertices, cells, _, _, _ = meshio.read('out.mesh') tol = 1.0e-3 assert abs(max(vertices[:, 0]) - 0.583012701892) < tol assert abs(min(vertices[:, 0]) + 0.5) < tol assert abs(max(vertices[:, 1]) - 0.5) < tol assert abs(min(vertices[:, 1]) + 0.583012701892) < tol assert abs(max(vertices[:, 2]) - 1.0) < tol assert abs(min(vertices[:, 2]) + 0.0) < tol vol = sum(compute_volumes(vertices, cells['tetra'])) assert abs(vol - 0.4) < 0.05 return
def test_extrude(): p = pygalmesh.Polygon2D([[-0.5, -0.3], [0.5, -0.3], [0.0, 0.5]]) domain = pygalmesh.Extrude(p, [0.0, 0.3, 1.0]) mesh = pygalmesh.generate_mesh(domain, cell_size=0.1, edge_size=0.1, verbose=False) tol = 1.0e-3 assert abs(max(mesh.points[:, 0]) - 0.5) < tol assert abs(min(mesh.points[:, 0]) + 0.5) < tol assert abs(max(mesh.points[:, 1]) - 0.8) < tol assert abs(min(mesh.points[:, 1]) + 0.3) < tol assert abs(max(mesh.points[:, 2]) - 1.0) < tol assert abs(min(mesh.points[:, 2]) + 0.0) < tol vol = sum(helpers.compute_volumes(mesh.points, mesh.cells["tetra"])) assert abs(vol - 0.4) < tol return
def test_extrude_rotate(): p = pygalmesh.Polygon2D([[-0.5, -0.3], [0.5, -0.3], [0.0, 0.5]]) edge_size = 0.1 domain = pygalmesh.Extrude(p, [0.0, 0.0, 1.0], 0.5 * 3.14159265359, edge_size) mesh = pygalmesh.generate_mesh( domain, cell_size=0.1, edge_size=edge_size, verbose=False ) tol = 1.0e-3 assert abs(max(mesh.points[:, 0]) - 0.583012701892) < tol assert abs(min(mesh.points[:, 0]) + 0.5) < tol assert abs(max(mesh.points[:, 1]) - 0.5) < tol assert abs(min(mesh.points[:, 1]) + 0.583012701892) < tol assert abs(max(mesh.points[:, 2]) - 1.0) < tol assert abs(min(mesh.points[:, 2]) + 0.0) < tol vol = sum(helpers.compute_volumes(mesh.points, mesh.cells["tetra"])) assert abs(vol - 0.4) < 0.05 return
def test_extrude(): p = pygalmesh.Polygon2D([[-0.5, -0.3], [0.5, -0.3], [0.0, 0.5]]) domain = pygalmesh.Extrude(p, [0.0, 0.3, 1.0]) mesh = pygalmesh.generate_mesh(domain, cell_size=0.1, edge_size=0.1, verbose=False) tol = 1.0e-3 assert abs(max(mesh.points[:, 0]) - 0.5) < tol assert abs(min(mesh.points[:, 0]) + 0.5) < tol assert abs(max(mesh.points[:, 1]) - 0.8) < tol assert abs(min(mesh.points[:, 1]) + 0.3) < tol # Relax tolerance for debian, see <https://github.com/nschloe/pygalmesh/pull/47> assert abs(max(mesh.points[:, 2]) - 1.0) < 1.1e-3 assert abs(min(mesh.points[:, 2]) + 0.0) < tol vol = sum(helpers.compute_volumes(mesh.points, mesh.cells["tetra"])) assert abs(vol - 0.4) < tol return
def test_extrude(): p = pygalmesh.Polygon2D([[-0.5, -0.3], [0.5, -0.3], [0.0, 0.5]]) domain = pygalmesh.Extrude(p, [0.0, 0.3, 1.0]) pygalmesh.generate_mesh(domain, 'out.mesh', cell_size=0.1, edge_size=0.1, verbose=False) vertices, cells, _, _, _ = meshio.read('out.mesh') tol = 1.0e-3 assert abs(max(vertices[:, 0]) - 0.5) < tol assert abs(min(vertices[:, 0]) + 0.5) < tol assert abs(max(vertices[:, 1]) - 0.8) < tol assert abs(min(vertices[:, 1]) + 0.3) < tol assert abs(max(vertices[:, 2]) - 1.0) < tol assert abs(min(vertices[:, 2]) + 0.0) < tol vol = sum(compute_volumes(vertices, cells['tetra'])) assert abs(vol - 0.4) < tol return