10#ifndef PACKAGES_MUELU_ADAPTERS_AZTECOO_MUELU_AZTECEPETRAOPERATOR_HPP_
11#define PACKAGES_MUELU_ADAPTERS_AZTECOO_MUELU_AZTECEPETRAOPERATOR_HPP_
13#include <Epetra_Operator.h>
15#include "Xpetra_Operator.hpp"
17#if defined(HAVE_MUELU_SERIAL) and defined(HAVE_MUELU_EPETRA)
27class AztecEpetraOperator :
public Epetra_Operator {
31 typedef Xpetra::EpetraNode NO;
33 typedef Xpetra::Map<LO, GO, NO> Map;
34 typedef Xpetra::EpetraMapT<GO, NO> EpetraMap;
35 typedef Xpetra::Operator<SC, LO, GO, NO> Operator;
42 AztecEpetraOperator(
const Teuchos::RCP<Operator>& Op)
46 virtual ~AztecEpetraOperator() {}
50 int SetUseTranspose(
bool ) {
return -1; }
64 int Apply(
const Epetra_MultiVector& , Epetra_MultiVector& )
const {
return -1; }
78 int ApplyInverse(
const Epetra_MultiVector& X, Epetra_MultiVector& Y)
const;
86 double NormInf()
const {
return 0; }
93 const char* Label()
const {
return "MueLu::AztecEpetraOperator"; }
96 bool UseTranspose()
const {
return false; }
99 bool HasNormInf()
const {
return 0; }
102 const Epetra_Comm& Comm()
const;
105 const Epetra_Map& OperatorDomainMap()
const;
108 const Epetra_Map& OperatorRangeMap()
const;
116 Teuchos::RCP<Operator> GetOperator()
const {
return xOp_; }
121 Teuchos::RCP<Operator> xOp_;
Namespace for MueLu classes and methods.