11#include "libmesh/elem.h"
22 "_elem_map",
"Element to element augmentation map");
38std::unique_ptr<GhostingFunctor>
63 std::ostringstream oss;
64 oss <<
"AugmentSparsityBetweenElements";
75 for (
const auto & elem :
as_range(range_begin, range_end))
80 for (
auto & coupled_elem_id : it->second)
83 if (coupled_elem->processor_id() !=
p)
84 coupled_elements.insert(std::make_pair(coupled_elem, null_mat));
registerMooseObject("ThermalHydraulicsApp", AugmentSparsityBetweenElements)
Relationship manager to add ghosting between elements.
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
const std::map< dof_id_type, std::vector< dof_id_type > > & _elem_map
Map of element ghosting. Element IDs linked to list of element IDs that they are connected to.
AugmentSparsityBetweenElements(const InputParameters &)
virtual void internalInitWithMesh(const MeshBase &) override
virtual void mesh_reinit() override
virtual void redistribute() override
static InputParameters validParams()
virtual bool operator>=(const RelationshipManager &rhs) const override
std::string getInfo() const override
virtual std::unique_ptr< GhostingFunctor > clone() const override
virtual Elem * elemPtr(const dof_id_type i)
virtual bool baseGreaterEqual(const RelationshipManager &rhs) const
static InputParameters validParams()
std::map< const Elem *, const CouplingMatrix *, CompareDofObjectsByPIDAndThenID > map_type
virtual void mesh_reinit()
The following methods are specializations for using the Parallel::packed_range_* routines for a vecto...
SimpleRange< IndexType > as_range(const std::pair< IndexType, IndexType > &p)
uint8_t processor_id_type