|
MueLu
Version of the Day
|
Interface to block smoothers in Teko package. More...
#include <MueLu_TekoSmoother_decl.hpp>
Private Types | |
| typedef Xpetra::MapExtractor< Scalar, LocalOrdinal, GlobalOrdinal, Node > | MapExtractorClass |
Constructors / destructors | |
| TekoSmoother () | |
| Constructor. More... | |
| virtual | ~TekoSmoother () |
| Destructor. More... | |
| RCP< const ParameterList > | GetValidParameterList () const |
| Input. More... | |
| void | DeclareInput (Level ¤tLevel) const |
| Input. More... | |
| void | SetTekoParameters (RCP< ParameterList > tekoParams) |
Setup and Apply methods. | |
| void | Setup (Level ¤tLevel) |
| Setup routine. More... | |
| void | Apply (MultiVector &X, const MultiVector &B, bool InitialGuessIsZero=false) const |
| Apply the Teko smoother. More... | |
| RCP< SmootherPrototype > | Copy () const |
Overridden from Teuchos::Describable | |
| std::string | type_ |
| smoother type More... | |
| std::string | description () const |
| Return a simple one-line description of this object. More... | |
| void | print (Teuchos::FancyOStream &out, const VerbLevel verbLevel=Default) const |
| Print the object with some verbosity level to an FancyOStream object. More... | |
| size_t | getNodeSmootherComplexity () const |
| Get a rough estimate of cost per iteration. More... | |
Interface to block smoothers in Teko package.
This is a dummy implementation for arbitrary scalars (different than SC=double). We use Teko and the Teko::LinearOp which is declared as Teuchos::RCP<const Thyra::LinearOpBase<ST> > with ST=double. See e.g. Teko_ConfigDefs.hpp.
This is the specialization for SC=double and LO=int, which actually implements the Teko smoother interface. We use Teko and the Teko::LinearOp which is declared as Teuchos::RCP<const Thyra::LinearOpBase<ST> > with ST=double. See e.g. Teko_ConfigDefs.hpp.
In Teko SC=double and LO=int are hard-coded. The node is Tpetra::Map<>::node_type. The global ordinal GO is chosen as a conservative choice from what Tpetra supports (see Teko_ConfigDefs.hpp for more details)
Note, that the underlying Thyra package is only templated on the Scalar (not the node type).
Definition at line 86 of file MueLu_TekoSmoother_decl.hpp.
|
private |
Definition at line 88 of file MueLu_TekoSmoother_decl.hpp.
|
inline |
Constructor.
Definition at line 100 of file MueLu_TekoSmoother_decl.hpp.
|
inlinevirtual |
Destructor.
Definition at line 105 of file MueLu_TekoSmoother_decl.hpp.
|
inlinevirtual |
Input.
Reimplemented from MueLu::Factory.
Definition at line 110 of file MueLu_TekoSmoother_decl.hpp.
|
inlinevirtual |
Input.
Definition at line 115 of file MueLu_TekoSmoother_decl.hpp.
|
inline |
Definition at line 117 of file MueLu_TekoSmoother_decl.hpp.
|
inlinevirtual |
Setup routine.
Definition at line 125 of file MueLu_TekoSmoother_decl.hpp.
|
inlinevirtual |
Apply the Teko smoother.
| X | initial guess |
| B | right-hand side |
| InitialGuessIsZero | This option has no effect. |
Definition at line 133 of file MueLu_TekoSmoother_decl.hpp.
|
inline |
Definition at line 136 of file MueLu_TekoSmoother_decl.hpp.
|
inlinevirtual |
Return a simple one-line description of this object.
Reimplemented from MueLu::Describable.
Definition at line 142 of file MueLu_TekoSmoother_decl.hpp.
|
inline |
Print the object with some verbosity level to an FancyOStream object.
Definition at line 151 of file MueLu_TekoSmoother_decl.hpp.
| size_t MueLu::TekoSmoother< Scalar, LocalOrdinal, GlobalOrdinal, Node >::getNodeSmootherComplexity |
Get a rough estimate of cost per iteration.
Definition at line 56 of file MueLu_TekoSmoother_def.hpp.
|
private |
smoother type
Definition at line 169 of file MueLu_TekoSmoother_decl.hpp.