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)
 
virtual ~preconditioner ()
 Destructor. More...
 
virtual void read (const dictionary &)
 Read and reset the preconditioner parameters. More...
 
virtual void precondition (scalarField &wA, const scalarField &rA, const direction cmpt=0) const =0
 Return wA the preconditioned form of residual rA. More...
 
virtual void preconditionT (scalarField &wT, const scalarField &rT, const direction cmpt=0) const
 Return wT the transpose-matrix preconditioned form of. 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 407 of file lduMatrix.H.

Constructor & Destructor Documentation

preconditioner ( const solver sol)
inline

Definition at line 456 of file lduMatrix.H.

References lduMatrix::solver::New().

Here is the call graph for this function:

virtual ~preconditioner ( )
inlinevirtual

Destructor.

Definition at line 475 of file lduMatrix.H.

References lduMatrix::solver::read().

Here is the call graph for this function:

Member Function Documentation

Foam::word getName ( const dictionary solverControls)
static

Find the preconditioner name (directly or from a sub-dictionary)

Definition at line 40 of file lduMatrixPreconditioner.C.

References entry::dict(), Foam::e, entry::isDict(), dictionary::lookup(), dictionary::lookupEntry(), Foam::name(), lduMatrix::preconditioner::New(), and entry::stream().

Referenced by PBiCG::solve(), PCG::solve(), and PBiCGStab::solve().

Here is the call graph for this function:

Here is the caller graph for this function:

virtual const word& type ( ) const
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)   
)
Foam::autoPtr< Foam::lduMatrix::preconditioner > New ( const solver sol,
const dictionary solverControls 
)
static
virtual void read ( const dictionary )
inlinevirtual

Read and reset the preconditioner parameters.

from the given stream

Definition at line 483 of file lduMatrix.H.

virtual void precondition ( scalarField wA,
const scalarField 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.

virtual void preconditionT ( scalarField wT,
const scalarField 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 498 of file lduMatrix.H.

References lduMatrix::ClassName(), lduMatrix::lduMatrix(), NotImplemented, and lduMatrix::~lduMatrix().

Here is the call graph for this function:

Member Data Documentation

const solver& solver_
protected

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

Definition at line 414 of file lduMatrix.H.


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