Thyra Package Browser (Single Doxygen Collection)  Version of the Day
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Static Private Member Functions | Private Attributes | Related Functions | List of all members
Thyra::EpetraOperatorWrapper Class Reference

Implements the Epetra_Operator interface with a Thyra LinearOperator. More...

#include <Thyra_EpetraOperatorWrapper.hpp>

Inherits Epetra_Operator.

Static Private Member Functions

static RCP< const Epetra_Comm > getEpetraComm (const LinearOpBase< double > &thyraOp)
 

Private Attributes

bool useTranspose_
 
RCP< const LinearOpBase< double > > thyraOp_
 
RCP< const VectorSpaceBase
< double > > 
range_
 
RCP< const VectorSpaceBase
< double > > 
domain_
 
RCP< const Epetra_Comm > comm_
 
RCP< const Epetra_Map > rangeMap_
 
RCP< const Epetra_Map > domainMap_
 
std::string label_
 

Related Functions

(Note that these are not member functions.)

RCP< const LinearOpBase< double > > makeEpetraWrapper (const RCP< const LinearOpBase< double > > &thyraOp)
 Wrap a Thyra operator in the Epetra_Operator interface, and then wrap it again in a Thyra operator interface. More...
 

Constructor, utilties.

 EpetraOperatorWrapper (const RCP< const LinearOpBase< double > > &thyraOp)
 
RCP< const LinearOpBase< double > > getThyraOp () const
 
void copyEpetraIntoThyra (const Epetra_MultiVector &x, const Ptr< VectorBase< double > > &thyraVec) const
 
void copyThyraIntoEpetra (const VectorBase< double > &thyraVec, Epetra_MultiVector &x) const
 

Overridden from Epetra_Operator

int SetUseTranspose (bool UseTranspose_in)
 
int Apply (const Epetra_MultiVector &X, Epetra_MultiVector &Y) const
 
int ApplyInverse (const Epetra_MultiVector &X, Epetra_MultiVector &Y) const
 
double NormInf () const
 
const char * Label () const
 
bool UseTranspose () const
 
bool HasNormInf () const
 
const Epetra_Comm & Comm () const
 
const Epetra_Map & OperatorDomainMap () const
 
const Epetra_Map & OperatorRangeMap () const
 

Detailed Description

Implements the Epetra_Operator interface with a Thyra LinearOperator.

This enables the use of absrtact Thyra operators in AztecOO as preconditioners and operators, without being rendered into concrete Epetra matrices.

Definition at line 63 of file Thyra_EpetraOperatorWrapper.hpp.

Constructor & Destructor Documentation

Thyra::EpetraOperatorWrapper::EpetraOperatorWrapper ( const RCP< const LinearOpBase< double > > &  thyraOp)

Definition at line 68 of file Thyra_EpetraOperatorWrapper.cpp.

Member Function Documentation

RCP<const LinearOpBase<double> > Thyra::EpetraOperatorWrapper::getThyraOp ( ) const
inline

Definition at line 74 of file Thyra_EpetraOperatorWrapper.hpp.

References thyraOp_.

void Thyra::EpetraOperatorWrapper::copyEpetraIntoThyra ( const Epetra_MultiVector &  x,
const Ptr< VectorBase< double > > &  thyraVec 
) const

Definition at line 82 of file Thyra_EpetraOperatorWrapper.cpp.

References TEUCHOS_TEST_FOR_EXCEPTION.

Referenced by Apply().

void Thyra::EpetraOperatorWrapper::copyThyraIntoEpetra ( const VectorBase< double > &  thyraVec,
Epetra_MultiVector &  x 
) const

Definition at line 120 of file Thyra_EpetraOperatorWrapper.cpp.

References TEUCHOS_TEST_FOR_EXCEPTION.

Referenced by Apply().

int Thyra::EpetraOperatorWrapper::SetUseTranspose ( bool  UseTranspose_in)
inline

Definition at line 93 of file Thyra_EpetraOperatorWrapper.hpp.

References useTranspose_.

int Thyra::EpetraOperatorWrapper::Apply ( const Epetra_MultiVector &  X,
Epetra_MultiVector &  Y 
) const
int Thyra::EpetraOperatorWrapper::ApplyInverse ( const Epetra_MultiVector &  X,
Epetra_MultiVector &  Y 
) const
double Thyra::EpetraOperatorWrapper::NormInf ( ) const
const char* Thyra::EpetraOperatorWrapper::Label ( ) const
inline

Definition at line 109 of file Thyra_EpetraOperatorWrapper.hpp.

References label_.

bool Thyra::EpetraOperatorWrapper::UseTranspose ( ) const
inline

Definition at line 112 of file Thyra_EpetraOperatorWrapper.hpp.

References useTranspose_.

bool Thyra::EpetraOperatorWrapper::HasNormInf ( ) const
inline

Definition at line 115 of file Thyra_EpetraOperatorWrapper.hpp.

const Epetra_Comm& Thyra::EpetraOperatorWrapper::Comm ( ) const
inline

Definition at line 118 of file Thyra_EpetraOperatorWrapper.hpp.

References comm_.

const Epetra_Map& Thyra::EpetraOperatorWrapper::OperatorDomainMap ( ) const
inline

Definition at line 121 of file Thyra_EpetraOperatorWrapper.hpp.

References domainMap_.

const Epetra_Map& Thyra::EpetraOperatorWrapper::OperatorRangeMap ( ) const
inline

Definition at line 124 of file Thyra_EpetraOperatorWrapper.hpp.

References rangeMap_.

RCP< const Epetra_Comm > Thyra::EpetraOperatorWrapper::getEpetraComm ( const LinearOpBase< double > &  thyraOp)
staticprivate

Friends And Related Function Documentation

RCP< const LinearOpBase< double > > makeEpetraWrapper ( const RCP< const LinearOpBase< double > > &  thyraOp)
related

Wrap a Thyra operator in the Epetra_Operator interface, and then wrap it again in a Thyra operator interface.

This lets an arbitrary Thyra operator be given to the Thyra AztecOO adapters.

Member Data Documentation

bool Thyra::EpetraOperatorWrapper::useTranspose_
private

Definition at line 130 of file Thyra_EpetraOperatorWrapper.hpp.

Referenced by Apply(), SetUseTranspose(), and UseTranspose().

RCP<const LinearOpBase<double> > Thyra::EpetraOperatorWrapper::thyraOp_
private

Definition at line 131 of file Thyra_EpetraOperatorWrapper.hpp.

Referenced by Apply(), and getThyraOp().

RCP<const VectorSpaceBase<double> > Thyra::EpetraOperatorWrapper::range_
private

Definition at line 132 of file Thyra_EpetraOperatorWrapper.hpp.

Referenced by Apply().

RCP<const VectorSpaceBase<double> > Thyra::EpetraOperatorWrapper::domain_
private

Definition at line 133 of file Thyra_EpetraOperatorWrapper.hpp.

Referenced by Apply().

RCP<const Epetra_Comm> Thyra::EpetraOperatorWrapper::comm_
private

Definition at line 134 of file Thyra_EpetraOperatorWrapper.hpp.

Referenced by Comm().

RCP<const Epetra_Map> Thyra::EpetraOperatorWrapper::rangeMap_
private

Definition at line 135 of file Thyra_EpetraOperatorWrapper.hpp.

Referenced by OperatorRangeMap().

RCP<const Epetra_Map> Thyra::EpetraOperatorWrapper::domainMap_
private

Definition at line 136 of file Thyra_EpetraOperatorWrapper.hpp.

Referenced by OperatorDomainMap().

std::string Thyra::EpetraOperatorWrapper::label_
private

Definition at line 138 of file Thyra_EpetraOperatorWrapper.hpp.

Referenced by Label().


The documentation for this class was generated from the following files: