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... | |
int | log_ |
Level of verbosity in the solver output statements. More... | |
label | minIter_ |
Minimum number of iterations in the solver. More... | |
label | maxIter_ |
Maximum number of iterations in the solver. More... | |
scalar | tolerance_ |
Final convergence tolerance. More... | |
scalar | relTol_ |
Convergence tolerance relative to the initial. More... | |
profilingTrigger | profiling_ |
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 98 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 139 of file lduMatrixSolver.C.
References lduMatrix::solver::readControls().
|
virtualdefault |
Destructor.
|
protectedvirtual |
Read the control parameters from the controlDict_.
Reimplemented in GAMGPreconditioner, and smoothSolver.
Definition at line 163 of file lduMatrixSolver.C.
References 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 44 of file lduMatrixSolver.C.
References lduMatrix::asymmetric(), lduMatrix::diagonal(), Foam::exit(), Foam::FatalIOError, FatalIOErrorInFunction, FatalIOErrorInLookup, lduMatrix::solver::fieldName(), dictionary::get(), lduMatrix::solver::interfaceBouCoeffs(), lduMatrix::solver::interfaceIntCoeffs(), lduMatrix::solver::interfaces(), lduMatrix::solver::matrix(), Foam::name(), and lduMatrix::symmetric().
|
inlinenoexcept |
Definition at line 228 of file lduMatrix.H.
References lduMatrix::solver::fieldName_.
Referenced by lduMatrix::solver::New().
|
inlinenoexcept |
Definition at line 233 of file lduMatrix.H.
References lduMatrix::solver::matrix_.
Referenced by diagonalPreconditioner::diagonalPreconditioner(), DiagonalPreconditioner< Type, DType, LUType >::DiagonalPreconditioner(), DICPreconditioner::DICPreconditioner(), DILUPreconditioner::DILUPreconditioner(), FDICPreconditioner::FDICPreconditioner(), GAMGSolver::GAMGSolver(), lduMatrix::preconditioner::New(), lduMatrix::solver::New(), and GAMGSolver::solve().
|
inlinenoexcept |
Definition at line 238 of file lduMatrix.H.
References lduMatrix::solver::interfaceBouCoeffs_.
Referenced by lduMatrix::solver::New().
|
inlinenoexcept |
Definition at line 243 of file lduMatrix.H.
References lduMatrix::solver::interfaceIntCoeffs_.
Referenced by lduMatrix::solver::New().
|
inlinenoexcept |
Definition at line 248 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 173 of file lduMatrixSolver.C.
|
pure virtual |
Solve with given field and rhs.
Implemented in diagonalSolver, GAMGSolver, PBiCG, PBiCGStab, PCG, PPCG, PPCR, and smoothSolver.
|
virtual |
Solve with given field and rhs (in solveScalar precision).
Default is to call solve routine
Reimplemented in PBiCGStab, and PCG.
Definition at line 180 of file lduMatrixSolver.C.
References psi, refPtr< T >::ref(), and solve().
Foam::solveScalarField::cmptType normFactor | ( | const solveScalarField & | psi, |
const solveScalarField & | source, | ||
const solveScalarField & | Apsi, | ||
solveScalarField & | tmpField | ||
) | const |
Return the matrix norm used to normalise the residual for the stopping criterion
Definition at line 197 of file lduMatrixSolver.C.
References faMesh::comm(), Foam::gAverage(), Foam::gSum(), Foam::mag(), DimensionedField< Type, GeoMesh >::mesh(), psi, and SolverPerformance< Type >::small_.
Referenced by GAMGSolver::solve().
|
staticprotected |
Default maximum number of iterations in the solver.
Definition at line 105 of file lduMatrix.H.
|
protected |
Definition at line 107 of file lduMatrix.H.
Referenced by lduMatrix::solver::fieldName(), and GAMGSolver::solve().
|
protected |
Definition at line 108 of file lduMatrix.H.
Referenced by lduMatrix::solver::matrix(), and GAMGSolver::solve().
|
protected |
Definition at line 109 of file lduMatrix.H.
Referenced by lduMatrix::solver::interfaceBouCoeffs(), and GAMGSolver::solve().
|
protected |
Definition at line 110 of file lduMatrix.H.
Referenced by lduMatrix::solver::interfaceIntCoeffs().
|
protected |
Definition at line 111 of file lduMatrix.H.
Referenced by lduMatrix::solver::interfaces(), and GAMGSolver::solve().
|
protected |
Dictionary of controls.
Definition at line 114 of file lduMatrix.H.
Referenced by GAMGSolver::GAMGSolver().
|
protected |
Level of verbosity in the solver output statements.
Definition at line 117 of file lduMatrix.H.
Referenced by GAMGSolver::GAMGSolver(), and GAMGSolver::solve().
|
protected |
Minimum number of iterations in the solver.
Definition at line 120 of file lduMatrix.H.
Referenced by GAMGSolver::solve().
|
protected |
Maximum number of iterations in the solver.
Definition at line 123 of file lduMatrix.H.
Referenced by GAMGSolver::solve().
|
protected |
Final convergence tolerance.
Definition at line 126 of file lduMatrix.H.
Referenced by GAMGSolver::GAMGSolver(), and GAMGSolver::solve().
|
protected |
Convergence tolerance relative to the initial.
Definition at line 129 of file lduMatrix.H.
Referenced by GAMGSolver::GAMGSolver(), and GAMGSolver::solve().
|
protected |
Definition at line 131 of file lduMatrix.H.