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> 57 #include "MueLu_Aggregates.hpp" 68 template <
class LocalOrdinal =
int,
class GlobalOrdinal = LocalOrdinal,
class Node = KokkosClassic::DefaultNode::DefaultNodeType>
72 #undef MUELU_COUPLEDAGGREGATIONCOMMHELPER_SHORT 183 void ArbitrateAndCommunicate(Vector &weight, LOVector &procWinner, LOVector *companion,
const bool perturb)
const;
205 void NonUnique2NonUnique(
const Vector &source, Vector &dest,
const Xpetra::CombineMode what)
const;
245 #define MUELU_COUPLEDAGGREGATIONCOMMHELPER_SHORT 246 #endif // MUELU_COUPLEDAGGREGATIONCOMMHELPER_DECL_HPP Container class for aggregation information.
Namespace for MueLu classes and methods.
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...
Helper class for providing arbitrated communication across processors.
const RCP< LOVector > & GetVertex2AggId() const
Returns constant vector that maps local node IDs to local aggregates IDs.
RCP< const Import > import_
RCP< Import > pushWinners_
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_
const RCP< LOVector > & GetProcWinner() const
Returns constant vector that maps local node IDs to owning processor IDs.
void ArbitrateAndCommunicate(Vector &weights, Aggregates &aggregates, const bool perturb) const
This method assigns unknowns to aggregates.
~CoupledAggregationCommHelper()
Destructor.