Computational Fluid Dynamics · Chapter 10 of 10 · Advanced
Errors, Verification, and Validation
A CFD result without an uncertainty is an opinion. This chapter turns the verify-before-trust habit into numbers: the observed order, the extrapolated answer, and a percentage band on the result.
Readiness check
This closing chapter quantifies trust. Tick only what you can do closed-notes.
- Recall that a finer mesh is more accurate.
- Take a logarithm and a ratio.
- Recall the residual as a convergence measure.
- Compute a percentage relative difference.
- Distinguish a numerical error from a modeling error.
The core idea
Solutions on successively finer grids converge toward the exact answer at a known rate. From three grids you can find that rate, extrapolate the exact value, and put a percentage uncertainty on the result.
p = ln[(f3 − f2)/(f2 − f1)]/ln rfexact ≈ f1 + (f1 − f2)/(rp − 1)GCI = Fs|ε|/(rp − 1)Every CFD result carries error from three sources: discretization (finite mesh and time step), iterative (incomplete convergence), and modeling (turbulence and other physics approximations). Discretization error shrinks as the grid is refined, at a rate set by the scheme's order of accuracy. Running three systematically refined grids reveals the observed order p from the ratio of successive differences, and Richardson extrapolation estimates the value the grid would reach if it were infinitely fine. The grid convergence index then converts the remaining error into a reported percentage band. Verification asks whether the equations are solved correctly (a math question, settled by these tools); validation asks whether they are the right equations (a physics question, settled by comparison with experiment).
The skills, taught in order
Five skills name the error sources, define mesh independence, find the order, compute the GCI, and separate verification from validation.
10.1 Sources of error
A CFD result deviates from reality through discretization error (finite grid and time step), iterative error (stopping before full convergence), and modeling error (turbulence and physics approximations). Round-off is usually negligible. Each is reduced differently, so naming the dominant one matters.
| Error | Source | Reduced by |
|---|---|---|
| Discretization | finite mesh and time step | refining the grid |
| Iterative | incomplete convergence | tighter residual tolerance |
| Modeling | turbulence and physics models | better models and validation |
10.2 Mesh independence
A solution is mesh-independent when refining the grid no longer changes the result meaningfully. Demonstrating this with a refinement study is the minimum standard before any CFD number is reported; a result that still moves on refinement is not yet converged in space.
10.3 Order of accuracy and Richardson extrapolation
With three grids refined by a ratio r, the observed order is p = ln[(f3 − f2)/(f2 − f1)]/ln r, and Richardson extrapolation estimates the zero-mesh value fexact ≈ f1 + (f1 − f2)/(rp − 1). A p near the scheme's formal order confirms the solution is in the asymptotic range.
10.4 The grid convergence index
The GCI turns the extrapolation into a reported uncertainty: GCI = Fs|ε|/(rp − 1), with the relative difference ε = (f2 − f1)/f1 and a safety factor Fs (1.25 for three grids). It is the standard way to attach an error bar to a CFD result.
10.5 Verification versus validation
Verification asks whether the equations are solved right, a mathematics question answered by mesh and iterative convergence. Validation asks whether they are the right equations, a physics question answered by comparison with experiment. A model can be verified yet invalid, so both are needed before trusting a result.
Engineering connection: this chapter closes the verify-before-trust loop opened in Chapter 1, turning every earlier method into a defensible, quantified result.
Worked example 1: observed order and Richardson extrapolation
A drag coefficient is computed on three grids refined by a ratio r = 2: fine f1 = 1.00, medium f2 = 1.01, coarse f3 = 1.05. Find the observed order of accuracy and the Richardson-extrapolated value.
- ProblemFind the observed order p and the extrapolated value for the grids in Figure 1.
- Given / findr = 2, f1 = 1.00 (fine), f2 = 1.01, f3 = 1.05 (coarse). Find p and fexact.
- AssumptionsSystematic refinement by a constant ratio; the solutions are in the asymptotic range.
- ModelObserved order from the ratio of successive differences; Richardson extrapolation for the zero-mesh value.
- Equationsp = ln[(f3 − f2)/(f2 − f1)]/ln rfexact = f1 + (f1 − f2)/(rp − 1)
- Solve(f3 − f2)/(f2 − f1) = 0.04/0.01 = 4, so p = ln 4/ln 2 = 2. Then fexact = 1.00 + (1.00 − 1.01)/(2² − 1) = 1.00 − 0.01/3 = 0.997.
- CheckAn observed order of 2 matches a second-order scheme, confirming the grids are in the asymptotic range, so the extrapolation is trustworthy. The exact value sits just below the fine-grid result.
- ConclusionThree grids give both the convergence rate and an estimate of the answer the mesh is approaching, the foundation for a quantified uncertainty.
Worked example 2: the grid convergence index
Using the same three grids (p = 2, r = 2, fine f1 = 1.00, medium f2 = 1.01), compute the grid convergence index for the fine-grid result with a safety factor Fs = 1.25.
- ProblemFind the GCI for the fine-grid result in Figure 2.
- Given / findp = 2, r = 2, f1 = 1.00, f2 = 1.01, Fs = 1.25. Find the GCI.
- AssumptionsSolutions in the asymptotic range; three-grid safety factor 1.25.
- ModelRelative difference ε = (f2 − f1)/f1, then GCI = Fs|ε|/(rp − 1).
- Equationsε = (f2 − f1)/f1GCI = Fs|ε|/(rp − 1)
- Solveε = (1.01 − 1.00)/1.00 = 0.01 = 1 percent. GCI = 1.25 × 0.01/(2² − 1) = 0.0125/3 = 0.00417 = 0.42 percent.
- CheckThe GCI is smaller than the raw 1 percent fine-to-medium difference because the second-order convergence (rp − 1 = 3) credits the refinement; the safety factor then guards against over-optimism. The fine-grid drag is 1.00 ± 0.42 percent from discretization.
- ConclusionThe GCI is the number that should accompany every reported CFD result. With this band and a validation comparison, the simulation becomes evidence rather than a picture.
Misconceptions and diagnostics
| Mistake | Symptom | Diagnostic question | Correction |
|---|---|---|---|
| Trusting one mesh | A result with no uncertainty | "Did the answer change on refinement?" | Run at least three grids and report a GCI. |
| Confusing verification and validation | Calling a converged run validated | "Right equations, or right solution of them?" | Verification is numerical; validation needs experimental data. |
| Out of the asymptotic range | Observed order far from formal order | "Is p near the scheme's order?" | Refine further until the order is recovered before extrapolating. |
| Compensating errors | Good data match on a coarse mesh | "Could numerical and modeling errors be cancelling?" | Verify numerically first, then validate against data. |
Practice ladder
Three grids (r = 2) give f1 = 2.00, f2 = 2.02, f3 = 2.10. Find the observed order.
Show answer
(f3 − f2)/(f2 − f1) = 0.08/0.02 = 4, so p = ln 4/ln 2 = 2.
For the Worked Example 2 result, what is the GCI if the fine-to-medium difference is instead 2 percent?
Show answer
GCI = 1.25 × 0.02/3 = 0.0083 = 0.83 percent. The band scales linearly with the relative difference.
For f1 = 0.50, f2 = 0.52, r = 2, p = 2, Fs = 1.25, find the GCI and the Richardson-extrapolated value.
Show answer
ε = (0.52 − 0.50)/0.50 = 0.04. GCI = 1.25 × 0.04/3 = 0.0167 = 1.67 percent. fexact = 0.50 + (0.50 − 0.52)/3 = 0.50 − 0.0067 = 0.493.
For a real CFD study, describe the verification and validation plan you would run before reporting a result to a decision-maker.
What good work looks like
A three-grid refinement study with an observed order and GCI, residual convergence, and a comparison with experimental or benchmark data, with both numerical and modeling uncertainty stated.
Working with AI, and proving it yourself
Use AI as an examiner, not a solver
Portfolio task
Run a three-grid study on a real case: report the observed order, the Richardson-extrapolated value, and the GCI, and compare the result to experimental or benchmark data.
Retrieval and spaced review
Closed notes. Answer out loud, then reveal.
1. Name the three main error sources.
Discretization, iterative, and modeling error.
2. What is mesh independence?
The result no longer changes meaningfully as the grid is refined.
3. Write the observed order.
p = ln[(f3 − f2)/(f2 − f1)]/ln r.
4. What does the GCI report?
A percentage uncertainty band on the result: GCI = Fs|ε|/(rp − 1).
5. Verification versus validation?
Verification: solving the equations right (numerical). Validation: solving the right equations (against experiment).
Textbook mapping
| Item | Mapping |
|---|---|
| Primary source | Versteeg and Malalasekera, An Introduction to Computational Fluid Dynamics, Chapter 10 and Appendix A (Errors and Accuracy) |
| Cross-reference | Roache, Verification and Validation in Computational Science · Experimentation and Measurements |
| Core topics | 10.1 Error sources · 10.2 Mesh independence · 10.3 Order and Richardson · 10.4 GCI · 10.5 Verification vs validation |
| Engineering connection | Closes the verify-before-trust loop opened in Chapter 1. |
| Read next | Return to the CFD hub and integrate the workflow. |