10 #ifndef __Teko_GaussSeidelPreconditionerFactory_hpp__
11 #define __Teko_GaussSeidelPreconditionerFactory_hpp__
13 #include "Teuchos_RCP.hpp"
15 #include "Teko_BlockPreconditionerFactory.hpp"
16 #include "Teko_BlockInvDiagonalStrategy.hpp"
21 typedef enum { GS_UseLowerTriangle, GS_UseUpperTriangle } TriSolveType;
74 const LinearOp& invD1);
81 const RCP<const BlockInvDiagonalStrategy>& strategy);
102 TriSolveType solveType_;
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...
Abstract class which block preconditioner factories in Teko should be based on.
A factory that creates a block Gauss Seidel preconditioner. The user must specify the solvers (or pre...
An implementation of a state object for block preconditioners.
Teuchos::RCP< const BlockInvDiagonalStrategy > invOpsStrategy_
some members
LinearOp buildPreconditionerOperator(BlockedLinearOp &blo, BlockPreconditionerState &state) const
Create the Gauss-Seidel preconditioner operator.
GaussSeidelPreconditionerFactory()
virtual void initializeFromParameterList(const Teuchos::ParameterList &pl)
Initialize from a parameter list.