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