In MOOSE we often have two meshes, a reference (un-displaced) and a
displaced mesh. We want to be able to sync ghosting between the two meshes.
Currently I am running into issues when I am running a displaced problem
with AMR.

I first call the reference EquationSystems::reinit which coarsens,
constricts the mesh, and then refines. Now when I call the displaced
EquationSystems::reinit, during coarsening we call DofMap::distribute_dofs
which calls through to our ghosting functors. We set up a proxy ghosting
functor which essentially loops over the ghosting functors and elements of
the reference mesh, determining what elements were ghosted on the reference
mesh **and then** ghosts the corresponding element IDs on the displaced
mesh. This works great except when we have AMR. The problem is that the
mesh constriction of the reference mesh has deleted its inactive elements
and then renumbered. We are calling distribute dofs on the displaced mesh
**before** we've done the same constriction, so we have an out-of-sync
correspondence between the reference and displaced element numbering.

Does anyone have a suggestion for a good solution here? What's the best way
to sync_ghosting()?

_______________________________________________
Libmesh-users mailing list
Libmesh-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/libmesh-users

Reply via email to