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 artefact turbulent_channel.vtm as 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 ScalarRegularizedDirichlet at \(\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

(1)\[\frac{\partial \phi}{\partial t} + u_\alpha \frac{\partial \phi}{\partial x_\alpha} = D\, \frac{\partial^2 \phi}{\partial x_\alpha \partial x_\alpha}\]

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

(2)\[D_\mathrm{eff} = D + \frac{\nu_\mathrm{SGS}}{\mathrm{Sc}_t}.\]

Reynolds-averaging (1) in the streamwise and spanwise directions gives the statistically stationary balance between molecular diffusion and the turbulent scalar flux:

(3)\[0 = D\, \frac{d^2 \langle \phi \rangle}{dy^2} - \frac{d \langle v' \phi' \rangle}{dy}.\]

Integrating (3) once gives the total scalar flux (molecular plus turbulent)

\[q_\mathrm{tot}(y) = -D\, \frac{d \langle \phi \rangle}{dy} + \langle v' \phi' \rangle = \mathrm{const.}\]

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 Sc_t subgrid coupling is inactive)

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\)): ScalarRegularizedDirichlet \(\phi_w = 0\). North wall (\(y = L_y\)): ScalarRegularizedDirichlet \(\phi_w = 1\). \(x, z\) periodic.

Initial scalar field

\(\phi(y) = y / L_y\) (laminar steady-state ramp)

Fluid initialisation

turbulent_channel.vtm (hot-start from case 04)

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

  1. Mean scalar profile \(\langle \phi \rangle^+(y^+)\), the sample mean of scalar_phi.

  2. Scalar RMS profile \(\langle \phi'^2 \rangle^{+}(y^+)\), from \(\langle \phi^2 \rangle - \langle \phi \rangle^2\).

  3. 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.