Пристеночная функция Spalding, многоуровневый домен, группы J и K
Решатель: - --wall-function spalding поверх bouzidi/grad/hrr: моментные схемы берут модельную скорость узла и u_τ²/ν в тензор давлений, Bouzidi — скольжение стенки, согласованное по напряжению (в вязком подслое тождественно ноль); - --levels: цепочка вложенных уровней с рекурсивным шагом на CPU и GPU, одиночный патч — её частный случай, прежние постановки побитово те же; - --sponge-side, β по узлам; в сводке y⁺, cl_mean, rho_probe_rms. - Исправлено: на GPU при --refine >= 3 сила лишних подшагов терялась за краем буфера, Cd занижался в r/2 раза. Кампания: группы J (65, схемы стенки с функцией) и K (25, внешний домен), 205 прогонов на 5 долей по ≈27 ч; bench/compare.py сводит J и K против эталонов; parity.py сверяет Spalding и три уровня. Образ 1.4.0. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
@@ -79,6 +79,26 @@ CASES = [
|
||||
"degenerate_frac": 5.0},
|
||||
"report": ["strouhal"],
|
||||
},
|
||||
# Пристеночная функция переписана в WGSL отдельно от math.rs (закон Spalding, Ньютон в
|
||||
# f32), поэтому сверяется отдельно. При Re=20 y⁺ < 1 и функция почти не меняет
|
||||
# результат — проверяется именно совпадение двух реализаций, а не физика.
|
||||
{
|
||||
"name": "цилиндр Re=20, Град + Spalding, 8000 шагов",
|
||||
"args": ["--shape", "cylinder", "--size", "16", "--nx", "320", "--ny", "192",
|
||||
"--re", "20", "--refine", "1", "--steps", "8000",
|
||||
"--wall", "grad", "--wall-function", "spalding"],
|
||||
"fields": {"cd": 1.0, "rho_mean": 0.05, "yplus_mean": 1.0},
|
||||
"report": ["strouhal"],
|
||||
},
|
||||
# Три уровня: рекурсивная связка уровней и сквозная нумерация подшагов силы на GPU.
|
||||
{
|
||||
"name": "цилиндр Re=20, три уровня ×2×2, 3000 шагов",
|
||||
"args": ["--shape", "cylinder", "--size", "8", "--nx", "240", "--ny", "160",
|
||||
"--re", "20", "--levels", "2:4,10,4; 2:1.5,4,1.5", "--wall", "bouzidi",
|
||||
"--steps", "3000"],
|
||||
"fields": {"cd": 1.0, "rho_mean": 0.05},
|
||||
"report": ["strouhal"],
|
||||
},
|
||||
]
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user