Abstract base-class for lduMatrix solvers. More...
#include <src/OpenFOAM/matrices/lduMatrix/lduMatrix/lduMatrix.H>
Abstract base-class for lduMatrix solvers.
Definition at line 211 of file lduMatrix.H.
Public Member Functions | |
virtual const word & | type () 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 word & | fieldName () const |
const lduMatrix & | matrix () const |
const FieldField< Field, scalar > & | interfaceBouCoeffs () const |
const FieldField< Field, scalar > & | interfaceIntCoeffs () const |
const lduInterfaceFieldPtrsList & | interfaces () 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< solver > | New (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 lduMatrix & | matrix_ |
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.
|
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 | ( | ) | [inline, virtual]
|
Definition at line 326 of file lduMatrix.H.
void readControls | ( | ) | [protected, virtual]
|
Read the control parameters from the controlDict_.
Reimplemented in GAMGPreconditioner, and smoothSolver.
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]
|
Return a new solver.
Definition at line 41 of file lduMatrixSolver.C.
References lduMatrix::asymmetric(), lduMatrix::diagonal(), Foam::endl(), Foam::exit(), Foam::FatalIOError, FatalIOErrorIn, dictionary::lookup(), name(), Foam::nl, and lduMatrix::symmetric().
const word& fieldName | ( | ) | const [inline]
|
Definition at line 334 of file lduMatrix.H.
References lduMatrix::solver::fieldName_.
const lduMatrix& matrix | ( | ) | const [inline]
|
Definition at line 339 of file lduMatrix.H.
References lduMatrix::solver::matrix_.
Referenced by DICPreconditioner::DICPreconditioner(), DILUPreconditioner::DILUPreconditioner(), and lduMatrix::preconditioner::New().
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 diagonalSolver, GAMGSolver, PBiCG, PCG, and smoothSolver.
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().
word fieldName_ [protected]
|
Definition at line 217 of file lduMatrix.H.
Referenced by lduMatrix::solver::fieldName().
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().