|
MueLu
Version of the Day
|
Handle leftover nodes. Try to avoid singleton nodes
#include <MueLu_AggregationPhase3Algorithm_decl.hpp>
Public Member Functions | |
| std::string | description () const |
| Return a simple one-line description of this object. More... | |
Public Member Functions inherited from MueLu::AggregationAlgorithmBase< LocalOrdinal, GlobalOrdinal, Node > | |
| virtual | ~AggregationAlgorithmBase () |
| Destructor. More... | |
| virtual void | SetupPhase (const ParameterList ¶ms, Teuchos::RCP< const Teuchos::Comm< int >> &comm, LO &numLocalNodes, LO &numNonAggregatedNodes) |
| virtual void | BuildAggregatesNonKokkos (const Teuchos::ParameterList ¶ms, const LWGraphHostType &graph, Aggregates &aggregates, AggStatHostType &aggStat, LO &numNonAggregatedNodes) const =0 |
| BuildAggregatesNonKokkos routine. More... | |
| virtual void | BuildAggregates (const Teuchos::ParameterList ¶ms, const LWGraphType &graph, Aggregates &aggregates, AggStatType &aggStat, LO &numNonAggregatedNodes) const =0 |
| BuildAggregates routine. More... | |
Public Member Functions inherited from MueLu::BaseClass | |
| virtual | ~BaseClass () |
| Destructor. More... | |
Public Member Functions inherited from MueLu::VerboseObject | |
| 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... | |
Public Member Functions inherited from Teuchos::VerboseObject< VerboseObject > | |
| VerboseObject (const EVerbosityLevel verbLevel=VERB_DEFAULT, const RCP< FancyOStream > &oStream=Teuchos::null) | |
| virtual const VerboseObject & | setVerbLevel (const EVerbosityLevel verbLevel) const |
| virtual const VerboseObject & | setOverridingVerbLevel (const EVerbosityLevel verbLevel) const |
| virtual EVerbosityLevel | getVerbLevel () const |
| TEUCHOSPARAMETERLIST_LIB_DLL_EXPORT RCP< const ParameterList > | getValidVerboseObjectSublist () |
| TEUCHOSPARAMETERLIST_LIB_DLL_EXPORT void | setupVerboseObjectSublist (ParameterList *paramList) |
| TEUCHOSPARAMETERLIST_LIB_DLL_EXPORT void | readVerboseObjectSublist (ParameterList *paramList, RCP< FancyOStream > *oStream, EVerbosityLevel *verbLevel) |
| void | readVerboseObjectSublist (ParameterList *paramList, VerboseObject< ObjectType > *verboseObject) |
Public Member Functions inherited from Teuchos::VerboseObjectBase | |
| virtual | ~VerboseObjectBase () |
| VerboseObjectBase (const RCP< FancyOStream > &oStream=Teuchos::null) | |
| virtual const VerboseObjectBase & | setOStream (const RCP< FancyOStream > &oStream) const |
| virtual const VerboseObjectBase & | setOverridingOStream (const RCP< FancyOStream > &oStream) const |
| virtual VerboseObjectBase & | setLinePrefix (const std::string &linePrefix) |
| virtual RCP< FancyOStream > | getOStream () const |
| virtual RCP< FancyOStream > | getOverridingOStream () const |
| virtual std::string | getLinePrefix () const |
| virtual OSTab | getOSTab (const int tabs=1, const std::string &linePrefix="") const |
Public Member Functions inherited from MueLu::Describable | |
| 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... | |
Public Member Functions inherited from Teuchos::Describable | |
| void | describe (std::ostream &out, const EVerbosityLevel verbLevel=verbLevel_default) const |
| LabeledObject () | |
| virtual | ~LabeledObject () |
| virtual void | setObjectLabel (const std::string &objectLabel) |
| virtual std::string | getObjectLabel () const |
| DescribableStreamManipulatorState | describe (const Describable &describable, const EVerbosityLevel verbLevel=Describable::verbLevel_default) |
| std::ostream & | operator<< (std::ostream &os, const DescribableStreamManipulatorState &d) |
Constructors/Destructors. | |
| AggregationPhase3Algorithm (const RCP< const FactoryBase > &=Teuchos::null) | |
| Constructor. More... | |
| virtual | ~AggregationPhase3Algorithm () |
| Destructor. More... | |
Aggregation methods. | |
| void | BuildAggregatesNonKokkos (const ParameterList ¶ms, const LWGraph &graph, Aggregates &aggregates, typename AggregationAlgorithmBase< LocalOrdinal, GlobalOrdinal, Node >::AggStatHostType &aggStat, LO &numNonAggregatedNodes) const |
| Local aggregation. More... | |
| void | BuildAggregates (const ParameterList ¶ms, const LWGraph_kokkos &graph, Aggregates &aggregates, typename AggregationAlgorithmBase< LocalOrdinal, GlobalOrdinal, Node >::AggStatType &aggStat, LO &numNonAggregatedNodes) const |
| void | BuildAggregatesRandom (const ParameterList ¶ms, const LWGraph_kokkos &graph, Aggregates &aggregates, typename AggregationAlgorithmBase< LocalOrdinal, GlobalOrdinal, Node >::AggStatType &aggStat, LO &numNonAggregatedNodes) const |
Additional Inherited Members | |
Public Types inherited from MueLu::AggregationAlgorithmBase< LocalOrdinal, GlobalOrdinal, Node > | |
| using | LWGraphHostType = LWGraph |
| using | AggStatHostType = Kokkos::View< unsigned *, typename LWGraphHostType::device_type > |
| using | LWGraphType = LWGraph_kokkos |
| using | AggStatType = Kokkos::View< unsigned *, typename LWGraphType::device_type > |
Static Public Member Functions inherited from MueLu::VerboseObject | |
| static void | SetMueLuOStream (const Teuchos::RCP< Teuchos::FancyOStream > &mueluOStream) |
| static void | SetMueLuOFileStream (const std::string &filename) |
| static Teuchos::RCP < Teuchos::FancyOStream > | GetMueLuOStream () |
| static void | SetDefaultVerbLevel (const VerbLevel defaultVerbLevel) |
| Set the default (global) verbosity level. More... | |
| static VerbLevel | GetDefaultVerbLevel () |
| Get the default (global) verbosity level. More... | |
Static Public Member Functions inherited from Teuchos::VerboseObject< VerboseObject > | |
| static void | setDefaultVerbLevel (const EVerbosityLevel defaultVerbLevel) |
| static EVerbosityLevel | getDefaultVerbLevel () |
Static Public Member Functions inherited from Teuchos::VerboseObjectBase | |
| static void | setDefaultOStream (const RCP< FancyOStream > &defaultOStream) |
| static RCP< FancyOStream > | getDefaultOStream () |
Static Public Attributes inherited from Teuchos::Describable | |
| static const EVerbosityLevel | verbLevel_default |
Protected Member Functions inherited from Teuchos::VerboseObject< VerboseObject > | |
| void | initializeVerboseObject (const EVerbosityLevel verbLevel=VERB_DEFAULT, const RCP< FancyOStream > &oStream=Teuchos::null) |
Protected Member Functions inherited from Teuchos::VerboseObjectBase | |
| void | initializeVerboseObjectBase (const RCP< FancyOStream > &oStream=Teuchos::null) |
| virtual void | informUpdatedVerbosityState () const |
Handle leftover nodes. Try to avoid singleton nodes
In phase 3 we try to stick unaggregated nodes into a neighboring aggregate. We try to avoid singletons: we first try to build a new aggregate containing all neighboring non-aggregated nodes. If we cannot build a new aggregate, we add the non-aggregated node to the first adjacent aggregate. Only if there is no adjacent aggregate, we create a singleton node aggregate.
Only nodes with state READY are changed to AGGREGATED.
Definition at line 42 of file MueLu_AggregationPhase3Algorithm_decl.hpp.
|
inline |
Constructor.
Definition at line 51 of file MueLu_AggregationPhase3Algorithm_decl.hpp.
|
inlinevirtual |
Destructor.
Definition at line 54 of file MueLu_AggregationPhase3Algorithm_decl.hpp.
| void MueLu::AggregationPhase3Algorithm< LocalOrdinal, GlobalOrdinal, Node >::BuildAggregatesNonKokkos | ( | const ParameterList & | params, |
| const LWGraph & | graph, | ||
| Aggregates & | aggregates, | ||
| typename AggregationAlgorithmBase< LocalOrdinal, GlobalOrdinal, Node >::AggStatHostType & | aggStat, | ||
| LO & | numNonAggregatedNodes | ||
| ) | const |
Local aggregation.
Definition at line 30 of file MueLu_AggregationPhase3Algorithm_def.hpp.
| void MueLu::AggregationPhase3Algorithm< LocalOrdinal, GlobalOrdinal, Node >::BuildAggregates | ( | const ParameterList & | params, |
| const LWGraph_kokkos & | graph, | ||
| Aggregates & | aggregates, | ||
| typename AggregationAlgorithmBase< LocalOrdinal, GlobalOrdinal, Node >::AggStatType & | aggStat, | ||
| LO & | numNonAggregatedNodes | ||
| ) | const |
Definition at line 172 of file MueLu_AggregationPhase3Algorithm_def.hpp.
| void MueLu::AggregationPhase3Algorithm< LocalOrdinal, GlobalOrdinal, Node >::BuildAggregatesRandom | ( | const ParameterList & | params, |
| const LWGraph_kokkos & | graph, | ||
| Aggregates & | aggregates, | ||
| typename AggregationAlgorithmBase< LocalOrdinal, GlobalOrdinal, Node >::AggStatType & | aggStat, | ||
| LO & | numNonAggregatedNodes | ||
| ) | const |
Definition at line 191 of file MueLu_AggregationPhase3Algorithm_def.hpp.
|
inlinevirtual |
Return a simple one-line description of this object.
Reimplemented from MueLu::Describable.
Definition at line 78 of file MueLu_AggregationPhase3Algorithm_decl.hpp.