FreeFOAM The Cross-Platform CFD Toolkit
lduMatrix::smoother Class Reference

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

#include <src/OpenFOAM/matrices/lduMatrix/lduMatrix/lduMatrix.H>


Detailed Description

Abstract base-class for lduMatrix smoothers.

Definition at line 383 of file lduMatrix.H.

+ Inheritance diagram for lduMatrix::smoother:
+ Collaboration diagram for lduMatrix::smoother:

List of all members.

Public Member Functions

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),(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 ()
const wordfieldName () const
const lduMatrixmatrix () const
const FieldField< Field, scalar > & interfaceBouCoeffs () const
const FieldField< Field, scalar > & interfaceIntCoeffs () const
const lduInterfaceFieldPtrsListinterfaces () const
virtual void smooth (scalarField &psi, const scalarField &source, const direction cmpt, const label nSweeps) const =0
 Smooth the solution for a given number of sweeps.

Static Public Member Functions

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

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

Constructor & Destructor Documentation

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

Definition at line 162 of file lduMatrixSmoother.C.

virtual ~smoother ( )
inlinevirtual

Definition at line 478 of file lduMatrix.H.


Member Function Documentation

Foam::word getName ( const dictionary solverControls)
static

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

Definition at line 40 of file lduMatrixSmoother.C.

References entry::dict(), e, entry::isDict(), dictionary::lookup(), dictionary::lookupEntry(), name(), and entry::stream().

virtual const word& type ( ) const
pure virtual

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 ,
(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  
)
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
const word& fieldName ( ) const
inline

Definition at line 486 of file lduMatrix.H.

References lduMatrix::smoother::fieldName_.

const lduMatrix& matrix ( ) const
inline

Definition at line 491 of file lduMatrix.H.

References lduMatrix::smoother::matrix_.

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

Definition at line 496 of file lduMatrix.H.

References lduMatrix::smoother::interfaceBouCoeffs_.

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

Definition at line 501 of file lduMatrix.H.

References lduMatrix::smoother::interfaceIntCoeffs_.

const lduInterfaceFieldPtrsList& interfaces ( ) const
inline

Definition at line 506 of file lduMatrix.H.

References lduMatrix::smoother::interfaces_.

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

Smooth the solution for a given number of sweeps.

Implemented in GaussSeidelSmoother, DICSmoother, DICGaussSeidelSmoother, DILUGaussSeidelSmoother, and DILUSmoother.

Referenced by smoothSolver::solve().


Member Data Documentation

word fieldName_
protected

Definition at line 389 of file lduMatrix.H.

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

const lduMatrix& matrix_
protected

Definition at line 390 of file lduMatrix.H.

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

const FieldField<Field, scalar>& interfaceBouCoeffs_
protected

Definition at line 391 of file lduMatrix.H.

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

const FieldField<Field, scalar>& interfaceIntCoeffs_
protected

Definition at line 392 of file lduMatrix.H.

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

const lduInterfaceFieldPtrsList& interfaces_
protected

Definition at line 393 of file lduMatrix.H.

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


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