One blue-sky idea is this:

We currently have different EquationSystems corresponding to the different
meshes. These EquationSystems object typically contain two Systems, a
non-linear and an auxiliary. Conceptually the reference and displaced
Systems should have the same data in their vectors...we currently do work
to make sure they are synced over the course of our computation. Perhaps we
should just have a single EquationSystems object...and then we wouldn't
have to worry about maintaining consistent ghosting between reference and
displaced vectors because we would just have the one set of vectors.

This is attractive to me conceptually, but this would require an overhaul
of the MOOSE code base.


On Wed, Mar 20, 2019 at 5:45 PM Alexander Lindsay <alexlindsay...@gmail.com>
wrote:

> 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