Simplified diagonal-based incomplete LU preconditioner for asymmetric matrices. The reciprocal of the preconditioned diagonal is calculated and stored. More...
#include <OpenFOAM/DILUPreconditioner.H>
Simplified diagonal-based incomplete LU preconditioner for asymmetric matrices. The reciprocal of the preconditioned diagonal is calculated and stored.
Definition at line 51 of file DILUPreconditioner.H.
Inheritance diagram for DILUPreconditioner:
Collaboration diagram for DILUPreconditioner: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.
| |
| 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.
| 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().