18 constexpr 
unsigned int GEOMETRIC_MAP_IDX = 0;
    19 constexpr 
unsigned int ALGEBRAIC_MAP_IDX = 1;
    27   params.
addParam<std::vector<processor_id_type>>(
"pids", 
"The PID(s) to see the ghosting for");
    32   params.
addClassDescription(
"Creates ghosting maps that can be queried by external objects.");
    38     _mesh(_subproblem.
mesh()),
    39     _nl(_fe_problem.getNonlinearSystemBase(_sys.number()))
    63   for (
auto & map_ref : 
_maps)
    64     for (
auto pid_map_pair : map_ref)
    65       pid_map_pair.second.clear();
    67   for (
auto pid : 
_pids)
    69     auto begin_elem = 
_mesh.
getMesh().active_pid_elements_begin(pid);
    70     const auto end_elem = 
_mesh.
getMesh().active_pid_elements_end(pid);
    77       (*gf)(begin_elem, end_elem, pid, geometric_elems);
    78     _maps[GEOMETRIC_MAP_IDX].emplace(pid, geometric_elems);
    85       (*gf)(begin_elem, end_elem, pid, algebraic_elems);
    88       (*gf)(begin_elem, end_elem, pid, algebraic_elems);
    89     _maps[ALGEBRAIC_MAP_IDX].emplace(pid, algebraic_elems);
   101   auto map_it = 
_maps[map_idx].find(pid);
   102   if (map_it == 
_maps[map_idx].end())
   103     mooseError(
"No entry in the ghosting map for processor ID: ", pid);
   105   auto map_ref = map_it->second;
   106   if (map_ref.find(elem) != map_ref.end())
 
std::vector< std::unordered_map< processor_id_type, libMesh::GhostingFunctor::map_type > > _maps
Ghost Functor maps Dimension one: Map type (Geometric, Algebraic) Dimension two: Proc ID -> Map Dimen...
 
A MultiMooseEnum object to hold "execute_on" flags. 
 
std::vector< processor_id_type > _pids
The PID to show the ghosting for. 
 
RelationshipManagerType
Main types of Relationship Managers. 
 
const T & getParam(const std::string &name) const
Retrieve a parameter for the object. 
 
static InputParameters validParams()
 
GhostingFunctorIterator algebraic_ghosting_functors_begin() const
 
const InputParameters & parameters() const
Get the parameters of the object. 
 
virtual void initialSetup() override
Gets called at the beginning of the simulation before this object is asked to do its job...
 
Real getElementalValue(const Elem *elem, Moose::RelationshipManagerType rm_type, processor_id_type pid) const
 
std::map< const Elem *, const CouplingMatrix *, CompareDofObjectsByPIDAndThenID > map_type
 
GhostingFunctorIterator algebraic_ghosting_functors_end() const
 
This object loops over all of the underlying ghosting functors added by libMesh or MOOSE through Rela...
 
uint8_t processor_id_type
 
virtual libMesh::DofMap & dofMap()
Gets writeable reference to the dof map. 
 
processor_id_type n_processors() const
 
MeshBase & getMesh()
Accessor for the underlying libMesh Mesh object. 
 
SimpleRange< IndexType > as_range(const std::pair< IndexType, IndexType > &p)
 
GhostingUserObject(const InputParameters ¶meters)
 
MooseApp & _app
The MOOSE application this is associated with. 
 
virtual void meshChanged() override
Called on this object when the mesh changes. 
 
NonlinearSystemBase & _nl
 
GhostingFunctorIterator coupling_functors_end() const
 
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
 
static InputParameters validParams()
 
void mooseError(Args &&... args) const
Emits an error prefixed with object name and type and optionally a file path to the top-level block p...
 
registerMooseObject("MooseApp", GhostingUserObject)
 
GhostingFunctorIterator coupling_functors_begin() const
 
const ExecFlagType EXEC_INITIAL