MueLu Version of the Day
|
Base class for smoothers. More...
#include <MueLu_SmootherBase.hpp>
Public Types | |
typedef Scalar | scalar_type |
typedef LocalOrdinal | local_ordinal_type |
typedef GlobalOrdinal | global_ordinal_type |
typedef Node | node_type |
Public Member Functions | |
SmootherBase () | |
virtual | ~SmootherBase () |
![]() | |
virtual | ~BaseClass () |
Destructor. | |
![]() | |
VerboseObject () | |
virtual | ~VerboseObject () |
Destructor. | |
VerbLevel | GetVerbLevel () const |
Get the verbosity level. | |
void | SetVerbLevel (const VerbLevel verbLevel) |
Set the verbosity level of this object. | |
int | GetProcRankVerbose () const |
Get proc rank used for printing. Do not use this information for any other purpose. | |
int | SetProcRankVerbose (int procRank) const |
Set proc rank used for printing. | |
bool | IsPrint (MsgType type, int thisProcRankOnly=-1) const |
Find out whether we need to print out information for a specific message type. | |
Teuchos::FancyOStream & | GetOStream (MsgType type, int thisProcRankOnly=0) const |
Get an output stream for outputting the input message type. | |
Teuchos::FancyOStream & | GetBlackHole () const |
![]() | |
virtual | ~Describable () |
Destructor. | |
virtual void | describe (Teuchos::FancyOStream &out_arg, const VerbLevel verbLevel=Default) const |
virtual std::string | description () const |
Return a simple one-line description of this object. | |
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. | |
virtual std::string | ShortClassName () const |
Return the class name of the object, without template parameters and without namespace. | |
Apply methods. | |
bool | constructionSuccessful_ |
std::string | constructionErrorMsg_ |
virtual void | Apply (MultiVector &x, const MultiVector &rhs, bool InitialGuessIsZero=false) const =0 |
Apply smoother. | |
virtual size_t | getNodeSmootherComplexity () const =0 |
Compute a rough estimate of the cost to apply this smoother on this MPI rank. Return Teuchos::OrdinalTraits<size_t>::invalid() if such an estimate cannot be computed. | |
void | declareConstructionOutcome (bool fail, std::string msg) |
bool | constructionSuccessful () |
std::string | constructionErrorMsg () |
Additional Inherited Members | |
![]() | |
static void | SetDefaultVerbLevel (const VerbLevel defaultVerbLevel) |
Set the default (global) verbosity level. | |
static VerbLevel | GetDefaultVerbLevel () |
Get the default (global) verbosity level. | |
static void | SetMueLuOStream (const Teuchos::RCP< Teuchos::FancyOStream > &mueluOStream) |
static void | SetMueLuOFileStream (const std::string &filename) |
static Teuchos::RCP< Teuchos::FancyOStream > | GetMueLuOStream () |
Base class for smoothers.
This has the signature for the required Apply function and contains data that is generic across all smoothers.
Definition at line 68 of file MueLu_SmootherBase.hpp.
typedef Scalar MueLu::SmootherBase< Scalar, LocalOrdinal, GlobalOrdinal, Node >::scalar_type |
Definition at line 70 of file MueLu_SmootherBase.hpp.
typedef LocalOrdinal MueLu::SmootherBase< Scalar, LocalOrdinal, GlobalOrdinal, Node >::local_ordinal_type |
Definition at line 71 of file MueLu_SmootherBase.hpp.
typedef GlobalOrdinal MueLu::SmootherBase< Scalar, LocalOrdinal, GlobalOrdinal, Node >::global_ordinal_type |
Definition at line 72 of file MueLu_SmootherBase.hpp.
typedef Node MueLu::SmootherBase< Scalar, LocalOrdinal, GlobalOrdinal, Node >::node_type |
Definition at line 73 of file MueLu_SmootherBase.hpp.
|
inline |
Definition at line 82 of file MueLu_SmootherBase.hpp.
|
inlinevirtual |
Definition at line 84 of file MueLu_SmootherBase.hpp.
|
pure virtual |
Apply smoother.
Implemented in MueLu::MatlabSmoother< Scalar, LocalOrdinal, GlobalOrdinal, Node >, MueLu::BlockedDirectSolver< Scalar, LocalOrdinal, GlobalOrdinal, Node >, MueLu::BlockedGaussSeidelSmoother< Scalar, LocalOrdinal, GlobalOrdinal, Node >, MueLu::BlockedJacobiSmoother< Scalar, LocalOrdinal, GlobalOrdinal, Node >, MueLu::BraessSarazinSmoother< Scalar, LocalOrdinal, GlobalOrdinal, Node >, MueLu::IndefBlockedDiagonalSmoother< Scalar, LocalOrdinal, GlobalOrdinal, Node >, MueLu::TekoSmoother< Scalar, LocalOrdinal, GlobalOrdinal, Node >, MueLu::Amesos2Smoother< Scalar, LocalOrdinal, GlobalOrdinal, Node >, MueLu::Amesos2Smoother< double, int, int, Xpetra::EpetraNode >, MueLu::BelosSmoother< Scalar, LocalOrdinal, GlobalOrdinal, Node >, MueLu::BelosSmoother< double, int, int, Xpetra::EpetraNode >, MueLu::DirectSolver< Scalar, LocalOrdinal, GlobalOrdinal, Node >, MueLu::Ifpack2Smoother< Scalar, LocalOrdinal, GlobalOrdinal, Node >, MueLu::Ifpack2Smoother< double, int, int, Xpetra::EpetraNode >, MueLu::IfpackSmoother< Node >, MueLu::MergedSmoother< Scalar, LocalOrdinal, GlobalOrdinal, Node >, MueLu::PermutingSmoother< Scalar, LocalOrdinal, GlobalOrdinal, Node >, MueLu::ProjectorSmoother< Scalar, LocalOrdinal, GlobalOrdinal, Node >, MueLu::RefMaxwellSmoother< Scalar, LocalOrdinal, GlobalOrdinal, Node >, MueLu::TrilinosSmoother< Scalar, LocalOrdinal, GlobalOrdinal, Node >, MueLu::TekoSmoother< double, int, GlobalOrdinal, Node >, MueLu::AmesosSmoother< Node >, MueLu::SimpleSmoother< Scalar, LocalOrdinal, GlobalOrdinal, Node >, and MueLu::UzawaSmoother< Scalar, LocalOrdinal, GlobalOrdinal, Node >.
|
pure virtual |
Compute a rough estimate of the cost to apply this smoother on this MPI rank. Return Teuchos::OrdinalTraits<size_t>::invalid() if such an estimate cannot be computed.
Implemented in MueLu::MatlabSmoother< Scalar, LocalOrdinal, GlobalOrdinal, Node >, MueLu::BlockedDirectSolver< Scalar, LocalOrdinal, GlobalOrdinal, Node >, MueLu::BlockedGaussSeidelSmoother< Scalar, LocalOrdinal, GlobalOrdinal, Node >, MueLu::BlockedJacobiSmoother< Scalar, LocalOrdinal, GlobalOrdinal, Node >, MueLu::BraessSarazinSmoother< Scalar, LocalOrdinal, GlobalOrdinal, Node >, MueLu::IndefBlockedDiagonalSmoother< Scalar, LocalOrdinal, GlobalOrdinal, Node >, MueLu::SimpleSmoother< Scalar, LocalOrdinal, GlobalOrdinal, Node >, MueLu::TekoSmoother< Scalar, LocalOrdinal, GlobalOrdinal, Node >, MueLu::TekoSmoother< double, int, GlobalOrdinal, Node >, MueLu::UzawaSmoother< Scalar, LocalOrdinal, GlobalOrdinal, Node >, MueLu::Amesos2Smoother< Scalar, LocalOrdinal, GlobalOrdinal, Node >, MueLu::Amesos2Smoother< double, int, int, Xpetra::EpetraNode >, MueLu::AmesosSmoother< Node >, MueLu::BelosSmoother< Scalar, LocalOrdinal, GlobalOrdinal, Node >, MueLu::BelosSmoother< double, int, int, Xpetra::EpetraNode >, MueLu::DirectSolver< Scalar, LocalOrdinal, GlobalOrdinal, Node >, MueLu::Ifpack2Smoother< Scalar, LocalOrdinal, GlobalOrdinal, Node >, MueLu::Ifpack2Smoother< double, int, int, Xpetra::EpetraNode >, MueLu::IfpackSmoother< Node >, MueLu::MergedSmoother< Scalar, LocalOrdinal, GlobalOrdinal, Node >, MueLu::PermutingSmoother< Scalar, LocalOrdinal, GlobalOrdinal, Node >, MueLu::ProjectorSmoother< Scalar, LocalOrdinal, GlobalOrdinal, Node >, MueLu::RefMaxwellSmoother< Scalar, LocalOrdinal, GlobalOrdinal, Node >, and MueLu::TrilinosSmoother< Scalar, LocalOrdinal, GlobalOrdinal, Node >.
|
inline |
Definition at line 96 of file MueLu_SmootherBase.hpp.
|
inline |
Definition at line 103 of file MueLu_SmootherBase.hpp.
|
inline |
Definition at line 104 of file MueLu_SmootherBase.hpp.
|
private |
Definition at line 109 of file MueLu_SmootherBase.hpp.
|
private |
Definition at line 110 of file MueLu_SmootherBase.hpp.