17#include "libmesh/elem.h"
18#include "libmesh/mesh_base.h"
19#include "libmesh/boundary_info.h"
29 params.
set<
bool>(
"attach_geometric_early") =
false;
40 return "GhostEverything";
49 if (std::distance(range_begin, range_end) == 0)
54 for (
const Elem *
const elem :
_mesh->active_element_ptr_range())
55 if (elem->processor_id() != p)
56 coupled_elements.emplace(elem, null_mat);
65std::unique_ptr<GhostingFunctor>
registerMooseObject("MooseApp", GhostEverything)
GhostEverything(const InputParameters &)
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.
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
std::unique_ptr< GhostingFunctor > clone() const override
static InputParameters validParams()
Factory & getFactory()
Retrieve a writable reference to the Factory associated with this App.
MooseApp & _app
The MOOSE application this is associated with.
RelationshipManagers are used for describing what kinds of non-local resources are needed for an obje...
virtual bool baseGreaterEqual(const RelationshipManager &rhs) const
Whether the base class provides more or the same amount and type of ghosting as the rhs.
static InputParameters validParams()
std::map< const Elem *, const CouplingMatrix *, CompareDofObjectsByPIDAndThenID > map_type
The following methods are specializations for using the libMesh::Parallel::packed_range_* routines fo...
uint8_t processor_id_type