|
Teko Version of the Day
|
A factory that creates a block Gauss Seidel preconditioner. The user must specify the solvers (or preconditioners) to use to approximately invert the diagonal operators. More...
#include <Teko_GaussSeidelPreconditionerFactory.hpp>

Public Member Functions | |
| LinearOp | buildPreconditionerOperator (BlockedLinearOp &blo, BlockPreconditionerState &state) const |
| Create the Gauss-Seidel preconditioner operator. | |
Constructors. | |
| GaussSeidelPreconditionerFactory (TriSolveType solveType, const LinearOp &invD0, const LinearOp &invD1) | |
| GaussSeidelPreconditionerFactory (TriSolveType solveType, const RCP< const BlockInvDiagonalStrategy > &strategy) | |
| GaussSeidelPreconditionerFactory () | |
Protected Member Functions | |
| virtual void | initializeFromParameterList (const Teuchos::ParameterList &pl) |
| Initialize from a parameter list. | |
Protected Attributes | |
| Teuchos::RCP< const BlockInvDiagonalStrategy > | invOpsStrategy_ |
| some members | |
A factory that creates a block Gauss Seidel preconditioner. The user must specify the solvers (or preconditioners) to use to approximately invert the diagonal operators.
A factory that creates a block Gauss Seidel preconditioner. The user must specify the solvers (or preconditioners) to use to approximately invert the diagonal operators.
To invoke this preconditioner using the XML file a diagonal inverse needs to be specified. For example the following XML code creates a Gauss-Seidel preconditioner called "GS-Outer" using Amesos (a direct solver) to invert the diagonal blocks.
<ParameterList name="GS-Outer">
<Parameter name="Type" type="string" value="Block Gauss-Seidel"/>
<Parameter name="Inverse Type" type="string" value="Amesos"/>
</ParameterList>
Definition at line 80 of file Teko_GaussSeidelPreconditionerFactory.hpp.
| Teko::GaussSeidelPreconditionerFactory::GaussSeidelPreconditionerFactory | ( | TriSolveType | solveType, |
| const LinearOp & | invD0, | ||
| const LinearOp & | invD1 | ||
| ) |
Construct a PreconditionerFactory assuming a specific block
matrix. This case is a simple one.
Definition at line 57 of file Teko_GaussSeidelPreconditionerFactory.cpp.
| Teko::GaussSeidelPreconditionerFactory::GaussSeidelPreconditionerFactory | ( | TriSolveType | solveType, |
| const RCP< const BlockInvDiagonalStrategy > & | strategy | ||
| ) |
The most flexible JacobiPreconditionerFactory constructor. Pass in a generally defined BlockInvDiagonalStrategy to use the full generality of this class.
Definition at line 61 of file Teko_GaussSeidelPreconditionerFactory.cpp.
| Teko::GaussSeidelPreconditionerFactory::GaussSeidelPreconditionerFactory | ( | ) |
Build an empty Gauss-Seidel preconditioner factory
Definition at line 65 of file Teko_GaussSeidelPreconditionerFactory.cpp.
| LinearOp Teko::GaussSeidelPreconditionerFactory::buildPreconditionerOperator | ( | BlockedLinearOp & | blo, |
| BlockPreconditionerState & | state | ||
| ) | const [virtual] |
Create the Gauss-Seidel preconditioner operator.
This method breaks apart the BlockLinearOp and builds a block diagonal preconditioner. The inverse of the diagonals are specified by the BlockInvDiagonalStrategy object.
Implements Teko::BlockPreconditionerFactory.
Definition at line 69 of file Teko_GaussSeidelPreconditionerFactory.cpp.
| void Teko::GaussSeidelPreconditionerFactory::initializeFromParameterList | ( | const Teuchos::ParameterList & | pl | ) | [protected, virtual] |
Initialize from a parameter list.
Reimplemented from Teko::PreconditionerFactory.
Definition at line 98 of file Teko_GaussSeidelPreconditionerFactory.cpp.
Teuchos::RCP<const BlockInvDiagonalStrategy> Teko::GaussSeidelPreconditionerFactory::invOpsStrategy_ [protected] |
some members
Definition at line 113 of file Teko_GaussSeidelPreconditionerFactory.hpp.
1.7.4