42 #ifndef THYRA_EPETRA_OPERATOR_WRAPPER_HPP
43 #define THYRA_EPETRA_OPERATOR_WRAPPER_HPP
45 #include "Thyra_LinearOpBase.hpp"
46 #include "Epetra_Map.h"
47 #include "Epetra_Comm.h"
48 #include "Epetra_MultiVector.h"
49 #include "Epetra_Operator.h"
81 const Ptr<VectorBase<double> > &thyraVec)
const;
85 Epetra_MultiVector &x)
const;
100 int Apply(
const Epetra_MultiVector& X, Epetra_MultiVector& Y)
const ;
103 int ApplyInverse(
const Epetra_MultiVector& X, Epetra_MultiVector& Y)
const ;
154 makeEpetraWrapper(
const RCP<
const LinearOpBase<double> > &thyraOp);
160 #endif // THYRA_EPETRA_OPERATOR_WRAPPER_HPP
void copyEpetraIntoThyra(const Epetra_MultiVector &x, const Ptr< VectorBase< double > > &thyraVec) const
EpetraOperatorWrapper(const RCP< const LinearOpBase< double > > &thyraOp)
static RCP< const Epetra_Comm > getEpetraComm(const LinearOpBase< double > &thyraOp)
const char * Label() const
const Epetra_Comm & Comm() const
const Epetra_Map & OperatorDomainMap() const
int SetUseTranspose(bool UseTranspose_in)
RCP< const LinearOpBase< double > > getThyraOp() const
int Apply(const Epetra_MultiVector &X, Epetra_MultiVector &Y) const
const Epetra_Map & OperatorRangeMap() const
Implements the Epetra_Operator interface with a Thyra LinearOperator.
RCP< const VectorSpaceBase< double > > range_
RCP< const VectorSpaceBase< double > > domain_
bool UseTranspose() const
void copyThyraIntoEpetra(const VectorBase< double > &thyraVec, Epetra_MultiVector &x) const
RCP< const Epetra_Map > rangeMap_
int ApplyInverse(const Epetra_MultiVector &X, Epetra_MultiVector &Y) const
RCP< const LinearOpBase< double > > thyraOp_
RCP< const Epetra_Comm > comm_
RCP< const Epetra_Map > domainMap_