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:
Collaboration diagram for DICPreconditioner:

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 ()
 Destructor. More...
 
virtual void precondition (scalarField &wA, const scalarField &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 ()
 Destructor. More...
 
virtual void read (const dictionary &)
 Read and reset the preconditioner parameters. 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 void calcReciprocalD (scalarField &rD, const lduMatrix &matrix)
 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 50 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 43 of file DICPreconditioner.C.

References DICPreconditioner::calcReciprocalD(), and lduMatrix::solver::matrix().

Here is the call graph for this function:

◆ ~DICPreconditioner()

virtual ~DICPreconditioner ( )
inlinevirtual

Destructor.

Definition at line 77 of file DICPreconditioner.H.

References DICPreconditioner::calcReciprocalD(), and DICPreconditioner::precondition().

Here is the call graph for this function:

Member Function Documentation

◆ TypeName()

TypeName ( "DIC"  )

Runtime type information.

◆ calcReciprocalD()

void calcReciprocalD ( scalarField rD,
const lduMatrix matrix 
)
static

Calculate the reciprocal of the preconditioned diagonal.

Definition at line 58 of file DICPreconditioner.C.

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

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

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

◆ precondition()

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

Return wA the preconditioned form of residual rA.

Implements lduMatrix::preconditioner.

Definition at line 88 of file DICPreconditioner.C.

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

Referenced by DICPreconditioner::calcReciprocalD(), and DICPreconditioner::~DICPreconditioner().

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

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