Skip to content
cfd-lab:~/en/posts/numerical-dungeon● online

Translated from the author's Korean original. Read the original (한국어)

NOTE #005DAY SUN 논문리뷰DATE 2026.03.08UPDATED 2026.10.19READ 4 min read#CFD#Numerical-Methods#Interactive#Education

Numerical Dungeon: Learn Numerical Methods Through a Game

A linear monotone scheme cannot stay high-order, and three wrong answers drop HP to zero and close the stage.

Numerical Dungeon#

A textbook never shows the moment CFL crosses 1. Five stages spend HP on wrong answers, and the split is between domain of dependence, limiters, a Riemann problem, and Abgrall's condition.

Changing the stage number swaps which scheme the quiz asks about, and one wrong answer drops HP by one cell.

HP at zero ends that run. Later stages pay more XP, so the HP left after the early quizzes is the margin for the boss.

Rules#

  • 3 HP — wrong answers cost 1 HP. Game over at 0!
  • XP — correct answers grant XP. Later stages reward more.
  • Difficulty — Stages 1–2 are basics, 3–4 cover core theory, 5 is the final boss.

Each stage starts with a concept explanation, then a quiz. A wrong answer still comes with a write-up. That write-up is the hint for the next try.

What each stage actually asks#

Stage 1: CFL Condition#

The CFL condition ties directly to the concept of domain of dependence. The numerical propagation speed must outpace the physical one. Implicit schemes have no CFL limit, but you pay by solving nonlinear systems.

Once CFL exceeds 1, the numerical domain of dependence inside one cell is narrower than the physical one. The update then asks for information that could not have arrived, and extrapolation fills the gap. Extrapolation comes back as oscillation. Three HP is the rule that allows that mistake only three times. An implicit scheme widens the stencil to the whole domain and drops the time-step cap. The cost that sits in the empty slot is an iterative solve every step.

Stage 2: Numerical Diffusion#

Reducing numerical diffusion calls for high-order schemes, but Godunov's theorem requires nonlinear limiters. Common limiters: minmod, van Leer, superbee, MC limiter.

How a first-order upwind carries that smearing is already quantified in the CFL trade between FTCS and upwind. Before reaching for high order, watch smearing and oscillation trade places inside one CFL budget. Stage 2 gets easier after that.

Stage 3: Godunov's Theorem#

This theorem catalyzed modern schemes like TVD, ENO, and WENO. What Godunov actually forbids is a scheme that is linear, monotone, and high-order at the same time. Drop the nonlinearity and stability does not travel with accuracy.

TVD, ENO, and WENO walk around that ban by being nonlinear. minmod, van Leer, superbee, and MC each re-pick the slope from the neighbors, cell by cell. None of them freezes a linear coefficient. Freeze it and the Stage 3 answer flips.

Stage 4: Riemann Problem#

Standard tests like Sod, Lax, and Shu–Osher validate Riemann solvers. One discontinuity has to split into a shock, a contact, and an expansion together. Miss those three inside a single cell and the pressure wiggle shows up again, with the same shape as the next stage.

Stage 5: Multiphase Pressure Oscillation#

Abgrall's condition is the starting point of multiphase numerical analysis. Volume fraction is allowed to move while pressure is supposed to stay uniform. Break that pairing and only the pressure chatters. That symptom is not a density error.

Drop the limiter and the boss spends the HP first#

Freeze a high-order scheme at fixed linear coefficients and you are back in the combination Godunov already ruled out. No linear monotone scheme is higher than first order. Turn the limiter off and Stage 3 fails first. Three HP disappear in a few oscillations. HP saved on the early CFL questions has to still be there.

Stage 5's pressure chatter shows up when volume fraction and pressure stop moving together. Abgrall's condition is the demand that the pair stay matched. Solving a shock inside one cell is the same calculation as a Godunov shock tube. Get the wave split in that cell wrong and the pressure oscillation comes back in the same shape outside the dungeon too.

Share if you found it helpful.