As mentioned here, the name argument passed to amesh = animate.adapt.adapt(mesh, metric, name="adapted_mesh") should also modify the PETSc DM topology representation name of the adapted mesh, which is currently automatically set to something like DM_0x84000003_1 which can cause issues during checkpointing. The easy solution to this is to set newplex.name = self.name + '_topology' in L78 in animate.adapt.adapted_mesh. Then amesh.topology_dm.name is "adapted_mesh_topology" and the mesh is checkpointed under the path topologies/adapted_mesh_topology.
As mentioned here, the
name
argument passed toamesh = animate.adapt.adapt(mesh, metric, name="adapted_mesh")
should also modify the PETSc DM topology representation name of the adapted mesh, which is currently automatically set to something like DM_0x84000003_1 which can cause issues during checkpointing. The easy solution to this is to setnewplex.name = self.name + '_topology'
in L78 inanimate.adapt.adapted_mesh
. Thenamesh.topology_dm.name
is"adapted_mesh_topology"
and the mesh is checkpointed under the pathtopologies/adapted_mesh_topology
.