46 #ifndef MUELU_COUPLEDAGGREGATIONCOMMHELPER_DECL_HPP
47 #define MUELU_COUPLEDAGGREGATIONCOMMHELPER_DECL_HPP
49 #include <Xpetra_Import_fwd.hpp>
50 #include <Xpetra_ImportFactory_fwd.hpp>
51 #include <Xpetra_Vector_fwd.hpp>
52 #include <Xpetra_MultiVector_fwd.hpp>
58 #include "MueLu_Aggregates.hpp"
75 #undef MUELU_COUPLEDAGGREGATIONCOMMHELPER_SHORT
186 void ArbitrateAndCommunicate(Vector &weight, LOVector &procWinner, LOMultiVector *companion,
const bool perturb)
const;
208 void NonUnique2NonUnique(
const Vector &source, Vector &dest,
const Xpetra::CombineMode what)
const;
248 #define MUELU_COUPLEDAGGREGATIONCOMMHELPER_SHORT
249 #endif // MUELU_COUPLEDAGGREGATIONCOMMHELPER_DECL_HPP
MueLu::DefaultLocalOrdinal LocalOrdinal
KokkosClassic::DefaultNode::DefaultNodeType DefaultNode
const RCP< LOVector > & GetProcWinner() const
Returns constant vector that maps local node IDs to owning processor IDs.
Container class for aggregation information.
void NonUnique2NonUnique(const Vector &source, Vector &dest, const Xpetra::CombineMode what) const
Redistribute data in source to dest where both source and dest might have multiple copies of the same...
void ArbitrateAndCommunicate(Vector &weights, Aggregates &aggregates, const bool perturb) const
This method assigns unknowns to aggregates.
Helper class for providing arbitrated communication across processors.
RCP< const Import > import_
MueLu::DefaultGlobalOrdinal GlobalOrdinal
RCP< Import > pushWinners_
const RCP< LOMultiVector > & GetVertex2AggId() const
Returns constant vector that maps local node IDs to local aggregates IDs.
RCP< Vector > candidateWinners_
Base class for MueLu classes.
ArrayRCP< GO > myWinners_
CoupledAggregationCommHelper(const RCP< const Map > &uniqueMap, const RCP< const Map > &nonUniqueMap)
Constructor.
RCP< const Import > winnerImport_
~CoupledAggregationCommHelper()
Destructor.