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 () |
Read the control parameters from the controlDict_. More... | |
virtual void | readControls () |
Read the control parameters from the controlDict_. More... | |
Protected Attributes | |
label | nSweeps_ |
Number of sweeps before the evaluation of residual. More... | |
Protected Attributes inherited from lduMatrix::solver | |
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_ |
Additional Inherited Members | |
Static Public Member Functions inherited from lduMatrix::solver | |
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... | |
Static Protected Attributes inherited from lduMatrix::solver | |
static const label | defaultMaxIter_ = 1000 |
Default maximum number of iterations in the solver. More... | |
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 59 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 | ||
) |
Construct from matrix components and solver controls.
Definition at line 49 of file smoothSolver.C.
References smoothSolver::readControls().
|
virtualdefault |
Destructor.
|
protectedvirtual |
Read the control parameters from the controlDict_.
Reimplemented from lduMatrix::solver.
Definition at line 75 of file smoothSolver.C.
References lduMatrix::solver::readControls().
Referenced by smoothSolver::smoothSolver().
TypeName | ( | "smoothSolver" | ) |
Runtime type information.
|
virtual |
Solve the matrix with this solver.
Implements lduMatrix::solver.
Definition at line 82 of file smoothSolver.C.
References addProfiling, SolverPerformance< Type >::checkConvergence(), Foam::endl(), SolverPerformance< Type >::finalResidual(), Foam::gSumMag(), Foam::Info, SolverPerformance< Type >::initialResidual(), messageStream::masterStream(), mesh, Time::New(), SolverPerformance< Type >::nIterations(), psi, refPtr< T >::ref(), UList< T >::size(), and solve().
|
protected |
Number of sweeps before the evaluation of residual.
Definition at line 68 of file smoothSolver.H.