lduMatrix::smoother Class Referenceabstract

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

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

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 ()
 Destructor. More...
 
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. 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 270 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 155 of file lduMatrixSmoother.C.

◆ ~smoother()

virtual ~smoother ( )
inlinevirtual

Destructor.

Definition at line 364 of file lduMatrix.H.

Member Function Documentation

◆ getName()

Foam::word getName ( const dictionary solverControls)
static

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

Definition at line 39 of file lduMatrixSmoother.C.

References Foam::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 61 of file lduMatrixSmoother.C.

References lduMatrix::asymmetric(), Foam::e, Foam::endl(), Foam::exit(), Foam::FatalIOError, FatalIOErrorInFunction, dictionary::lookupEntry(), Foam::name(), Foam::nl, 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
inline

Definition at line 372 of file lduMatrix.H.

References lduMatrix::smoother::fieldName_.

◆ matrix()

const lduMatrix& matrix ( ) const
inline

Definition at line 377 of file lduMatrix.H.

References lduMatrix::smoother::matrix_.

Referenced by nonBlockingGaussSeidelSmoother::nonBlockingGaussSeidelSmoother().

Here is the caller graph for this function:

◆ interfaceBouCoeffs()

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

Definition at line 382 of file lduMatrix.H.

References lduMatrix::smoother::interfaceBouCoeffs_.

Referenced by nonBlockingGaussSeidelSmoother::nonBlockingGaussSeidelSmoother().

Here is the caller graph for this function:

◆ interfaceIntCoeffs()

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

Definition at line 387 of file lduMatrix.H.

References lduMatrix::smoother::interfaceIntCoeffs_.

◆ interfaces()

const lduInterfaceFieldPtrsList& interfaces ( ) const
inline

Definition at line 392 of file lduMatrix.H.

References lduMatrix::smoother::interfaces_.

Referenced by nonBlockingGaussSeidelSmoother::nonBlockingGaussSeidelSmoother().

Here is the caller graph for this function:

◆ smooth()

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

Member Data Documentation

◆ fieldName_

word fieldName_
protected

Definition at line 276 of file lduMatrix.H.

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

◆ matrix_

◆ interfaceBouCoeffs_

const FieldField<Field, scalar>& interfaceBouCoeffs_
protected

Definition at line 278 of file lduMatrix.H.

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

◆ interfaceIntCoeffs_

const FieldField<Field, scalar>& interfaceIntCoeffs_
protected

Definition at line 279 of file lduMatrix.H.

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

◆ interfaces_

const lduInterfaceFieldPtrsList& interfaces_
protected

Definition at line 280 of file lduMatrix.H.

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


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