10 #ifndef MUELU_AGGREGATIONPHASE2AALGORITHM_DECL_HPP_
11 #define MUELU_AGGREGATIONPHASE2AALGORITHM_DECL_HPP_
20 #include "MueLu_LWGraph.hpp"
49 #undef MUELU_AGGREGATIONPHASE2AALGORITHM_SHORT
75 LO& numNonAggregatedNodes)
const;
81 LO& numNonAggregatedNodes)
const;
87 LO& numNonAggregatedNodes)
const;
90 std::string
description()
const {
return "Phase 2a (secondary)"; }
95 #define MUELU_AGGREGATIONPHASE2AALGORITHM_SHORT
Kokkos::View< unsigned *, typename LWGraphHostType::device_type > AggStatHostType
MueLu::DefaultLocalOrdinal LocalOrdinal
void BuildAggregatesRandom(const Teuchos::ParameterList ¶ms, const LWGraph_kokkos &graph, Aggregates &aggregates, typename AggregationAlgorithmBase< LocalOrdinal, GlobalOrdinal, Node >::AggStatType &aggStat, LO &numNonAggregatedNodes) const
Lightweight MueLu representation of a compressed row storage graph.
Tpetra::KokkosClassic::DefaultNode::DefaultNodeType DefaultNode
Container class for aggregation information.
Pure virtual base class for all MueLu aggregation algorithms.
virtual ~AggregationPhase2aAlgorithm()
Destructor.
MueLu::DefaultGlobalOrdinal GlobalOrdinal
AggregationPhase2aAlgorithm(const RCP< const FactoryBase > &=Teuchos::null)
Constructor.
std::string description() const
Return a simple one-line description of this object.
Among unaggregated points, see if we can make a reasonable size aggregate out of it.IdeaAmong unaggregated points, see if we can make a reasonable size aggregate out of it. We do this by looking at neighbors and seeing how many are unaggregated and on my processor. Loosely, base the number of new aggregates created on the percentage of unaggregated nodes.
void BuildAggregatesDeterministic(const Teuchos::ParameterList ¶ms, const LWGraph_kokkos &graph, Aggregates &aggregates, typename AggregationAlgorithmBase< LocalOrdinal, GlobalOrdinal, Node >::AggStatType &aggStat, LO &numNonAggregatedNodes) const
Lightweight MueLu representation of a compressed row storage graph.
void BuildAggregatesNonKokkos(const ParameterList ¶ms, const LWGraph &graph, Aggregates &aggregates, typename AggregationAlgorithmBase< LocalOrdinal, GlobalOrdinal, Node >::AggStatHostType &aggStat, LO &numNonAggregatedNodes) const
Local aggregation.
void BuildAggregates(const Teuchos::ParameterList ¶ms, const LWGraph_kokkos &graph, Aggregates &aggregates, typename AggregationAlgorithmBase< LocalOrdinal, GlobalOrdinal, Node >::AggStatType &aggStat, LO &numNonAggregatedNodes) const
Kokkos::View< unsigned *, typename LWGraphType::device_type > AggStatType