13#include "libmesh/mesh_base.h"
31 map_type & coupled_elements)
override;
33 virtual std::unique_ptr<libMesh::GhostingFunctor>
clone()
const override;
37 std::string
getInfo()
const override;
48 bool generating_mesh)
const;
boundary_id_type BoundaryID
Ghosts full-dimensional elements with sides on the primary boundary to processors that own full-dimen...
const BoundaryName _secondary_boundary_name
Secondary boundary whose local presence triggers primary boundary ghosting.
virtual void redistribute() override
const libMesh::CouplingMatrix *const _null_mat
null matrix for generating full variable coupling
const BoundaryName _primary_boundary_name
Primary boundary whose full-dimensional elements may be ghosted.
bool hasSecondaryBoundaryFace(const libMesh::MeshBase::const_element_iterator &range_begin, const libMesh::MeshBase::const_element_iterator &range_end, BoundaryID secondary_boundary_id, bool generating_mesh) const
Return whether the local element range contains a secondary boundary face.
std::string getInfo() const override
Method for returning relationship manager information (suitable for console output).
virtual bool operator>=(const RelationshipManager &other) const override
Whether this relationship manager provides more or the same amount and type of ghosting as the rhs.
static InputParameters validParams()
const bool _enabled
Whether this relationship manager should add ghosting entries.
virtual void internalInitWithMesh(const libMesh::MeshBase &) override
virtual void operator()(const libMesh::MeshBase::const_element_iterator &range_begin, const libMesh::MeshBase::const_element_iterator &range_end, libMesh::processor_id_type p, map_type &coupled_elements) override
virtual std::unique_ptr< libMesh::GhostingFunctor > clone() const override
RelationshipManagers are used for describing what kinds of non-local resources are needed for an obje...
std::map< const Elem *, const CouplingMatrix *, CompareDofObjectsByPIDAndThenID > map_type
virtual void mesh_reinit()
uint8_t processor_id_type