Worked Examples & Benchmarks
Every method in this course has a number it must reproduce before it can be believed. These are those numbers, worked through with the arithmetic and the traps shown.
- The Landau damping benchmark — the exact roots, the factor of two, the fit window, and how to tell a correct solver from a plausible one
- Planning a run around recurrence — choosing \(N_v\), \(v_{\max}\) and run length before burning compute
- Measuring viscosity from a Poiseuille profile — verifying \(\nu = c_s^2(\tau - \tfrac12)\), and reading the boundary slip
The benchmark ladder
| Benchmark | Tests | Exact answer |
|---|---|---|
| Landau damping | kinetic solver, interpolation, field solve | \(\gamma = -0.15336\) at \(k\lambda_D = 0.5\) |
| Recurrence | your understanding of the velocity grid | \(T_R = 2\pi/(k\Delta v)\) |
| Poiseuille in LBM | Chapman–Enskog, forcing, boundaries | \(\nu = c_s^2(\tau - \tfrac12)\) |
| Brio–Wu | MHD Riemann solver, limiter, divergence handling | tabulated wave positions |
| de Vahl Davis | thermal coupling, boundary conditions | tabulated Nusselt numbers |
| Rayleigh–Bénard | the whole coupled system | \(Ra_c = 1707.76\) |
Both live solvers in Simulations reproduce their entries in this table, and the tolerances they achieve are listed there.
The habit
Find the benchmark before you write the code. It determines what you instrument, what you output, and what "working" means — and a benchmark chosen after the fact has a way of being the one your code happens to pass.