LduMatrix< Type, DType, LUType >::smoother Class Referenceabstract

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

Inheritance diagram for LduMatrix< Type, DType, LUType >::smoother:
[legend]
Collaboration diagram for LduMatrix< Type, DType, LUType >::smoother:
[legend]

Public Member Functions

virtual const wordtype () const =0
 Runtime type information. More...
 
 declareRunTimeSelectionTable (autoPtr, smoother, symMatrix,(const word &fieldName, const LduMatrix< Type, DType, LUType > &matrix),(fieldName, matrix))
 
 declareRunTimeSelectionTable (autoPtr, smoother, asymMatrix,(const word &fieldName, const LduMatrix< Type, DType, LUType > &matrix),(fieldName, matrix))
 
 smoother (const word &fieldName, const LduMatrix< Type, DType, LUType > &matrix)
 
virtual ~smoother ()=default
 
const wordfieldName () const noexcept
 
const LduMatrix< Type, DType, LUType > & matrix () const noexcept
 
virtual void smooth (Field< Type > &psi, const label nSweeps) const =0
 Smooth the solution for a given number of sweeps. More...
 

Static Public Member Functions

static autoPtr< smootherNew (const word &fieldName, const LduMatrix< Type, DType, LUType > &matrix, const dictionary &smootherDict)
 Return a new smoother. More...
 

Protected Attributes

word fieldName_
 
const LduMatrix< Type, DType, LUType > & matrix_
 

Detailed Description

template<class Type, class DType, class LUType>
class Foam::LduMatrix< Type, DType, LUType >::smoother

Abstract base-class for LduMatrix smoothers.

Definition at line 265 of file LduMatrix.H.

Constructor & Destructor Documentation

◆ smoother()

smoother ( const word fieldName,
const LduMatrix< Type, DType, LUType > &  matrix 
)

Definition at line 104 of file LduMatrixSmoother.C.

◆ ~smoother()

virtual ~smoother ( )
virtualdefault

Member Function Documentation

◆ type()

virtual const word & type ( ) const
pure virtual

Runtime type information.

◆ declareRunTimeSelectionTable() [1/2]

declareRunTimeSelectionTable ( autoPtr  ,
smoother  ,
symMatrix  ,
(const word &fieldName, const LduMatrix< Type, DType, LUType > &matrix ,
(fieldName, matrix  
)

◆ declareRunTimeSelectionTable() [2/2]

declareRunTimeSelectionTable ( autoPtr  ,
smoother  ,
asymMatrix  ,
(const word &fieldName, const LduMatrix< Type, DType, LUType > &matrix ,
(fieldName, matrix  
)

◆ New()

Foam::autoPtr< typename Foam::LduMatrix< Type, DType, LUType >::smoother > New ( const word fieldName,
const LduMatrix< Type, DType, LUType > &  matrix,
const dictionary smootherDict 
)
static

Return a new smoother.

Definition at line 35 of file LduMatrixSmoother.C.

References Foam::exit(), Foam::FatalIOError, FatalIOErrorInFunction, FatalIOErrorInLookup, LduMatrix< Type, DType, LUType >::smoother::fieldName(), dictionary::get(), and LduMatrix< Type, DType, LUType >::smoother::matrix().

Here is the call graph for this function:

◆ fieldName()

const word & fieldName ( ) const
inlinenoexcept

Definition at line 341 of file LduMatrix.H.

References LduMatrix< Type, DType, LUType >::smoother::fieldName_.

Referenced by LduMatrix< Type, DType, LUType >::smoother::New().

Here is the caller graph for this function:

◆ matrix()

const LduMatrix< Type, DType, LUType > & matrix ( ) const
inlinenoexcept

Definition at line 346 of file LduMatrix.H.

References LduMatrix< Type, DType, LUType >::smoother::matrix_.

Referenced by LduMatrix< Type, DType, LUType >::smoother::New(), and TGaussSeidelSmoother< Type, DType, LUType >::TGaussSeidelSmoother().

Here is the caller graph for this function:

◆ smooth()

virtual void smooth ( Field< Type > &  psi,
const label  nSweeps 
) const
pure virtual

Smooth the solution for a given number of sweeps.

Implemented in TGaussSeidelSmoother< Type, DType, LUType >.

Member Data Documentation

◆ fieldName_

word fieldName_
protected

Definition at line 271 of file LduMatrix.H.

Referenced by LduMatrix< Type, DType, LUType >::smoother::fieldName().

◆ matrix_

const LduMatrix<Type, DType, LUType>& matrix_
protected

Definition at line 272 of file LduMatrix.H.

Referenced by LduMatrix< Type, DType, LUType >::smoother::matrix().


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