Scaffold EB_WMLES: compressible NS solver skeleton for WMLES development - #5580
Open
jamesliu516 wants to merge 2 commits into
Open
Scaffold EB_WMLES: compressible NS solver skeleton for WMLES development#5580jamesliu516 wants to merge 2 commits into
jamesliu516 wants to merge 2 commits into
Conversation
jamesliu516
marked this pull request as draft
August 30, 2026 14:43
jamesliu516
marked this pull request as ready for review
August 30, 2026 14:43
jamesliu516
force-pushed
the
jamesliu516-laughing-telegram
branch
from
August 30, 2026 14:56
eaed71c to
7aea11e
Compare
Scaffold a new embedded-boundary, wall-modeled LES solver for turbulence simulation around CAD/STL geometry, built on EB_CNS. - Source/: WMLES solver class, advance loops, BC fill, I/O, setup, tagging - Source/hydro/: compressible hydro kernels (slope, Riemann, divergence) - Source/diffusion/: EB-aware viscous flux kernels with turbulent eddy viscosity and turbulent heat conduction (Pr_t) - Source/WMLES_sgs_K.H: Smagorinsky SGS model with EB-safe gradient stencils; returns kinematic nu_t, converted to mu_t = rho * nu_t in the diffusion coefficients - Source/WMLES_wallmodel_K.H: wall-model ODE placeholder (Phase 4) - Exec/Cylinder/: 2D cylinder crossflow test case - Exec/STL_Box/: 3D test case importing a box.stl via EB2 STL geometry - Register EB_WMLES in Tests/CMakeLists.txt (Small and non-Small builds) Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
jamesliu516
force-pushed
the
jamesliu516-laughing-telegram
branch
from
August 30, 2026 15:01
7aea11e to
7ea7646
Compare
WMLES.Hydro_K.H / WMLES.Hydro_eb_K.H were mistyped during the CNS->WMLES rename (period instead of underscore). They must be WMLES_hydro_K.H and WMLES_hydro_eb_K.H to match the actual files, otherwise compilation fails with "no such file". Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
This PR scaffolds a new
Tests/EB_WMLESsolver as the foundation forwall-modeled large-eddy simulation (WMLES) with embedded boundaries in AMReX.
Approach
Derived from the existing
EB_CNSsolver by copying the full source tree andperforming a complete
CNS→WMLESrename (classes, functions, macros,include guards, Make.package variables). The solver starts as a working
compressible NS code — no feature divergence yet, just a clean rename so
future phases can add turbulence modeling without touching EB_CNS.
New additions beyond the rename
WMLES_parm.H— expanded with SGS parameters (Cs_smag,Pr_t,sgs_filter_width_ratio) and wall-model parameters (kappa,B,yplus_target, enable/update flags), read from ParmParse.WMLES_sgs_K.H— Smagorinsky eddy-viscosity GPU kernel(
wmles_compute_nu_t) computing |S| = sqrt(2 S_ij S_ij) via 2nd-ordercentral differences (2D/3D). Ready for Phase 2 integration.
WMLES_wallmodel_K.H— ODE wall-model placeholder; returns zerostress. Phase 4 implementation target.
Exec/Cylinder/— 2D cylinder crossflow test case with uniforminflow BC, EB cylinder (implicit function), and full input deck
(
inputsfor debug runs,inputs-cifor lightweight CI).Build integration
Tests/EB_WMLES/CMakeLists.txtusessetup_test()for 2D and 3D.Tests/CMakeLists.txtforSmalland full test suites,gated on
AMReX_EB.Test plan
cmake -S . -B build -DAMReX_ENABLE_TESTS=ON -DAMReX_TEST_TYPE=Small -DAMReX_EB=ON cmake --build build -j4 --target Test_WMLES_Cylinder_2dinputs-ciruns 10 timesteps on a 32×16 grid as a smoke test.Future phases (not in this PR)
wmles_compute_nu_t()into advance loopnu_eff = nu_mol + nu_tAll phases modify only
Tests/EB_WMLES/— no core library changes neededuntil wall-model coupling requires them.