Preconditioner factory for building explcit inverse of diagonal operators. This includes block operators. More...
#include <Teko_DiagonalPreconditionerFactory.hpp>

Public Member Functions | |
| Teuchos::RCP< PreconditionerState > | buildPreconditionerState () const |
| Builds a preconditioner state object. | |
| LinearOp | buildPreconditionerOperator (LinearOp &lo, PreconditionerState &state) const |
| virtual void | initializeFromParameterList (const Teuchos::ParameterList &pl) |
| Initialize from a parameter list. | |
Constructors. | |
| DiagonalPreconditionerFactory () | |
Protected Attributes | |
| Teuchos::ParameterList | List_ |
| some members | |
Preconditioner factory for building explcit inverse of diagonal operators. This includes block operators.
Preconditioner factory for building explicit inverse diagonal operators, including block diagonals. These operators need to be Epetra_CrsMatrices under the hood or this will bomb. Uses EpetraExt_PointToBlockDiagPermute.
To invoke this preconditioner using the XML file a diagonal inverse needs to be specified. For example the following XML code creates a AbsRowSum preconditioner
<ParameterList name="AbsRowSum">
<Parameter name="Type" type="string" value="Explicit Diagonal Preconditioner"/>
<Parameter name="Diagonal Type" type="string" value="AbsRowSum"/> <!-- Could also be "Lumped" or "Diagonal" -->
</ParameterList>
The block diagonal inverse operator is constructed from the following XML code
<ParameterList name="4-Block Diagonal">
<Parameter name="Type" type="string" value="Explicit Diagonal Preconditioner"/>
<Parameter name="Diagonal Type" type="string" value="BlkDiag"/>
<Parameter name="contiguous block size" type="int" value="4"/> <!-- block size of 4 -->
</ParameterList>
Definition at line 102 of file Teko_DiagonalPreconditionerFactory.hpp.
| RCP< PreconditionerState > Teko::DiagonalPreconditionerFactory::buildPreconditionerState | ( | ) | const [virtual] |
Builds a preconditioner state object.
Reimplemented from Teko::PreconditionerFactory.
Definition at line 64 of file Teko_DiagonalPreconditionerFactory.cpp.
| LinearOp Teko::DiagonalPreconditionerFactory::buildPreconditionerOperator | ( | LinearOp & | lo, |
| PreconditionerState & | state | ||
| ) | const [virtual] |
Create the diagonal preconditioner operator.
Implements Teko::PreconditionerFactory.
Definition at line 69 of file Teko_DiagonalPreconditionerFactory.cpp.
| void Teko::DiagonalPreconditionerFactory::initializeFromParameterList | ( | const Teuchos::ParameterList & | pl | ) | [virtual] |
Initialize from a parameter list.
Reimplemented from Teko::PreconditionerFactory.
Definition at line 100 of file Teko_DiagonalPreconditionerFactory.cpp.
Teuchos::ParameterList Teko::DiagonalPreconditionerFactory::List_ [mutable, protected] |
some members
Definition at line 126 of file Teko_DiagonalPreconditionerFactory.hpp.
1.7.6.1