Teko Version of the Day
Loading...
Searching...
No Matches
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
15namespace Teko {
16namespace Epetra {
17
18class 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
Implements the Epetra_Operator interface with a Thyra LinearOperator. This enables the use of absrtac...