Loading...
Searching...
No Matches
DILUSmoother Class Reference

Simplified diagonal-based incomplete LU smoother for asymmetric matrices. More...

#include <DILUSmoother.H>

Inheritance diagram for DILUSmoother:
Collaboration diagram for DILUSmoother:

Public Member Functions

 TypeName ("DILU")
 Runtime type information.
 DILUSmoother (const word &fieldName, const lduMatrix &matrix, const FieldField< Field, scalar > &interfaceBouCoeffs, const FieldField< Field, scalar > &interfaceIntCoeffs, const lduInterfaceFieldPtrsList &interfaces, const dictionary &solverControls)
 Construct from matrix components.
void smooth (solveScalarField &psi, const scalarField &source, const direction cmpt, const label nSweeps) const
 Smooth the solution for a given number of sweeps.
void scalarSmooth (solveScalarField &psi, const solveScalarField &source, const direction cmpt, const label nSweeps) const
 Smooth the solution for a given number of sweeps.
Public Member Functions inherited from lduMatrix::smoother
virtual const wordtype () const =0
 Runtime type information.
 declareRunTimeSelectionTable (autoPtr, smoother, symMatrix,(const word &fieldName, const lduMatrix &matrix, const FieldField< Field, scalar > &interfaceBouCoeffs, const FieldField< Field, scalar > &interfaceIntCoeffs, const lduInterfaceFieldPtrsList &interfaces, const dictionary &solverControls),(fieldName, matrix, interfaceBouCoeffs, interfaceIntCoeffs, interfaces, solverControls))
 declareRunTimeSelectionTable (autoPtr, smoother, asymMatrix,(const word &fieldName, const lduMatrix &matrix, const FieldField< Field, scalar > &interfaceBouCoeffs, const FieldField< Field, scalar > &interfaceIntCoeffs, const lduInterfaceFieldPtrsList &interfaces, const dictionary &solverControls),(fieldName, matrix, interfaceBouCoeffs, interfaceIntCoeffs, interfaces, solverControls))
 smoother (const word &fieldName, const lduMatrix &matrix, const FieldField< Field, scalar > &interfaceBouCoeffs, const FieldField< Field, scalar > &interfaceIntCoeffs, const lduInterfaceFieldPtrsList &interfaces)
 Construct for given field name, matrix etc.
virtual ~smoother ()=default
 Destructor.
const wordfieldName () const noexcept
const lduMatrixmatrix () const noexcept
const FieldField< Field, scalar > & interfaceBouCoeffs () const noexcept
const FieldField< Field, scalar > & interfaceIntCoeffs () const noexcept
const lduInterfaceFieldPtrsListinterfaces () const noexcept

Additional Inherited Members

Static Public Member Functions inherited from lduMatrix::smoother
static word getName (const dictionary &)
 Find the smoother name (directly or from a sub-dictionary).
static autoPtr< smootherNew (const word &fieldName, const lduMatrix &matrix, const FieldField< Field, scalar > &interfaceBouCoeffs, const FieldField< Field, scalar > &interfaceIntCoeffs, const lduInterfaceFieldPtrsList &interfaces, const dictionary &solverControls)
 Return a new smoother.
Protected Attributes inherited from lduMatrix::smoother
word fieldName_
const lduMatrixmatrix_
const FieldField< Field, scalar > & interfaceBouCoeffs_
const FieldField< Field, scalar > & interfaceIntCoeffs_
const lduInterfaceFieldPtrsListinterfaces_

Detailed Description

Simplified diagonal-based incomplete LU smoother for asymmetric matrices.

Source files

Definition at line 50 of file DILUSmoother.H.

Constructor & Destructor Documentation

◆ DILUSmoother()

DILUSmoother ( const word & fieldName,
const lduMatrix & matrix,
const FieldField< Field, scalar > & interfaceBouCoeffs,
const FieldField< Field, scalar > & interfaceIntCoeffs,
const lduInterfaceFieldPtrsList & interfaces,
const dictionary & solverControls )

Member Function Documentation

◆ TypeName()

◆ smooth()

void smooth ( solveScalarField & psi,
const scalarField & source,
const direction cmpt,
const label nSweeps ) const
virtual

Smooth the solution for a given number of sweeps.

Implements lduMatrix::smoother.

Definition at line 69 of file DILUSmoother.C.

References UList< T >::begin(), forAll, lduMatrix::smoother::interfaceBouCoeffs_, lduMatrix::smoother::interfaces_, lduMatrix::smoother::matrix_, and psi.

Referenced by scalarSmooth().

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

◆ scalarSmooth()

void scalarSmooth ( solveScalarField & psi,
const solveScalarField & source,
const direction cmpt,
const label nSweeps ) const
virtual

Smooth the solution for a given number of sweeps.

Implements lduMatrix::smoother.

Definition at line 127 of file DILUSmoother.C.

References psi, and smooth().

Here is the call graph for this function:

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