(vc_lid_driven_cavity)= # Lid-Driven Cavity ## Why this case matters The lid-driven cavity is the canonical benchmark for validating **moment-based boundary conditions** in the lattice Boltzmann method {footcite:t}`mohammed2017lid`. A square cavity with three stationary no-slip walls and a single moving lid produces a recirculating primary vortex plus secondary corner vortices whose strength and structure depend only on the Reynolds number, so the centreline velocity profiles are a sharp, geometry-free test of the wall treatment. It is the natural validation for the moment-based wall closure introduced in the boundary-condition rework (see {ref}`Moment-Based Boundary Conditions `): the lid is the moment-based moving wall `RegularizedVelocityWall`, and the three static walls are the no-slip `RegularizedHWBB`, which is the zero-velocity case of the same closure. No population bounce-back is used. Because the corner singularities at the lid make this a demanding wall test, reproducing the benchmark profiles confirms that imposing the hydrodynamic moments at the boundary captures both the bulk vortex and the near-wall behaviour. The accepted reference is the high-accuracy multigrid Navier-Stokes solution of {footcite:t}`ghia1982high`. ### Setup A square cavity of side $L$ (2-D, D2Q9 lattice) is filled with fluid initially at rest. The top wall (the lid) translates in the $+x$ direction at a constant speed $U$; the bottom and the two side walls are stationary no-slip walls. ```{figure} /_static/img/solver/validation/cases/lid_driven_cavity.svg --- width: 60% align: center --- ``` The Reynolds number is ```{math} --- label: vc_lid_driven_cavity_re --- \mathrm{Re} = \frac{U L}{\nu}. ``` It is swept over $\mathrm{Re} \in \{100, 400, 1000\}$ at fixed grid ($L = 256$) and fixed lid speed ($U = 0.05$, so $\mathrm{Ma} = U\sqrt{3} \approx 0.087 < 0.1$), varying only the viscosity through $\tau = 3\nu + \tfrac{1}{2}$. ### Reference solution There is no closed form. The benchmark is the tabulated solution of {footcite:t}`ghia1982high`, given as two centreline profiles: - the streamwise velocity $u(y)$ along the vertical centreline $x = L/2$, and - the vertical velocity $v(x)$ along the horizontal centreline $y = L/2$, both normalised by the lid speed $U$. The digitised tables (Re = 100, 400, 1000) are committed under `reference/` with their provenance in `reference/REFERENCES.md`. ### Simulation parameters | Parameter | Value | | ---------------------- | -------------------------------------------------------------- | | Lattice | D2Q9, RR-BGK | | Cavity side $L$ | 256 | | Lid speed $U$ | 0.05 | | Reynolds numbers | 100, 400, 1000 (`!unroll`, `sim_id` 0/1/2) | | Relaxation time $\tau$ | 0.8840 / 0.5960 / 0.5384 | | Lid BC | `RegularizedVelocityWall` ($u = (U, 0)$, extrapolated density) | | Side / bottom BC | `RegularizedHWBB` (no-slip) | | Steps to steady state | 300k / 500k / 800k | ### Validation metrics At steady state the simulated centreline profiles $u(y)$ at $x = L/2$ and $v(x)$ at $y = L/2$ are compared against the Ghia tables at each Reynolds number. Success criteria: the profiles overlay the benchmark points (including the sign reversals of the primary vortex and the near-wall extrema), and the mean absolute deviation from the tabulated points stays within about one percent of the lid speed across Re = 100-1000. The wall density is taken zero-normal-gradient from the interior (the default for the moment-based walls); pinning it to a uniform constant instead would impose a spurious uniform wall pressure and roughly quintuple the deviation at Re = 1000, since the cavity wall pressure genuinely varies. ```{toctree} --- hidden: --- 05_lid_driven_cavity.ipynb ``` ```{footbibliography} ```