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;
144 bool isCompatible(
const Thyra::LinearOpSourceBase<double> &fwdOpSrc)
const;
virtual LinearOp buildPreconditionerOperator(BlockedLinearOp &blo, BlockPreconditionerState &state) const =0
Function that is called to build the preconditioner for the linear operator that is passed in...
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)
bool isCompatible(const Thyra::LinearOpSourceBase< double > &fwdOpSrc) const
is this operator compatiable with the preconditioner factory?
Abstract class which block preconditioner factories in Teko should be based on.
Abstract class which block preconditioner factories in Teko should be based on.
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.