Equation tolerances are described in terms of absolute and relative quantities:
tolerance 1e-6; relTol 0.1;
If the equation initial residual satisfies either of the specified values, the system of equations are assumed solved and will not be evolved.
The residual calculation is solver-specific. However, the general approach follows:
For a matrix system
\[ \mat{A} \vec{x} = \vec{b}, \]
the residual is defined as
\[ \vec{r} = \vec{b} - \mat{A} \vec{x}. \]
We then apply residual scaling using the following normalisation procedure:
\[ n = \sum \left( \mag{\mat{A}\vec{x} - \mat{A}\av{\vec{x}}} + \mag{\vec{b} - \mat{A}\av{\vec{x}}} \right) \]
where \( \av{\vec{x}} \) is the average of the solution vector. The scaled residual is finally given by:
\[ r = \frac{1}{n} \sum \mag{\vec{b} - \mat{A} \vec{x}}. \]
This form leads to a normalised residual of 1 for uniform systems, i.e. where \( \vec{x} = \av{\vec{x}} \). However, this also shows that if the initial solution changes, e.g. using non-uniform conditions, the normalisation also changes, leading to a different convergence history.
Would you like to suggest an improvement to this page? | Create an issue |
Copyright © 2016 OpenCFD Ltd.