47 #ifndef __Teko_BlockPreconditionerFactory_hpp__ 48 #define __Teko_BlockPreconditionerFactory_hpp__ 50 #include "Teuchos_ParameterListAcceptor.hpp" 53 #include "Thyra_SolveSupportTypes.hpp" 54 #include "Thyra_LinearOpSourceBase.hpp" 55 #include "Thyra_PreconditionerFactoryBase.hpp" 56 #include "Thyra_DefaultBlockedLinearOp.hpp" 57 #include "Thyra_DefaultPreconditioner.hpp" 61 #include "Teko_InverseLibrary.hpp" 62 #include "Teko_CloneFactory.hpp" 63 #include "Teko_PreconditionerState.hpp" 64 #include "Teko_PreconditionerFactory.hpp" 68 using Thyra::LinearOpBase;
69 using Thyra::DefaultPreconditioner;
72 using Teuchos::ParameterList;
141 virtual LinearOp buildPreconditionerOperator(LinearOp & blo,
PreconditionerState & state)
const;
144 bool isCompatible(
const Thyra::LinearOpSourceBase<double> &fwdOpSrc)
const;
virtual void setSourceVector(const Teko::MultiVector &srcVec)
Set the vector associated with this operator (think nonlinear system)
virtual const Teko::MultiVector getSourceVector() const
Set the vector associated with this operator (think nonlinear system)
Abstract class which block preconditioner factories in Teko should be based on.
Abstract class which block preconditioner factories in Teko should be based on.
const BlockedMultiVector toBlockedMultiVector(const MultiVector &bmv)
Convert to a BlockedMultiVector from a MultiVector.
An implementation of a state object for block preconditioners.
virtual RCP< PreconditionerState > buildPreconditionerState() const
Function that permits the construction of an arbitrary BlockPreconditionerState object.
virtual const Teko::BlockedMultiVector getBlockedSourceVector() const
Set the vector associated with this operator (think nonlinear system)
virtual void setBlockSourceVector(const Teko::BlockedMultiVector &srcVec)
Set the vector associated with this operator (think nonlinear system)
An implementation of a state object preconditioners.
RCP< BlockPreconditionerState > buildBlockPreconditionerState() const
Function that constructs a BlockPreconditionerState object.