46 #ifndef MUELU_COUPLEDAGGREGATIONCOMMHELPER_DECL_HPP
47 #define MUELU_COUPLEDAGGREGATIONCOMMHELPER_DECL_HPP
58 #include "MueLu_Aggregates.hpp"
69 template <
class LocalOrdinal =
int,
class GlobalOrdinal = LocalOrdinal,
class Node = KokkosClassic::DefaultNode::DefaultNodeType>
73 #undef MUELU_COUPLEDAGGREGATIONCOMMHELPER_SHORT
184 void ArbitrateAndCommunicate(Vector &weight, LOVector &procWinner, LOMultiVector *companion,
const bool perturb)
const;
246 #define MUELU_COUPLEDAGGREGATIONCOMMHELPER_SHORT
247 #endif // MUELU_COUPLEDAGGREGATIONCOMMHELPER_DECL_HPP
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_
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.