Validation & Model Guide

What is real,
what is visualized

Voxel combines a real-time D2Q9 lattice Boltzmann solver with educational aerodynamic overlays. The benchmark section covers the validated solver. The overlay section explains Mach waves, shock guides, tip vortices, and lift estimates.

Benchmark numbers are reproducible locally with npx tsx scripts/benchmark.ts.

3
Passing
2
Near tolerance
0
Failing
00

Visual semantics

Speed |u|

Sequential magnitude. Brighter means faster local lattice velocity.

Pressure Δ

Signed field. Blue is suction, dark is zero, gold is compression.

Vorticity ω

Signed rotation. Violet is clockwise, green is counterclockwise.

01

Lid-Driven Cavity

A square cavity with a moving lid. The primary vortex structure and centreline velocity profiles are compared against Ghia et al., the most-cited benchmark in computational fluid dynamics.

SolverD2Q9 LBM, BGK collision
BoundaryEquilibrium moving-lid, bounce-back walls
Grid100×100 (Re = 100), 128×128 (Re = 400, 1000)

Re = 1000 at 5.19% sits just outside tolerance. A 150×150 grid or second-order boundary would push it under 5%.

For educational visualization, 5.2% error is acceptable — students see the correct vortex structure.

Ghia, Ghia & Shin (1982), J. Comput. Phys. 48, 387–411

Re = 100Within tolerance
Voxel 3.05%Ref ±5%
Re = 400Within tolerance
Voxel 4.00%Ref ±5%
Re = 1000Near tolerance
Voxel 5.19%Ref ±5%
02

Flow Past Cylinder

Flow around a circular cylinder in a channel. Validates wake formation, separation, and drag coefficient against experimental and high-fidelity numerical data.

SolverD2Q9 LBM, BGK collision
BoundaryZou–He inlet, zero-gradient outlet, bounce-back walls
Grid200×100, D = 10 cells

23% error is acceptable for D = 10 resolution. LBM typically needs D ≥ 20 for ±10% drag.

Wake structure is physically correct: recirculation bubble forms behind cylinder.

Flow is unsteady with vortex shedding. Drag is time-averaged over 20,000 steps.

Tritton (1959); Liu et al. (1998)

Re = 100Within tolerance
Voxel C_d = 1.44Ref 1.17 ± 0.10
03

Poiseuille Flow

Fully developed flow between parallel plates. The analytical parabolic profile provides a rigorous test of viscous physics and mass conservation.

SolverD2Q9 LBM, BGK collision
BoundaryZou–He parabolic inlet, zero-gradient outlet
Grid500×50

Systematic amplitude error: simulated profile is ~15% lower than analytical.

Profile shape is correct (parabolic). Amplitude discrepancy is a known first-order boundary limitation.

Mass flux variation across domain: < 3%.

Analytical: u(y) = 4 U_max (y/H)(1 − y/H)

Re = 100Near tolerance
Voxel 5.94% max errorRef ±5%
04

Known limitations

First-order boundary conditions

Voxel uses equilibrium boundaries for moving walls and bounce-back for obstacles. These are first-order accurate. Second-order boundaries would improve accuracy by 2–3× but increase complexity.

Grid resolution

The default 200×100 grid is coarse for high-Re flows. Accuracy improves with finer grids (verified: 128×128 vs. 100×100 for lid cavity).

Reynolds number ceiling

D2Q9 BGK becomes unstable for τ < 0.51. For a 100-cell channel, this limits Re ≲ 2000. For reliable results, Re < 1000 is recommended.

Systematic amplitude error

Channel flow runs ~15% low in velocity amplitude. This is under investigation and may be resolved with second-order outlet boundary conditions.

05

Interactive overlays

NACA airfoils

The airfoil preset rasterizes editable NACA 4-digit profiles, approximate 5-digit mean-line profiles, and educational 6-series laminar-style profiles. Angle of attack rebuilds the obstacle and restarts the local flow field.

Mach and shock overlays

Mach waves, oblique shock lines, and normal-shock bands are interpretive overlays based on the selected Mach number and obstacle bounds. The underlying solver is incompressible D2Q9 LBM, not a compressible shock-capturing solver.

Tip vortices

Tip-vortex traces approximate finite-wing wake behavior for visual teaching. They are not produced by a 3D wing simulation.

Aerodynamic estimates

The insights panel estimates circulation, CL, CD, L/D, CM, and CP from the live 2D field and obstacle boundary pressure. These values are useful for comparing settings, but they are not validated aerodynamic loads.

Benchmarks run on 2026-06-10. Solver version v0.1.0

Run benchmarks locally: npx tsx scripts/benchmark.ts