You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Following on from Incompact3d, start with static Smagorinsky + wall damping. Backend-agnostic module selectable from config.
Scope
Strain-rate tensor S_ij from the resolved velocity and its magnitude |S|
Smagorinsky eddy viscosity $\nu_t = (C_s \Delta)^2 |S|$, with the filter width $\Delta$ from the local mesh spacing
Wall damping for nut$\nu_t$ near a wall - the Mason-Thomson mixing-length form (C0, n) = (0.14, 3) used in Deskos (2019) . This is what supresses the log-law overshoot and is required for the ABL validation to reproduce the curves from Deskos (2019)
Add the SGS stress divergence $\partial_{x_j}(2 \nu_t S_{ij})$ to the momentum RHS (via forcings/transeq) on both OMP and CUDA backends
Config: LES model selector + Smagorinsky constant + wall-damping (C0, n) in src/config.f90
Validation
Validate against TGV at Re=5000, full periodic on [0, 2pi]^3 using existing 'case_tgv_t`. At Re=5000 the flow is under-resolved.
Diagonostic: the dissipation rate over the transition/breakdown $t \approx 0\text{-}20$. The enstrophy based form $\varepsilon(t) = 2\nu,E(t)$ is available directly. The kinetic-energy form $\varepsilon(t) = -dE_k/dt$ needs $E_k$ added to the monitoring output
Reference: a well-resolved DNS $\varepsilon(t)$ curve
Criterion: the coarse-mesh Smagorinsky LES reproduces DNS dissipation rate peak (timing + magnitude) within tolerance, where the coarse-mesh no-model does not - i.e. the SGS model demonstrably improves the under-resolved result toward the DNS
Acceptance criteria
m_les is backend agnostic
Smagorinsky nut + SGS stress divergence computed on both backends; unit test on a known strain field recovers the analytical nut
Wall damping reduces nut to ~0 at the wall with the (0.14, 3) profile
TGV Re=5000 LES reproduces the DNS dissipation-rate peak $\varepsilon(t)$ (timing + magnitude) within tolerance, improving on the coarse no-model run
Eddy-viscosity field exposed for the ABL wall model
Following on from Incompact3d, start with static Smagorinsky + wall damping. Backend-agnostic module selectable from config.
Scope
S_ijfrom the resolved velocity and its magnitude|S|nut(C0, n) = (0.14, 3)used in Deskos (2019) . This is what supresses the log-law overshoot and is required for the ABL validation to reproduce the curves from Deskos (2019)forcings/transeq) on both OMP and CUDA backendsnutfield so the ABL wall model Add neutral ABL driver #317 can read it(C0, n)insrc/config.f90Validation
[0, 2pi]^3using existing 'case_tgv_t`. At Re=5000 the flow is under-resolved.Acceptance criteria
m_lesis backend agnosticnut+ SGS stress divergence computed on both backends; unit test on a known strain field recovers the analyticalnutnutto ~0 at the wall with the(0.14, 3)profile