Stratimikos Version of the Day
Loading...
Searching...
No Matches
Thyra_BelosTpetraPreconditionerFactory_decl.hpp
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
15namespace Thyra {
16
20template <typename MatrixType>
22 public PreconditionerFactoryBase<typename MatrixType::scalar_type> {
23public:
25 typedef typename MatrixType::scalar_type scalar_type;
26
29
33
36
38 bool isCompatible(const LinearOpSourceBase<scalar_type> &fwdOp) const;
39
41 Teuchos::RCP<PreconditionerBase<scalar_type> > createPrec() const;
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
52 PreconditionerBase<scalar_type> *prec,
53 Teuchos::RCP<const LinearOpSourceBase<scalar_type> > *fwdOp,
54 ESupportSolveUse *supportSolveUse
55 ) const;
56
58
61
63 void setParameterList(const Teuchos::RCP<Teuchos::ParameterList> &paramList);
65 Teuchos::RCP<Teuchos::ParameterList> getNonconstParameterList();
67 Teuchos::RCP<Teuchos::ParameterList> unsetParameterList();
69 Teuchos::RCP<const Teuchos::ParameterList> getParameterList() const;
71 Teuchos::RCP<const Teuchos::ParameterList> getValidParameters() const;
73
76
78 std::string description() const;
79
81
82private:
83
84 Teuchos::RCP<Teuchos::ParameterList> paramList_;
85
86};
87
88} // namespace Thyra
89
90#endif // THYRA_BELOS_TPETRA_PRECONDITIONERFACTORY_DECL_HPP
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 > &paramList)
Teuchos::RCP< const Teuchos::ParameterList > getParameterList() const
bool isCompatible(const LinearOpSourceBase< scalar_type > &fwdOp) const
void uninitializePrec(PreconditionerBase< scalar_type > *prec, Teuchos::RCP< const LinearOpSourceBase< scalar_type > > *fwdOp, ESupportSolveUse *supportSolveUse) const
void initializePrec(const Teuchos::RCP< const LinearOpSourceBase< scalar_type > > &fwdOp, PreconditionerBase< scalar_type > *prec, const ESupportSolveUse supportSolveUse) const
Teuchos::RCP< PreconditionerBase< scalar_type > > createPrec() const

Generated for Stratimikos by doxygen 1.9.8