FreeFOAM The Cross-Platform CFD Toolkit
Hosted by SourceForge:
Get FreeFOAM at SourceForge.net.
            Fast, secure and Free Open Source software downloads

DILUPreconditioner Class Reference

Simplified diagonal-based incomplete LU preconditioner for asymmetric matrices. The reciprocal of the preconditioned diagonal is calculated and stored. More...

#include <OpenFOAM/DILUPreconditioner.H>


Detailed Description

Simplified diagonal-based incomplete LU preconditioner for asymmetric matrices. The reciprocal of the preconditioned diagonal is calculated and stored.

Source files

Definition at line 51 of file DILUPreconditioner.H.

Inheritance diagram for DILUPreconditioner:
Collaboration diagram for DILUPreconditioner:

List of all members.

Public Member Functions

 TypeName ("DILU")
 Runtime type information.
 DILUPreconditioner (const lduMatrix::solver &, const dictionary &solverControlsUnused)
 Construct from matrix components and preconditioner solver controls.
virtual  ~DILUPreconditioner ()
virtual void  precondition (scalarField &wA, const scalarField &rA, const direction cmpt=0) const
 Return wA the preconditioned form of residual rA.
virtual void  preconditionT (scalarField &wT, const scalarField &rT, const direction cmpt=0) const
 Return wT the transpose-matrix preconditioned form of residual rT.

Static Public Member Functions

static void  calcReciprocalD (scalarField &rD, const lduMatrix &matrix)
 Calculate the reciprocal of the preconditioned diagonal.

Constructor & Destructor Documentation

DILUPreconditioner ( const lduMatrix::solver &   sol,
const dictionary &   solverControlsUnused  
)

Construct from matrix components and preconditioner solver controls.

Definition at line 43 of file DILUPreconditioner.C.

References lduMatrix::solver::matrix().

virtual ~DILUPreconditioner (  ) [inline, virtual]

Definition at line 79 of file DILUPreconditioner.H.


Member Function Documentation

TypeName ( "DILU"    )

Runtime type information.

void calcReciprocalD ( scalarField &   rD,
const lduMatrix &   matrix  
) [static]

Calculate the reciprocal of the preconditioned diagonal.

Definition at line 58 of file DILUPreconditioner.C.

References UList< T >::begin(), lduMatrix::lduAddr(), lduMatrix::lower(), lduAddressing::lowerAddr(), List< T >::size(), lduMatrix::upper(), and lduAddressing::upperAddr().

void precondition ( scalarField &   wA,
const scalarField &   rA,
const direction   cmpt = 0  
) const [virtual]

Return wA the preconditioned form of residual rA.

Implements lduMatrix::preconditioner.

Definition at line 89 of file DILUPreconditioner.C.

References UList< T >::begin(), and List< T >::size().

void preconditionT ( scalarField &   wT,
const scalarField &   rT,
const direction   cmpt = 0  
) const [virtual]

Return wT the transpose-matrix preconditioned form of residual rT.

Reimplemented from lduMatrix::preconditioner.

Definition at line 139 of file DILUPreconditioner.C.

References UList< T >::begin(), and List< T >::size().


The documentation for this class was generated from the following files: