DICPreconditioner Class Reference

Simplified diagonal-based incomplete Cholesky preconditioner for symmetric matrices (symmetric equivalent of DILU). The reciprocal of the preconditioned diagonal is calculated and stored. More...

Inheritance diagram for DICPreconditioner:
[legend]
Collaboration diagram for DICPreconditioner:
[legend]

Public Member Functions

 TypeName ("DIC")
 Runtime type information. More...
 
 DICPreconditioner (const lduMatrix::solver &, const dictionary &solverControlsUnused)
 Construct from matrix components and preconditioner solver controls. More...
 
virtual ~DICPreconditioner ()=default
 Destructor. More...
 
virtual void precondition (solveScalarField &wA, const solveScalarField &rA, const direction cmpt=0) const
 Return wA the preconditioned form of residual rA. More...
 
- Public Member Functions inherited from lduMatrix::preconditioner
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 void calcReciprocalD (solveScalarField &, const lduMatrix &)
 Calculate the reciprocal of the preconditioned diagonal. More...
 
- Static Public Member Functions inherited from lduMatrix::preconditioner
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...
 

Additional Inherited Members

- Protected Attributes inherited from lduMatrix::preconditioner
const solversolver_
 Reference to the base-solver this preconditioner is used with. More...
 

Detailed Description

Simplified diagonal-based incomplete Cholesky preconditioner for symmetric matrices (symmetric equivalent of DILU). The reciprocal of the preconditioned diagonal is calculated and stored.

Source files

Definition at line 56 of file DICPreconditioner.H.

Constructor & Destructor Documentation

◆ DICPreconditioner()

DICPreconditioner ( const lduMatrix::solver sol,
const dictionary solverControlsUnused 
)

Construct from matrix components and preconditioner solver controls.

Definition at line 46 of file DICPreconditioner.C.

References UList< T >::begin(), DICPreconditioner::calcReciprocalD(), lduMatrix::diag(), Foam::diag(), and lduMatrix::solver::matrix().

Here is the call graph for this function:

◆ ~DICPreconditioner()

virtual ~DICPreconditioner ( )
virtualdefault

Destructor.

Member Function Documentation

◆ TypeName()

TypeName ( "DIC"  )

Runtime type information.

◆ calcReciprocalD()

void calcReciprocalD ( solveScalarField rD,
const lduMatrix matrix 
)
static

Calculate the reciprocal of the preconditioned diagonal.

Definition at line 64 of file DICPreconditioner.C.

References UList< T >::begin(), lduMatrix::lduAddr(), lduAddressing::lowerAddr(), nFaces(), UList< T >::size(), lduMatrix::upper(), and lduAddressing::upperAddr().

Referenced by DICPreconditioner::DICPreconditioner(), DICSmoother::DICSmoother(), and FDICSmoother::FDICSmoother().

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

◆ precondition()

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

Return wA the preconditioned form of residual rA.

Implements lduMatrix::preconditioner.

Definition at line 94 of file DICPreconditioner.C.

References UList< T >::begin(), nFaces(), and UList< T >::size().

Here is the call graph for this function:

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