10 #ifndef __Teko_InverseFactoryOperator_hpp__
11 #define __Teko_InverseFactoryOperator_hpp__
13 #include "Teuchos_ConstNonconstObjectContainer.hpp"
15 #include "Teko_InverseFactory.hpp"
16 #include "Teko_EpetraInverseOpWrapper.hpp"
115 Teuchos::RCP<const Epetra_Operator>
getForwardOp()
const {
return fwdOp_.getConstObj(); }
123 Teuchos::RCP<const Thyra::LinearOpBase<double> > extractLinearOp(
124 const Teuchos::RCP<const Epetra_Operator> &A)
const;
125 Teuchos::RCP<const MappingStrategy> extractMappingStrategy(
126 const Teuchos::RCP<const Epetra_Operator> &A)
const;
131 Teuchos::RCP<const Teko::InverseFactory> inverseFactory_;
132 Teko::ModifiableLinearOp invOperator_;
133 bool firstBuildComplete_;
135 Teuchos::ConstNonconstObjectContainer<Epetra_Operator> fwdOp_;
Teuchos::RCP< const Epetra_Operator > getForwardOp() const
virtual void rebuildInverseOperator(const Teuchos::RCP< const Epetra_Operator > &A)
Rebuild this inverse from an Epetra_Operator passed in this to object.
Teuchos::RCP< Epetra_Operator > getNonconstForwardOp() const
virtual void initInverse(bool clearOld=false)
Build the underlying data structure for the inverse operator.
A single Epetra wrapper for all operators constructed from an 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.