46 #ifndef MUELU_MERGEDSMOOTHER_DECL_HPP 47 #define MUELU_MERGEDSMOOTHER_DECL_HPP 51 #include "MueLu_SmootherPrototype.hpp" 61 template <class Scalar = SmootherPrototype<>::scalar_type,
66 #undef MUELU_MERGEDSMOOTHER_SHORT 74 MergedSmoother(ArrayRCP<RCP<SmootherPrototype> >& smootherList,
bool verbose =
false);
80 RCP<SmootherPrototype>
Copy()
const;
116 void Apply(MultiVector& X,
const MultiVector& B,
bool InitialGuessIsZero =
false)
const;
121 void SetFactory(
const std::string& varName,
const RCP<const FactoryBase>& factory);
127 ArrayRCP<RCP<SmootherPrototype> >
SmootherListDeepCopy(
const ArrayRCP<
const RCP<SmootherPrototype> >& srcSmootherList);
147 #define MUELU_MERGEDSMOOTHER_SHORT 148 #endif // MUELU_MERGEDSMOOTHER_DECL_HPP RCP< SmootherPrototype > Copy() const
Copy method (performs a deep copy of input object)
ArrayRCP< RCP< SmootherPrototype > > smootherList_
bool GetReverseOrder() const
Base class for smoother prototypes.
Namespace for MueLu classes and methods.
LocalOrdinal local_ordinal_type
void Apply(MultiVector &X, const MultiVector &B, bool InitialGuessIsZero=false) const
Apply.
void DeclareInput(Level ¤tLevel) const
Input.
void CopyParameters(RCP< SmootherPrototype > src)
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
GlobalOrdinal global_ordinal_type
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.