Abstract base-class for lduMatrix solvers. More...
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. More... | |
Protected Member Functions | |
virtual void | readControls () |
Read the control parameters from the controlDict_. More... | |
Protected Attributes | |
word | fieldName_ |
const lduMatrix & | matrix_ |
const FieldField< Field, scalar > & | interfaceBouCoeffs_ |
const FieldField< Field, scalar > & | interfaceIntCoeffs_ |
lduInterfaceFieldPtrsList | interfaces_ |
dictionary | controlDict_ |
Dictionary of controls. More... | |
label | maxIter_ |
Maximum number of iterations in the solver. More... | |
label | minIter_ |
Minimum number of iterations in the solver. More... | |
scalar | tolerance_ |
Final convergence tolerance. More... | |
scalar | relTol_ |
Convergence tolerance relative to the initial. More... | |
Static Protected Attributes | |
static const label | defaultMaxIter_ = 1000 |
Default maximum number of iterations in the solver. More... | |
Abstract base-class for lduMatrix solvers.
Definition at line 93 of file lduMatrix.H.
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 135 of file lduMatrixSolver.C.
References lduMatrix::solver::readControls().
|
inlinevirtual |
Destructor.
Definition at line 213 of file lduMatrix.H.
|
protectedvirtual |
Read the control parameters from the controlDict_.
Reimplemented in smoothSolver, and GAMGPreconditioner.
Definition at line 158 of file lduMatrixSolver.C.
References Foam::e.
Referenced by smoothSolver::readControls(), and lduMatrix::solver::solver().
|
pure virtual |
Runtime type information.
Referenced by GAMGSolver::GAMGSolver().
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) | |||
) |
|
static |
Return a new solver.
Definition at line 40 of file lduMatrixSolver.C.
References lduMatrix::asymmetric(), lduMatrix::diagonal(), Foam::endl(), Foam::exit(), Foam::FatalIOError, FatalIOErrorInFunction, lduMatrix::solver::fieldName(), lduMatrix::solver::interfaceBouCoeffs(), lduMatrix::solver::interfaceIntCoeffs(), lduMatrix::solver::interfaces(), dictionary::lookup(), lduMatrix::solver::matrix(), Foam::name(), Foam::nl, and lduMatrix::symmetric().
Referenced by fvMatrix< Type >::solveSegregated().
|
inline |
Definition at line 221 of file lduMatrix.H.
References lduMatrix::solver::fieldName_.
Referenced by lduMatrix::solver::New().
|
inline |
Definition at line 226 of file lduMatrix.H.
References lduMatrix::solver::matrix_.
Referenced by diagonalPreconditioner::diagonalPreconditioner(), DICPreconditioner::DICPreconditioner(), DILUPreconditioner::DILUPreconditioner(), FDICPreconditioner::FDICPreconditioner(), GAMGSolver::GAMGSolver(), lduMatrix::preconditioner::New(), lduMatrix::solver::New(), and GAMGSolver::solve().
|
inline |
Definition at line 231 of file lduMatrix.H.
References lduMatrix::solver::interfaceBouCoeffs_.
Referenced by lduMatrix::solver::New().
|
inline |
Definition at line 236 of file lduMatrix.H.
References lduMatrix::solver::interfaceIntCoeffs_.
Referenced by lduMatrix::solver::New().
|
inline |
Definition at line 241 of file lduMatrix.H.
References lduMatrix::solver::interfaces_.
Referenced by GAMGSolver::GAMGSolver(), and lduMatrix::solver::New().
|
virtual |
Read and reset the solver parameters from the given stream.
Reimplemented in diagonalSolver.
Definition at line 167 of file lduMatrixSolver.C.
|
pure virtual |
Implemented in smoothSolver, PCG, PBiCGStab, PBiCG, GAMGSolver, 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 174 of file lduMatrixSolver.C.
References Foam::gAverage(), Foam::gSum(), Foam::mag(), psi, and SolverPerformance< Type >::small_.
Referenced by GAMGSolver::solve().
|
protected |
Definition at line 99 of file lduMatrix.H.
Referenced by lduMatrix::solver::fieldName(), and GAMGSolver::solve().
|
protected |
Definition at line 100 of file lduMatrix.H.
Referenced by lduMatrix::solver::matrix(), and GAMGSolver::solve().
|
protected |
Definition at line 101 of file lduMatrix.H.
Referenced by lduMatrix::solver::interfaceBouCoeffs(), and GAMGSolver::solve().
|
protected |
Definition at line 102 of file lduMatrix.H.
Referenced by lduMatrix::solver::interfaceIntCoeffs().
|
protected |
Definition at line 103 of file lduMatrix.H.
Referenced by lduMatrix::solver::interfaces(), and GAMGSolver::solve().
|
protected |
Dictionary of controls.
Definition at line 106 of file lduMatrix.H.
|
staticprotected |
Default maximum number of iterations in the solver.
Definition at line 109 of file lduMatrix.H.
|
protected |
Maximum number of iterations in the solver.
Definition at line 112 of file lduMatrix.H.
Referenced by GAMGSolver::solve().
|
protected |
Minimum number of iterations in the solver.
Definition at line 115 of file lduMatrix.H.
Referenced by GAMGSolver::solve().
|
protected |
Final convergence tolerance.
Definition at line 118 of file lduMatrix.H.
Referenced by GAMGSolver::solve().
|
protected |
Convergence tolerance relative to the initial.
Definition at line 121 of file lduMatrix.H.
Referenced by GAMGSolver::solve().