11 #include "libmesh/elem.h" 22 "_elem_map",
"Element to element augmentation map");
38 std::unique_ptr<GhostingFunctor>
63 std::ostringstream oss;
64 oss <<
"AugmentSparsityBetweenElements";
70 const MeshBase::const_element_iterator & range_end,
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));
virtual void mesh_reinit()
static InputParameters validParams()
virtual bool operator>=(const RelationshipManager &rhs) const override
std::string getInfo() const override
virtual Elem * elemPtr(const dof_id_type i)
std::map< const Elem *, const CouplingMatrix *, CompareDofObjectsByPIDAndThenID > map_type
virtual void internalInitWithMesh(const MeshBase &) override
The following methods are specializations for using the Parallel::packed_range_* routines for a vecto...
uint8_t processor_id_type
registerMooseObject("ThermalHydraulicsApp", AugmentSparsityBetweenElements)
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...
SimpleRange< IndexType > as_range(const std::pair< IndexType, IndexType > &p)
AugmentSparsityBetweenElements(const InputParameters &)
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
virtual bool baseGreaterEqual(const RelationshipManager &rhs) const
virtual void redistribute() override
static InputParameters validParams()
virtual std::unique_ptr< GhostingFunctor > clone() const override
Relationship manager to add ghosting between elements.
virtual void mesh_reinit() override