Stratimikos Package Browser (Single Doxygen Collection)  Version of the Day
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Thyra_BelosTpetraPreconditionerFactory_decl.hpp
Go to the documentation of this file.
1 // @HEADER
2 // *****************************************************************************
3 // Stratimikos: Thyra-based strategies for linear solvers
4 //
5 // Copyright 2006 NTESS and the Stratimikos contributors.
6 // SPDX-License-Identifier: BSD-3-Clause
7 // *****************************************************************************
8 // @HEADER
9 
10 #ifndef THYRA_BELOS_TPETRA_PRECONDITIONERFACTORY_DECL_HPP
11 #define THYRA_BELOS_TPETRA_PRECONDITIONERFACTORY_DECL_HPP
12 
13 #include "Thyra_PreconditionerFactoryBase.hpp"
14 
15 namespace Thyra {
16 
20 template <typename MatrixType>
22  public PreconditionerFactoryBase<typename MatrixType::scalar_type> {
23 public:
25  typedef typename MatrixType::scalar_type scalar_type;
26 
29 
33 
36 
38  bool isCompatible(const LinearOpSourceBase<scalar_type> &fwdOp) const;
39 
42 
44  void initializePrec(
45  const Teuchos::RCP<const LinearOpSourceBase<scalar_type> > &fwdOp,
46  PreconditionerBase<scalar_type> *prec,
47  const ESupportSolveUse supportSolveUse
48  ) const;
49 
51  void uninitializePrec(
52  PreconditionerBase<scalar_type> *prec,
53  Teuchos::RCP<const LinearOpSourceBase<scalar_type> > *fwdOp,
54  ESupportSolveUse *supportSolveUse
55  ) const;
56 
58 
61 
73 
76 
78  std::string description() const;
79 
81 
82 private:
83 
85 
86 };
87 
88 } // namespace Thyra
89 
90 #endif // THYRA_BELOS_TPETRA_PRECONDITIONERFACTORY_DECL_HPP
void uninitializePrec(PreconditionerBase< scalar_type > *prec, Teuchos::RCP< const LinearOpSourceBase< scalar_type > > *fwdOp, ESupportSolveUse *supportSolveUse) const
bool isCompatible(const LinearOpSourceBase< scalar_type > &fwdOp) const
void initializePrec(const Teuchos::RCP< const LinearOpSourceBase< scalar_type > > &fwdOp, PreconditionerBase< scalar_type > *prec, const ESupportSolveUse supportSolveUse) const
void setParameterList(const Teuchos::RCP< Teuchos::ParameterList > &paramList)
Teuchos::RCP< const Teuchos::ParameterList > getValidParameters() const
Concrete preconditioner factory subclass based on Belos. (Yes, Belos solvers can also be used as prec...
Teuchos::RCP< const Teuchos::ParameterList > getParameterList() const
Teuchos::RCP< Teuchos::ParameterList > getNonconstParameterList()
Teuchos::RCP< PreconditionerBase< scalar_type > > createPrec() const