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:

(1)\[T(x,y,z) = T_\mathrm{ref}\left[1 + A\,\exp\!\left(-\frac{(x-x_0)^2+(y-y_0)^2+(z-z_0)^2}{2s^2}\right)\right]\]

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\)

bulk_viscosity (\(\nu_b\))

\(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.

References