Variable-density low-Mach warm bubble (sanity check)¶
Note
This is a sanity check, not a benchmark validation. There is no closed-form or cited reference solution to compare against; the case confirms that the variable-density low-Mach closure runs stably over a sustained run and reproduces the qualitatively correct buoyant physics. The quantitative benchmark validation for this closure is the Sandia helium plume.
Why this case matters¶
The variable-density low-Mach thermal closure Taha et al.[1] slaves the
density to temperature through the equation of state \(\rho = P/(rT)\) and carries
the reduced hydrodynamic pressure \(\theta^h\) in the fluid zeroth moment. That
pressure relaxes acoustically, with no elliptic projection, so the dilatation
produced by the energy field can excite an under-damped, highest-wavenumber
(checkerboard / acoustic) mode, so the closure is numerically delicate. This case
exercises the closure end-to-end with the in-collision bulk-viscosity stabilization (models.LBM.bulk_viscosity)
enabled, and checks that the run stays stable and physical.
The stabilization is necessary: with the bulk viscosity off the identical setup diverges within a few hundred steps; with it on the run completes. The case therefore also guards against regressions in the stabilization.
Setup¶
A smooth warm Gaussian temperature bubble is seeded low in a periodic box:
with amplitude \(A = 0.05\) and width \(s \approx 6\) lattice units, centred low at \((x_0,y_0,z_0) = (24,24,24)\) in a \(48\times48\times96\) domain. The EOS makes the warm core lighter (\(\rho = P/(rT)\)), and gravity along \(-z\) lifts it. There is no continuous heat source: the bubble simply diffuses and rises.
Simulation parameters¶
Parameter |
Value |
|---|---|
Domain |
\(48 \times 48 \times 96\) |
Velocity set / operator |
D3Q27 / HRR-BGK |
LES / SGS constant |
Smagorinsky / \(C_S = 0.1\) |
\(\tau\) |
\(0.6\) |
Gravity |
\([0, 0, -2\times10^{-4}]\) |
EOS |
\(r = 1\), \(P = 1\), \(T_\mathrm{ref} = 1\), \(\mathrm{Pr} = 0.71\) |
|
\(0.16667 = 1/6\) (i.e. \(\omega_\mathrm{bulk} = 1.0\)) |
Steps |
\(6000\) |
Validation metrics¶
The notebook reads the volume snapshots and asserts the qualitative success criteria of a healthy run:
No divergence - every snapshot is finite (no NaN in \(\rho\), \(\mathbf{u}\)).
Bounded, subsonic velocity - \(\max|\mathbf{u}|\) stays far below \(\mathrm{Ma} = 0.1\) and shows no exponential growth (the checkerboard mode is suppressed). Observed peak \(\approx 1.1\times10^{-3}\) (\(\mathrm{Ma} \approx 2\times10^{-3}\)).
Physical buoyant rise - the mean vertical velocity is positive and grows smoothly.
Diffusive relaxation - the peak temperature decays toward ambient and the warm core stays EOS-consistently lighter than ambient.