Stratimikos  Version of the Day
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
Thyra_IfpackPreconditionerFactory.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_IFPACK_PRECONDITIONER_FACTORY_DECL_HPP
11 #define THYRA_IFPACK_PRECONDITIONER_FACTORY_DECL_HPP
12 
13 #include "Thyra_PreconditionerFactoryBase.hpp"
14 #include "Thyra_EpetraOperatorViewExtractorBase.hpp"
15 #include "Teuchos_StandardCompositionMacros.hpp"
16 #include "Ifpack.h"
17 
18 namespace Thyra {
19 
25 public:
26 
29 
32 
42 
44 
47 
49  bool isCompatible( const LinearOpSourceBase<double> &fwdOpSrc ) const;
51  bool applySupportsConj(EConj conj) const;
53  bool applyTransposeSupportsConj(EConj conj) const;
57  void initializePrec(
58  const Teuchos::RCP<const LinearOpSourceBase<double> > &fwdOpSrc
60  ,const ESupportSolveUse supportSolveUse
61  ) const;
63  void uninitializePrec(
65  ,Teuchos::RCP<const LinearOpSourceBase<double> > *fwdOpSrc
66  ,ESupportSolveUse *supportSolveUse
67  ) const;
68 
70 
73 
84 
86 
89 
91  std::string description() const;
92 
94 
95 private:
96 
97  // ////////////////////////////////
98  // Private data members
99 
101  ::Ifpack::EPrecType precType_;
102  int overlap_;
103 
104  // ////////////////////////////////
105  // Private member functions
106 
107  static void initializeTimers();
108 
109 };
110 
111 } // namespace Thyra
112 
113 #endif // THYRA_IFPACK_PRECONDITIONER_FACTORY_DECL_HPP
Concrete preconditioner factory subclass based on Ifpack.
Teuchos::RCP< PreconditionerBase< double > > createPrec() const
bool isCompatible(const LinearOpSourceBase< double > &fwdOpSrc) const
Teuchos::RCP< const Teuchos::ParameterList > getValidParameters() const
void uninitializePrec(PreconditionerBase< double > *prec, Teuchos::RCP< const LinearOpSourceBase< double > > *fwdOpSrc, ESupportSolveUse *supportSolveUse) const
Teuchos::RCP< const Teuchos::ParameterList > getParameterList() const
Teuchos::RCP< PreconditionerBase< double > > prec(const PreconditionerFactoryBase< double > &precFactory, const Teuchos::RCP< const LinearOpBase< double > > &fwdOp, const ESupportSolveUse supportSolveUse=SUPPORT_SOLVE_UNSPECIFIED)
ESupportSolveUse
void setParameterList(Teuchos::RCP< Teuchos::ParameterList > const &paramList)
STANDARD_COMPOSITION_MEMBERS(EpetraOperatorViewExtractorBase, epetraFwdOpViewExtractor)
Set the strategy object used to extract an Epetra_Operator view of an input forward operator...
Teuchos::RCP< Teuchos::ParameterList > unsetParameterList()
void initializePrec(const Teuchos::RCP< const LinearOpSourceBase< double > > &fwdOpSrc, PreconditionerBase< double > *prec, const ESupportSolveUse supportSolveUse) const
EConj
Teuchos::RCP< Teuchos::ParameterList > getNonconstParameterList()

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