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);
94 Set(currentLevel,
"Aggregates", aggregates);
97 aggregates->describe(GetOStream(
Statistics0), getVerbLevel());
104 #endif // MUELU_COUPLEDAGGREGATIONFACTORY_DEF_HPP Container class for aggregation information.
Timer to be used in factories. Similar to Monitor but with additional timers.
Namespace for MueLu classes and methods.
Print statistics that do not involve significant additional computation.
Class that holds all level-specific information.
void Build(Level ¤tLevel) const
Build aggregates.
CoupledAggregationFactory()
Constructor.
Exception throws to report errors in the internal logical of the program.
void DeclareInput(Level ¤tLevel) const
Input.