Abstract base-class for lduMatrix preconditioners. More...
#include <lduMatrix.H>


Public Member Functions | |
| virtual const word & | type () 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) | |
| Construct for given solver. | |
| virtual | ~preconditioner ()=default |
| Destructor. | |
| virtual void | read (const dictionary &) |
| Read and reset the preconditioner parameters from the given stream. | |
| virtual void | precondition (solveScalarField &wA, const solveScalarField &rA, const direction cmpt=0) const =0 |
| Return wA the preconditioned form of residual rA. | |
| virtual void | preconditionT (solveScalarField &wT, const solveScalarField &rT, const direction cmpt=0) const |
| Return wT the transpose-matrix preconditioned form of residual rT. | |
| virtual void | setFinished (const solverPerformance &perf) const |
| Signal end of solver. | |
Static Public Member Functions | |
| static word | getName (const dictionary &) |
| Find the preconditioner name (directly or from a sub-dictionary). | |
| static autoPtr< preconditioner > | New (const solver &sol, const dictionary &solverControls) |
| Return a new preconditioner. | |
Protected Attributes | |
| const solver & | solver_ |
| Reference to the base-solver this preconditioner is used with. | |
Abstract base-class for lduMatrix preconditioners.
Definition at line 577 of file lduMatrix.H.
|
inlineexplicit |
Construct for given solver.
Definition at line 634 of file lduMatrix.H.
References solver_.
Referenced by declareRunTimeSelectionTable(), declareRunTimeSelectionTable(), diagonalPreconditioner::diagonalPreconditioner(), DICPreconditioner::DICPreconditioner(), DILUPreconditioner::DILUPreconditioner(), distributedDILUPreconditioner::distributedDILUPreconditioner(), FDICPreconditioner::FDICPreconditioner(), GAMGPreconditioner::GAMGPreconditioner(), and noPreconditioner::noPreconditioner().

|
virtualdefault |
Destructor.
|
static |
Find the preconditioner name (directly or from a sub-dictionary).
Definition at line 35 of file lduMatrixPreconditioner.C.
References e, keyType::LITERAL, dictionary::lookupEntry(), and Foam::name().
Referenced by FPCG::scalarSolve(), PBiCGStab::scalarSolve(), PCG::scalarSolve(), PPCG::scalarSolveCG(), and PBiCG::solve().


|
pure virtual |
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) | ) |
|
static |
Return a new preconditioner.
Definition at line 60 of file lduMatrixPreconditioner.C.
References lduMatrix::asymmetric(), e, Foam::exit(), Foam::FatalIOError, FatalIOErrorInFunction, FatalIOErrorInLookup, keyType::LITERAL, dictionary::lookupEntry(), lduMatrix::solver::matrix(), Foam::name(), dictionary::null, and lduMatrix::symmetric().
Referenced by FPCG::scalarSolve(), PBiCGStab::scalarSolve(), PCG::scalarSolve(), PPCG::scalarSolveCG(), and PBiCG::solve().


|
inlinevirtual |
Read and reset the preconditioner parameters from the given stream.
Definition at line 664 of file lduMatrix.H.
|
pure virtual |
Return wA the preconditioned form of residual rA.
Implemented in diagonalPreconditioner, DICPreconditioner, DILUPreconditioner, distributedDILUPreconditioner, FDICPreconditioner, GAMGPreconditioner, and noPreconditioner.
|
inlinevirtual |
Return wT the transpose-matrix preconditioned form of residual rT.
This is only required for preconditioning asymmetric matrices.
Reimplemented in diagonalPreconditioner, DILUPreconditioner, and noPreconditioner.
Definition at line 683 of file lduMatrix.H.
References NotImplemented.
|
inlinevirtual |
Signal end of solver.
Reimplemented in distributedDILUPreconditioner.
Definition at line 696 of file lduMatrix.H.
|
protected |
Reference to the base-solver this preconditioner is used with.
Definition at line 586 of file lduMatrix.H.
Referenced by distributedDILUPreconditioner::addInterface(), distributedDILUPreconditioner::addInterfaceDiag(), distributedDILUPreconditioner::backwardInternal(), distributedDILUPreconditioner::calcReciprocalD(), diagonalPreconditioner::diagonalPreconditioner(), FDICPreconditioner::FDICPreconditioner(), distributedDICPreconditioner::forwardInternal(), distributedDILUPreconditioner::forwardInternal(), distributedDICPreconditioner::forwardInternalDiag(), distributedDILUPreconditioner::forwardInternalDiag(), DICPreconditioner::precondition(), DILUPreconditioner::precondition(), FDICPreconditioner::precondition(), preconditioner(), DILUPreconditioner::preconditionT(), distributedDILUPreconditioner::receive(), distributedDILUPreconditioner::send(), distributedDILUPreconditioner::sendGlobal(), and distributedDILUPreconditioner::updateMatrixInterfaces().