diff --git a/meshmode/mesh/processing.py b/meshmode/mesh/processing.py index 1c23fbc0a4d84df9b5bb5f972d558bf97b54955d..9e03f25316e04f00d8c8a8c685c63a43b106774c 100644 --- a/meshmode/mesh/processing.py +++ b/meshmode/mesh/processing.py @@ -1646,8 +1646,7 @@ def remove_unused_vertices(mesh: Mesh) -> Mesh: new_vertex_indices = np.cumsum(used_flags, dtype=mesh.vertex_id_dtype) - 1 new_vertex_indices[~used_flags] = -1 - return replace( - mesh, + return mesh.copy( vertices=mesh.vertices[:, used_flags], groups=tuple( replace(grp, vertex_indices=new_vertex_indices[grp.vertex_indices]) diff --git a/test/test_mesh.py b/test/test_mesh.py index 6b0d4c87fb8cf4475452f886d350e9c09eccb742..c471e0951251896fbe957dcbf515afbb1cb7fdf9 100644 --- a/test/test_mesh.py +++ b/test/test_mesh.py @@ -267,8 +267,7 @@ def test_remove_unused_vertices(): assert mesh.vertices is not None - mesh2 = replace( - mesh, + mesh2 = mesh.copy( vertices=np.concatenate([np.zeros((3, 1)), mesh.vertices], axis=1), groups=tuple( replace( diff --git a/test/test_meshmode.py b/test/test_meshmode.py index 526e7a2ee267b2a678fdf85fe77acab66d019854..f264b6462966dfea0cbe56ca889ed8e0465224a0 100644 --- a/test/test_meshmode.py +++ b/test/test_meshmode.py @@ -889,7 +889,7 @@ def test_mesh_without_vertices(actx_factory): groups = [ replace(grp, nodes=grp.nodes, vertex_indices=None) for grp in mesh.groups] - mesh = make_mesh(None, groups, is_conforming=False) + mesh = make_mesh(None, groups, is_conforming=None) # try refining it from meshmode.mesh.refinement import refine_uniformly