|
MueLu Version of the Day
|
Cheap Blocked diagonal smoother for indefinite 2x2 block matrices. More...
#include <MueLu_IndefBlockedDiagonalSmoother_decl.hpp>
Private Types | |
| typedef Xpetra::MapExtractor< Scalar, LocalOrdinal, GlobalOrdinal, Node > | MapExtractorClass |
Overridden from Teuchos::Describable | |
| std::string | type_ |
| smoother type More... | |
| RCP< const FactoryBase > | AFact_ |
| A Factory. More... | |
| RCP< Matrix > | A_ |
| block operator More... | |
| RCP< Matrix > | F_ |
| fluid operator More... | |
| RCP< Matrix > | Z_ |
| pressure stabilization term or null block More... | |
| RCP< const MapExtractorClass > | rangeMapExtractor_ |
| range map extractor (from A_ generated by AFact) More... | |
| RCP< const MapExtractorClass > | domainMapExtractor_ |
| domain map extractor (from A_ generated by AFact) More... | |
| Teuchos::RCP< SmootherBase > | velPredictSmoo_ |
| Block smoothers. More... | |
| Teuchos::RCP< SmootherBase > | schurCompSmoo_ |
| smoother for SchurComplement equation More... | |
| std::vector< Teuchos::RCP< const FactoryManagerBase > > | FactManager_ |
| vector of factory managers 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... | |
Constructors / destructors | |
| IndefBlockedDiagonalSmoother () | |
| Constructor. More... | |
| virtual | ~IndefBlockedDiagonalSmoother () |
| Destructor. More... | |
| RCP< const ParameterList > | GetValidParameterList () const |
| Input. More... | |
| void | DeclareInput (Level ¤tLevel) const |
| Input. More... | |
| void | AddFactoryManager (RCP< const FactoryManagerBase > FactManager, int pos=0) |
| Add a factory manager for BraessSarazin internal SchurComplement handling. More... | |
Setup and Apply methods. | |
| void | Setup (Level ¤tLevel) |
| Setup routine. More... | |
| void | Apply (MultiVector &X, const MultiVector &B, bool InitialGuessIsZero=false) const |
| Apply the Braess Sarazin smoother. More... | |
| RCP< SmootherPrototype > | Copy () const |
Cheap Blocked diagonal smoother for indefinite 2x2 block matrices.
Uses the original upper left block and the Schur Complement block on the diagonal blocks. Instead of solving the block equations exactly, we apply some sweeps with cheap iterative smoothers (e.g. Gauss-Seidel iterations)
Definition at line 97 of file MueLu_IndefBlockedDiagonalSmoother_decl.hpp.
|
private |
Definition at line 100 of file MueLu_IndefBlockedDiagonalSmoother_decl.hpp.
| MueLu::IndefBlockedDiagonalSmoother< Scalar, LocalOrdinal, GlobalOrdinal, Node >::IndefBlockedDiagonalSmoother |
Constructor.
Definition at line 85 of file MueLu_IndefBlockedDiagonalSmoother_def.hpp.
|
virtual |
Destructor.
Definition at line 91 of file MueLu_IndefBlockedDiagonalSmoother_def.hpp.
|
virtual |
Input.
Reimplemented from MueLu::Factory.
Definition at line 94 of file MueLu_IndefBlockedDiagonalSmoother_def.hpp.
|
virtual |
Input.
Definition at line 128 of file MueLu_IndefBlockedDiagonalSmoother_def.hpp.
| void MueLu::IndefBlockedDiagonalSmoother< Scalar, LocalOrdinal, GlobalOrdinal, Node >::AddFactoryManager | ( | RCP< const FactoryManagerBase > | FactManager, |
| int | pos = 0 |
||
| ) |
Add a factory manager for BraessSarazin internal SchurComplement handling.
Add a factory manager at a specific position.
Definition at line 107 of file MueLu_IndefBlockedDiagonalSmoother_def.hpp.
|
virtual |
Setup routine.
Definition at line 145 of file MueLu_IndefBlockedDiagonalSmoother_def.hpp.
|
virtual |
Apply the Braess Sarazin smoother.
| X | initial guess |
| B | right-hand side |
| InitialGuessIsZero | TODO This option has no effect. |
Definition at line 212 of file MueLu_IndefBlockedDiagonalSmoother_def.hpp.
|
virtual |
Definition at line 336 of file MueLu_IndefBlockedDiagonalSmoother_def.hpp.
|
virtual |
Return a simple one-line description of this object.
Reimplemented from MueLu::Describable.
Definition at line 341 of file MueLu_IndefBlockedDiagonalSmoother_def.hpp.
| void MueLu::IndefBlockedDiagonalSmoother< Scalar, LocalOrdinal, GlobalOrdinal, Node >::print | ( | Teuchos::FancyOStream & | out, |
| const VerbLevel | verbLevel = Default |
||
| ) | const |
Print the object with some verbosity level to an FancyOStream object.
Definition at line 349 of file MueLu_IndefBlockedDiagonalSmoother_def.hpp.
|
virtual |
Get a rough estimate of cost per iteration.
Definition at line 361 of file MueLu_IndefBlockedDiagonalSmoother_def.hpp.
|
private |
smoother type
Definition at line 165 of file MueLu_IndefBlockedDiagonalSmoother_decl.hpp.
|
private |
A Factory.
Definition at line 167 of file MueLu_IndefBlockedDiagonalSmoother_decl.hpp.
|
private |
block operator
Definition at line 170 of file MueLu_IndefBlockedDiagonalSmoother_decl.hpp.
|
private |
fluid operator
Definition at line 171 of file MueLu_IndefBlockedDiagonalSmoother_decl.hpp.
|
private |
pressure stabilization term or null block
Definition at line 172 of file MueLu_IndefBlockedDiagonalSmoother_decl.hpp.
|
private |
range map extractor (from A_ generated by AFact)
Definition at line 174 of file MueLu_IndefBlockedDiagonalSmoother_decl.hpp.
|
private |
domain map extractor (from A_ generated by AFact)
Definition at line 175 of file MueLu_IndefBlockedDiagonalSmoother_decl.hpp.
|
private |
Block smoothers.
smoother for velocity prediction
Definition at line 178 of file MueLu_IndefBlockedDiagonalSmoother_decl.hpp.
|
private |
smoother for SchurComplement equation
Definition at line 179 of file MueLu_IndefBlockedDiagonalSmoother_decl.hpp.
|
private |
vector of factory managers
vector of internal factory managers FactManager_[0] holds the factory manager for the predicting the primary variable FactManager_[1] stores the factory manager used for the SchurComplement correction step.
Definition at line 187 of file MueLu_IndefBlockedDiagonalSmoother_decl.hpp.