lduMatrix::preconditioner Class Referenceabstract

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

Inheritance diagram for lduMatrix::preconditioner:
[legend]
Collaboration diagram for lduMatrix::preconditioner:
[legend]

Public Member Functions

virtual const wordtype () const =0
 Runtime type information. More...
 
 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
 Destructor. More...
 
virtual void read (const dictionary &)
 
virtual void precondition (solveScalarField &wA, const solveScalarField &rA, const direction cmpt=0) const =0
 Return wA the preconditioned form of residual rA. More...
 
virtual void preconditionT (solveScalarField &wT, const solveScalarField &rT, const direction cmpt=0) const
 

Static Public Member Functions

static word getName (const dictionary &)
 Find the preconditioner name (directly or from a sub-dictionary) More...
 
static autoPtr< preconditionerNew (const solver &sol, const dictionary &solverControls)
 Return a new preconditioner. More...
 

Protected Attributes

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

Detailed Description

Abstract base-class for lduMatrix preconditioners.

Definition at line 433 of file lduMatrix.H.

Constructor & Destructor Documentation

◆ preconditioner()

preconditioner ( const solver sol)
inline

Definition at line 482 of file lduMatrix.H.

◆ ~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 43 of file lduMatrixPreconditioner.C.

References Foam::constant::electromagnetic::e, dictionary::lookupEntry(), and Foam::name().

Referenced by PPCG::scalarSolveCG().

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)   
)

◆ declareRunTimeSelectionTable() [2/2]

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

◆ New()

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

Return a new preconditioner.

Definition at line 68 of file lduMatrixPreconditioner.C.

References lduMatrix::asymmetric(), Foam::constant::electromagnetic::e, Foam::exit(), Foam::FatalIOError, FatalIOErrorInFunction, FatalIOErrorInLookup, dictionary::lookupEntry(), lduMatrix::solver::matrix(), Foam::name(), and lduMatrix::symmetric().

Referenced by PPCG::scalarSolveCG().

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

◆ read()

virtual void read ( const dictionary )
inlinevirtual

Read and reset the preconditioner parameters from the given stream

Definition at line 508 of file lduMatrix.H.

◆ precondition()

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

Return wA the preconditioned form of residual rA.

Implemented in FDICPreconditioner, diagonalPreconditioner, GAMGPreconditioner, DICPreconditioner, DILUPreconditioner, and noPreconditioner.

Referenced by PPCG::scalarSolveCG().

Here is the caller graph for this function:

◆ 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 523 of file lduMatrix.H.

References NotImplemented.

Member Data Documentation

◆ solver_

const solver& solver_
protected

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

Definition at line 440 of file lduMatrix.H.


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