Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes | Static Protected Attributes | List of all members
LduMatrix::solver Class Referenceabstract
Inheritance diagram for LduMatrix::solver:
Inheritance graph
[legend]
Collaboration diagram for LduMatrix::solver:
Collaboration graph
[legend]

Public Member Functions

virtual const wordtype () const =0
 
 declareRunTimeSelectionTable (autoPtr, solver, symMatrix,(const word &fieldName, const LduMatrix< Type, DType, LUType > &matrix, const dictionary &solverDict),(fieldName, matrix, solverDict))
 
 declareRunTimeSelectionTable (autoPtr, solver, asymMatrix,(const word &fieldName, const LduMatrix< Type, DType, LUType > &matrix, const dictionary &solverDict),(fieldName, matrix, solverDict))
 
 solver (const word &fieldName, const LduMatrix< Type, DType, LUType > &matrix, const dictionary &solverDict)
 
virtual ~solver ()=default
 
const wordfieldName () const noexcept
 
const LduMatrix< Type, DType, LUType > & matrix () const noexcept
 
virtual void read (const dictionary &solverDict)
 
virtual SolverPerformance< Type > solve (Field< Type > &psi) const =0
 
Type normFactor (const Field< Type > &psi, const Field< Type > &Apsi, Field< Type > &tmpField) const
 

Static Public Member Functions

static autoPtr< solverNew (const word &fieldName, const LduMatrix< Type, DType, LUType > &matrix, const dictionary &solverDict)
 

Protected Member Functions

virtual void readControls ()
 
template<class T >
void readControl (const dictionary &dict, T &val, const word &key)
 

Protected Attributes

word fieldName_
 
const LduMatrix< Type, DType, LUType > & matrix_
 
dictionary controlDict_
 
int log_
 
label minIter_
 
label maxIter_
 
Type tolerance_
 
Type relTol_
 

Static Protected Attributes

static const label defaultMaxIter_ = 1000
 

Detailed Description

Definition at line 111 of file LduMatrix.H.

Constructor & Destructor Documentation

◆ solver()

solver ( const word fieldName,
const LduMatrix< Type, DType, LUType > &  matrix,
const dictionary solverDict 
)

Definition at line 114 of file LduMatrixSolver.C.

◆ ~solver()

virtual ~solver ( )
virtualdefault

Member Function Documentation

◆ readControls()

void readControls ( )
protectedvirtual

◆ readControl()

void readControl ( const dictionary dict,
T val,
const word key 
)
inlineprotected

Definition at line 153 of file LduMatrix.H.

References dict, and Foam::glTF::key().

Here is the call graph for this function:

◆ type()

virtual const word& type ( ) const
pure virtual

◆ declareRunTimeSelectionTable() [1/2]

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

◆ declareRunTimeSelectionTable() [2/2]

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

◆ New()

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

◆ fieldName()

const word& fieldName ( ) const
inlinenoexcept

Definition at line 230 of file LduMatrix.H.

References LduMatrix::solver::fieldName_.

◆ matrix()

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

Definition at line 235 of file LduMatrix.H.

References LduMatrix::solver::matrix_.

Referenced by LduMatrix::preconditioner::New().

Here is the caller graph for this function:

◆ read()

void read ( const dictionary solverDict)
virtual

Reimplemented in DiagonalSolver< Type, DType, LUType >.

Definition at line 150 of file LduMatrixSolver.C.

◆ solve()

virtual SolverPerformance<Type> solve ( Field< Type > &  psi) const
pure virtual

◆ normFactor()

Type normFactor ( const Field< Type > &  psi,
const Field< Type > &  Apsi,
Field< Type > &  tmpField 
) const

Definition at line 161 of file LduMatrixSolver.C.

References Foam::cmptMag(), Foam::cmptMultiply(), Foam::gAverage(), Foam::gSum(), psi, and Foam::stabilise().

Here is the call graph for this function:

Member Data Documentation

◆ defaultMaxIter_

const label defaultMaxIter_ = 1000
staticprotected

Definition at line 118 of file LduMatrix.H.

◆ fieldName_

word fieldName_
protected

Definition at line 120 of file LduMatrix.H.

Referenced by LduMatrix::solver::fieldName().

◆ matrix_

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

Definition at line 121 of file LduMatrix.H.

Referenced by LduMatrix::solver::matrix().

◆ controlDict_

dictionary controlDict_
protected

Definition at line 124 of file LduMatrix.H.

Referenced by LduMatrix::solver::readControls().

◆ log_

int log_
protected

Definition at line 127 of file LduMatrix.H.

Referenced by LduMatrix::solver::readControls().

◆ minIter_

label minIter_
protected

Definition at line 130 of file LduMatrix.H.

Referenced by LduMatrix::solver::readControls().

◆ maxIter_

label maxIter_
protected

Definition at line 133 of file LduMatrix.H.

Referenced by LduMatrix::solver::readControls().

◆ tolerance_

Type tolerance_
protected

Definition at line 136 of file LduMatrix.H.

Referenced by LduMatrix::solver::readControls().

◆ relTol_

Type relTol_
protected

Definition at line 139 of file LduMatrix.H.

Referenced by LduMatrix::solver::readControls().


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