MueLu
Version of the Day
|
Add leftovers to existing aggregates
#include <MueLu_AggregationPhase2bAlgorithm_decl.hpp>
Public Member Functions | |
std::string | description () const |
Return a simple one-line description of this object. More... | |
![]() | |
virtual | ~AggregationAlgorithmBase () |
Destructor. More... | |
virtual void | BuildAggregates (const Teuchos::ParameterList ¶ms, const GraphBase &graph, Aggregates &aggregates, std::vector< unsigned > &aggStat, LO &numNonAggregatedNodes) const =0 |
BuildAggregates routine. More... | |
![]() | |
virtual | ~BaseClass () |
Destructor. More... | |
![]() | |
VerbLevel | GetVerbLevel () const |
Get the verbosity level. More... | |
void | SetVerbLevel (const VerbLevel verbLevel) |
Set the verbosity level of this object. More... | |
int | GetProcRankVerbose () const |
Get proc rank used for printing. Do not use this information for any other purpose. More... | |
int | SetProcRankVerbose (int procRank) const |
Set proc rank used for printing. More... | |
bool | IsPrint (MsgType type, int thisProcRankOnly=-1) const |
Find out whether we need to print out information for a specific message type. More... | |
Teuchos::FancyOStream & | GetOStream (MsgType type, int thisProcRankOnly=0) const |
Get an output stream for outputting the input message type. More... | |
Teuchos::FancyOStream & | GetBlackHole () const |
VerboseObject () | |
virtual | ~VerboseObject () |
Destructor. More... | |
![]() | |
virtual | ~Describable () |
Destructor. More... | |
virtual std::string | ShortClassName () const |
Return the class name of the object, without template parameters and without namespace. More... | |
virtual void | describe (Teuchos::FancyOStream &out_arg, const VerbLevel verbLevel=Default) const |
void | describe (Teuchos::FancyOStream &out, const Teuchos::EVerbosityLevel verbLevel=Teuchos::Describable::verbLevel_default) const |
Print the object with some verbosity level to an FancyOStream object. More... | |
Constructors/Destructors. | |
AggregationPhase2bAlgorithm (const RCP< const FactoryBase > &graphFact=Teuchos::null) | |
Constructor. More... | |
virtual | ~AggregationPhase2bAlgorithm () |
Destructor. More... | |
Aggregation methods. | |
void | BuildAggregates (const ParameterList ¶ms, const GraphBase &graph, Aggregates &aggregates, std::vector< unsigned > &aggStat, LO &numNonAggregatedNodes) const |
Local aggregation. More... | |
Additional Inherited Members | |
![]() | |
static void | SetDefaultOStream (const Teuchos::RCP< Teuchos::FancyOStream > &defaultOStream) |
static Teuchos::RCP< Teuchos::FancyOStream > | GetDefaultOStream () |
static void | SetDefaultVerbLevel (const VerbLevel defaultVerbLevel) |
Set the default (global) verbosity level. More... | |
static VerbLevel | GetDefaultVerbLevel () |
Get the default (global) verbosity level. More... | |
Add leftovers to existing aggregates
In phase 2b non-aggregated nodes are added to existing aggregates. All neighbors of the unaggregated node are checked and the corresponding aggregate weight is increased. The unaggregated node is added to the aggregate with the best weight. A simple penalty strategy makes sure that the non-aggregated nodes are added to different aggregates. The routine runs twice to cover non-aggregate nodes which have a node distance of two to existing aggregates. Assuming that the node distance is not greater than 3 (the aggregate diameter size), running the algorithm only twice should be sufficient.
Only nodes with state READY are changed to AGGREGATED. There are no aggregation criteria considered. Especially the aggregation: max agg size criterion is ignored. This is not a problem, since after the previous aggregation phases one should not be able to build too large aggregates.
Definition at line 81 of file MueLu_AggregationPhase2bAlgorithm_decl.hpp.
|
inline |
Constructor.
Definition at line 91 of file MueLu_AggregationPhase2bAlgorithm_decl.hpp.
|
inlinevirtual |
Destructor.
Definition at line 94 of file MueLu_AggregationPhase2bAlgorithm_decl.hpp.
void MueLu::AggregationPhase2bAlgorithm< LocalOrdinal, GlobalOrdinal, Node >::BuildAggregates | ( | const ParameterList & | params, |
const GraphBase & | graph, | ||
Aggregates & | aggregates, | ||
std::vector< unsigned > & | aggStat, | ||
LO & | numNonAggregatedNodes | ||
) | const |
Local aggregation.
Definition at line 66 of file MueLu_AggregationPhase2bAlgorithm_def.hpp.
|
inlinevirtual |
Return a simple one-line description of this object.
Reimplemented from MueLu::Describable.
Definition at line 107 of file MueLu_AggregationPhase2bAlgorithm_decl.hpp.