Iterative solver for symmetric and asymmetric matrices which uses a run-time selected smoother e.g. GaussSeidel to converge the solution to the required tolerance. More...
Protected Member Functions | |
virtual void | readControls () |
Protected Attributes | |
label | nSweeps_ |
![]() | |
word | fieldName_ |
const lduMatrix & | matrix_ |
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_ |
Additional Inherited Members | |
![]() | |
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) |
![]() | |
static const label | defaultMaxIter_ = 1000 |
Iterative solver for symmetric and asymmetric matrices which uses a run-time selected smoother e.g. GaussSeidel to converge the solution to the required tolerance.
To improve efficiency, the residual is evaluated after every nSweeps smoothing iterations.
Definition at line 55 of file smoothSolver.H.
smoothSolver | ( | 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 43 of file smoothSolver.C.
|
virtualdefault |
|
protectedvirtual |
Reimplemented from lduMatrix::solver.
Definition at line 68 of file smoothSolver.C.
References lduMatrix::solver::controlDict_, dictionary::getOrDefault(), smoothSolver::nSweeps_, and lduMatrix::solver::readControls().
TypeName | ( | "smoothSolver" | ) |
|
virtual |
Implements lduMatrix::solver.
Definition at line 76 of file smoothSolver.C.
References addProfiling, SolverPerformance::checkConvergence(), Foam::expressions::patchExpr::debug, Foam::endl(), SolverPerformance::finalResidual(), Foam::gSumMag(), Foam::Info, SolverPerformance::initialResidual(), messageStream::masterStream(), mesh, lduMatrix::smoother::New(), SolverPerformance::nIterations(), psi, refPtr< Field< Type > >::ref(), lduMatrix::setResidualField(), and Foam::solve().
|
protected |
Definition at line 64 of file smoothSolver.H.
Referenced by smoothSolver::readControls().
Copyright © 2011-2018 OpenFOAM | OPENFOAM® is a registered trademark of OpenCFD Ltd.