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>
64 template <
class LocalOrdinal,
class GlobalOrdinal,
class Node>
66 Input(currentLevel,
"Graph");
70 template <
class LocalOrdinal,
class GlobalOrdinal,
class Node>
75 RCP<Aggregates> aggregates;
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);
Container class for aggregation information.
void Build(Level ¤tLevel) const
Build aggregates.
LocalAggregationAlgorithm algo1_
Algorithms.
CoupledAggregationFactory()
Constructor.
void DeclareInput(Level ¤tLevel) const
Input.
LeftoverAggregationAlgorithm algo2_
Exception throws to report errors in the internal logical of the program.
Timer to be used in factories. Similar to Monitor but with additional timers.
void Input(Level &level, const std::string &varName) const
T Get(Level &level, const std::string &varName) const
void Set(Level &level, const std::string &varName, const T &data) const
Class that holds all level-specific information.
Teuchos::FancyOStream & GetOStream(MsgType type, int thisProcRankOnly=0) const
Get an output stream for outputting the input message type.
bool IsPrint(MsgType type, int thisProcRankOnly=-1) const
Find out whether we need to print out information for a specific message type.
Namespace for MueLu classes and methods.
@ Statistics0
Print statistics that do not involve significant additional computation.