46#ifndef MUELU_SMOOTHERFACTORY_DECL_HPP
47#define MUELU_SMOOTHERFACTORY_DECL_HPP
87 template <
class Scalar = double,
90 class Node = KokkosClassic::DefaultNode::DefaultNodeType>
99#undef MUELU_SMOOTHERFACTORY_SHORT
146 SmootherFactory(RCP<SmootherPrototype> preAndPostSmootherPrototype = Teuchos::null);
148 SmootherFactory(RCP<SmootherPrototype> preSmootherPrototype, RCP<SmootherPrototype> postSmootherPrototype);
160 void SetSmootherPrototypes(RCP<SmootherPrototype> preSmootherPrototype, RCP<SmootherPrototype> postSmootherPrototype);
163 void GetSmootherPrototypes(RCP<SmootherPrototype>& preSmootherPrototype, RCP<SmootherPrototype>& postSmootherPrototype)
const;
225#define MUELU_SMOOTHERFACTORY_SHORT
MueLu::DefaultLocalOrdinal LocalOrdinal
MueLu::DefaultScalar Scalar
MueLu::DefaultGlobalOrdinal GlobalOrdinal
virtual void describe(Teuchos::FancyOStream &out_arg, const VerbLevel verbLevel=Default) const
Class that holds all level-specific information.
Generic Smoother Factory for generating the smoothers of the MG hierarchy.
void GetSmootherPrototypes(RCP< SmootherPrototype > &preSmootherPrototype, RCP< SmootherPrototype > &postSmootherPrototype) const
Get smoother prototypes.
GlobalOrdinal global_ordinal_type
RCP< SmootherPrototype > preSmootherPrototype_
LocalOrdinal local_ordinal_type
void CheckPrototypes() const
void SetSmootherPrototypes(RCP< SmootherPrototype > preAndPostSmootherPrototype)
Set smoother prototypes.
RCP< const ParameterList > GetValidParameterList() const
Input.
std::string description() const
Return a simple one-line description of this object.
virtual ~SmootherFactory()
void DeclareInput(Level ¤tLevel) const
Specifies the data that this class needs, and the factories that generate that data.
void BuildSmoother(Level ¤tLevel, const PreOrPost preOrPost=BOTH) const
void describe(Teuchos::FancyOStream &out, const VerbLevel verbLevel=Default) const
RCP< SmootherPrototype > postSmootherPrototype_
void Build(Level ¤tLevel) const
Creates pre and post smoothers.
Namespace for MueLu classes and methods.