Public Member Functions | Static Public Member Functions | Protected Attributes | List of all members
lduMatrix::preconditioner Class Referenceabstract

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

Inheritance diagram for lduMatrix::preconditioner:
Inheritance graph
[legend]
Collaboration diagram for lduMatrix::preconditioner:
Collaboration graph
[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)
 Construct for given solver. More...
 
virtual ~preconditioner ()=default
 Destructor. More...
 
virtual void read (const dictionary &)
 Read and reset the preconditioner parameters from the given stream. More...
 
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
 Return wT the transpose-matrix preconditioned form of residual rT. More...
 

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

Constructor & Destructor Documentation

◆ preconditioner()

preconditioner ( const solver sol)
inlineexplicit

Construct for given solver.

Definition at line 592 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 36 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 61 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 622 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 642 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 544 of file lduMatrix.H.


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