10#ifndef __Teko_LSCStrategy_hpp__
11#define __Teko_LSCStrategy_hpp__
13#include "Teuchos_RCP.hpp"
15#include "Thyra_LinearOpBase.hpp"
18#include "Teko_InverseFactory.hpp"
19#include "Teko_BlockPreconditionerFactory.hpp"
148 virtual LinearOp getOuterStabilization(
const BlockedLinearOp& A,
161 virtual LinearOp getInnerStabilization(
const BlockedLinearOp& A,
201 const InverseLibrary& ) {}
205 return Teuchos::null;
218 Teuchos::RCP<RequestHandler> requestHandler_;
An implementation of a state object for block preconditioners.
Preconditioner state for the LSC factory.
Strategy for driving LSCPreconditionerFactory.
virtual bool useFullLDU() const =0
virtual LinearOp getInvBHBt(const BlockedLinearOp &A, BlockPreconditionerState &state) const =0
virtual LinearOp getInvBQBt(const BlockedLinearOp &A, BlockPreconditionerState &state) const =0
virtual LinearOp getInvF(const BlockedLinearOp &A, BlockPreconditionerState &state) const =0
virtual LinearOp getInvMass(const BlockedLinearOp &A, BlockPreconditionerState &state) const =0
void setRequestHandler(const Teuchos::RCP< RequestHandler > &rh)
This method sets the request handler for this object.
virtual LinearOp getHScaling(const BlockedLinearOp &A, BlockPreconditionerState &state) const =0
virtual bool updateRequestedParameters(const Teuchos::ParameterList &)
For assiting in construction of the preconditioner.
Teuchos::RCP< RequestHandler > getRequestHandler() const
This method gets the request handler uses by this object.
virtual Teuchos::RCP< Teuchos::ParameterList > getRequestedParameters() const
For assiting in construction of the preconditioner.
virtual void buildState(BlockedLinearOp &A, BlockPreconditionerState &state) const =0
virtual void setSymmetric(bool isSymmetric)=0
virtual void initializeFromParameterList(const Teuchos::ParameterList &, const InverseLibrary &)
Initialize from a parameter list.