Wall models¶
A wall boundary with a wall_model table takes its shear stress and heat
flux from a model of the inner layer instead of from the resolved velocity
and temperature gradients at the wall. This chapter gives the exchange point
that feeds the model, the two models (the equilibrium ODE model and the
inverse-velocity-transformation model of Griffin, Fu & Moin), how their
output replaces the wall's viscous flux, and what that implies for parallel
runs and restarts (src/physics/wall_model.h,
src/boundary/wall_exchange.h, src/boundary/wall_exchange.cpp). Usage:
Large-eddy simulation; design and
validation: wall model design notes.
Wall-modeled LES¶
A wall-resolved LES (chapter 4) places its first cell at \(y^+ \approx 1\), so the cell count of a wall-bounded flow grows like \(Re_\tau^2\) (Choi & Moin 2012). Wall-modeled LES (WMLES) resolves only the outer part of the boundary layer, with cells that scale with its thickness \(\delta\): the near-wall layer is left to a model that returns the wall shear stress \(\tau_w\) and the heat flux into the fluid \(q_w\) from the LES state at a height \(h\) above the wall (Larsson et al. 2016; Bose & Park 2018). In wall units, with \(u_\tau = \sqrt{\tau_w/\rho_w}\), \(y^+ = y\rho_w u_\tau/\mu_w\), and the wall values \(\rho_w\), \(\mu_w\), \(T_w\).
Both models are equilibrium models: they integrate thin-layer equations along the wall normal without convection or pressure gradient, which holds in attached boundary layers and channels and becomes inaccurate under strong pressure gradients and in separated flow. Two lengths set the model's input:
- \(h\) should span at least about three cells, because the LES state in the first cells off the wall is under-resolved and contaminated by the SGS model's error at the grid scale; feeding the model the first cell's state gives the log-layer mismatch, a systematic error in \(\tau_w\) of the order of 15% (Kawai & Larsson 2012).
- \(h\) should lie in the inner layer, typically at 0.1 to 0.3 \(\delta\), where the equilibrium assumption holds.
Exchange point¶
For a modeled wall face \(f\) with centroid \(\mathbf{x}_f\), inward unit normal \(\mathbf{n} = -\mathbf{n}_f\) and wall cell \(c_f\) (centroid \(\mathbf{x}_{c_f}\)), the exchange point is
with \(h\) = exchange_distance, or \(h = 2 n_c\,(\mathbf{x}_{c_f} - \mathbf{x}_f)\cdot\mathbf{n}\)
with \(n_c\) = exchange_cells: \(n_c\) heights of the wall cell, which follows
a near-wall spacing that varies along the wall. The Griffin-Fu-Moin
model also samples an edge point \(\mathbf{x}_f + \delta_e\,\mathbf{n}\)
with \(\delta_e\) = edge_distance (below).
Location. At setup, each point is located by a walk through the local mesh: from the wall cell, the walk crosses the face of the current cell beyond which the point lies farthest, the largest \((\mathbf{x}_e - \mathbf{x}_{f'})\cdot\mathbf{n}_{f'}^\mathrm{out}\) over its faces \(f'\), until the point is inside the cell to a tolerance of \(10^{-10}\) (double precision; \(10^{-5}\) in single) times the cell size. Crossing a periodic seam shifts the point into the frame of the cell entered. A walk that leaves the domain (a point beyond the opposite wall, past a concave corner, or across a thin region) is an input error naming the face; one that reaches the edge of the halo deepens it (below). The containing cell \(c\) and the offset \(\mathbf{x}_e - \mathbf{x}_c\) are stored per face.
Sampling. At every stage, the primitive state \(\mathbf{W} = [\rho, \mathbf{u}, p]\) at the point is reconstructed linearly in the containing cell from its cell average and its gradient for the viscous terms (chapter 6):
exact for linear fields on every cell type; if the reconstruction gives a non-positive density or pressure, the cell average is used instead. The model's inputs are the speed relative to the wall in the plane of the face,
with \(\mathbf{u}_w\) the wall's velocity, the temperature \(T_m = T_e\) and the pressure \(p = p_e\), which the models hold constant across the layer, so that \(\rho = p/(RT)\) there.
Equilibrium ODE model¶
model = "equilibrium" (Kawai & Larsson 2012;
Larsson et al. 2016) solves the thin-layer
momentum and energy equations along the wall-normal coordinate
\(y \in [0, h]\):
with the gas's \(\mu(T)\), \(c_p\) and \(Pr\), and a mixing-length eddy viscosity with van Driest damping (van Driest 1956) in semi-local units:
\(\kappa\) = kappa (0.41), \(A^+\) = A_plus (17) and \(Pr_t\) = Pr_t (0.9),
with \(\rho\) and \(\mu\) the local values. The boundary conditions are \(u = 0\)
at the wall and \(u = U_m\), \(T = T_m\) at \(y = h\), with \(T = T_w\) at an
isothermal wall and \(-k\,\mathrm{d}T/\mathrm{d}y = q\) at a heat-flux wall
(adiabatic: \(q = 0\)). Both equations state that a flux is constant across
the layer,
so for given \(\mu_t\) and properties the profiles follow by quadrature, and the boundary values fix the wall fluxes. With \(I_1 = \int_0^h \mathrm{d}y/(\mu + \mu_t)\), \(I_2 = \int_0^h \mathrm{d}y/k_\mathrm{eff}\) and \(I_3 = \int_0^h u\,\mathrm{d}y/k_\mathrm{eff}\),
At a heat-flux wall \(q_w = q\) and the model returns the wall temperature. In the laminar limit (\(\mu_t \to 0\), constant properties) these reduce to Couette flow, \(\tau_w = \mu U_m/h\) and \(q_w = -[k(T_m - T_w) + \mu U_m^2/2]/h\).
Solver. The layer is discretized by \(N = 64\) nodes stretched geometrically toward the wall,
whose first spacing, \(2.5\times10^{-4}\,h\), keeps \(y_1^+ < 1\) up to \(h^+ \approx 4000\). The integrals are evaluated by Simpson's rule on each interval, with the values at its midpoint. The profiles start linear between the wall and the exchange point (at a heat-flux wall from \(T_m\)), and \(\tau_w\) from the larger of the laminar stress \(\mu_w U_m/h\) and the log law \(U_m/u_\tau = \kappa^{-1}\ln(h u_\tau/\nu_w) + 5.2\) at the wall's properties. Each iteration evaluates \(\mu_t\) and the properties on the current profiles, then \(\tau_w\), \(q_w\) (or \(T_w\)) and new profiles from eqs. \(\eqref{eq:constant-fluxes}\)-\(\eqref{eq:ode-solution}\). The fixed point is accelerated by secant steps on the residual of \(\tau_w\) (accepted when they stay within a factor of 2 of the plain update) and ends when \(\tau_w\) changes by at most \(10^{-10}\) relatively and the temperature at every node by at most \(10^{-10}\), or after 200 iterations. At constant properties it takes 4-5 iterations from \(h^+ = 5\) to \(7000\); with strong heating (\(T_m/T_w = 1.6\) at a Mach number of 0.7, \(\mu \propto T^{0.75}\)) 8-20.
Griffin-Fu-Moin model¶
model = "gfm", the default (Griffin, Fu & Moin 2023),
builds the compressible velocity profile by inverting the velocity
transformation of Griffin, Fu & Moin (2021),
which maps compressible profiles with and without heat transfer onto the
incompressible law of the wall. With \(U^+ = U/u_\tau\), \(\mu^+ = \mu/\mu_w\)
and \(\rho^+ = \rho/\rho_w\), the transformation is
and the incompressible law it is inverted against is the constant-property version of the mixing length \(\eqref{eq:mixing-length}\),
Solving \(\eqref{eq:gfm-transformation}\) for the velocity gradient, with \(y^* = y^+\sqrt{\rho^+}/\mu^+\), gives the profile from the wall outward:
The temperature, hence \(\rho^+\) and \(\mu^+\), follows the velocity by the generalized Reynolds analogy of Zhang et al. (2014), with its quadratic coefficient set so that the relation passes through the exchange point \((U_m, T_m)\):
with \(s\) = s (1.14), the recovery temperature \(T_r\) of recovery factor
\(Pr^{1/3}\), and the edge speed and temperature \(U_e\), \(T_e\). The wall heat
flux is that of this relation at the wall,
\(q_w = -k_w (\mathrm{d}T/\mathrm{d}U)_w (\mathrm{d}U/\mathrm{d}y)_w\):
An adiabatic wall takes \(T_w = T_r\), so \(q_w = 0\); an isothermal wall its temperature. Walls with a prescribed non-zero heat flux are rejected (use the equilibrium model). Without shear (\(U_m = 0\)) the model returns \(\tau_w = 0\) and the conduction flux \(q_w = -c_p\mu_w(T_m - T_w)/(Pr\,h)\).
Solver. On the grid \(\eqref{eq:wall-model-grid}\), each interval applies \(\eqref{eq:gfm-transformation}\) in difference form, with \(\mu^+\) the mean of its two nodes and \(S_t^+\) averaged over the interval in \(y^*\) by Simpson's rule; solving for the increment,
The differences of \(y^*\) carry the density and viscosity derivatives of \(\eqref{eq:gfm-inverse}\), and with constant properties \(\Delta U^+ = S_t^+\Delta y^+\). Because \(y^*\) at the upper node depends on its temperature, hence on its velocity, each interval predicts the velocity from the previous increment and corrects it three times. The profile's \(U(h)\) increases with \(\tau_w\), and \(\ln U(h)\) is nearly linear in \(\ln\tau_w\): \(\tau_w\) is found by secant steps on \(\ln\tau_w\) for the root of \(\ln[U(h)/U_m]\), from the initial estimate of the equilibrium model, with steps limited to a factor \(e^2\), to \(10^{-9}\) in \(\ln\tau_w\). It takes 4-7 profile evaluations from \(h^+ = 5\) to \(7000\), with or without heat transfer.
Edge state¶
The Reynolds analogy needs the speed and temperature at the boundary-layer
edge (in a channel, at the centerline). They are sampled like the exchange
point \(\eqref{eq:sampling}\) at the edge point, a distance edge_distance
along the normal: the half-height of a channel or pipe, an estimate of
\(\delta\) in a boundary layer. \(U_e\) is the tangential speed relative to
the wall there, bounded below by \(U_m\).
Coupling to the LES¶
On a modeled wall face the model's output replaces the viscous flux. The fluid receives the traction and heat flux
per unit area of the face, opposite to the velocity relative to the wall
and including the work of a moving wall; there is no normal viscous stress
and no SGS flux on the face (ViscousFluxFunctor::modeled_flux,
src/numerics/viscous_flux.h). The exterior state of the face is that of
a slip wall (chapter 9): the normal velocity
mirrored, the tangential velocity, density and pressure of the interior. The
convective flux therefore carries the pressure force only, and the
reconstruction, the gradients and the eddy viscosity of the wall cells see
no velocity jump to the wall: with the no-slip exterior state the wall
cell's gradient would hold the jump from the wall to a first cell in the log
layer, a shear the LES does not resolve. The wall temperature of an
isothermal modeled wall enters only through the model.
The models are evaluated at every stage of the time integration, after the
gradients of the viscous terms and the eddy viscosity, by one kernel over
the modeled wall faces of the owned cells. Their inputs are instantaneous,
not time-filtered. [[forces]] monitors of modeled zones report the
modeled traction and add the integrated heat flux into the fluid
(Probes and monitors).
Parallel runs and restarts¶
The wall flux of a face depends on the state and gradients of the cells
containing its exchange and edge points, which may belong to another rank.
Rather than sending these values during the time loop, the halo is made
deep enough that both cells are local with complete gradient stencils: a
point found in halo layer \(L\) needs \(L + 1\) layers (the outermost layer's
gradients miss neighbors), and a walk that reaches the edge of the halo
needs one more layer than the current depth. The deepest requirement over
all ranks sets the halo depth, and the setup after the mesh is repeated, as
for TENO-E stencils (MPI design notes); when the
halo is then trimmed, the containing cells and their vertex neighbors are
kept. The wall flux is therefore computed from the same values on any
number of ranks, and the results are independent of the partition. The
cost is a deeper halo where a partition boundary runs parallel to a wall
within \(h\) (or edge_distance) of it.
The models keep no state between stages, so restart files carry nothing new and a restarted run reproduces an uninterrupted one bitwise.
Limitations¶
- Single gases only; gas mixtures are rejected (they will follow isothermal
mixture walls). Axisymmetric runs are not supported.
[physics]must benavier_stokes. - Equilibrium models only: no pressure-gradient or convective terms in the layer, so no model of non-equilibrium boundary layers (strong pressure gradients, separation) yet.
- The Griffin-Fu-Moin model supports isothermal and adiabatic walls, and takes the edge state at a fixed distance rather than detecting the boundary-layer edge.
- The modeled wall flux and the force monitors include no SGS contribution at the wall.
The validation against the channels of Lee & Moser (2015) and Trettel & Larsson (2016) is in the design notes.