Verification: Are We Solving the Equations Right
Verification uses exact solutions, manufactured solutions, and convergence studies to prove the code solves its equations correctly.
Proving the solver is faithful
Verification is the part of quality assurance we can complete today, with no hardware, so we hold it to a strict standard. The question is narrow and answerable: given the equations we chose, does the code produce their correct solution?
Techniques we rely on
- Exact solutions: run the solver on problems with closed-form answers and confirm it recovers them to tolerance.
- Method of manufactured solutions: insert a chosen solution into the equations, derive the source term it implies, and check the code returns the chosen solution.
- Convergence studies: refine the grid or timestep and confirm the error falls at the expected order.
- Conservation checks: confirm conserved quantities close on every run.
- Regression tests: lock known-good outputs so a code change that alters them is caught immediately.
Order of accuracy is a claim we test
A scheme advertised as second-order should show error dropping by roughly four times when the grid is halved. If it does not, either the implementation has a bug or a boundary condition is spoiling the order. We measure the observed order rather than trusting the advertised one, and we report it.
Verification does not tell us whether a design will work in the world. It tells us that when we report a simulated Q_sci of 3.424 or a peak field of 16.84 T, the number is the true solution of the model we specified and not an artifact of a coarse grid or a coding slip. That is a precondition for every downstream claim.