Diagonal preconditioner for both symmetric and asymmetric matrices. More...
Public Member Functions | |
TypeName ("diagonal") | |
diagonalPreconditioner (const lduMatrix::solver &, const dictionary &solverControlsUnused) | |
virtual | ~diagonalPreconditioner ()=default |
virtual void | precondition (solveScalarField &wA, const solveScalarField &rA, const direction cmpt=0) const |
virtual void | preconditionT (solveScalarField &wT, const solveScalarField &rT, const direction cmpt=0) const |
![]() | |
virtual const word & | type () const =0 |
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 ()=default |
virtual void | read (const dictionary &) |
Additional Inherited Members | |
![]() | |
static word | getName (const dictionary &) |
static autoPtr< preconditioner > | New (const solver &sol, const dictionary &solverControls) |
![]() | |
const solver & | solver_ |
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 '/'.
Definition at line 53 of file diagonalPreconditioner.H.
diagonalPreconditioner | ( | const lduMatrix::solver & | sol, |
const dictionary & | solverControlsUnused | ||
) |
Definition at line 42 of file diagonalPreconditioner.C.
|
virtualdefault |
TypeName | ( | "diagonal" | ) |
|
virtual |
Implements lduMatrix::preconditioner.
Definition at line 66 of file diagonalPreconditioner.C.
Referenced by diagonalPreconditioner::preconditionT().
|
inlinevirtual |
Reimplemented from lduMatrix::preconditioner.
Definition at line 104 of file diagonalPreconditioner.H.
References diagonalPreconditioner::precondition().
Copyright © 2011-2018 OpenFOAM | OPENFOAM® is a registered trademark of OpenCFD Ltd.