10 #ifndef __Teko_Preconditioner_hpp__
11 #define __Teko_Preconditioner_hpp__
14 #include "Thyra_DefaultPreconditioner.hpp"
18 #include "Teko_PreconditionerState.hpp"
23 using Thyra::DefaultPreconditioner;
24 using Thyra::LinearOpBase;
39 const RCP<LinearOpBase<double> >& rightPrecOp)
40 : DefaultPreconditioner<double>(leftPrecOp, rightPrecOp) {}
42 const RCP<
const LinearOpBase<double> >& rightPrecOp)
43 : DefaultPreconditioner<double>(leftPrecOp, rightPrecOp) {}
44 Preconditioner(
const RCP<LinearOpBase<double> >& unspecifiedPrecOp)
45 : DefaultPreconditioner<double>(unspecifiedPrecOp) {}
46 Preconditioner(
const RCP<
const LinearOpBase<double> >& unspecifiedPrecOp)
47 : DefaultPreconditioner<double>(unspecifiedPrecOp) {}
54 virtual void setSourceVector(
const RCP<Thyra::MultiVectorBase<double> >& srcVec) {
55 if (srcVec != Teuchos::null)
56 state_->setSourceVector(srcVec);
58 state_->setSourceVector(Teuchos::null);
virtual const RCP< PreconditionerState > getStateObject()
virtual void mergeStateObject(const PreconditionerState &state)
virtual const RCP< const PreconditionerState > getStateObject() const
virtual void setSourceVector(const RCP< Thyra::MultiVectorBase< double > > &srcVec)
virtual void setStateObject(const RCP< PreconditionerState > &state)
An extension of the Thyra::DefaultPreconditioner class with some specializations useful for use withi...
RCP< PreconditionerState > state_
User defined state for this preconditioner.
An implementation of a state object preconditioners.