symGaussSeidelSmoother Class Reference

A lduMatrix::smoother for symmetric Gauss-Seidel. More...

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

Public Member Functions

 TypeName ("symGaussSeidel")
 Runtime type information. More...
 
 symGaussSeidelSmoother (const word &fieldName, const lduMatrix &matrix, const FieldField< Field, scalar > &interfaceBouCoeffs, const FieldField< Field, scalar > &interfaceIntCoeffs, const lduInterfaceFieldPtrsList &interfaces)
 Construct from components. More...
 
virtual void smooth (solveScalarField &psi, const scalarField &Source, const direction cmpt, const label nSweeps) const
 Smooth the solution for a given number of sweeps. More...
 
virtual void scalarSmooth (solveScalarField &psi, const solveScalarField &source, const direction cmpt, const label nSweeps) const
 Smooth the solution for a given number of sweeps. More...
 
- Public Member Functions inherited from lduMatrix::smoother
virtual const wordtype () const =0
 Runtime type information. More...
 
 declareRunTimeSelectionTable (autoPtr, smoother, symMatrix,(const word &fieldName, const lduMatrix &matrix, const FieldField< Field, scalar > &interfaceBouCoeffs, const FieldField< Field, scalar > &interfaceIntCoeffs, const lduInterfaceFieldPtrsList &interfaces),(fieldName, matrix, interfaceBouCoeffs, interfaceIntCoeffs, interfaces))
 
 declareRunTimeSelectionTable (autoPtr, smoother, asymMatrix,(const word &fieldName, const lduMatrix &matrix, const FieldField< Field, scalar > &interfaceBouCoeffs, const FieldField< Field, scalar > &interfaceIntCoeffs, const lduInterfaceFieldPtrsList &interfaces),(fieldName, matrix, interfaceBouCoeffs, interfaceIntCoeffs, interfaces))
 
 smoother (const word &fieldName, const lduMatrix &matrix, const FieldField< Field, scalar > &interfaceBouCoeffs, const FieldField< Field, scalar > &interfaceIntCoeffs, const lduInterfaceFieldPtrsList &interfaces)
 
virtual ~smoother ()=default
 Destructor. More...
 
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
 
virtual void smooth (solveScalarField &psi, const scalarField &source, const direction cmpt, const label nSweeps) const =0
 Smooth the solution for a given number of sweeps. More...
 
virtual void scalarSmooth (solveScalarField &psi, const solveScalarField &source, const direction cmpt, const label nSweeps) const =0
 Smooth the solution for a given number of sweeps. More...
 

Static Public Member Functions

static void smooth (const word &fieldName, solveScalarField &psi, const lduMatrix &matrix, const solveScalarField &source, const FieldField< Field, scalar > &interfaceBouCoeffs, const lduInterfaceFieldPtrsList &interfaces, const direction cmpt, const label nSweeps)
 Smooth for the given number of sweeps. More...
 
- Static Public Member Functions inherited from lduMatrix::smoother
static word getName (const dictionary &)
 Find the smoother name (directly or from a sub-dictionary) More...
 
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. More...
 

Additional Inherited Members

- Protected Attributes inherited from lduMatrix::smoother
word fieldName_
 
const lduMatrixmatrix_
 
const FieldField< Field, scalar > & interfaceBouCoeffs_
 
const FieldField< Field, scalar > & interfaceIntCoeffs_
 
const lduInterfaceFieldPtrsListinterfaces_
 

Detailed Description

A lduMatrix::smoother for symmetric Gauss-Seidel.

Source files

Definition at line 54 of file symGaussSeidelSmoother.H.

Constructor & Destructor Documentation

◆ symGaussSeidelSmoother()

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

Construct from components.

Definition at line 48 of file symGaussSeidelSmoother.C.

Member Function Documentation

◆ TypeName()

TypeName ( "symGaussSeidel"  )

Runtime type information.

◆ smooth() [1/2]

void smooth ( const word fieldName,
solveScalarField psi,
const lduMatrix matrix,
const solveScalarField source,
const FieldField< Field, scalar > &  interfaceBouCoeffs,
const lduInterfaceFieldPtrsList interfaces,
const direction  cmpt,
const label  nSweeps 
)
static

Smooth for the given number of sweeps.

Definition at line 70 of file symGaussSeidelSmoother.C.

References UList< T >::begin(), lduMatrix::diag(), lduMatrix::initMatrixInterfaces(), lduMatrix::lduAddr(), lduMatrix::lower(), UPstream::nRequests(), lduAddressing::ownerStartAddr(), psi, UList< T >::size(), lduMatrix::updateMatrixInterfaces(), lduMatrix::upper(), and lduAddressing::upperAddr().

Here is the call graph for this function:

◆ smooth() [2/2]

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 226 of file symGaussSeidelSmoother.C.

References psi.

◆ 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 204 of file symGaussSeidelSmoother.C.

References psi.


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