Stratimikos Package Browser (Single Doxygen Collection)  Version of the Day
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Thyra_IfpackPreconditionerFactory.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_IFPACK_PRECONDITIONER_FACTORY_DECL_HPP
11 #define THYRA_IFPACK_PRECONDITIONER_FACTORY_DECL_HPP
12 
13 #include "Thyra_PreconditionerFactoryBase.hpp"
16 #include "Ifpack.h"
17 
18 namespace Thyra {
19 
24 class IfpackPreconditionerFactory : public PreconditionerFactoryBase<double> {
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
59  ,PreconditionerBase<double> *prec
60  ,const ESupportSolveUse supportSolveUse
61  ) const;
63  void uninitializePrec(
64  PreconditionerBase<double> *prec
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< Teuchos::ParameterList > paramList_
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
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
Teuchos::RCP< Teuchos::ParameterList > getNonconstParameterList()