17 #ifndef MUELU_INDEFBLOCKEDDIAGONALSMOOTHER_DECL_HPP_ 
   18 #define MUELU_INDEFBLOCKEDDIAGONALSMOOTHER_DECL_HPP_ 
   31 #include "MueLu_SmootherPrototype.hpp" 
   51 template <class Scalar        = SmootherPrototype<>::scalar_type,
 
   52           class LocalOrdinal  = 
typename SmootherPrototype<Scalar>::local_ordinal_type,
 
   53           class GlobalOrdinal = 
typename SmootherPrototype<Scalar, LocalOrdinal>::global_ordinal_type,
 
   54           class Node          = 
typename SmootherPrototype<Scalar, LocalOrdinal, GlobalOrdinal>::node_type>
 
   58 #undef MUELU_INDEFBLOCKEDDIAGONALSMOOTHER_SHORT 
   97   void Apply(MultiVector &X, 
const MultiVector &B, 
bool InitialGuessIsZero = 
false) 
const;
 
  146 #define MUELU_INDEFBLOCKEDDIAGONALSMOOTHER_SHORT 
std::string description() const 
Return a simple one-line description of this object. 
 
std::vector< Teuchos::RCP< const FactoryManagerBase > > FactManager_
vector of factory managers 
 
MueLu::DefaultLocalOrdinal LocalOrdinal
 
std::string type_
smoother type 
 
void Apply(MultiVector &X, const MultiVector &B, bool InitialGuessIsZero=false) const 
Apply the Braess Sarazin smoother. 
 
RCP< Matrix > A_
block operator 
 
IndefBlockedDiagonalSmoother()
Constructor. 
 
void Setup(Level ¤tLevel)
Setup routine. 
 
RCP< Matrix > F_
fluid operator 
 
Xpetra::MapExtractor< Scalar, LocalOrdinal, GlobalOrdinal, Node > MapExtractorClass
 
Base class for smoother prototypes. 
 
void print(Teuchos::FancyOStream &out, const VerbLevel verbLevel=Default) const 
Print the object with some verbosity level to an FancyOStream object. 
 
void DeclareInput(Level ¤tLevel) const 
Input. 
 
RCP< const MapExtractorClass > rangeMapExtractor_
range map extractor (from A_ generated by AFact) 
 
MueLu::DefaultGlobalOrdinal GlobalOrdinal
 
Class that holds all level-specific information. 
 
Cheap Blocked diagonal smoother for indefinite 2x2 block matrices. 
 
RCP< const ParameterList > GetValidParameterList() const 
Input. 
 
RCP< Matrix > Z_
pressure stabilization term or null block 
 
size_t getNodeSmootherComplexity() const 
Get a rough estimate of cost per iteration. 
 
Teuchos::RCP< SmootherBase > velPredictSmoo_
Block smoothers. 
 
RCP< const FactoryBase > AFact_
A Factory. 
 
Teuchos::RCP< SmootherBase > schurCompSmoo_
smoother for SchurComplement equation 
 
void AddFactoryManager(RCP< const FactoryManagerBase > FactManager, int pos=0)
Add a factory manager for BraessSarazin internal SchurComplement handling. 
 
virtual ~IndefBlockedDiagonalSmoother()
Destructor. 
 
RCP< SmootherPrototype > Copy() const 
 
RCP< const MapExtractorClass > domainMapExtractor_
domain map extractor (from A_ generated by AFact)