18#ifndef LIBMESH_NON_MANIFOLD_COUPLING_H
19#define LIBMESH_NON_MANIFOLD_COUPLING_H
22#include "libmesh/ghosting_functor.h"
23#include "libmesh/sides_to_elem_map.h"
85 virtual std::unique_ptr<GhostingFunctor>
clone ()
const override;
115 map_type & coupled_elements)
override;
This abstract base class defines the interface by which library code and user code can report associa...
std::map< const Elem *, const CouplingMatrix *, CompareDofObjectsByPIDAndThenID > map_type
What elements do we care about and what variables do we care about on each element?
This is the MeshBase class.
A GhostingFunctor subclass that uses a SidesToElemMap object to determine when Elem DOFs should be gh...
MeshTools::SidesToElemMap _stem
Quickly-searchable map from (elem, side) pair to list of connected Elems.
virtual void redistribute() override
When the Mesh is redistributed, we may need to update the information in the SidesToElemMap by removi...
virtual ~NonManifoldGhostingFunctor()=default
virtual void delete_remote_elements() override
When remote elements are deleted, we should remove them from the information in the SidesToElemMap.
virtual void operator()(const MeshBase::const_element_iterator &range_begin, const MeshBase::const_element_iterator &range_end, processor_id_type p, map_type &coupled_elements) override
For the specified range of active elements, query the SidesToElemMap and add all side neighbors to th...
NonManifoldGhostingFunctor & operator=(const NonManifoldGhostingFunctor &)=default
NonManifoldGhostingFunctor(NonManifoldGhostingFunctor &&)=default
NonManifoldGhostingFunctor(const NonManifoldGhostingFunctor &)=default
Special functions.
virtual std::unique_ptr< GhostingFunctor > clone() const override
clone() just calls the copy ctor.
virtual void mesh_reinit() override
If the Mesh changes, we'll need to clear the SidesToElemMap and recreate it, since all the neighbor i...
The libMesh namespace provides an interface to certain functionality in the library.
uint8_t processor_id_type
The definition of the const_element_iterator struct.