Face spectral radius and local time step

Local time stepping uses face inviscid and viscous spectral radii accumulated to cells. The pure formulas below are independent of mesh traversal.

Inviscid face spectral radius

\[\lambda_{\mathrm{inv}} = \tfrac12 A \big(|v_n| + c\big)\]

with face-midpoint relative normal velocity and ideal-gas sound speed.

Viscous estimates

Model 1 (momentum/energy diffusivity max):

\[\lambda_{\mathrm{vis}} = A^2 \cdot \frac{2\,\max\big(\tfrac43(\mu_l+\mu_t),\, \gamma(\mu_l/Pr_l+\mu_t/Pr_t)\big)} {Re\,\rho}\]

Model 2 uses face-to-cell distance; model 3 is a simplified \(A^2/(Re\rho)\) form.

Cell time step

\[\Delta t_{\mathrm{inv}} = \mathrm{CFL}\,\frac{V}{\lambda_{\mathrm{inv}}}, \qquad \Delta t \leftarrow \frac{\Delta t_{\mathrm{inv}}\,\Delta t_{\mathrm{vis}}} {\Delta t_{\mathrm{inv}}+\Delta t_{\mathrm{vis}}}\]

References

  • Blazek, J. Computational Fluid Dynamics: Principles and Applications (spectral-radius estimates for viscous CFL).

  • Toro, E. F. Riemann Solvers and Numerical Methods for Fluid Dynamics (wave speeds entering inviscid spectral radius).

  • OpenFOAM Programmer’s / User Guide (local time-stepping practice; compare implementation choices, not copy code).

Pure APIs: TimeStepPolicy.h. Tests: timestep_policy_test.

LUSGS reuse

UNsLusgs::CalcViscousTerm routes through the same viscous spectral models as local time stepping. The implicit face state uses Roe-weighted density, velocity, and total enthalpy. Its pressure is then reconstructed from that total enthalpy using the left-cell heat-capacity ratio, preserving the established LUSGS linearization. A weighted average of static pressure is not equivalent and must not replace this closure.