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" 85 Epetra_MultiVector &x)
const;
95 useTranspose_ = UseTranspose_in;
100 int Apply(
const Epetra_MultiVector& X, Epetra_MultiVector& Y)
const ;
103 int ApplyInverse(
const Epetra_MultiVector& X, Epetra_MultiVector& Y)
const ;
109 const char*
Label()
const {
return label_.c_str();}
118 const Epetra_Comm&
Comm()
const {
return *comm_;}
131 RCP<const LinearOpBase<double> > thyraOp_;
132 RCP<const VectorSpaceBase<double> > range_;
133 RCP<const VectorSpaceBase<double> > domain_;
134 RCP<const Epetra_Comm> comm_;
135 RCP<const Epetra_Map> rangeMap_;
136 RCP<const Epetra_Map> domainMap_;
153 RCP<const LinearOpBase<double> >
154 makeEpetraWrapper(
const RCP<
const LinearOpBase<double> > &thyraOp);
160 #endif // THYRA_EPETRA_OPERATOR_WRAPPER_HPP bool UseTranspose() const
EpetraOperatorWrapper(const RCP< const LinearOpBase< double > > &thyraOp)
const Epetra_Comm & Comm() const
int Apply(const Epetra_MultiVector &X, Epetra_MultiVector &Y) const
void copyThyraIntoEpetra(const VectorBase< double > &thyraVec, Epetra_MultiVector &x) const
RCP< const LinearOpBase< double > > getThyraOp() const
int SetUseTranspose(bool UseTranspose_in)
const Epetra_Map & OperatorDomainMap() const
Abstract interface for finite-dimensional dense vectors.
Implements the Epetra_Operator interface with a Thyra LinearOperator.
void copyEpetraIntoThyra(const Epetra_MultiVector &x, const Ptr< VectorBase< double > > &thyraVec) const
const char * Label() const
int ApplyInverse(const Epetra_MultiVector &X, Epetra_MultiVector &Y) const
const Epetra_Map & OperatorRangeMap() const