A single Epetra wrapper for all operators constructed from an inverse operator. More...
#include <Teko_TpetraInverseFactoryOperator.hpp>
Inherits Teko::TpetraHelpers::TpetraInverseOpWrapper.
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 Tpetra::Operator< ST, LO, GO, NT > > &A, bool clear=true) |
Build this inverse operator from an Epetra_Operator passed in to this object. More... | |
virtual void | buildInverseOperator (const Teuchos::RCP< Tpetra::Operator< ST, LO, GO, NT > > &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 Tpetra::Operator< ST, LO, GO, NT > > &A) |
Rebuild this inverse from an Epetra_Operator passed in this to object. More... | |
virtual void | rebuildInverseOperator (const Teuchos::RCP< Tpetra::Operator< ST, LO, GO, NT > > &A) |
Rebuild this inverse from an Epetra_Operator passed in this to object. More... | |
Teuchos::RCP< const Tpetra::Operator< ST, LO, GO, NT > > | getForwardOp () const |
Teuchos::RCP< Tpetra::Operator < ST, LO, GO, NT > > | getNonconstForwardOp () const |
Public Member Functions inherited from Teko::TpetraHelpers::TpetraOperatorWrapper | |
const RCP< const Thyra::LinearOpBase< ST > > | getThyraOp () const |
Return the thyra operator associated with this wrapper. More... | |
const RCP< const MappingStrategy > | getMapStrategy () 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 Tpetra::Operator< ST, LO, GO, NT > > | GetBlock (int i, int j) const |
Grab the i,j block. More... | |
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 32 of file Teko_TpetraInverseFactoryOperator.hpp.
Teko::TpetraHelpers::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_TpetraInverseFactoryOperator.cpp.
|
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.
[in] | clearOld | If 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_TpetraInverseFactoryOperator.cpp.
|
virtual |
Build this inverse operator from an Epetra_Operator passed in to this object.
Build this inverse operator from an Tpetra::Operator<ST,LO,GO,NT> 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.
[in] | A | The Epetra source operator. |
[in] | clear | If true, than any previous state saved by the operator is discarded. |
Build this inverse opeerator from an Tpetra::Operator<ST,LO,GO,NT> passed in to this object. If this Tpetra::Operator<ST,LO,GO,NT> is an EpetraOperatorWrapper object then the block Thyra components are extracted.
[in] | A | The Epetra source operator. |
[in] | clear | If true, than any previous state saved by the operator is discarded. |
Definition at line 64 of file Teko_TpetraInverseFactoryOperator.cpp.
|
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.
[in] | A | The Epetra source operator. |
[in] | clear | If true, than any previous state saved by the operator is discarded. |
Definition at line 94 of file Teko_TpetraInverseFactoryOperator.cpp.
|
virtual |
Rebuild this inverse from an Epetra_Operator passed in this to object.
Rebuild this inverse from an Tpetra::Operator<ST,LO,GO,NT> 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.
[in] | A | The Epetra source operator. (Should be a EpetraOperatorWrapper!) |
Rebuild this inverse from an Tpetra::Operator<ST,LO,GO,NT> 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 Tpetra::Operator<ST,LO,GO,NT> may be an EpetraOperatorWrapper object, so the block Thyra components can be extracted.
[in] | A | The Epetra source operator. (Should be a EpetraOperatorWrapper!) |
Definition at line 117 of file Teko_TpetraInverseFactoryOperator.cpp.
|
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.
[in] | A | The Epetra source operator. (Should be a EpetraOperatorWrapper!) |
Definition at line 142 of file Teko_TpetraInverseFactoryOperator.cpp.
|
inline |
Extract the forward op used by buildInverseOperator
or rebuildInverseOperator
.
Definition at line 118 of file Teko_TpetraInverseFactoryOperator.hpp.
|
inline |
Extract the forward op used by buildInverseOperator
or rebuildInverseOperator
.
Definition at line 125 of file Teko_TpetraInverseFactoryOperator.hpp.