46 #ifndef MUELU_SMOOTHERFACTORY_DECL_HPP
47 #define MUELU_SMOOTHERFACTORY_DECL_HPP
87 template <
class Scalar = double,
88 class LocalOrdinal = int,
89 class GlobalOrdinal = LocalOrdinal,
99 #undef MUELU_SMOOTHERFACTORY_SHORT
225 #define MUELU_SMOOTHERFACTORY_SHORT
226 #endif // MUELU_SMOOTHERFACTORY_DECL_HPP
Generic Smoother Factory for generating the smoothers of the MG hierarchy.
SmootherFactory(RCP< SmootherPrototype > preAndPostSmootherPrototype=Teuchos::null)
Constructor.
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.
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.