Verification vs Validation
Verification asks whether you built the model right; validation asks whether you built the right model. Both are required.
Two questions, often confused
These terms are used loosely in everyday speech but have precise, distinct meanings in computational science. Verification: does the code correctly solve the equations it claims to? Validation: do those equations correctly represent reality? A result must pass both to be trustworthy.
Verification in practice
- Unit tests on individual functions.
- Method-of-manufactured-solutions checks on solvers.
- Comparison against analytic cases with exact answers.
- Convergence studies showing the expected error behavior.
Validation in practice
Validation compares model output against measurements of the real world, with quantified uncertainty on both sides. It is only ever established for a specific quantity over a specific range of conditions — the domain of validation — and never in the abstract.
Why the distinction is load-bearing
A code can be perfectly verified and still invalid: it solves its equations flawlessly, but the equations are wrong for the situation. Conversely, a code cannot be meaningfully validated until it is verified, because otherwise agreement with reality might be a lucky cancellation of two errors.
In a pre-hardware program
Where a machine is not yet built, integrated performance cannot be fully validated against hardware. This is why a disciplined fusion program separates verified computation and component-level validated physics from projected system performance, and refrains from hardware net-gain claims before first-of-a-kind operation.