Stratimikos  Version of the Day
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
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 
18 namespace Thyra {
19 
20 
26 public:
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;
59  void initializePrec(
60  const Teuchos::RCP<const LinearOpSourceBase<double> > &fwdOp,
62  const ESupportSolveUse supportSolveUse
63  ) const;
65  void uninitializePrec(
68  ,ESupportSolveUse *supportSolveUse
69  ) const;
70 
72 
75 
77  void setParameterList(
78  Teuchos::RCP<Teuchos::ParameterList> const& paramList);
88 
91 
93  std::string description() const;
94 
95  // ToDo: Add an override of describe(...) to give more detail!
96 
98 
99 private:
100 
102 
103 };
104 
105 
106 } // namespace Thyra
107 
108 
109 #endif // THYRA_ML_PRECONDITIONER_FACTORY_DECL_HPP
Teuchos::RCP< const Teuchos::ParameterList > getParameterList() const
Concrete preconditioner factory subclass based on ML.
Teuchos::RCP< const Teuchos::ParameterList > getValidParameters() const
Teuchos::RCP< Teuchos::ParameterList > unsetParameterList()
Teuchos::RCP< PreconditionerBase< double > > prec(const PreconditionerFactoryBase< double > &precFactory, const Teuchos::RCP< const LinearOpBase< double > > &fwdOp, const ESupportSolveUse supportSolveUse=SUPPORT_SOLVE_UNSPECIFIED)
void setParameterList(Teuchos::RCP< Teuchos::ParameterList > const &paramList)
void initializePrec(const Teuchos::RCP< const LinearOpSourceBase< double > > &fwdOp, PreconditionerBase< double > *prec, const ESupportSolveUse supportSolveUse) const
STANDARD_COMPOSITION_MEMBERS(EpetraOperatorViewExtractorBase, epetraFwdOpViewExtractor)
Set the strategy object used to extract an Epetra_Operator view of an input forward operator...
ESupportSolveUse
void uninitializePrec(PreconditionerBase< double > *prec, Teuchos::RCP< const LinearOpSourceBase< double > > *fwdOp, ESupportSolveUse *supportSolveUse) const
Teuchos::RCP< PreconditionerBase< double > > createPrec() const
EConj
Teuchos::RCP< Teuchos::ParameterList > getNonconstParameterList()
bool isCompatible(const LinearOpSourceBase< double > &fwdOp) const

Generated on Fri Dec 20 2024 09:21:59 for Stratimikos by doxygen 1.8.5