42#ifndef THYRA_BELOS_TPETRA_PRECONDITIONERFACTORY_DECL_HPP
43#define THYRA_BELOS_TPETRA_PRECONDITIONERFACTORY_DECL_HPP
45#include "Thyra_PreconditionerFactoryBase.hpp"
52template <
typename MatrixType>
54 public PreconditionerFactoryBase<typename MatrixType::scalar_type> {
70 bool isCompatible(
const LinearOpSourceBase<scalar_type> &fwdOp)
const;
73 Teuchos::RCP<PreconditionerBase<scalar_type> >
createPrec()
const;
77 const Teuchos::RCP<
const LinearOpSourceBase<scalar_type> > &fwdOp,
78 PreconditionerBase<scalar_type> *prec,
79 const ESupportSolveUse supportSolveUse
84 PreconditionerBase<scalar_type> *prec,
85 Teuchos::RCP<
const LinearOpSourceBase<scalar_type> > *fwdOp,
86 ESupportSolveUse *supportSolveUse
95 void setParameterList(
const Teuchos::RCP<Teuchos::ParameterList> ¶mList);
116 Teuchos::RCP<Teuchos::ParameterList> paramList_;
Concrete preconditioner factory subclass based on Belos. (Yes, Belos solvers can also be used as prec...
Teuchos::RCP< const Teuchos::ParameterList > getValidParameters() const
void setParameterList(const Teuchos::RCP< Teuchos::ParameterList > ¶mList)
Teuchos::RCP< const Teuchos::ParameterList > getParameterList() const
bool isCompatible(const LinearOpSourceBase< scalar_type > &fwdOp) const
Teuchos::RCP< Teuchos::ParameterList > unsetParameterList()
void uninitializePrec(PreconditionerBase< scalar_type > *prec, Teuchos::RCP< const LinearOpSourceBase< scalar_type > > *fwdOp, ESupportSolveUse *supportSolveUse) const
Teuchos::RCP< Teuchos::ParameterList > getNonconstParameterList()
MatrixType::scalar_type scalar_type
std::string description() const
void initializePrec(const Teuchos::RCP< const LinearOpSourceBase< scalar_type > > &fwdOp, PreconditionerBase< scalar_type > *prec, const ESupportSolveUse supportSolveUse) const
BelosTpetraPreconditionerFactory()
Teuchos::RCP< PreconditionerBase< scalar_type > > createPrec() const