Teko  Version of the Day
 All Classes Files Functions Variables Pages
Teko_EpetraInverseOpWrapper.hpp
1 // @HEADER
2 // *****************************************************************************
3 // Teko: A package for block and physics based preconditioning
4 //
5 // Copyright 2010 NTESS and the Teko contributors.
6 // SPDX-License-Identifier: BSD-3-Clause
7 // *****************************************************************************
8 // @HEADER
9 
10 #ifndef __Teko_EpetraInverseOpWrapper_hpp__
11 #define __Teko_EpetraInverseOpWrapper_hpp__
12 
13 #include "Teko_EpetraOperatorWrapper.hpp"
14 
15 namespace Teko {
16 namespace Epetra {
17 
18 class EpetraInverseOpWrapper : public EpetraOperatorWrapper {
19  public:
20  EpetraInverseOpWrapper(const RCP<const MappingStrategy>& forwardMaps)
21  : EpetraOperatorWrapper(forwardMaps) {}
22 
23  EpetraInverseOpWrapper(const RCP<const Thyra::LinearOpBase<double> >& thyraOp)
24  : EpetraOperatorWrapper(thyraOp) {}
25 
27  virtual int Apply(const Epetra_MultiVector& X, Epetra_MultiVector& Y) const;
28 
30  virtual int ApplyInverse(const Epetra_MultiVector& X, Epetra_MultiVector& Y) const;
31 
32  // /** */
33  // virtual const Epetra_Map& OperatorDomainMap() const;
34  //
35  // /** */
36  // virtual const Epetra_Map& OperatorRangeMap() const;
37  protected:
38  EpetraInverseOpWrapper() {}
39 };
40 
41 } // namespace Epetra
42 } // namespace Teko
43 
44 #endif