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.
void DeclareInput(Level ¤tLevel) const
Input.
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.