Loading...
Searching...
No Matches
DILUGaussSeidelSmoother Class Reference

Combined DILU/GaussSeidel smoother for asymmetric matrices in which DILU smoothing is followed by GaussSeidel to ensure that any "spikes" created by the DILU sweeps are smoothed-out. More...

#include <DILUGaussSeidelSmoother.H>

Inheritance diagram for DILUGaussSeidelSmoother:
Collaboration diagram for DILUGaussSeidelSmoother:

Public Member Functions

 TypeName ("DILUGaussSeidel")
 Runtime type information.
 DILUGaussSeidelSmoother (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.
virtual 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

Combined DILU/GaussSeidel smoother for asymmetric matrices in which DILU smoothing is followed by GaussSeidel to ensure that any "spikes" created by the DILU sweeps are smoothed-out.

Source files

Definition at line 50 of file DILUGaussSeidelSmoother.H.

Constructor & Destructor Documentation

◆ DILUGaussSeidelSmoother()

DILUGaussSeidelSmoother ( 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()

TypeName ( "DILUGaussSeidel" )

◆ 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 93 of file DILUGaussSeidelSmoother.C.

References psi, and scalarSmooth().

Here is the call 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 80 of file DILUGaussSeidelSmoother.C.

References psi.

Referenced by smooth().

Here is the caller graph for this function:

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