Public Member Functions | Static Public Member Functions | List of all members
DILUPreconditioner Class Reference

Simplified diagonal-based incomplete LU preconditioner for asymmetric matrices. The reciprocal of the preconditioned diagonal is calculated and stored. More...

Inheritance diagram for DILUPreconditioner:
Inheritance graph
[legend]
Collaboration diagram for DILUPreconditioner:
Collaboration graph
[legend]

Public Member Functions

 TypeName ("DILU")
 Runtime type information. More...
 
 DILUPreconditioner (const lduMatrix::solver &, const dictionary &solverControlsUnused)
 Construct from matrix components and preconditioner solver controls. More...
 
virtual ~DILUPreconditioner ()
 Destructor. More...
 
virtual void precondition (scalarField &wA, const scalarField &rA, const direction cmpt=0) const
 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 residual rT. 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...
 

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 LU preconditioner for asymmetric matrices. The reciprocal of the preconditioned diagonal is calculated and stored.

Source files

Definition at line 50 of file DILUPreconditioner.H.

Constructor & Destructor Documentation

◆ DILUPreconditioner()

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

Construct from matrix components and preconditioner solver controls.

Definition at line 43 of file DILUPreconditioner.C.

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

Here is the call graph for this function:

◆ ~DILUPreconditioner()

virtual ~DILUPreconditioner ( )
inlinevirtual

Destructor.

Definition at line 77 of file DILUPreconditioner.H.

References DILUPreconditioner::calcReciprocalD(), DILUPreconditioner::precondition(), and DILUPreconditioner::preconditionT().

Here is the call graph for this function:

Member Function Documentation

◆ TypeName()

TypeName ( "DILU"  )

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 DILUPreconditioner.C.

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

Referenced by DILUPreconditioner::DILUPreconditioner(), DILUSmoother::DILUSmoother(), and DILUPreconditioner::~DILUPreconditioner().

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 89 of file DILUPreconditioner.C.

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

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

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

◆ preconditionT()

void preconditionT ( scalarField wT,
const scalarField rT,
const direction  cmpt = 0 
) const
virtual

Return wT the transpose-matrix preconditioned form of residual rT.

Reimplemented from lduMatrix::preconditioner.

Definition at line 139 of file DILUPreconditioner.C.

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

Referenced by DILUPreconditioner::precondition(), and DILUPreconditioner::~DILUPreconditioner().

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: