FreeFOAM The Cross-Platform CFD Toolkit
diagonalPreconditioner Class Reference

Diagonal preconditioner for both symmetric and asymmetric matrices. More...

#include <OpenFOAM/diagonalPreconditioner.H>


Detailed Description

Diagonal preconditioner for both symmetric and asymmetric matrices.

The reciprocal of the diagonal is calculated and stored for reuse because on most systems '*' is faster than '/'.

Source files

Definition at line 52 of file diagonalPreconditioner.H.

+ Inheritance diagram for diagonalPreconditioner:
+ Collaboration diagram for diagonalPreconditioner:

List of all members.

Public Member Functions

 TypeName ("diagonal")
 Runtime type information.
 diagonalPreconditioner (const lduMatrix::solver &, const dictionary &solverControlsUnused)
 Construct from matrix components and preconditioner solver controls.
virtual ~diagonalPreconditioner ()
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.
- Public Member Functions inherited from lduMatrix::preconditioner
virtual const wordtype () const =0
 Runtime type information.
 declareRunTimeSelectionTable (autoPtr, preconditioner, symMatrix,(const solver &sol, const dictionary &solverControls),(sol, solverControls))
 declareRunTimeSelectionTable (autoPtr, preconditioner, asymMatrix,(const solver &sol, const dictionary &solverControls),(sol, solverControls))
 preconditioner (const solver &sol)
virtual ~preconditioner ()
virtual void read (const dictionary &)
 Read and reset the preconditioner parameters.

Additional Inherited Members

- Static Public Member Functions inherited from lduMatrix::preconditioner
static word getName (const dictionary &)
 Find the preconditioner name (directly or from a sub-dictionary)
static autoPtr< preconditionerNew (const solver &sol, const dictionary &solverControls)
 Return a new preconditioner.
- Protected Attributes inherited from lduMatrix::preconditioner
const solversolver_
 Reference to the base-solver this preconditioner is used with.

Constructor & Destructor Documentation

diagonalPreconditioner ( const lduMatrix::solver sol,
const dictionary solverControlsUnused 
)

Construct from matrix components and preconditioner solver controls.

Definition at line 47 of file diagonalPreconditioner.C.

virtual ~diagonalPreconditioner ( )
inlinevirtual

Definition at line 89 of file diagonalPreconditioner.H.


Member Function Documentation

TypeName ( "diagonal"  )

Runtime type information.

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 71 of file diagonalPreconditioner.C.

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

Referenced by diagonalPreconditioner::preconditionT().

virtual void preconditionT ( scalarField wT,
const scalarField rT,
const direction  cmpt = 0 
) const
inlinevirtual

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

Reimplemented from lduMatrix::preconditioner.

Definition at line 105 of file diagonalPreconditioner.H.

References diagonalPreconditioner::precondition().


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