On Thu, 20 Apr 2017, David Knezevic wrote: > The context here is that I'm using DofConstraintRows to connect > non-conforming elements together, like a mortar method.
"like a mortar method" may be an overstatement here. IIRC one big advantage of mortar methods is that you can preserve conservation while still not worrying about "locking", since the connection between sides is only weakly enforced; if you enforce exact constraint equations then you have to be careful about how. > In this case we have slave nodes on one surface that are constrained > in terms of master nodes on the other surfaces. These master/slave > surfaces are not neighboring (in the elem->neighbor sense), so I > assumed that I had to using the GhostingFunctor stuff to make sure > everything gets allocated properly, but I gather from your comments > that that is not necessary (at least "in theory"), right? > > I will try removing the GhostingFunctor stuff for this "mortar" app > and see if that breaks anything. On a ReplicatedMesh you should be fine. That change will break on a DistributedMesh - after you set the constraints, the DofMap will distribute the dependencies... but without the GhostingFunctor (or manually setting the paired elements to not be remoted), by the time you're ready to check which dofs are constrained, the elements they live on will have been remoted and it'll be too late. The PeriodicBoundary code now handles both ghosting and constraint construction, but it also relies on your coarse sides all matching precisely. I'd like to write a more "general" class to make that sort of combined ghosting+constraint code easier for other uses too, but I fear I can't imagine enough different types of use case, so whatever I could write now would inevitably miss some capability. --- Roy ------------------------------------------------------------------------------ Check out the vibrant tech community on one of the world's most engaging tech sites, Slashdot.org! http://sdm.link/slashdot _______________________________________________ Libmesh-users mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/libmesh-users
