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

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

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


Detailed Description

Abstract base-class for lduMatrix solvers.

Definition at line 211 of file lduMatrix.H.

+ Inheritance diagram for lduMatrix::solver:
+ Collaboration diagram for lduMatrix::solver:

List of all members.

Public Member Functions

virtual const wordtype () const =0
 Runtime type information.
 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 ()
const wordfieldName () const
const lduMatrixmatrix () const
const FieldField< Field, scalar > & interfaceBouCoeffs () const
const FieldField< Field, scalar > & interfaceIntCoeffs () const
const lduInterfaceFieldPtrsListinterfaces () const
virtual void read (const dictionary &)
 Read and reset the solver parameters from the given stream.
virtual solverPerformance solve (scalarField &psi, const scalarField &source, const direction cmpt=0) const =0
scalar normFactor (const scalarField &psi, const scalarField &source, const scalarField &Apsi, scalarField &tmpField) const
 Return the matrix norm used to normalise the residual for the.

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)
 Return a new solver.

Protected Member Functions

virtual void readControls ()
 Read the control parameters from the controlDict_.

Protected Attributes

word fieldName_
const lduMatrixmatrix_
const FieldField< Field, scalar > & interfaceBouCoeffs_
const FieldField< Field, scalar > & interfaceIntCoeffs_
lduInterfaceFieldPtrsList interfaces_
dictionary controlDict_
 dictionary of controls
label maxIter_
 Maximum number of iterations in the solver.
scalar tolerance_
 Final convergence tolerance.
scalar relTol_
 Convergence tolerance relative to the initial.

Constructor & Destructor Documentation

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 142 of file lduMatrixSolver.C.

virtual ~solver ( )
inlinevirtual

Definition at line 326 of file lduMatrix.H.


Member Function Documentation

void readControls ( )
protectedvirtual

Read the control parameters from the controlDict_.

Reimplemented in smoothSolver, and GAMGPreconditioner.

Definition at line 164 of file lduMatrixSolver.C.

References lduMatrix::solver::controlDict_, e, dictionary::lookupOrDefault(), lduMatrix::solver::maxIter_, lduMatrix::solver::relTol_, and lduMatrix::solver::tolerance_.

virtual const word& type ( ) const
pure virtual

Runtime type information.

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

Definition at line 334 of file lduMatrix.H.

References lduMatrix::solver::fieldName_.

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

Definition at line 344 of file lduMatrix.H.

References lduMatrix::solver::interfaceBouCoeffs_.

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

Definition at line 349 of file lduMatrix.H.

References lduMatrix::solver::interfaceIntCoeffs_.

const lduInterfaceFieldPtrsList& interfaces ( ) const
inline

Definition at line 354 of file lduMatrix.H.

References lduMatrix::solver::interfaces_.

void read ( const dictionary solverControls)
virtual

Read and reset the solver parameters from the given stream.

Reimplemented in diagonalSolver.

Definition at line 172 of file lduMatrixSolver.C.

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

Implemented in GAMGSolver, smoothSolver, PBiCG, PCG, and diagonalSolver.

Foam::scalar normFactor ( const scalarField psi,
const scalarField source,
const scalarField Apsi,
scalarField tmpField 
) const

Return the matrix norm used to normalise the residual for the.

stopping criterion

Definition at line 180 of file lduMatrixSolver.C.

References Foam::gAverage(), Foam::gSum(), and Foam::mag().


Member Data Documentation

word fieldName_
protected

Definition at line 217 of file lduMatrix.H.

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

const lduMatrix& matrix_
protected

Definition at line 218 of file lduMatrix.H.

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

const FieldField<Field, scalar>& interfaceBouCoeffs_
protected

Definition at line 219 of file lduMatrix.H.

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

const FieldField<Field, scalar>& interfaceIntCoeffs_
protected

Definition at line 220 of file lduMatrix.H.

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

lduInterfaceFieldPtrsList interfaces_
protected

Definition at line 221 of file lduMatrix.H.

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

dictionary controlDict_
protected

dictionary of controls

Definition at line 224 of file lduMatrix.H.

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

label maxIter_
protected

Maximum number of iterations in the solver.

Definition at line 227 of file lduMatrix.H.

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

scalar tolerance_
protected

Final convergence tolerance.

Definition at line 230 of file lduMatrix.H.

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

scalar relTol_
protected

Convergence tolerance relative to the initial.

Definition at line 233 of file lduMatrix.H.

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


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