Turbulent Channel Flow with Passive Scalar¶
Validates the scalar advection-diffusion module under fully-developed wall-bounded turbulence. The fluid is the same turbulent plane channel as Turbulent Channel Flow at \(\mathrm{Re}_\tau \approx 180\); a passive scalar \(\phi\) is added on top, with Dirichlet walls at \(y = 0\) (\(\phi_w = 0\)) and \(y = L_y\) (\(\phi_w = 1\)). The case is the canonical heated-channel benchmark and the first exercise of the scalar regularised wall BCs in a turbulent regime.
The fluid setup follows the case 04 multilevel configuration (same physics, BC topology, hot-start artefact and near-wall refinement strategy) at a reduced box: \(\delta = 40\) lattice units and a \(6\delta \times 2\delta \times 3\delta\) domain matching Kawamura’s own \(6.4 \times 2 \times 3.2\) aspect ratio. This keeps the total cost in the same budget class as the Taylor-Green 3-D case while leaving the box dimensions (\(L_x^+ = 1080\), \(L_z^+ = 540\)) well above the minimal-flow-unit thresholds, so the buffer-layer streak dynamics and the scalar statistics are unconstrained. The fluid component of the exact case-04 configuration has been validated against Kim et al.[1]; the channel here re-validates at the smaller box as part of this case.
Setup¶
Geometry. Plane channel of size \(L_x \times L_y \times L_z = 240 \times 80 \times 120\) in lattice units. Wall normal is \(y\); periodic in \(x, z\).
Fluid. D3Q27 RR-BGK with \(\tau = 0.503333\) (\(u^* = 0.005\), \(\nu = u^* \delta / \mathrm{Re}_\tau\)), body force \(F_x = u^{*2}/\delta = 6.25 \times 10^{-7}\). Two static refinement slabs at level 1 cover the near-wall regions \(0 \le y < 8\) and \(72 \le y < 80\), giving \(\Delta y^+ \approx 2.25\) at the finest level (covering \(y^+ \le 36\)). Walls at \(y = 0\) and \(y = L_y\) use
RegularizedHWBB. Hot-started from the same artefactturbulent_channel.vtmas case 04, so the case begins in a statistically stationary state.Scalar. D3Q7 RR-BGK with molecular diffusivity \(D = 1.565 \times 10^{-3}\) in lattice units, giving a molecular Prandtl number \(\mathrm{Pr} = \nu / D = 0.71\) (air; the most-cited Kawamura curve). The case runs without LES (quasi-DNS, matching the case 04 channel family), so the \(\mathrm{Sc}_t\) subgrid coupling is inactive. Walls at \(y = 0\) and \(y = L_y\) use
ScalarRegularizedDirichletat \(\phi_w = 0\) and \(\phi_w = 1\) respectively. Initial scalar field is the laminar steady-state linear ramp \(\phi(y) = y / L_y\), which puts the initial condition close to the eventual time-averaged mean so the statistics window can stay short.
Governing equation¶
The passive scalar field \(\phi(\mathbf{x}, t)\) satisfies the advection-diffusion equation
with no source term. Under LES the molecular diffusivity is augmented by a subgrid contribution \(\nu_\mathrm{SGS} / \mathrm{Sc}_t\), so the effective diffusivity used by the lattice Boltzmann scalar operator is
Reynolds-averaging (1) in the streamwise and spanwise directions gives the statistically stationary balance between molecular diffusion and the turbulent scalar flux:
Integrating (3) once gives the total scalar flux (molecular plus turbulent)
which is the canonical Kawamura balance. In wall units \(y^+ = y u^* / \nu\) with friction scalar \(\phi^* = q_w / (\rho c_p u^*)\), the mean profile follows the usual three-layer structure (viscous sublayer linear, log layer with Karman constant \(\kappa_\phi\), and a wake correction at the core).
Reference¶
The reference data is the Kawamura et al.[2] [3] DNS database for the heated turbulent plane channel, which provides:
the mean scalar profile \(\langle \phi \rangle^+(y^+)\);
the scalar fluctuation RMS \(\langle \phi'^2 \rangle^{+}(y^+)\);
the turbulent scalar flux \(\langle u' \phi' \rangle^{+}(y^+)\) and \(\langle v' \phi' \rangle^{+}(y^+)\);
at multiple \(\mathrm{Re}_\tau\) and \(\mathrm{Pr}\) values. For \(\mathrm{Re}_\tau = 180,\ \mathrm{Pr} = 0.71\) (the configuration of this case) the Kawamura database remains the canonical validation target in the LBM and LES literature.
Simulation parameters¶
Parameter |
Value |
|---|---|
Friction Reynolds number \(\mathrm{Re}_\tau\) |
\(\approx 180\) |
Molecular Prandtl number \(\mathrm{Pr}\) |
0.71 (air) |
LES / \(\mathrm{Sc}_t\) |
none (quasi-DNS; the |
Domain \(L_x \times L_y \times L_z\) (lattice units) |
240 x 80 x 120 (\(6\delta \times 2\delta \times 3\delta\), \(\delta = 40\)) |
Refinement |
Two static slabs at level 1 in \(0 \le y < 8\) and \(72 \le y < 80\) |
\(\Delta y^+\) (finest level) |
\(\approx 2.25\) |
Fluid velocity set |
D3Q27 |
Fluid collision operator |
RRBGK |
Fluid relaxation time \(\tau\) |
0.503333 |
Streamwise body force \(F_x\) (lattice units) |
6.25e-7 |
Scalar velocity set |
D3Q7 |
Scalar collision operator |
RRBGK |
Scalar diffusivity \(D\) (lattice units) |
1.565e-3 (= \(\nu / \mathrm{Pr}\)) |
Scalar boundary conditions |
South wall (\(y = 0\)): |
Initial scalar field |
\(\phi(y) = y / L_y\) (laminar steady-state ramp) |
Fluid initialisation |
|
Number of steps |
150000 (statistics from step 50000 onwards, \(\approx 12.5\) eddy turnovers at \(\mathrm{ETT} = \delta / u^* = 8000\) steps) |
Validation metrics¶
All Reynolds-averaged scalar quantities are reconstructed in the notebook from a single source: the channel_profile.mid_channel plane time series. The plane is normal to the spanwise axis \(z\) and spans the full streamwise / wall-normal \((x, y)\) domain, sampled every 100 steps from step 50000 to 150000. Because the flow is homogeneous in \(x\), each wall-normal node averages over every \((x, t)\) sample (1000 snapshots x 240 streamwise nodes), and the two walls are folded onto the half-channel by parity under the reflection \(y \to L_y - y\) combined with \(\phi \to 1 - \phi\):
Mean scalar profile \(\langle \phi \rangle^+(y^+)\), the sample mean of
scalar_phi.Scalar RMS profile \(\langle \phi'^2 \rangle^{+}(y^+)\), from \(\langle \phi^2 \rangle - \langle \phi \rangle^2\).
Turbulent scalar fluxes \(\langle u' \phi' \rangle^{+}(y^+)\) and \(\langle v' \phi' \rangle^{+}(y^+)\), formed as the covariances \(\overline{u_\alpha \phi} - \overline{u_\alpha}\,\overline{\phi}\) over the same samples. A single plane therefore yields the cross-correlation fluxes that an auto-variance statistics kernel cannot.
Wall units are computed from the friction velocity \(u^*\) (fixed analytically by the driving body force, \(u^* = \sqrt{F_x \delta}\)) and the friction scalar \(\phi^* = q_w / (\rho c_p u^*)\), where the wall flux \(q_w\) is read off the near-wall gradient of \(\langle \phi \rangle\).
A passing result reproduces the linear viscous sublayer \(\langle \phi \rangle^+ = \mathrm{Pr}\, y^+\) close to the wall, matches the slope of the log layer and the position / amplitude of the scalar RMS peak, and stays within \(\sim 5\%\) of the Kawamura \(\langle v' \phi' \rangle^{+}\) profile across the channel core.
Note
The notebook runs end to end today but skips the scalar panels until the scalar BC reconstruction kernels move past the TODO stubs: the configuration parses and dispatches through the BC pipeline, but the per-BC g_i reconstruction is currently a no-op, so the scalar field is non-finite and only the flow field is valid. Once the kernels produce a finite scalar and the case is re-run, the scalar profiles populate automatically.