lduMatrix::smoother Class Referenceabstract

Abstract base-class for lduMatrix smoothers. More...

Inheritance diagram for lduMatrix::smoother:
[legend]
Collaboration diagram for lduMatrix::smoother:
[legend]

Public Member Functions

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

Protected Attributes

word fieldName_
 
const lduMatrixmatrix_
 
const FieldField< Field, scalar > & interfaceBouCoeffs_
 
const FieldField< Field, scalar > & interfaceIntCoeffs_
 
const lduInterfaceFieldPtrsListinterfaces_
 

Detailed Description

Abstract base-class for lduMatrix smoothers.

Definition at line 287 of file lduMatrix.H.

Constructor & Destructor Documentation

◆ smoother()

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

Definition at line 161 of file lduMatrixSmoother.C.

◆ ~smoother()

virtual ~smoother ( )
virtualdefault

Destructor.

Member Function Documentation

◆ getName()

Foam::word getName ( const dictionary solverControls)
static

Find the smoother name (directly or from a sub-dictionary)

Definition at line 43 of file lduMatrixSmoother.C.

References Foam::constant::electromagnetic::e, dictionary::lookupEntry(), and Foam::name().

Here is the call graph for this function:

◆ type()

virtual const word& type ( ) const
pure virtual

Runtime type information.

◆ declareRunTimeSelectionTable() [1/2]

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() [2/2]

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  
)

◆ New()

Foam::autoPtr< Foam::lduMatrix::smoother > New ( const word fieldName,
const lduMatrix matrix,
const FieldField< Field, scalar > &  interfaceBouCoeffs,
const FieldField< Field, scalar > &  interfaceIntCoeffs,
const lduInterfaceFieldPtrsList interfaces,
const dictionary solverControls 
)
static

Return a new smoother.

Definition at line 67 of file lduMatrixSmoother.C.

References lduMatrix::asymmetric(), Foam::constant::electromagnetic::e, Foam::exit(), Foam::FatalIOError, FatalIOErrorInFunction, FatalIOErrorInLookup, dictionary::lookupEntry(), Foam::name(), and lduMatrix::symmetric().

Referenced by smoothSolver::solve().

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

◆ fieldName()

const word& fieldName ( ) const
inlinenoexcept

Definition at line 386 of file lduMatrix.H.

References lduMatrix::smoother::fieldName_.

◆ matrix()

const lduMatrix& matrix ( ) const
inlinenoexcept

Definition at line 391 of file lduMatrix.H.

References lduMatrix::smoother::matrix_.

◆ interfaceBouCoeffs()

const FieldField<Field, scalar>& interfaceBouCoeffs ( ) const
inlinenoexcept

Definition at line 396 of file lduMatrix.H.

References lduMatrix::smoother::interfaceBouCoeffs_.

◆ interfaceIntCoeffs()

const FieldField<Field, scalar>& interfaceIntCoeffs ( ) const
inlinenoexcept

Definition at line 401 of file lduMatrix.H.

References lduMatrix::smoother::interfaceIntCoeffs_.

◆ interfaces()

const lduInterfaceFieldPtrsList& interfaces ( ) const
inlinenoexcept

Definition at line 406 of file lduMatrix.H.

References lduMatrix::smoother::interfaces_.

◆ smooth()

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

Smooth the solution for a given number of sweeps.

Implemented in nonBlockingGaussSeidelSmoother, GaussSeidelSmoother, symGaussSeidelSmoother, DICSmoother, DICGaussSeidelSmoother, FDICSmoother, DILUGaussSeidelSmoother, and DILUSmoother.

Referenced by smoothSolver::solve().

Here is the caller graph for this function:

◆ scalarSmooth()

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

Member Data Documentation

◆ fieldName_

word fieldName_
protected

Definition at line 293 of file lduMatrix.H.

Referenced by lduMatrix::smoother::fieldName().

◆ matrix_

const lduMatrix& matrix_
protected

Definition at line 294 of file lduMatrix.H.

Referenced by lduMatrix::smoother::matrix().

◆ interfaceBouCoeffs_

const FieldField<Field, scalar>& interfaceBouCoeffs_
protected

Definition at line 295 of file lduMatrix.H.

Referenced by lduMatrix::smoother::interfaceBouCoeffs().

◆ interfaceIntCoeffs_

const FieldField<Field, scalar>& interfaceIntCoeffs_
protected

Definition at line 296 of file lduMatrix.H.

Referenced by lduMatrix::smoother::interfaceIntCoeffs().

◆ interfaces_

const lduInterfaceFieldPtrsList& interfaces_
protected

Definition at line 297 of file lduMatrix.H.

Referenced by lduMatrix::smoother::interfaces().


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