MueLu  Version of the Day
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
MueLu_AztecEpetraOperator.hpp
Go to the documentation of this file.
1 
2 #ifndef PACKAGES_MUELU_ADAPTERS_AZTECOO_MUELU_AZTECEPETRAOPERATOR_HPP_
3 #define PACKAGES_MUELU_ADAPTERS_AZTECOO_MUELU_AZTECEPETRAOPERATOR_HPP_
4 
5 #include <Epetra_Operator.h>
6 
7 #include "Xpetra_Operator.hpp"
8 
9 #if defined(HAVE_MUELU_SERIAL) and defined(HAVE_MUELU_EPETRA)
10 
11 namespace MueLu {
12 
19 class AztecEpetraOperator : public Epetra_Operator {
20  typedef double SC;
21  typedef int LO;
22  typedef int GO;
23  typedef Xpetra::EpetraNode NO;
24 
25  typedef Xpetra::Map<LO, GO, NO> Map;
27  typedef Xpetra::Operator<SC, LO, GO, NO> Operator;
28 
29  public:
31 
32 
34  AztecEpetraOperator(const Teuchos::RCP<Operator>& Op)
35  : xOp_(Op) {}
36 
38  virtual ~AztecEpetraOperator() {}
39 
41 
42  int SetUseTranspose(bool /* UseTransposeBool */) { return -1; }
43 
45 
46 
48 
56  int Apply(const Epetra_MultiVector& /* X */, Epetra_MultiVector& /* Y */) const { return -1; }
57 
59 
70  int ApplyInverse(const Epetra_MultiVector& X, Epetra_MultiVector& Y) const;
71 
73  /* Returns the quantity \f$ \| A \|_\infty\f$ such that
74  \f[\| A \|_\infty = \max_{1\lei\lem} \sum_{j=1}^n |a_{ij}| \f].
75 
76  \warning This method must not be called unless HasNormInf() returns true.
77  */
78  double NormInf() const { return 0; }
80 
82 
83 
85  const char* Label() const { return "MueLu::AztecEpetraOperator"; }
86 
88  bool UseTranspose() const { return false; }
89 
91  bool HasNormInf() const { return 0; }
92 
94  const Epetra_Comm& Comm() const;
95 
97  const Epetra_Map& OperatorDomainMap() const;
98 
100  const Epetra_Map& OperatorRangeMap() const;
101 
103 
105 
106 
108  Teuchos::RCP<Operator> GetOperator() const { return xOp_; }
109 
111 
112  private:
114 };
115 
116 } // namespace MueLu
117 
118 #endif
119 
120 #endif /* PACKAGES_MUELU_ADAPTERS_AZTECOO_MUELU_AZTECEPETRAOPERATOR_HPP_ */
GlobalOrdinal GO
EpetraMapT< int, EpetraNode > EpetraMap
LocalOrdinal LO
Scalar SC
Node NO