Iterative Convergence Error
Solvers that stop when a residual is small enough leave a residual error; stop too early and you verify a half-solved problem.
Stopping Short
Many discretized problems are solved iteratively: nonlinear systems, implicit time steps, and large linear systems are all driven toward a solution by successive approximations. The iteration is stopped when a convergence criterion, usually a small residual, is met. Whatever remains between that stopping point and the true discrete solution is the iterative convergence error.
Residual Versus Error
The residual measures how well the current guess satisfies the equations; the error measures how far the guess is from the exact discrete solution. They are related but not identical, and for ill-conditioned systems a small residual can hide a large error. Reporting the residual alone can therefore overstate how converged a solution really is.
Setting the Tolerance
- Make the iterative tolerance tight enough that iterative error is well below discretization error, so it does not contaminate the convergence study.
- Watch for stagnation, where the residual stops falling before the tolerance is met, a sign of an ill-conditioned system or a solver problem.
- Record the achieved residual with the result, so a reader can see how converged it was.
Why It Matters for Verification
A convergence study assumes each solution is the exact discrete solution on its mesh. If the iteration is stopped too early, the reported solution carries iterative error that varies from mesh to mesh, corrupting the measured order of accuracy. A classic failure is a beautiful order-of-accuracy test that degrades once the iterative tolerance is loosened, revealing that the earlier clean result depended on over-tight iteration masking a deeper problem.
The remedy is to make iterative error negligible relative to the discretization error being studied, and to report it as a separate, small line in the error budget rather than folding it invisibly into the total.