Loading...
Searching...
No Matches
lduMatrix::preconditioner Class Referenceabstract

Abstract base-class for lduMatrix preconditioners. More...

#include <lduMatrix.H>

Inheritance diagram for lduMatrix::preconditioner:
Collaboration diagram for lduMatrix::preconditioner:

Public Member Functions

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)
 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< preconditionerNew (const solver &sol, const dictionary &solverControls)
 Return a new preconditioner.

Protected Attributes

const solversolver_
 Reference to the base-solver this preconditioner is used with.

Detailed Description

Abstract base-class for lduMatrix preconditioners.

Definition at line 577 of file lduMatrix.H.

Constructor & Destructor Documentation

◆ preconditioner()

◆ ~preconditioner()

virtual ~preconditioner ( )
virtualdefault

Destructor.

Member Function Documentation

◆ getName()

Foam::word getName ( const dictionary & solverControls)
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().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ type()

virtual const word & type ( ) const
pure virtual

Runtime type information.

◆ declareRunTimeSelectionTable() [1/2]

declareRunTimeSelectionTable ( autoPtr ,
preconditioner ,
symMatrix ,
(const solver &sol, const dictionary &solverControls) ,
(sol, solverControls)  )

References preconditioner().

Here is the call graph for this function:

◆ declareRunTimeSelectionTable() [2/2]

declareRunTimeSelectionTable ( autoPtr ,
preconditioner ,
asymMatrix ,
(const solver &sol, const dictionary &solverControls) ,
(sol, solverControls)  )

References preconditioner().

Here is the call graph for this function:

◆ New()

Foam::autoPtr< Foam::lduMatrix::preconditioner > New ( const solver & sol,
const dictionary & solverControls )
static

◆ read()

virtual void read ( const dictionary & )
inlinevirtual

Read and reset the preconditioner parameters from the given stream.

Definition at line 664 of file lduMatrix.H.

◆ precondition()

virtual void precondition ( solveScalarField & wA,
const solveScalarField & rA,
const direction cmpt = 0 ) const
pure virtual

◆ preconditionT()

virtual void preconditionT ( solveScalarField & wT,
const solveScalarField & rT,
const direction cmpt = 0 ) const
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.

◆ setFinished()

virtual void setFinished ( const solverPerformance & perf) const
inlinevirtual

Signal end of solver.

Reimplemented in distributedDILUPreconditioner.

Definition at line 696 of file lduMatrix.H.

Member Data Documentation

◆ solver_


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