Code Verification vs Solution Verification
Code verification proves the software is correct in general; solution verification bounds the numerical error of one specific calculation.
Two Kinds of Verification
Verification splits into two distinct activities. Code verification establishes that the software correctly implements its intended numerical algorithms, as a general property. Solution verification estimates the numerical error in a particular calculation, for the specific inputs and mesh actually used. The first is about the code; the second is about a single run of it.
Code Verification
Code verification uses problems with known answers, chiefly manufactured and analytic solutions, to confirm the code achieves its formal order of accuracy. It is done once per code version and applies to all future runs, because a correctly implemented algorithm stays correct. Its central tool is the order-of-accuracy test, which is highly sensitive to implementation errors.
Solution Verification
Solution verification asks a different question: for this calculation, with this mesh and these inputs, how large is the discretization error? The answer comes from a mesh-refinement study on the actual problem, yielding a Grid Convergence Index or similar error bar. It must be repeated for every calculation whose error matters, because a code verified in general can still be run on a mesh too coarse for a particular problem.
- Code verification: done per code version, uses exact solutions, confirms order of accuracy.
- Solution verification: done per calculation, uses mesh refinement on the real problem, bounds the actual error.
Why Both Are Needed
Neither substitutes for the other. A perfectly verified code run on an inadequate mesh gives an inaccurate answer; a well-refined calculation with an unverified code may be converging to the wrong solution. A design claim needs both: evidence the code is correct in general, and evidence that the specific calculation behind the claim has a bounded, acceptable numerical error entered in the error budget.