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 &matrix, const FieldField< Field, scalar > &interfaceBouCoeffs, const FieldField< Field, scalar > &interfaceIntCoeffs, const lduInterfaceFieldPtrsList &interfaces, const dictionary &solverControls),(fieldName, matrix, interfaceBouCoeffs, interfaceIntCoeffs, interfaces, solverControls))
 
 declareRunTimeSelectionTable (autoPtr, solver, asymMatrix,(const word &fieldName, const lduMatrix &matrix, const FieldField< Field, scalar > &interfaceBouCoeffs, const FieldField< Field, scalar > &interfaceIntCoeffs, const lduInterfaceFieldPtrsList &interfaces, const dictionary &solverControls),(fieldName, matrix, interfaceBouCoeffs, interfaceIntCoeffs, interfaces, solverControls))
 
 solver (const word &fieldName, const lduMatrix &matrix, const FieldField< Field, scalar > &interfaceBouCoeffs, const FieldField< Field, scalar > &interfaceIntCoeffs, const lduInterfaceFieldPtrsList &interfaces, const dictionary &solverControls)
 
virtual ~solver ()=default
 
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 read (const dictionary &)
 
virtual solverPerformance solve (scalarField &psi, const scalarField &source, const direction cmpt=0) const =0
 
virtual solverPerformance scalarSolve (solveScalarField &psi, const solveScalarField &source, const direction cmpt=0) const
 
solveScalarField::cmptType normFactor (const solveScalarField &psi, const solveScalarField &source, const solveScalarField &Apsi, solveScalarField &tmpField) const
 

Static Public Member Functions

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

Protected Member Functions

virtual void readControls ()
 

Protected Attributes

word fieldName_
 
const lduMatrixmatrix_
 
const FieldField< Field, scalar > & interfaceBouCoeffs_
 
const FieldField< Field, scalar > & interfaceIntCoeffs_
 
lduInterfaceFieldPtrsList interfaces_
 
dictionary controlDict_
 
int log_
 
label minIter_
 
label maxIter_
 
scalar tolerance_
 
scalar relTol_
 
profilingTrigger profiling_
 

Static Protected Attributes

static const label defaultMaxIter_ = 1000
 

Detailed Description

Definition at line 94 of file lduMatrix.H.

Constructor & Destructor Documentation

◆ solver()

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

Definition at line 133 of file lduMatrixSolver.C.

◆ ~solver()

virtual ~solver ( )
virtualdefault

Member Function Documentation

◆ readControls()

void readControls ( )
protectedvirtual

◆ type()

virtual const word& type ( ) const
pure virtual

◆ declareRunTimeSelectionTable() [1/2]

declareRunTimeSelectionTable ( autoPtr  ,
solver  ,
symMatrix  ,
(const word &fieldName, const lduMatrix &matrix, const FieldField< Field, scalar > &interfaceBouCoeffs, const FieldField< Field, scalar > &interfaceIntCoeffs, const lduInterfaceFieldPtrsList &interfaces, const dictionary &solverControls)  ,
(fieldName, matrix, interfaceBouCoeffs, interfaceIntCoeffs, interfaces, solverControls)   
)

◆ declareRunTimeSelectionTable() [2/2]

declareRunTimeSelectionTable ( autoPtr  ,
solver  ,
asymMatrix  ,
(const word &fieldName, const lduMatrix &matrix, const FieldField< Field, scalar > &interfaceBouCoeffs, const FieldField< Field, scalar > &interfaceIntCoeffs, const lduInterfaceFieldPtrsList &interfaces, const dictionary &solverControls)  ,
(fieldName, matrix, interfaceBouCoeffs, interfaceIntCoeffs, interfaces, solverControls)   
)

◆ New()

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

◆ fieldName()

const word& fieldName ( ) const
inlinenoexcept

Definition at line 224 of file lduMatrix.H.

References lduMatrix::solver::fieldName_.

◆ matrix()

const lduMatrix& matrix ( ) const
inlinenoexcept

◆ interfaceBouCoeffs()

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

Definition at line 234 of file lduMatrix.H.

References lduMatrix::solver::interfaceBouCoeffs_.

◆ interfaceIntCoeffs()

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

Definition at line 239 of file lduMatrix.H.

References lduMatrix::solver::interfaceIntCoeffs_.

◆ interfaces()

const lduInterfaceFieldPtrsList& interfaces ( ) const
inlinenoexcept

Definition at line 244 of file lduMatrix.H.

References lduMatrix::solver::interfaces_.

◆ read()

void read ( const dictionary solverControls)
virtual

Reimplemented in diagonalSolver.

Definition at line 166 of file lduMatrixSolver.C.

◆ solve()

virtual solverPerformance solve ( scalarField psi,
const scalarField source,
const direction  cmpt = 0 
) const
pure virtual

◆ scalarSolve()

Foam::solverPerformance scalarSolve ( solveScalarField psi,
const solveScalarField source,
const direction  cmpt = 0 
) const
virtual

Reimplemented in PBiCGStab, and PCG.

Definition at line 174 of file lduMatrixSolver.C.

References psi, refPtr< Field< Type > >::ref(), and Foam::solve().

Here is the call graph for this function:

◆ normFactor()

Foam::solveScalarField::cmptType normFactor ( const solveScalarField psi,
const solveScalarField source,
const solveScalarField Apsi,
solveScalarField tmpField 
) const

Definition at line 191 of file lduMatrixSolver.C.

References Foam::gAverage(), Foam::gSum(), Foam::mag(), psi, and SolverPerformance::small_.

Here is the call graph for this function:

Member Data Documentation

◆ defaultMaxIter_

const Foam::label defaultMaxIter_ = 1000
staticprotected

Definition at line 101 of file lduMatrix.H.

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

◆ fieldName_

word fieldName_
protected

Definition at line 103 of file lduMatrix.H.

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

◆ matrix_

const lduMatrix& matrix_
protected

Definition at line 104 of file lduMatrix.H.

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

◆ interfaceBouCoeffs_

const FieldField<Field, scalar>& interfaceBouCoeffs_
protected

Definition at line 105 of file lduMatrix.H.

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

◆ interfaceIntCoeffs_

const FieldField<Field, scalar>& interfaceIntCoeffs_
protected

Definition at line 106 of file lduMatrix.H.

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

◆ interfaces_

lduInterfaceFieldPtrsList interfaces_
protected

Definition at line 107 of file lduMatrix.H.

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

◆ controlDict_

dictionary controlDict_
protected

Definition at line 110 of file lduMatrix.H.

Referenced by smoothSolver::readControls(), and lduMatrix::solver::readControls().

◆ log_

int log_
protected

Definition at line 113 of file lduMatrix.H.

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

◆ minIter_

label minIter_
protected

Definition at line 116 of file lduMatrix.H.

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

◆ maxIter_

label maxIter_
protected

Definition at line 119 of file lduMatrix.H.

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

◆ tolerance_

scalar tolerance_
protected

Definition at line 122 of file lduMatrix.H.

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

◆ relTol_

scalar relTol_
protected

Definition at line 125 of file lduMatrix.H.

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

◆ profiling_

profilingTrigger profiling_
protected

Definition at line 127 of file lduMatrix.H.


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