46 #ifndef MUELU_COUPLEDAGGREGATIONFACTORY_DEF_HPP
47 #define MUELU_COUPLEDAGGREGATIONFACTORY_DEF_HPP
51 #include "MueLu_Graph.hpp"
52 #include "MueLu_Aggregates.hpp"
54 #include "MueLu_AmalgamationInfo.hpp"
58 template <
class LocalOrdinal,
class GlobalOrdinal,
class Node>
61 TEUCHOS_TEST_FOR_EXCEPTION(algo2_.GetMinNodesPerAggregate() != algo1_.GetMinNodesPerAggregate(),
Exceptions::RuntimeError,
"");
64 template <
class LocalOrdinal,
class GlobalOrdinal,
class Node>
66 Input(currentLevel,
"Graph");
70 template <
class LocalOrdinal,
class GlobalOrdinal,
class Node>
75 RCP<Aggregates> aggregates;
80 RCP<const GraphBase> graph = Get< RCP<GraphBase> >(currentLevel,
"Graph");
84 aggregates->setObjectLabel(
"UC");
86 algo1_.CoarsenUncoupled(*graph, *aggregates);
87 algo2_.AggregateLeftovers(*graph, *aggregates);
91 aggregates->AggregatesCrossProcessors(
true);
92 aggregates->ComputeAggregateSizes(
true);
95 Set(currentLevel,
"Aggregates", aggregates);
98 aggregates->describe(GetOStream(
Statistics0), getVerbLevel());
105 #endif // MUELU_COUPLEDAGGREGATIONFACTORY_DEF_HPP