Validation
What this software has been checked against
And how closely it agreed — including where it did not, and what we have not checked yet.
46 cases, each held to an answer somebody else produced: a published measurement, or a closed-form solution. That is the only way a case earns a page here. Agreeing with ourselves proves nothing, and a page showing our own result twice would look like evidence without being any.
40 of them are verification — compared against an exact answer, where there is no experimental uncertainty to argue about. The other 6 are validation, against a measurement or against somebody else’s computation, which carry error bars of their own. The badge on each card says which, because the two are not the same claim and the difference matters more than the count.
Every page shows the set-up in full, so the comparison can be repeated inside the product, and states plainly what the remaining difference is and what we think causes it. Where we do not know, it says that instead of guessing.
Fluid dynamics
VerificationCompressible flowSod shock tube
L1 error 0.084–0.166 % of range, falling under refinement
The exact Riemann solution, compared point by point. It found a defect nobody had noticed: the solver was using the wrong ratio of specific heats.
Against Sod (1978); exact Riemann solution after Toro, chapter 4
ValidationIncompressible flowLid-driven cavity
RMS 0.0047 of the lid speed on 400 cells
The oldest benchmark in incompressible CFD, run on a deliberately coarse mesh — because one that only agrees when it is expensive is not much of a reassurance.
Against Ghia, Ghia & Shin (1982), Journal of Computational Physics 48, 387–411
ValidationTurbulence modellingTurbulent plane channel
Mean profile within 0.34 in u+; centreline within 0.20 %
The only case here that tests turbulence modelling, against a DNS rather than an experiment — and it measures what a badly placed first cell costs you.
Against Moser, Kim & Mansour (1999), Physics of Fluids 11(4) 943–945
- ValidationUnsteady flow
Flow over a circular cylinder
Strouhal number within 1.67 % of Roshko at three Reynolds numbers
The only case with no steady state: the answer is a frequency, not a field. It found that a more symmetric mesh needs a LONGER run, not a shorter one.
Against Roshko (1954), NACA Report 1191, equation (2a)
- VerificationShallow water
A dam break
Depth at the dam 0.4451 against an exact 0.4444, error falling under refinement
An idealised dam break has a closed form, so there is nothing to argue about — including the depth at the dam itself, which is exactly four ninths of the reservoir, whatever the reservoir is.
Against Ritter (1892), Zeitschrift des Vereines deutscher Ingenieure 36, 947–954
- VerificationMagnetohydrodynamics
A conducting fluid in a magnetic field
Hartmann number recovered from the profile within 0.11 % at Ha 1 and 5
The magnetic field flattens the parabola into a plug with thin layers at the walls. The strong check is not the distance from the curve but the Hartmann number recovered from the measured shape.
Against Hartmann (1937), Det Kgl. Danske Videnskabernes Selskab 15, 6
- VerificationCompressible flow
A pressure wave crossing a tube
Wave speed within 0.06 %, observed order 1.03 in space and time together
A wave that stays smooth, so the answer is exact for as long as it does. It is also the case that showed refining the mesh alone can hide a first-order time scheme completely.
Against The exact simple wave; Riemann invariants, after Whitham, Linear and Nonlinear Waves
- VerificationIncompressible flow
Potential flow past a cylinder
Surface maximum 1.9977 U against an exact 2 U; Cp from Bernoulli −2.991 against −3
Two numbers a reader can check on paper — the speed at the shoulder is exactly twice the stream, and the pressure coefficient there is exactly −3.
Against The classical doublet in a uniform stream; Lamb, Hydrodynamics, §68
- VerificationFree-surface flow
A tank of water that should not move
Spurious current in the water 2.6130 × 10⁻³ m/s — 0.132 % of √(gh), against an exact zero
A closed tank of water under gravity, which should stay exactly still — the standard test of whether pressure and gravity are discretised consistently.
Against Hydrostatic equilibrium: velocity exactly zero, the surface exactly where it was put, the volume exactly what was put in, and the phase fraction exactly 0 or 1
- VerificationCompressible free-surface flow
A compressed ullage
Gas at the top of the tank reaches 378.18 K against an isentropic 378.27 K — p^(1−γ)T^γ out by 0.0361 %
A sealed tank whose gas space is squeezed like a piston, against p V^γ = constant with γ read out of the product’s own thermophysical properties.
Against The adiabatic law for a perfect gas, p V^γ = constant, equivalently p^(1−γ)T^γ = constant, with γ = 1.39996766 from the Cp of 1007 J/kg·K and molecular weight of 28.9 the application itself wrote
- VerificationCavitating flow
A cavitating throttle
Vapour fraction bounded to −4.42 × 10⁻⁷ … 1.00000061 — six parts in ten million — on a run that turns 10.73 % of the duct to vapour
A water throttle that cavitates hard, judged on boundedness, a measured mass balance and an inviscid inception bound — and explicitly not on the vapour fraction or the cavity length.
Against Exact statements about the equations rather than a closed-form flow: a volume fraction lies in [0, 1]; the mass in an open duct changes by exactly the mass crossing its boundary; and Bernoulli fixes an inviscid inception speed of 24.72 m/s at the throat, which a real flow must stay below
- VerificationEuler–Euler multiphase
A sealed bubble column at its slip velocity
Slip velocity 1.264380 × 10⁻³ m/s against a balance of 1.264363 × 10⁻³ — +0.0013 %, and within 0.005 % at three concentrations
A uniform suspension of 50 µm bubbles in a sealed column, against the slip velocity its own declared drag law gives — tested at three concentrations so the hindering factor is a prediction and not a fit.
Against The steady, uniform, one-dimensional buoyancy–drag balance closed by the published Schiller–Naumann drag correlation and solved by bisection
- VerificationLagrangian particles
A particle settling in still air
Settling speed 1.16506 × 10⁻² m/s against a terminal 1.16696 × 10⁻² m/s, −0.163 %
A sphere stops accelerating when drag balances its buoyant weight. The particle is sized so that Schiller–Naumann and Stokes agree to 0.86 %, which makes the reference one an engineer can also reach on paper.
Against The terminal-velocity force balance with sphereDrag’s own Schiller–Naumann law, solved by bisection; Stokes’ law as the paper check
- VerificationSpray and evaporation
An evaporating droplet
d² linear in t to R² = 0.99999955, worst point 0.0363 % of the fall; K moves 0.104 % across a fourfold change of time step
The d-squared law is a statement about shape, not speed — and this case tests only the shape: linearity, independence of d₀ and of the time step, mass closure, and a saturated droplet that does not evaporate at all.
Against The d-squared law for quasi-steady droplet evaporation, d² = d₀² − Kt
- VerificationDrift flux
A sealed settling column
Mudline descent 5.7135 × 10⁻⁴ m/s against Kynch’s 5.7094 × 10⁻⁴ m/s, +0.072 %
Kynch predicts a rate, and predicts that it is constant — so one agreeing number is not enough to pass. Two of the checks need no theory at all: a sealed column cannot lose solid, and a volume fraction cannot leave [0, 1].
Against Kynch (1952), A theory of sedimentation, Transactions of the Faraday Society 48, 166–176
- VerificationMiscible mixing
Two miscible liquids across a step
Transition width 0.120587 m against an exact 0.120656 m, −0.057 %; L1 order 1.82 at the benchmark’s fixed step, 1.994 with the diffusion number held
The exact solution says three separate things — where the front is, how wide it is, and how much mixture there is — and they fail separately. A run can be right about two of them and a third too wide.
Against The erfc similarity solution of the one-dimensional diffusion equation
- VerificationReacting flow
Zero-dimensional reactor
Elements conserved to 5.8 × 10⁻¹²; end temperature 0.0106 % from complete conversion
The one case here with no reference table, and deliberately so: the product ships a one-step mechanism, so a measured flame temperature would be a comparison against chemistry it does not have. What is left is the laws it cannot escape.
Against Conservation of C, H, O and N; complete conversion on the case’s own stoichiometry, with the temperature solved out of its janaf polynomials
- VerificationPremixed combustion
Laminar premixed flame
Burnt gas within 0.334 % of the adiabatic flame temperature; expansion ratio within 0.314 %
Weller’s model does not predict a flame speed — it is given one, so that comparison is the product’s own input read back out, and the page says so. What is independent is the burnt-gas temperature and the expansion ratio.
Against The adiabatic flame temperature and expansion ratio derived from the case’s janaf polynomials; the declared Su read back out of the case
- VerificationScalar transport
Advected scalar front
Front within 0.862 % of the exact position, width within 0.914 %
The width is the measurement, not the position. Numerical diffusion is indistinguishable from physical diffusion in the answer, and the fixture that proves it is a real afternoon spent chasing a diffusivity that never reached the solve.
Against The erfc closed form for a step advected and diffusing in one dimension
- VerificationRotating reference frame
Solid-body rotation in a rotating frame
Pressure 0.3641 % rms from ω²r²/2, with relative velocity 0.051852 % of frame speed
A closed box of fluid turning with its own frame, against an algebraic identity with no free parameter. The pressure is the measurement; the relative velocity is a cancellation check a solver with no frame in it passes perfectly.
Against The exact rigid-body solution of the rotating-frame momentum equation: zero relative velocity, and a pressure rising as ω²r²/2 — valid at any viscosity, because rigid-body motion has zero strain rate
- VerificationFree-surface flow
Standing gravity wave
Frequency within 0.042 %, 0.011 % and 0.014 % of the dispersion relation, at observed order 1.78–2.26
Three wavelengths in one tank, from deep water to shallow, against the dispersion relation — plus two quiet failures that are both the product’s own defaults.
Against The linear dispersion relation for surface gravity waves, across deep to shallow water
- ValidationExternal aerodynamics
NACA 0012 aerofoil
Lift 0.4279 against Ladson’s 0.4316 (−0.86 %) and drag 0.00888 against 0.00823 (+7.90 %)
Lift and drag at 4.04° against a wind-tunnel measurement — and the finding that a finer mesh makes the drag three times worse, because the wall treatment leaves the range it is valid in.
Against Ladson (1988), NASA TM 4074 — NACA 0012 at Re = 6 × 10⁶, transition tripped
Heat transfer
ValidationBuoyancy and heat transferNatural convection in a heated cavity
Nusselt number within 1.6 % of the reference across three decades of Ra
The only case here where the flow is caused by the temperature field rather than imposed on it — and the one that showed “converged” is a claim about residuals.
Against Wan, Patnaik & Wei, A New Benchmark Quality Solution for the Buoyancy-Driven Cavity by Discrete Singular Convolution
- VerificationConjugate heat transfer
Heat crossing a solid–fluid interface
Isothermal case holds to 5.5×10⁻⁴ K; heat crosses, undershooting by 0.03 K
Neither check needs a reference table. If both regions start at one temperature nothing may move; and with no heat source anywhere, no temperature may leave the range its own data started in.
Against The maximum principle for the heat equation; Protter & Weinberger
- ValidationBuoyancy, full compressibility
A heated cavity without the Boussinesq approximation
Nusselt 2.2831 against a reference 2.254, converging on three meshes
The same cavity as the Boussinesq case, through the solver that does not make that approximation — which is how you find out what the approximation was worth.
Against Wan, Patnaik & Wei, A New Benchmark Quality Solution for the Buoyancy-Driven Cavity by Discrete Singular Convolution
- VerificationSteady conduction
Steady conduction through a plane wall
Driven face 344.444 K against an exact 344.444444 K, on both meshes
A steel wall driven by an imposed flux and by a convective film, against the closed form. The answer is linear and therefore inside the element space, so this pins coefficients and sign conventions rather than spatial accuracy — and says so.
Against The closed-form solution of the steady one-dimensional heat equation, with the series-resistance form for a convective film
- VerificationTransient conduction
Transient conduction in a slab
Midplane 613.500 K against an exact 614.684 K — 0.193 % at the finest time step
A slab stepped on both faces, against the Fourier series. The first thermal case whose error is discretisation rather than bookkeeping — and the one that shows the time step, not the mesh, is what limits it.
Against The Fourier-series solution of the one-dimensional heat equation for a slab initially uniform with both faces stepped
- VerificationTransient conduction
Transient slab conduction in OpenFOAM
L1 4.607 × 10⁻⁴ K over a 19.6 K range; observed order 1.850 in space at the benchmark’s fixed step, 2.010 and 2.005 with the diffusion number held
The same mathematics as the code_aster slab, reached through a different code — and with the two discretisation orders measured separately, second in space and first in time, exactly as the schemes promise.
Against Separation of variables for a slab with unequal face temperatures: a linear steady profile plus a decaying Fourier sine series, summed to 200 terms with the truncation measured
Structural mechanics
VerificationSolid stressPlate with a hole
Peak stress converges through 3S; far field within 0.45 %
The stress concentration factor of three, and a four-mesh study separating a coarse mesh from a finite plate — two explanations one run could not tell apart.
Against Kirsch (1898), Zeitschrift des Vereines deutscher Ingenieure 42, 797–807
VerificationStructural mechanicsCantilever beam
Deflection converges to +2.76 % of Euler-Bernoulli; −1.34 % once shear is added
The first published-reference case for the structural backend — and the one that found the peak stress at a re-entrant corner does not converge at all, which is why this page validates a deflection and says plainly why it does not validate a stress.
Against Euler-Bernoulli beam theory; Timoshenko & Goodier, Theory of Elasticity
VerificationStructural dynamicsCantilever natural frequency
First mode within 2.13 %; the two bending modes degenerate to 0.002 %
The modal companion to the cantilever deflection case: same beam, same closed form, a different analysis type.
Against Euler–Bernoulli beam theory
- VerificationStability
Euler strut buckling
Critical load within +0.12 % and −0.44 %; the ratio within 0.55 %
The ratio between the two end conditions is the part a wrong implementation cannot fake — they differ in nothing but their restraint.
Against Euler’s critical load, P = π²EI/(KL)²
- VerificationPlasticity
A bar pulled past yield
Elongation within 0.000 % at all three load levels
One load level sits below yield as a control. It is not decoration: a deck with the yield stress missing gets that level exactly right and the others badly wrong.
Against Closed form — elastic to yield, linear hardening beyond it
- VerificationStructural dynamics
Cantilever frequency response
Amplification at resonance within 0.211 %
The amplification at resonance is a ratio of two responses on one mesh, so the discretisation error cancels out of it. It is also the only quantity here that depends on the damping at all.
Against Euler–Bernoulli beam theory, and Q = 1/(2ζ)
- VerificationStructural dynamics
Cantilever step response
Logarithmic decrement within 0.926 %
It rings at 1634.5 Hz where the frequency-domain sweep on the same bar puts the resonance at 1637.6 — two different solvers agreeing to 0.19 % about a number neither was given.
Against Euler–Bernoulli beam theory, and δ = 2πζ/√(1−ζ²)
Electromagnetics
VerificationElectrostaticsParallel-plate capacitor
Potential within 4 × 10⁻⁷ % of the closed form
A closed form with no experimental uncertainty in it, so the agreement is either exact or it is a defect.
Against Closed form — uniform field between parallel plates
VerificationMagnetostaticsStraight conductor, against Ampère
Spans 0.99–8.18 % across the sweep; 1–4 % at the largest radius
Ampère’s law is exact and the geometry is trivial, which is what makes the residual difference worth reporting rather than explaining away.
Against Ampère’s circuital law
- VerificationCurrent conduction
DC conduction through a bar
Recovered resistance within 0.000 % on three meshes
The potential in this problem does not depend on the conductivity at all, so a deck that lost it entirely would still give a perfect voltage field. The derived fields are the measurement.
Against Closed form — R = ρL/A for a prismatic conductor
- VerificationEddy currents
Eddy-current loss in an AC bar
Loss ratio 3.9989 against an exact 4 — within 0.028 %
A square bar in its own alternating field has no closed-form loss. The low-frequency asymptotic is exact for any shape, and the mesh cancels out of it.
Against Closed form — the low-frequency asymptotic P ∝ ω²
- VerificationElectrostatics
Electrostatic plates
Capacitance 2.8333401068 pF against the closed form, +2.4 × 10⁻⁷ %
The product’s own staged Electrostatics case, measured against the parallel-plate closed form — and the demonstration that the potential field cannot see the permittivity at all.
Against Parallel-plate electrostatics: a linear potential, a uniform field V/d, and the closed-form capacitance
- VerificationMagnetostatics
Uniformly magnetised sphere
Demagnetising factor −0.326224 against an exact −1/3, 2.13 % out
A uniform field inside and an exact point dipole outside, over four meshes and two box sizes — and two magnetic defects, neither of them fixed, that bound what the case can claim.
Against The uniformly magnetised sphere: a uniform interior field of −M/3, and an exact point dipole outside
Acoustics
VerificationAcousticsDuct resonance
Resonant frequency within 0.00002 % on the finest mesh
A closed form for the resonant frequency, and a mesh sweep that converges onto it monotonically.
Against Closed form — rigid-walled duct modes
- VerificationAcoustics
The notes a closed duct plays
First two eigenfrequencies within 0.0014 % of n·c/2L
A rigid tube’s resonances are n·c/2L exactly. Driving it with a moving piston rather than a pressure exercises a different path through the solver from the duct-resonance case.
Against The one-dimensional wave equation with rigid ends; fₙ = n·c/2L
Molecular dynamics
Numerical method
- VerificationCode verification
A manufactured solution
Observed order of accuracy 2.0001 against a formal 2
The only case here that checks the arithmetic rather than the answer. Pick the solution first, work out what source term it needs, and the error is then known exactly on every mesh.
Against Roache, Verification and Validation in Computational Science and Engineering
- VerificationSolution verification
How much of the answer is the mesh
Nusselt 2.2466 ± 0.0192 %, observed order 2.63
Every other page here asks how far the answer is from a reference. This one asks how much of it is the mesh — and puts an uncertainty on a result that has no reference at all.
Against Roache (1994), Journal of Fluids Engineering 116, 405–413
What is not here yet
The list grew because verification is cheap to defend, not because it is the most impressive thing a solver can do. Agreeing with an exact solution says the equations are being solved correctly. It does not say the equations describe your problem, and no number of closed forms will ever say that.
Comparison against a physical experiment is the part that does, and there is much less of it here than there is of everything else. The cases that would broaden it — the NACA 0012 aerofoil, the Ahmed body, and the ones listed below — are not linked until they have been run, because a benchmark listed as “coming” on a validation page is the same overclaim in a politer form.
Registered and not yet run, so that the gap is visible here rather than invisible:
- Backward-facing step — against Armaly, Durst, Pereira & Schönung (1983), Journal of Fluid Mechanics 127, 473–496. Not yet run. The reference is recorded; our own results are not.
Each of them needs its reference data transcribed from the paper or the public database first. We do not publish a comparison whose reference column was written from memory.
If a case you rely on is missing, it is worth telling us which one — the order this list is worked through is not fixed.