Thyra Package Browser (Single Doxygen Collection) Version of the Day
Static Private Member Functions | Private Attributes | Related Functions
Thyra::EpetraOperatorWrapper Class Reference

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

#include <Thyra_EpetraOperatorWrapper.hpp>

List of all members.

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.

Constructor, utilties.

 EpetraOperatorWrapper (const RCP< const LinearOpBase< double > > &thyraOp)
 
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

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 87 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

Definition at line 181 of file Thyra_EpetraOperatorWrapper.cpp.

References TEUCHOS_TEST_FOR_EXCEPTION.

double Thyra::EpetraOperatorWrapper::NormInf ( ) const

Definition at line 190 of file Thyra_EpetraOperatorWrapper.cpp.

References TEUCHOS_TEST_FOR_EXCEPTION.

const char* Thyra::EpetraOperatorWrapper::Label ( ) const [inline]

Definition at line 103 of file Thyra_EpetraOperatorWrapper.hpp.

References label_.

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

Definition at line 106 of file Thyra_EpetraOperatorWrapper.hpp.

References useTranspose_.

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

Definition at line 109 of file Thyra_EpetraOperatorWrapper.hpp.

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

Definition at line 112 of file Thyra_EpetraOperatorWrapper.hpp.

References comm_.

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

Definition at line 115 of file Thyra_EpetraOperatorWrapper.hpp.

References domainMap_.

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

Definition at line 118 of file Thyra_EpetraOperatorWrapper.hpp.

References rangeMap_.

RCP< const Epetra_Comm > Thyra::EpetraOperatorWrapper::getEpetraComm ( const LinearOpBase< double > &  thyraOp) [static, private]

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

Definition at line 124 of file Thyra_EpetraOperatorWrapper.hpp.

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

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

Definition at line 125 of file Thyra_EpetraOperatorWrapper.hpp.

Referenced by Apply().

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

Definition at line 126 of file Thyra_EpetraOperatorWrapper.hpp.

Referenced by Apply().

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

Definition at line 127 of file Thyra_EpetraOperatorWrapper.hpp.

Referenced by Apply().

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

Definition at line 128 of file Thyra_EpetraOperatorWrapper.hpp.

Referenced by Comm().

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

Definition at line 129 of file Thyra_EpetraOperatorWrapper.hpp.

Referenced by OperatorRangeMap().

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

Definition at line 130 of file Thyra_EpetraOperatorWrapper.hpp.

Referenced by OperatorDomainMap().

std::string Thyra::EpetraOperatorWrapper::label_ [private]

Definition at line 132 of file Thyra_EpetraOperatorWrapper.hpp.

Referenced by Label().


The documentation for this class was generated from the following files:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines