20#ifndef LIBMESH_GHOST_POINT_NEIGHBORS_H
21#define LIBMESH_GHOST_POINT_NEIGHBORS_H
24#include "libmesh/ghosting_functor.h"
31#ifdef LIBMESH_ENABLE_PERIODIC
32class PeriodicBoundaries;
52#ifdef LIBMESH_ENABLE_PERIODIC
63#ifdef LIBMESH_ENABLE_PERIODIC
76 virtual std::unique_ptr<GhostingFunctor>
clone ()
const override
77 {
return std::make_unique<GhostPointNeighbors>(*
this); }
79#ifdef LIBMESH_ENABLE_PERIODIC
105 map_type & coupled_elements)
override;
108#ifdef LIBMESH_ENABLE_PERIODIC
This class implements the original default geometry ghosting requirements in libMesh: point neighbors...
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, find their point neighbors and interior_parent elements,...
virtual GhostPointNeighbors(const MeshBase &mesh) void redistribute() override
Constructor.
virtual void delete_remote_elements() override
GhostingFunctor subclasses with relatively long-lasting caches may want to delete the no-longer-relev...
const PeriodicBoundaries * _periodic_bcs
This abstract base class defines the interface by which library code and user code can report associa...
virtual std::unique_ptr< GhostingFunctor > clone() const =0
A clone() is needed because GhostingFunctor can not be shared between different meshes.
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?
virtual void set_periodic_boundaries(const PeriodicBoundaries *)
virtual void mesh_reinit()
GhostingFunctor subclasses which cache data will need to initialize that cache.
GhostingFunctor()
Constructor.
This is the MeshBase class.
We're using a class instead of a typedef to allow forward declarations and future flexibility.
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.