Teko Version of the Day
Public Member Functions | Protected Member Functions | Protected Attributes
Teko::Epetra::EpetraOperatorWrapper Class Reference

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. This is my own modified version that was originally in Thyra. More...

#include <Teko_EpetraOperatorWrapper.hpp>

Inheritance diagram for Teko::Epetra::EpetraOperatorWrapper:
Inheritance graph
[legend]

List of all members.

Public Member Functions

 EpetraOperatorWrapper (const RCP< const Thyra::LinearOpBase< double > > &thyraOp)
virtual ~EpetraOperatorWrapper ()
int SetUseTranspose (bool UseTranspose)
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
const RCP< const
Thyra::LinearOpBase< double > > 
getThyraOp () const
 Return the thyra operator associated with this wrapper.
const RCP< const MappingStrategygetMapStrategy () const
 Get the mapping strategy for this wrapper (translate between Thyra and Epetra)
virtual int GetBlockRowCount ()
 Get the number of block rows in this operator.
virtual int GetBlockColCount ()
 Get the number of block columns in this operator.
Teuchos::RCP< const
Epetra_Operator > 
GetBlock (int i, int j) const
 Grab the i,j block.

Protected Member Functions

 EpetraOperatorWrapper ()
RCP< const Epetra_Comm > getEpetraComm (const Thyra::LinearOpBase< double > &inOp) const
void SetOperator (const RCP< const Thyra::LinearOpBase< double > > &thyraOp, bool buildMap=true)
void SetMapStrategy (const RCP< const MappingStrategy > &mapStrategy)

Protected Attributes

RCP< const MappingStrategymapStrategy_
RCP< const Thyra::LinearOpBase
< double > > 
thyraOp_
bool useTranspose_
RCP< const Epetra_Comm > comm_
std::string label_

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. This is my own modified version that was originally in Thyra.

Definition at line 202 of file Teko_EpetraOperatorWrapper.hpp.


Constructor & Destructor Documentation

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

Definition at line 107 of file Teko_EpetraOperatorWrapper.cpp.

virtual Teko::Epetra::EpetraOperatorWrapper::~EpetraOperatorWrapper ( ) [inline, virtual]

Definition at line 212 of file Teko_EpetraOperatorWrapper.hpp.

Teko::Epetra::EpetraOperatorWrapper::EpetraOperatorWrapper ( ) [protected]

Definition at line 98 of file Teko_EpetraOperatorWrapper.cpp.


Member Function Documentation

int Teko::Epetra::EpetraOperatorWrapper::SetUseTranspose ( bool  UseTranspose) [inline]

Reimplemented in Teko::Epetra::BlockedEpetraOperator.

Definition at line 215 of file Teko_EpetraOperatorWrapper.hpp.

int Teko::Epetra::EpetraOperatorWrapper::Apply ( const Epetra_MultiVector &  X,
Epetra_MultiVector &  Y 
) const

Definition at line 144 of file Teko_EpetraOperatorWrapper.cpp.

int Teko::Epetra::EpetraOperatorWrapper::ApplyInverse ( const Epetra_MultiVector &  X,
Epetra_MultiVector &  Y 
) const

Reimplemented in Teko::Epetra::BlockedEpetraOperator.

Definition at line 177 of file Teko_EpetraOperatorWrapper.cpp.

double Teko::Epetra::EpetraOperatorWrapper::NormInf ( ) const

Reimplemented in Teko::Epetra::BlockedEpetraOperator.

Definition at line 137 of file Teko_EpetraOperatorWrapper.cpp.

const char* Teko::Epetra::EpetraOperatorWrapper::Label ( ) const [inline]

Definition at line 227 of file Teko_EpetraOperatorWrapper.hpp.

bool Teko::Epetra::EpetraOperatorWrapper::UseTranspose ( ) const [inline]

Reimplemented in Teko::Epetra::BlockedEpetraOperator.

Definition at line 230 of file Teko_EpetraOperatorWrapper.hpp.

bool Teko::Epetra::EpetraOperatorWrapper::HasNormInf ( ) const [inline]

Reimplemented in Teko::Epetra::BlockedEpetraOperator.

Definition at line 233 of file Teko_EpetraOperatorWrapper.hpp.

const Epetra_Comm& Teko::Epetra::EpetraOperatorWrapper::Comm ( ) const [inline]

Reimplemented in Teko::Epetra::BlockedEpetraOperator.

Definition at line 236 of file Teko_EpetraOperatorWrapper.hpp.

const Epetra_Map& Teko::Epetra::EpetraOperatorWrapper::OperatorDomainMap ( ) const [inline]

Definition at line 239 of file Teko_EpetraOperatorWrapper.hpp.

const Epetra_Map& Teko::Epetra::EpetraOperatorWrapper::OperatorRangeMap ( ) const [inline]

Definition at line 242 of file Teko_EpetraOperatorWrapper.hpp.

const RCP<const Thyra::LinearOpBase<double> > Teko::Epetra::EpetraOperatorWrapper::getThyraOp ( ) const [inline]

Return the thyra operator associated with this wrapper.

Definition at line 245 of file Teko_EpetraOperatorWrapper.hpp.

const RCP<const MappingStrategy> Teko::Epetra::EpetraOperatorWrapper::getMapStrategy ( ) const [inline]

Get the mapping strategy for this wrapper (translate between Thyra and Epetra)

Definition at line 249 of file Teko_EpetraOperatorWrapper.hpp.

int Teko::Epetra::EpetraOperatorWrapper::GetBlockRowCount ( ) [virtual]

Get the number of block rows in this operator.

Definition at line 278 of file Teko_EpetraOperatorWrapper.cpp.

int Teko::Epetra::EpetraOperatorWrapper::GetBlockColCount ( ) [virtual]

Get the number of block columns in this operator.

Definition at line 286 of file Teko_EpetraOperatorWrapper.cpp.

Teuchos::RCP< const Epetra_Operator > Teko::Epetra::EpetraOperatorWrapper::GetBlock ( int  i,
int  j 
) const

Grab the i,j block.

Reimplemented in Teko::Epetra::BlockedEpetraOperator.

Definition at line 294 of file Teko_EpetraOperatorWrapper.cpp.

RCP< const Epetra_Comm > Teko::Epetra::EpetraOperatorWrapper::getEpetraComm ( const Thyra::LinearOpBase< double > &  inOp) const [protected]

Definition at line 187 of file Teko_EpetraOperatorWrapper.cpp.

void Teko::Epetra::EpetraOperatorWrapper::SetOperator ( const RCP< const Thyra::LinearOpBase< double > > &  thyraOp,
bool  buildMap = true 
) [protected]

Definition at line 127 of file Teko_EpetraOperatorWrapper.cpp.

void Teko::Epetra::EpetraOperatorWrapper::SetMapStrategy ( const RCP< const MappingStrategy > &  mapStrategy) [inline, protected]

Definition at line 272 of file Teko_EpetraOperatorWrapper.hpp.


Member Data Documentation

Definition at line 276 of file Teko_EpetraOperatorWrapper.hpp.

RCP<const Thyra::LinearOpBase<double> > Teko::Epetra::EpetraOperatorWrapper::thyraOp_ [protected]

Definition at line 279 of file Teko_EpetraOperatorWrapper.hpp.

Definition at line 282 of file Teko_EpetraOperatorWrapper.hpp.

RCP<const Epetra_Comm> Teko::Epetra::EpetraOperatorWrapper::comm_ [protected]

Definition at line 285 of file Teko_EpetraOperatorWrapper.hpp.

Reimplemented in Teko::Epetra::BlockedEpetraOperator.

Definition at line 288 of file Teko_EpetraOperatorWrapper.hpp.


The documentation for this class was generated from the following files:
 All Classes Files Functions Variables