46 #ifndef MUELU_LEFTOVERAGGREGATIONALGORITHM_DECL_HPP 47 #define MUELU_LEFTOVERAGGREGATIONALGORITHM_DECL_HPP 49 #include <Xpetra_Vector_fwd.hpp> 50 #include <Xpetra_VectorFactory_fwd.hpp> 63 template <
class LocalOrdinal =
int,
class GlobalOrdinal = LocalOrdinal,
class Node = KokkosClassic::DefaultNode::DefaultNodeType>
65 #undef MUELU_LEFTOVERAGGREGATIONALGORITHM_SHORT 99 #define MUELU_NOSCORE -100 104 #define MUELU_DISTONE_VERTEX_WEIGHT 100 108 #define INCR_SCALING 3 119 #define MUELU_PENALTYFACTOR .30 301 void RootCandidates(my_size_t nVertices, ArrayView<const LO> & vertex2AggId, GraphBase
const &graph,
302 ArrayRCP<LO> &candidates, my_size_t &nCandidates, global_size_t &nCandidatesGlobal)
const;
328 #define MUELU_LEFTOVERAGGREGATIONALGORITHM_SHORT 329 #endif // MUELU_LEFTOVERAGGREGATIONALGORITHM_DECL_HPP
void RootCandidates(my_size_t nVertices, ArrayView< const LO > &vertex2AggId, GraphBase const &graph, ArrayRCP< LO > &candidates, my_size_t &nCandidates, global_size_t &nCandidatesGlobal) const
Build a list of candidate root nodes.
void SetPhase3AggCreation(double phase3AggCreation)
double phase3AggCreation_
void SetMinNodesPerAggregate(int minNodesPerAggregate)
void AggregateLeftovers(GraphBase const &graph, Aggregates &aggregates) const
Take a partially aggregated graph and complete the aggregation.
Namespace for MueLu classes and methods.
int GetMinNodesPerAggregate() const
Helper class for providing arbitrated communication across processors.
Base class for MueLu classes.
int RemoveSmallAggs(Aggregates &aggregates, int min_size, RCP< Xpetra::Vector< double, LO, GO, NO > > &distWeights, const MueLu::CoupledAggregationCommHelper< LO, GO, NO > &myWidget) const
Attempt to clean up aggregates that are too small.
int minNodesPerAggregate_
LeftoverAggregationAlgorithm()
Constructor.
double GetPhase3AggCreation() const
virtual ~LeftoverAggregationAlgorithm()
Destructor.