Teko Version of the Day
Public Member Functions | Protected Attributes
Teko::DiagonalPreconditionerFactory Class Reference

Preconditioner factory for building explcit inverse of diagonal operators. This includes block operators. More...

#include <Teko_DiagonalPreconditionerFactory.hpp>

Inheritance diagram for Teko::DiagonalPreconditionerFactory:
Inheritance graph
[legend]

List of all members.

Public Member Functions

Teuchos::RCP< PreconditionerStatebuildPreconditionerState () 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

Detailed Description

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 precondtioner

    <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.


Member Function Documentation

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.


Member Data Documentation

Teuchos::ParameterList Teko::DiagonalPreconditionerFactory::List_ [mutable, protected]

some members

Definition at line 126 of file Teko_DiagonalPreconditionerFactory.hpp.


The documentation for this class was generated from the following files:
 All Classes Files Functions Variables