|
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 | |
| RCP< const FactoryBase > | AFact_ |
| A Factory. | |
| RCP< Matrix > | A_ |
| block operator | |
| RCP< Matrix > | F_ |
| fluid operator | |
| RCP< Matrix > | Z_ |
| pressure stabilization term or null block | |
| RCP< const MapExtractorClass > | rangeMapExtractor_ |
| range map extractor (from A_ generated by AFact) | |
| RCP< const MapExtractorClass > | domainMapExtractor_ |
| domain map extractor (from A_ generated by AFact) | |
| Teuchos::RCP< SmootherBase > | velPredictSmoo_ |
| Block smoothers. | |
| Teuchos::RCP< SmootherBase > | schurCompSmoo_ |
| smoother for SchurComplement equation | |
| std::vector< Teuchos::RCP< const FactoryManagerBase > > | FactManager_ |
| vector of factory managers | |
| 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. | |
Constructors / destructors | |
| IndefBlockedDiagonalSmoother () | |
| Constructor. | |
| virtual | ~IndefBlockedDiagonalSmoother () |
| Destructor. | |
| 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. | |
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 |
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 |
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 |
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 55 of file MueLu_IndefBlockedDiagonalSmoother_decl.hpp.
|
private |
Definition at line 56 of file MueLu_IndefBlockedDiagonalSmoother_decl.hpp.
| MueLu::IndefBlockedDiagonalSmoother< Scalar, LocalOrdinal, GlobalOrdinal, Node >::IndefBlockedDiagonalSmoother | ( | ) |
Constructor.
Definition at line 45 of file MueLu_IndefBlockedDiagonalSmoother_def.hpp.
|
virtual |
Destructor.
Definition at line 51 of file MueLu_IndefBlockedDiagonalSmoother_def.hpp.
|
virtual |
Input.
Reimplemented from MueLu::Factory.
Definition at line 54 of file MueLu_IndefBlockedDiagonalSmoother_def.hpp.
|
virtual |
Input.
Implements MueLu::SmootherPrototype< Scalar, LocalOrdinal, GlobalOrdinal, Node >.
Definition at line 88 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 67 of file MueLu_IndefBlockedDiagonalSmoother_def.hpp.
|
virtual |
Setup routine.
Implements MueLu::SmootherPrototype< Scalar, LocalOrdinal, GlobalOrdinal, Node >.
Definition at line 104 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. |
Implements MueLu::SmootherBase< Scalar, LocalOrdinal, GlobalOrdinal, Node >.
Definition at line 171 of file MueLu_IndefBlockedDiagonalSmoother_def.hpp.
|
virtual |
Implements MueLu::SmootherPrototype< Scalar, LocalOrdinal, GlobalOrdinal, Node >.
Definition at line 318 of file MueLu_IndefBlockedDiagonalSmoother_def.hpp.
|
virtual |
Return a simple one-line description of this object.
Reimplemented from MueLu::Describable.
Definition at line 323 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 331 of file MueLu_IndefBlockedDiagonalSmoother_def.hpp.
|
virtual |
Get a rough estimate of cost per iteration.
Implements MueLu::SmootherBase< Scalar, LocalOrdinal, GlobalOrdinal, Node >.
Definition at line 343 of file MueLu_IndefBlockedDiagonalSmoother_def.hpp.
|
private |
smoother type
Definition at line 119 of file MueLu_IndefBlockedDiagonalSmoother_decl.hpp.
|
private |
A Factory.
Definition at line 121 of file MueLu_IndefBlockedDiagonalSmoother_decl.hpp.
|
private |
block operator
Definition at line 124 of file MueLu_IndefBlockedDiagonalSmoother_decl.hpp.
|
private |
fluid operator
Definition at line 125 of file MueLu_IndefBlockedDiagonalSmoother_decl.hpp.
|
private |
pressure stabilization term or null block
Definition at line 126 of file MueLu_IndefBlockedDiagonalSmoother_decl.hpp.
|
private |
range map extractor (from A_ generated by AFact)
Definition at line 128 of file MueLu_IndefBlockedDiagonalSmoother_decl.hpp.
|
private |
domain map extractor (from A_ generated by AFact)
Definition at line 129 of file MueLu_IndefBlockedDiagonalSmoother_decl.hpp.
|
private |
Block smoothers.
smoother for velocity prediction
Definition at line 132 of file MueLu_IndefBlockedDiagonalSmoother_decl.hpp.
|
private |
smoother for SchurComplement equation
Definition at line 133 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 141 of file MueLu_IndefBlockedDiagonalSmoother_decl.hpp.