46 #ifndef MUELU_MERGEDSMOOTHER_DECL_HPP
47 #define MUELU_MERGEDSMOOTHER_DECL_HPP
51 #include "MueLu_SmootherPrototype.hpp"
61 template <class Scalar = SmootherPrototype<>::scalar_type,
62 class LocalOrdinal =
typename SmootherPrototype<Scalar>::local_ordinal_type,
63 class GlobalOrdinal =
typename SmootherPrototype<Scalar, LocalOrdinal>::global_ordinal_type,
64 class Node =
typename SmootherPrototype<Scalar, LocalOrdinal, GlobalOrdinal>::node_type>
66 #undef MUELU_MERGEDSMOOTHER_SHORT
116 void Apply(MultiVector& X,
const MultiVector& B,
bool InitialGuessIsZero =
false)
const;
150 #define MUELU_MERGEDSMOOTHER_SHORT
151 #endif // MUELU_MERGEDSMOOTHER_DECL_HPP
RCP< SmootherPrototype > Copy() const
Copy method (performs a deep copy of input object)
MueLu::DefaultLocalOrdinal LocalOrdinal
ArrayRCP< RCP< SmootherPrototype > > smootherList_
bool GetReverseOrder() const
size_t getNodeSmootherComplexity() const
Get a rough estimate of cost per iteration.
Base class for smoother prototypes.
void Apply(MultiVector &X, const MultiVector &B, bool InitialGuessIsZero=false) const
Apply.
void DeclareInput(Level ¤tLevel) const
Input.
void CopyParameters(RCP< SmootherPrototype > src)
MueLu::DefaultGlobalOrdinal GlobalOrdinal
Class that holds all level-specific information.
void print(Teuchos::FancyOStream &out, const VerbLevel verbLevel=Default) const
ArrayRCP< RCP< SmootherPrototype > > SmootherListDeepCopy(const ArrayRCP< const RCP< SmootherPrototype > > &srcSmootherList)
const ArrayRCP< const RCP< SmootherPrototype > > GetSmootherList() const
void SetFactory(const std::string &varName, const RCP< const FactoryBase > &factory)
Custom SetFactory.
MergedSmoother(ArrayRCP< RCP< SmootherPrototype > > &smootherList, bool verbose=false)
Constructor.
virtual ~MergedSmoother()
Destructor.
void Setup(Level &level)
Set up.