|
MueLu Version of the Day
|
BraessSarazin smoother for 2x2 block matrices. More...
#include <MueLu_BraessSarazinSmoother_decl.hpp>
Public Member Functions | |
| RCP< const ParameterList > | GetValidParameterList () const |
| Input. | |
| void | DeclareInput (Level ¤tLevel) const |
| Input. | |
| void | AddFactoryManager (RCP< const FactoryManagerBase > FactManager, int pos=0) |
| Add a factory manager for BraessSarazin internal SchurComplement handling. | |
Public Member Functions inherited from MueLu::SmootherPrototype< Scalar, LocalOrdinal, GlobalOrdinal, Node > | |
| SmootherPrototype () | |
| @nameConstructors/Destructors. | |
| virtual | ~SmootherPrototype () |
| virtual void | CallBuild (Level &) const |
| virtual void | CallDeclareInput (Level &requestedLevel) const |
| bool | IsSetup () const |
| Get the state of a smoother prototype. | |
| void | IsSetup (bool const &ToF) |
| Set the state of a smoother prototype. | |
Public Member Functions inherited from MueLu::SmootherBase< Scalar, LocalOrdinal, GlobalOrdinal, Node > | |
| SmootherBase () | |
| virtual | ~SmootherBase () |
| void | declareConstructionOutcome (bool fail, std::string msg) |
| bool | constructionSuccessful () |
| std::string | constructionErrorMsg () |
Public Member Functions inherited from MueLu::BaseClass | |
| virtual | ~BaseClass () |
| Destructor. | |
Public Member Functions inherited from MueLu::VerboseObject | |
| 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 |
Public Member Functions inherited from MueLu::Describable | |
| virtual | ~Describable () |
| Destructor. | |
| 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. | |
| virtual std::string | ShortClassName () const |
| Return the class name of the object, without template parameters and without namespace. | |
Public Member Functions inherited from MueLu::Factory | |
| Factory () | |
| Constructor. | |
| virtual | ~Factory () |
| Destructor. | |
| virtual void | SetFactory (const std::string &varName, const RCP< const FactoryBase > &factory) |
| Configuration. | |
| const RCP< const FactoryBase > | GetFactory (const std::string &varName) const |
| Default implementation of FactoryAcceptor::GetFactory() | |
| RCP< ParameterList > | RemoveFactoriesFromList (const ParameterList &list) const |
| void | EnableMultipleCallCheck () const |
| void | DisableMultipleCallCheck () const |
| void | ResetDebugData () const |
Public Member Functions inherited from MueLu::FactoryBase | |
| FactoryBase () | |
| Constructor. | |
| virtual | ~FactoryBase () |
| Destructor. | |
| int | GetID () const |
| return unique factory id | |
Public Member Functions inherited from MueLu::FactoryAcceptor | |
| virtual | ~FactoryAcceptor () |
Public Member Functions inherited from MueLu::ParameterListAcceptorImpl | |
| ParameterListAcceptorImpl () | |
| virtual | ~ParameterListAcceptorImpl ()=default |
| virtual void | SetParameterList (const Teuchos::ParameterList ¶mList) |
| Set parameters from a parameter list and return with default values. | |
| virtual const Teuchos::ParameterList & | GetParameterList () const |
| virtual const Teuchos::ParameterList & | GetParameterListWithoutValidation () const |
| void | SetParameter (const std::string &name, const ParameterEntry &entry) |
| Set a parameter directly as a ParameterEntry. | |
| const ParameterEntry & | GetParameter (const std::string &name) const |
| Retrieves a const entry with the name name. | |
| virtual void | GetDocumentation (std::ostream &os) const |
Public Member Functions inherited from MueLu::ParameterListAcceptor | |
| ParameterListAcceptor () | |
| virtual | ~ParameterListAcceptor ()=default |
Overridden from Teuchos::Describable | |
| std::string | type_ = "Braess Sarazin" |
| smoother type | |
| RCP< const FactoryBase > | AFact_ |
| A Factory. | |
| RCP< const FactoryManagerBase > | FactManager_ |
| Factory manager for creating the Schur Complement. | |
| RCP< Matrix > | A_ = Teuchos::null |
| block operator | |
| RCP< const MapExtractor > | rangeMapExtractor_ |
| range map extractor (from A_ generated by AFact) | |
| RCP< const MapExtractor > | domainMapExtractor_ |
| domain map extractor (from A_ generated by AFact) | |
| RCP< Matrix > | A00_ |
| matrices | |
| RCP< Matrix > | A01_ |
| Block (0,1) [typically, pressure gradient operator]. | |
| RCP< Matrix > | A10_ |
| Block (1,0) [typically, divergence operator]. | |
| RCP< Matrix > | A11_ |
| Block (1,1) [typically, pressure stabilization term or null block]. | |
| RCP< Matrix > | S_ |
| Schur complement. | |
| RCP< Vector > | D_ |
| Inverse to approximation to block (0,0). Here, D_ = omega*inv(diag(A(0,0))) | |
| Teuchos::RCP< SmootherBase > | smoo_ |
| Smoother for SchurComplement equation. | |
| std::string | description () const |
| Return a simple one-line description of this object. | |
| void | print (Teuchos::FancyOStream &out, const VerbLevel verbLevel=Default) const |
| Print the object with some verbosity level to an FancyOStream object. | |
| size_t | getNodeSmootherComplexity () const |
| Get a rough estimate of cost per iteration. | |
Setup and Apply methods. | |
| void | Setup (Level ¤tLevel) |
| Setup routine. | |
| void | Apply (MultiVector &X, const MultiVector &B, bool InitialGuessIsZero=false) const |
| Apply the Braess Sarazin smoother. | |
| RCP< SmootherPrototype > | Copy () const |
Additional Inherited Members | |
Public Types inherited from MueLu::SmootherPrototype< Scalar, LocalOrdinal, GlobalOrdinal, Node > | |
| typedef Scalar | scalar_type |
| typedef LocalOrdinal | local_ordinal_type |
| typedef GlobalOrdinal | global_ordinal_type |
| typedef Node | node_type |
Public Types inherited from MueLu::SmootherBase< Scalar, LocalOrdinal, GlobalOrdinal, Node > | |
| typedef Scalar | scalar_type |
| typedef LocalOrdinal | local_ordinal_type |
| typedef GlobalOrdinal | global_ordinal_type |
| typedef Node | node_type |
Static Public Member Functions inherited from MueLu::VerboseObject | |
| 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 () |
Static Public Member Functions inherited from MueLu::Factory | |
| static void | EnableTimerSync () |
| static void | DisableTimerSync () |
| static void | EnableMultipleCheckGlobally () |
| static void | DisableMultipleCheckGlobally () |
Protected Member Functions inherited from MueLu::Factory | |
| void | Input (Level &level, const std::string &varName) const |
| void | Input (Level &level, const std::string &varName, const std::string &varParamName) const |
| template<class T > | |
| T | Get (Level &level, const std::string &varName) const |
| template<class T > | |
| T | Get (Level &level, const std::string &varName, const std::string &varParamName) const |
| template<class T > | |
| void | Set (Level &level, const std::string &varName, const T &data) const |
| template<class T > | |
| bool | IsType (Level &level, const std::string &varName) const |
| bool | IsAvailable (Level &level, const std::string &varName) const |
Static Protected Attributes inherited from MueLu::Factory | |
| static bool | timerSync_ = false |
BraessSarazin smoother for 2x2 block matrices.
Definition at line 43 of file MueLu_BraessSarazinSmoother_decl.hpp.
|
virtual |
Input.
Reimplemented from MueLu::Factory.
Definition at line 42 of file MueLu_BraessSarazinSmoother_def.hpp.
|
virtual |
Input.
Implements MueLu::SmootherPrototype< Scalar, LocalOrdinal, GlobalOrdinal, Node >.
Definition at line 60 of file MueLu_BraessSarazinSmoother_def.hpp.
| void MueLu::BraessSarazinSmoother< Scalar, LocalOrdinal, GlobalOrdinal, Node >::AddFactoryManager | ( | RCP< const FactoryManagerBase > | FactManager, |
| int | pos = 0 |
||
| ) |
Add a factory manager for BraessSarazin internal SchurComplement handling.
Definition at line 36 of file MueLu_BraessSarazinSmoother_def.hpp.
|
virtual |
Setup routine.
Setup routine can be summarized in 4 steps:
Implements MueLu::SmootherPrototype< Scalar, LocalOrdinal, GlobalOrdinal, Node >.
Definition at line 80 of file MueLu_BraessSarazinSmoother_def.hpp.
|
virtual |
Apply the Braess Sarazin smoother.
| X | initial guess |
| B | right-hand side |
| InitialGuessIsZero | TODO This option has no effect. |
Implements MueLu::SmootherBase< Scalar, LocalOrdinal, GlobalOrdinal, Node >.
Definition at line 135 of file MueLu_BraessSarazinSmoother_def.hpp.
|
virtual |
Implements MueLu::SmootherPrototype< Scalar, LocalOrdinal, GlobalOrdinal, Node >.
Definition at line 301 of file MueLu_BraessSarazinSmoother_def.hpp.
|
virtual |
Return a simple one-line description of this object.
Reimplemented from MueLu::Describable.
Definition at line 306 of file MueLu_BraessSarazinSmoother_def.hpp.
| void MueLu::BraessSarazinSmoother< Scalar, LocalOrdinal, GlobalOrdinal, Node >::print | ( | Teuchos::FancyOStream & | out, |
| const VerbLevel | verbLevel = Default |
||
| ) | const |
Print the object with some verbosity level to an FancyOStream object.
Using MueLu::Describable::describe; overloading, not hiding
Definition at line 315 of file MueLu_BraessSarazinSmoother_def.hpp.
|
virtual |
Get a rough estimate of cost per iteration.
Implements MueLu::SmootherBase< Scalar, LocalOrdinal, GlobalOrdinal, Node >.
Definition at line 328 of file MueLu_BraessSarazinSmoother_def.hpp.
|
private |
smoother type
Definition at line 103 of file MueLu_BraessSarazinSmoother_decl.hpp.
|
private |
A Factory.
Definition at line 105 of file MueLu_BraessSarazinSmoother_decl.hpp.
|
private |
Factory manager for creating the Schur Complement.
Definition at line 106 of file MueLu_BraessSarazinSmoother_decl.hpp.
|
private |
block operator
Definition at line 109 of file MueLu_BraessSarazinSmoother_decl.hpp.
|
private |
range map extractor (from A_ generated by AFact)
Definition at line 111 of file MueLu_BraessSarazinSmoother_decl.hpp.
|
private |
domain map extractor (from A_ generated by AFact)
Definition at line 112 of file MueLu_BraessSarazinSmoother_decl.hpp.
|
private |
matrices
Block (0,0) [typically, fluid operator]
Definition at line 115 of file MueLu_BraessSarazinSmoother_decl.hpp.
|
private |
Block (0,1) [typically, pressure gradient operator].
Definition at line 116 of file MueLu_BraessSarazinSmoother_decl.hpp.
|
private |
Block (1,0) [typically, divergence operator].
Definition at line 117 of file MueLu_BraessSarazinSmoother_decl.hpp.
|
private |
Block (1,1) [typically, pressure stabilization term or null block].
Definition at line 118 of file MueLu_BraessSarazinSmoother_decl.hpp.
|
private |
Schur complement.
Definition at line 119 of file MueLu_BraessSarazinSmoother_decl.hpp.
|
private |
Inverse to approximation to block (0,0). Here, D_ = omega*inv(diag(A(0,0)))
Definition at line 120 of file MueLu_BraessSarazinSmoother_decl.hpp.
|
private |
Smoother for SchurComplement equation.
Definition at line 122 of file MueLu_BraessSarazinSmoother_decl.hpp.