Teko Version of the Day

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)  
virtual void  initInverse (bool clearOld=false) 
Build the underlying data structure for the inverse operator.  
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.  
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.  
virtual void  rebuildInverseOperator (const Teuchos::RCP< const Epetra_Operator > &A) 
Rebuild this inverse from an Epetra_Operator passed in this to object.  
virtual void  rebuildInverseOperator (const Teuchos::RCP< Epetra_Operator > &A) 
Rebuild this inverse from an Epetra_Operator passed in this to object.  
Teuchos::RCP< const Epetra_Operator >  getForwardOp () const 
Teuchos::RCP< Epetra_Operator >  getNonconstForwardOp () const 
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 68 of file Teko_InverseFactoryOperator.hpp.
Teko::Epetra::InverseFactoryOperator::InverseFactoryOperator  (  const Teuchos::RCP< const InverseFactory > &  ifp  ) 
Constructor that takes the InverseFactory that will build the operator.
Definition at line 69 of file Teko_InverseFactoryOperator.cpp.
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.
[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 86 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.
[in]  A  The Epetra source operator. 
[in]  clear  If true, than any previous state saved by the operator is discarded. 
Definition at line 105 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.
[in]  A  The Epetra source operator. 
[in]  clear  If true, than any previous state saved by the operator is discarded. 
Definition at line 136 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.
[in]  A  The Epetra source operator. (Should be a EpetraOperatorWrapper!) 
Definition at line 159 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.
[in]  A  The Epetra source operator. (Should be a EpetraOperatorWrapper!) 
Definition at line 185 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 151 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 156 of file Teko_InverseFactoryOperator.hpp.