Teko  Version of the Day
 All Classes Files Functions Variables Pages
Public Member Functions | List of all members
Teko::Epetra::InverseFactoryOperator Class Reference

A single Epetra wrapper for all operators constructed from an inverse operator. More...

#include <Teko_InverseFactoryOperator.hpp>

Inherits Teko::Epetra::EpetraInverseOpWrapper.

Public Member Functions

 InverseFactoryOperator (const Teuchos::RCP< const InverseFactory > &bfp)
 Constructor that takes the InverseFactory that will build the operator. More...
 
virtual void initInverse (bool clearOld=false)
 Build the underlying data structure for the inverse operator. More...
 
virtual void buildInverseOperator (const Teuchos::RCP< const Epetra_Operator > &A, bool clear=true)
 Build this inverse operator from an Epetra_Operator passed in to this object. More...
 
virtual void buildInverseOperator (const Teuchos::RCP< Epetra_Operator > &A, bool clear=true)
 Build this inverse operator from an Epetra_Operator passed in to this object. More...
 
virtual void rebuildInverseOperator (const Teuchos::RCP< const Epetra_Operator > &A)
 Rebuild this inverse from an Epetra_Operator passed in this to object. More...
 
virtual void rebuildInverseOperator (const Teuchos::RCP< Epetra_Operator > &A)
 Rebuild this inverse from an Epetra_Operator passed in this to object. More...
 
Teuchos::RCP< const
Epetra_Operator > 
getForwardOp () const
 
Teuchos::RCP< Epetra_Operator > getNonconstForwardOp () const
 
- Public Member Functions inherited from Teko::Epetra::EpetraOperatorWrapper
const RCP< const
Thyra::LinearOpBase< double > > 
getThyraOp () const
 Return the thyra operator associated with this wrapper. More...
 
const RCP< const MappingStrategygetMapStrategy () const
 Get the mapping strategy for this wrapper (translate between Thyra and Epetra) More...
 
virtual int GetBlockRowCount ()
 Get the number of block rows in this operator. More...
 
virtual int GetBlockColCount ()
 Get the number of block columns in this operator. More...
 
Teuchos::RCP< const
Epetra_Operator > 
GetBlock (int i, int j) const
 Grab the i,j block. More...
 

Detailed Description

A single Epetra wrapper for all operators constructed from an inverse operator.

This class uses the Teko inverse factories to build an Epetra_Operator that behaves like the inverse operatotr. This is done by using the InverseFactory, and letting it build whatever operator is neccessary. Thus the Epetra "layer" is just a single class that handles any generic InverseFactory.

Definition at line 31 of file Teko_InverseFactoryOperator.hpp.

Constructor & Destructor Documentation

Teko::Epetra::InverseFactoryOperator::InverseFactoryOperator ( const Teuchos::RCP< const InverseFactory > &  ifp)

Constructor that takes the InverseFactory that will build the operator.

Constructor that takes the InverseFactory that will build the operator.

Definition at line 32 of file Teko_InverseFactoryOperator.cpp.

Member Function Documentation

void Teko::Epetra::InverseFactoryOperator::initInverse ( bool  clearOld = false)
virtual

Build the underlying data structure for the inverse operator.

Build the underlying data structure for the inverse operator. This permits the manipulation of the state object for an inverse operator.

Parameters
[in]clearOldIf true any previously constructed operator will be wiped out and a new one created. If false, anoperator will be created only if the current one is empty (i.e. initPreconditioner had not been called).

Definition at line 47 of file Teko_InverseFactoryOperator.cpp.

void Teko::Epetra::InverseFactoryOperator::buildInverseOperator ( const Teuchos::RCP< const Epetra_Operator > &  A,
bool  clear = true 
)
virtual

Build this inverse operator from an Epetra_Operator passed in to this object.

Build this inverse opeerator from an Epetra_Operator passed in to this object. If this Epetra_Operator is an EpetraOperatorWrapper object then the block Thyra components are extracted.

Parameters
[in]AThe Epetra source operator.
[in]clearIf true, than any previous state saved by the operator is discarded.

Definition at line 64 of file Teko_InverseFactoryOperator.cpp.

void Teko::Epetra::InverseFactoryOperator::buildInverseOperator ( const Teuchos::RCP< Epetra_Operator > &  A,
bool  clear = true 
)
virtual

Build this inverse operator from an Epetra_Operator passed in to this object.

Build this inverse opeerator from an Epetra_Operator passed in to this object. If this Epetra_Operator is an EpetraOperatorWrapper object then the block Thyra components are extracted.

Parameters
[in]AThe Epetra source operator.
[in]clearIf true, than any previous state saved by the operator is discarded.

Definition at line 94 of file Teko_InverseFactoryOperator.cpp.

void Teko::Epetra::InverseFactoryOperator::rebuildInverseOperator ( const Teuchos::RCP< const Epetra_Operator > &  A)
virtual

Rebuild this inverse from an Epetra_Operator passed in this to object.

Rebuild this inverse from an Epetra_Operator passed in this to object. If buildInverseOperator has not been called the inverse operator will be built instead. Otherwise efforts are taken to only rebuild what is neccessary. Also, that this Epetra_Operator may be an EpetraOperatorWrapper object, so the block Thyra components can be extracted.

Parameters
[in]AThe Epetra source operator. (Should be a EpetraOperatorWrapper!)

Definition at line 117 of file Teko_InverseFactoryOperator.cpp.

void Teko::Epetra::InverseFactoryOperator::rebuildInverseOperator ( const Teuchos::RCP< Epetra_Operator > &  A)
virtual

Rebuild this inverse from an Epetra_Operator passed in this to object.

Rebuild this inverse from an Epetra_Operator passed in this to object. If buildInverseOperator has not been called the inverse operator will be built instead. Otherwise efforts are taken to only rebuild what is neccessary. Also, that this Epetra_Operator may be an EpetraOperatorWrapper object, so the block Thyra components can be extracted.

Parameters
[in]AThe Epetra source operator. (Should be a EpetraOperatorWrapper!)

Definition at line 141 of file Teko_InverseFactoryOperator.cpp.

Teuchos::RCP<const Epetra_Operator> Teko::Epetra::InverseFactoryOperator::getForwardOp ( ) const
inline

Extract the forward op used by buildInverseOperator or rebuildInverseOperator.

Definition at line 115 of file Teko_InverseFactoryOperator.hpp.

Teuchos::RCP<Epetra_Operator> Teko::Epetra::InverseFactoryOperator::getNonconstForwardOp ( ) const
inline

Extract the forward op used by buildInverseOperator or rebuildInverseOperator.

Definition at line 120 of file Teko_InverseFactoryOperator.hpp.


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