47 #ifndef THYRA_MUELU_MAXWELL1_PRECONDITIONER_FACTORY_DECL_HPP 48 #define THYRA_MUELU_MAXWELL1_PRECONDITIONER_FACTORY_DECL_HPP 52 #if defined(HAVE_MUELU_STRATIMIKOS) && defined(HAVE_MUELU_THYRA) 54 #include "KokkosCompat_DefaultNode.hpp" 55 #include "Thyra_DefaultPreconditioner.hpp" 56 #include "Thyra_PreconditionerFactoryBase.hpp" 67 template <
class Scalar,
class LocalOrdinal,
class GlobalOrdinal,
class Node = KokkosClassic::DefaultNode::DefaultNodeType>
68 class MueLuMaxwell1PreconditionerFactory :
public PreconditionerFactoryBase<Scalar> {
75 MueLuMaxwell1PreconditionerFactory();
82 bool isCompatible(
const LinearOpSourceBase<Scalar>& fwdOp)
const;
84 Teuchos::RCP<PreconditionerBase<Scalar> > createPrec()
const;
86 void initializePrec(
const Teuchos::RCP<
const LinearOpSourceBase<Scalar> >& fwdOp,
87 PreconditionerBase<Scalar>* prec,
88 const ESupportSolveUse supportSolveUse
91 void uninitializePrec(PreconditionerBase<Scalar>* prec,
92 Teuchos::RCP<
const LinearOpSourceBase<Scalar> >* fwdOp,
93 ESupportSolveUse* supportSolveUse
102 void setParameterList(
const Teuchos::RCP<Teuchos::ParameterList>& paramList);
104 Teuchos::RCP<Teuchos::ParameterList> unsetParameterList();
106 Teuchos::RCP<Teuchos::ParameterList> getNonconstParameterList();
108 Teuchos::RCP<const Teuchos::ParameterList> getParameterList()
const;
117 std::string description()
const;
125 Teuchos::RCP<Teuchos::ParameterList> paramList_;
131 #endif // #ifdef HAVE_MUELU_STRATIMIKOS 133 #endif // THYRA_MUELU_MAXWELL1_PRECONDITIONER_FACTORY_DECL_HPP
void getValidParameters(Teuchos::ParameterList ¶ms)