Thyra  Version of the Day
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Thyra_DiagonalEpetraLinearOpWithSolveFactory.hpp
1 // @HEADER
2 // *****************************************************************************
3 // Thyra: Interfaces and Support for Abstract Numerical Algorithms
4 //
5 // Copyright 2004 NTESS and the Thyra contributors.
6 // SPDX-License-Identifier: BSD-3-Clause
7 // *****************************************************************************
8 // @HEADER
9 
10 #ifndef THYRA_DIAGONAL_EPETRA_LINEAR_OP_WITH_SOLVE_FACTORY_HPP
11 #define THYRA_DIAGONAL_EPETRA_LINEAR_OP_WITH_SOLVE_FACTORY_HPP
12 
13 
14 #include "Thyra_LinearOpWithSolveFactoryBase.hpp"
15 
16 
17 namespace Thyra {
18 
19 
26 public:
27 
30 
32  bool isCompatible( const LinearOpSourceBase<double> &fwdOpSrc ) const;
33 
36 
38  void initializeOp(
39  const Teuchos::RCP<const LinearOpSourceBase<double> > &fwdOpSrc,
41  const ESupportSolveUse supportSolveUse
42  ) const;
43 
44  void uninitializeOp(
46  Teuchos::RCP<const LinearOpSourceBase<double> > *fwdOpSrc,
48  Teuchos::RCP<const LinearOpSourceBase<double> > *approxFwdOpSrc,
49  ESupportSolveUse *supportSolveUse
50  ) const;
51 
53 
56 
67 
69 
70 };
71 
72 
73 } // namespace Thyra
74 
75 
76 #endif // THYRA_DIAGONAL_EPETRA_LINEAR_OP_WITH_SOLVE_FACTORY_HPP
77 
78 #if defined(Thyra_SHOW_DEPRECATED_WARNINGS)
79 #ifdef __GNUC__
80 #warning "The ThyraEpetraAdapters package is deprecated"
81 #endif
82 #endif
83 
void setParameterList(Teuchos::RCP< Teuchos::ParameterList > const &paramList)
Base class for all linear operators that can support a high-level solve operation.
Teuchos::RCP< const Teuchos::ParameterList > getParameterList() const
bool isCompatible(const LinearOpSourceBase< double > &fwdOpSrc) const
Simple interface class to access a precreated preconditioner as one or more linear operators objects ...
Teuchos::RCP< LinearOpWithSolveBase< double > > createOp() const
Factory interface for creating LinearOpWithSolveBase objects from compatible LinearOpBase objects...
void uninitializeOp(LinearOpWithSolveBase< double > *Op, Teuchos::RCP< const LinearOpSourceBase< double > > *fwdOpSrc, Teuchos::RCP< const PreconditionerBase< double > > *prec, Teuchos::RCP< const LinearOpSourceBase< double > > *approxFwdOpSrc, ESupportSolveUse *supportSolveUse) const
Uninitialize a LinearOpWithSolveBase object and return its remembered forward linear operator and pot...
void initializeOp(const Teuchos::RCP< const LinearOpSourceBase< double > > &fwdOpSrc, LinearOpWithSolveBase< double > *Op, const ESupportSolveUse supportSolveUse) const
Base interface for objects that can return a linear operator.
ESupportSolveUse
Enum that specifies how a LinearOpWithSolveBase object will be used for solves after it is constructe...
Create a DefaultDiagonalLinearOpWithSolve out of a diagonal Epetra_RowMatrix object.
Teuchos::RCP< const Teuchos::ParameterList > getValidParameters() const