Stratimikos Version of the Day
Loading...
Searching...
No Matches
Thyra_MLPreconditionerFactory.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_ML_PRECONDITIONER_FACTORY_DECL_HPP
11#define THYRA_ML_PRECONDITIONER_FACTORY_DECL_HPP
12
13
14#include "Thyra_PreconditionerFactoryBase.hpp"
15#include "Thyra_EpetraOperatorViewExtractorBase.hpp"
16#include "Teuchos_StandardCompositionMacros.hpp"
17
18namespace Thyra {
19
20
25class MLPreconditionerFactory : public PreconditionerFactoryBase<double> {
26public:
27
30
33
43 EpetraOperatorViewExtractorBase, epetraFwdOpViewExtractor );
44
46
49
51 bool isCompatible( const LinearOpSourceBase<double> &fwdOp ) const;
53 bool applySupportsConj(EConj conj) const;
55 bool applyTransposeSupportsConj(EConj conj) const;
57 Teuchos::RCP<PreconditionerBase<double> > createPrec() const;
59 void initializePrec(
60 const Teuchos::RCP<const LinearOpSourceBase<double> > &fwdOp,
61 PreconditionerBase<double> *prec,
62 const ESupportSolveUse supportSolveUse
63 ) const;
66 PreconditionerBase<double> *prec
67 ,Teuchos::RCP<const LinearOpSourceBase<double> > *fwdOp
68 ,ESupportSolveUse *supportSolveUse
69 ) const;
70
72
75
78 Teuchos::RCP<Teuchos::ParameterList> const& paramList);
80 Teuchos::RCP<Teuchos::ParameterList> getNonconstParameterList();
82 Teuchos::RCP<Teuchos::ParameterList> unsetParameterList();
84 Teuchos::RCP<const Teuchos::ParameterList> getParameterList() const;
86 Teuchos::RCP<const Teuchos::ParameterList> getValidParameters() const;
88
91
93 std::string description() const;
94
95 // ToDo: Add an override of describe(...) to give more detail!
96
98
99private:
100
101 Teuchos::RCP<Teuchos::ParameterList> paramList_;
102
103};
104
105
106} // namespace Thyra
107
108
109#endif // THYRA_ML_PRECONDITIONER_FACTORY_DECL_HPP
Concrete preconditioner factory subclass based on ML.
Teuchos::RCP< Teuchos::ParameterList > getNonconstParameterList()
bool isCompatible(const LinearOpSourceBase< double > &fwdOp) const
STANDARD_COMPOSITION_MEMBERS(EpetraOperatorViewExtractorBase, epetraFwdOpViewExtractor)
Set the strategy object used to extract an Epetra_Operator view of an input forward operator.
void uninitializePrec(PreconditionerBase< double > *prec, Teuchos::RCP< const LinearOpSourceBase< double > > *fwdOp, ESupportSolveUse *supportSolveUse) const
Teuchos::RCP< Teuchos::ParameterList > unsetParameterList()
void initializePrec(const Teuchos::RCP< const LinearOpSourceBase< double > > &fwdOp, PreconditionerBase< double > *prec, const ESupportSolveUse supportSolveUse) const
Teuchos::RCP< const Teuchos::ParameterList > getValidParameters() const
Teuchos::RCP< const Teuchos::ParameterList > getParameterList() const
Teuchos::RCP< PreconditionerBase< double > > createPrec() const
void setParameterList(Teuchos::RCP< Teuchos::ParameterList > const &paramList)

Generated for Stratimikos by doxygen 1.9.8