Diffpack Documentation


Main Page   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members   File Members   Search  

PrecRILU Class Reference

RILU(w) preconditioner for linear systems. More...

#include <PrecAlgebraic.h>

Inheritance diagram for PrecRILU::

PrecAlgebraic Precond HandleId List of all members.

Public Methods

 PrecRILU (const Precond_prm &p)
virtual ~PrecRILU ()
virtual void init (PrecBasis &Apb)
virtual void apply (const LinEqVector &c, LinEqVector &d, TransposeMode tpmode=NOT_TRANSPOSED)
virtual int getWork (const PrecondWork work_tp=APPLY_PREC_WORK) const
virtual real getStorage () const
virtual void performance (PrecondStatistics &precStat)
virtual String description () const

Detailed Description

RILU(w) preconditioner for linear systems.

NAME: PrecRILU - RILU(w) preconditioner for linear systems.

DESCRIPTION:

This class computes and applies the RILU factorization based on a given coefficient matrix. For the relaxation parameter "omega" = 0 this is equivalent to ILU, while "omega" = 1 leads to the unperturbed MILU preconditioner. Note that the factorization is restricted to fill-in level 0, i.e., no fill-in is allowed.


Constructor & Destructor Documentation

PrecRILU::PrecRILU ( const Precond_prm & p )
 

The only constructor accepts a "Precond_prm" object.

PrecRILU::~PrecRILU ( ) [inline, virtual]
 


Member Function Documentation

void PrecRILU::apply ( const LinEqVector & c,
LinEqVector & d,
TransposeMode tpmode = NOT_TRANSPOSED ) [virtual]
 

computes the result of applying the current preconditoner to a "LinEqVector" object "c". The result is returned in "d". Depending on the "TransposeMode" parameter, the preconditoner can be used as is (default) or as transposed/conjugate transposed operator.

Reimplemented from PrecAlgebraic.

String PrecRILU::description ( ) const [virtual]
 

Reimplemented from Precond.

real PrecRILU::getStorage ( ) const [virtual]
 

returns the amount of storage needed for the current preconditioner.

Reimplemented from PrecAlgebraic.

int PrecRILU::getWork ( const PrecondWork work_tp = APPLY_PREC_WORK ) const [virtual]
 

returns the work estimate for the last performed preconditioning operation.

Reimplemented from Precond.

void PrecRILU::init ( PrecBasis & Apb ) [virtual]
 

initializes the preconditioner, e.g. by computing an incomplete factorization. The function "init" should perform internal redimensioning if necessary. For algebraic preconditioners where C is based directly on A with the same sparsity pattern, C should be redimensioned by a "C.redim(A)" statement like we have for "LinEqVector" objects. The "Matrix"-heriarchy must then have a virtual makeItSimilar function (see "Vector").

Reimplemented from PrecAlgebraic.

void PrecRILU::performance ( PrecondStatistics & precStat ) [virtual]
 

records preconditioning statistics in the supplied "PrecondStatistics" object. This object is usually a part of a "LinEqStatBlk" object which is used to collect and performance statistics.

Reimplemented from Precond.


The documentation for this class was generated from the following file:
Copyright © 2003 inuTech GmbH. All rights reserved.