10#ifndef __Teko_PresLaplaceLSCStrategy_hpp__
11#define __Teko_PresLaplaceLSCStrategy_hpp__
13#include "Teko_LSCStrategy.hpp"
33 PresLaplaceLSCStrategy();
34 PresLaplaceLSCStrategy(
const Teuchos::RCP<InverseFactory> &factory);
35 PresLaplaceLSCStrategy(
const Teuchos::RCP<InverseFactory> &invFactF,
36 const Teuchos::RCP<InverseFactory> &invFactS);
39 virtual ~PresLaplaceLSCStrategy() {}
96 virtual LinearOp getInnerStabilization(
const BlockedLinearOp & ,
134 virtual void setSymmetric(
bool isSymmetric) { isSymmetric_ = isSymmetric; }
138 const InverseLibrary &invLib);
168 Teuchos::RCP<InverseFactory> invFactoryV_;
169 Teuchos::RCP<InverseFactory> invFactoryP_;
186 static std::string getPressureLaplaceString() {
return "Pressure Laplace Operator"; }
187 static std::string getVelocityMassString() {
return "Velocity Mass Operator"; }
An implementation of a state object for block preconditioners.
Preconditioner state for the LSC factory.
Strategy for driving LSCPreconditionerFactory.
A strategy that takes a single inverse factory and uses that for all inverses. If no mass matrix is p...
virtual void initializeFromParameterList(const Teuchos::ParameterList &pl, const InverseLibrary &invLib)
Initialize from a parameter list.
virtual int getEigSolveParam()
Return the number of power series iterations to use when finding the spectral radius.
virtual void setSymmetric(bool isSymmetric)
virtual void initializeState(const BlockedLinearOp &A, LSCPrecondState *state) const
Initialize the state object using this blocked linear operator.
virtual LinearOp getHScaling(const BlockedLinearOp &A, BlockPreconditionerState &state) const
virtual LinearOp getInvMass(const BlockedLinearOp &A, BlockPreconditionerState &state) const
virtual bool updateRequestedParameters(const Teuchos::ParameterList &pl)
For assiting in construction of the preconditioner.
virtual LinearOp getInvBQBt(const BlockedLinearOp &A, BlockPreconditionerState &state) const
virtual Teuchos::RCP< Teuchos::ParameterList > getRequestedParameters() const
For assiting in construction of the preconditioner.
virtual LinearOp getInvF(const BlockedLinearOp &A, BlockPreconditionerState &state) const
virtual bool useFullLDU() const
void computeInverses(const BlockedLinearOp &A, LSCPrecondState *state) const
virtual LinearOp getOuterStabilization(const BlockedLinearOp &A, BlockPreconditionerState &state) const
virtual void buildState(BlockedLinearOp &A, BlockPreconditionerState &state) const
Functions inherited from LSCStrategy.
virtual void setUseFullLDU(bool val)
Set to true to use the Full LDU decomposition, false otherwise.
virtual void setEigSolveParam(int sz)
Set the number of power series iterations to use when finding the spectral radius.
virtual LinearOp getInvBHBt(const BlockedLinearOp &A, BlockPreconditionerState &state) const