Go to the documentation of this file.
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"
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;
206 void NonUnique2NonUnique(
const Vector &source, Vector &dest,
const Xpetra::CombineMode what)
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.
RCP< Import > pushWinners_
Namespace for MueLu classes and methods.
Base class for MueLu classes.
Helper class for providing arbitrated communication across processors.
RCP< Vector > candidateWinners_
const RCP< LOMultiVector > & GetVertex2AggId() const
Returns constant vector that maps local node IDs to local aggregates IDs.
CoupledAggregationCommHelper(const RCP< const Map > &uniqueMap, const RCP< const Map > &nonUniqueMap)
Constructor.
ArrayRCP< GO > myWinners_
Container class for aggregation information.
RCP< const Import > winnerImport_
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.
~CoupledAggregationCommHelper()
Destructor.
RCP< const Import > import_