bench/ — список сценариев (порождается gen_scenarios.py, а не правится руками), драйверы под Linux и Windows, предполётная проверка и описание. Девять групп: эталоны первоисточников, цилиндр против литературы, модели стенки и субсеточность, профили крыла, сложная и множественная геометрия, границы домена, старт и время жизни, внутренние инварианты, сверхмелкие сетки до 4096×2048. Стоимость планируется в обновлениях узлов — единственной переносимой между машинами мере; в часы драйвер переводит её по фактическим MLUPS, которые замеряет на месте (--calibrate). Итого 3.76e14 обновлений, ≈90 часов на 4070 Ti. Гифки пишутся на всю длительность прогона в реальном времени, 10 кадр/с. Число кадров этим задано жёстко, поэтому размер регулируется только кадром: замерено 0.103 байта на пиксель после LZW, отсюда бюджет кадры×пиксели с нижней границей по ширине. Итог 4.4 ГБ, самый тяжёлый файл 226 МБ. preflight.py гоняет каждый сценарий на два шага. Окупился сразу: поймал, что вся группа сверхмелких сеток падала на пределе GPU, а девять прогонов группы F передавали --body-x дважды. Оба отказа проявились бы только на сервере, часов через двадцать после старта кампании. Docker: двухстадийная сборка, в образе libvulkan1 и vulkan-tools. NVIDIA Container Toolkit подкладывает Vulkan-ICD только при graphics в NVIDIA_DRIVER_CAPABILITIES — без него wgpu не увидит карту, поэтому capabilities прописаны в образе, а vulkaninfo лежит внутрь для проверки. ENTRYPOINT — драйвер кампании, CMD по умолчанию --dry-run, чтобы случайный docker run не запустил сточасовую задачу. Проверено локально: образ собирается, смоук проходит с монтированием результатов на хост, физика совпадает с хостовой до последней цифры, --backend gpu без карты отказывает явно. GPU-путь в контейнере проверяется только на машине с картой. В README поправлено разделение вкладов в продольную акустику: измерением 2×2 показано, что 74.9% → 1.1% даёт ОДНОРОДНЫЙ СТАРТ, причём при полностью выключенной губке, а губка снимает лишь остаток (1.12% → 0.83% при утроении длины). При старте из покоя губка не помогает совсем — у стоячей четвертьволновой моды там узел давления, где вязкость её не трогает. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
4853 lines
92 KiB
JSON
4853 lines
92 KiB
JSON
{
|
||
"meta": {
|
||
"note": "Стоимость в обновлениях узлов — единственная переносимая между машинами мера. Часы драйвер получает, поделив её на фактические MLUPS, которые замеряет на месте (--calibrate).",
|
||
"gif_policy": "вся длительность прогона, реальная скорость, 10 кадр/с; кадр прореживается до ширины не больше 1280 пикселей",
|
||
"scale": 2.0,
|
||
"assumed_gpu_mlups": 1200,
|
||
"assumed_cpu_mlups": 22
|
||
},
|
||
"runs": [
|
||
{
|
||
"id": "A01_tg_diff_n64",
|
||
"group": "A",
|
||
"title": "Тейлор–Грин, диффузионное измельчение, N=64 (CPU/f64)",
|
||
"expect": "порядок сходимости 2 по ряду N=64..512; ошибка на N=512 ниже 2e-4",
|
||
"backend": "cpu",
|
||
"args": [
|
||
"--case",
|
||
"taylor-green",
|
||
"--nx",
|
||
"64",
|
||
"--ny",
|
||
"64",
|
||
"--refine",
|
||
"1",
|
||
"--u-lat",
|
||
"0.030000",
|
||
"--re",
|
||
"100",
|
||
"--case-every",
|
||
"11",
|
||
"--steps",
|
||
"220",
|
||
"--backend",
|
||
"cpu",
|
||
"--case-csv",
|
||
"A01_tg_diff_n64_case.csv"
|
||
],
|
||
"nodes_per_step": 4096,
|
||
"steps": 220,
|
||
"cost": 901120,
|
||
"outputs": [
|
||
"case_csv"
|
||
]
|
||
},
|
||
{
|
||
"id": "A02_tg_diff_n128",
|
||
"group": "A",
|
||
"title": "Тейлор–Грин, диффузионное измельчение, N=128 (CPU/f64)",
|
||
"expect": "порядок сходимости 2 по ряду N=64..512; ошибка на N=512 ниже 2e-4",
|
||
"backend": "cpu",
|
||
"args": [
|
||
"--case",
|
||
"taylor-green",
|
||
"--nx",
|
||
"128",
|
||
"--ny",
|
||
"128",
|
||
"--refine",
|
||
"1",
|
||
"--u-lat",
|
||
"0.015000",
|
||
"--re",
|
||
"100",
|
||
"--case-every",
|
||
"44",
|
||
"--steps",
|
||
"881",
|
||
"--backend",
|
||
"cpu",
|
||
"--case-csv",
|
||
"A02_tg_diff_n128_case.csv"
|
||
],
|
||
"nodes_per_step": 16384,
|
||
"steps": 881,
|
||
"cost": 14434304,
|
||
"outputs": [
|
||
"case_csv"
|
||
]
|
||
},
|
||
{
|
||
"id": "A03_tg_diff_n256",
|
||
"group": "A",
|
||
"title": "Тейлор–Грин, диффузионное измельчение, N=256 (CPU/f64)",
|
||
"expect": "порядок сходимости 2 по ряду N=64..512; ошибка на N=512 ниже 2e-4",
|
||
"backend": "cpu",
|
||
"args": [
|
||
"--case",
|
||
"taylor-green",
|
||
"--nx",
|
||
"256",
|
||
"--ny",
|
||
"256",
|
||
"--refine",
|
||
"1",
|
||
"--u-lat",
|
||
"0.007500",
|
||
"--re",
|
||
"100",
|
||
"--case-every",
|
||
"176",
|
||
"--steps",
|
||
"3525",
|
||
"--backend",
|
||
"cpu",
|
||
"--case-csv",
|
||
"A03_tg_diff_n256_case.csv"
|
||
],
|
||
"nodes_per_step": 65536,
|
||
"steps": 3525,
|
||
"cost": 231014400,
|
||
"outputs": [
|
||
"case_csv"
|
||
]
|
||
},
|
||
{
|
||
"id": "A04_tg_diff_n512",
|
||
"group": "A",
|
||
"title": "Тейлор–Грин, диффузионное измельчение, N=512 (CPU/f64)",
|
||
"expect": "порядок сходимости 2 по ряду N=64..512; ошибка на N=512 ниже 2e-4",
|
||
"backend": "cpu",
|
||
"args": [
|
||
"--case",
|
||
"taylor-green",
|
||
"--nx",
|
||
"512",
|
||
"--ny",
|
||
"512",
|
||
"--refine",
|
||
"1",
|
||
"--u-lat",
|
||
"0.003750",
|
||
"--re",
|
||
"100",
|
||
"--case-every",
|
||
"705",
|
||
"--steps",
|
||
"14101",
|
||
"--backend",
|
||
"cpu",
|
||
"--case-csv",
|
||
"A04_tg_diff_n512_case.csv"
|
||
],
|
||
"nodes_per_step": 262144,
|
||
"steps": 14101,
|
||
"cost": 3696492544,
|
||
"outputs": [
|
||
"case_csv"
|
||
]
|
||
},
|
||
{
|
||
"id": "A05_tg_fixed_n128",
|
||
"group": "A",
|
||
"title": "Тейлор–Грин при фиксированном u₀, N=128 — демонстрация полки O(Ma²)",
|
||
"expect": "ошибка перестаёт падать с ростом N: это свойство слабо-сжимаемого метода",
|
||
"backend": "cpu",
|
||
"args": [
|
||
"--case",
|
||
"taylor-green",
|
||
"--nx",
|
||
"128",
|
||
"--ny",
|
||
"128",
|
||
"--refine",
|
||
"1",
|
||
"--u-lat",
|
||
"0.03",
|
||
"--re",
|
||
"200.0",
|
||
"--case-every",
|
||
"44",
|
||
"--steps",
|
||
"881",
|
||
"--backend",
|
||
"cpu",
|
||
"--case-csv",
|
||
"A05_tg_fixed_n128_case.csv"
|
||
],
|
||
"nodes_per_step": 16384,
|
||
"steps": 881,
|
||
"cost": 14434304,
|
||
"outputs": [
|
||
"case_csv"
|
||
]
|
||
},
|
||
{
|
||
"id": "A06_tg_fixed_n256",
|
||
"group": "A",
|
||
"title": "Тейлор–Грин при фиксированном u₀, N=256 — демонстрация полки O(Ma²)",
|
||
"expect": "ошибка перестаёт падать с ростом N: это свойство слабо-сжимаемого метода",
|
||
"backend": "cpu",
|
||
"args": [
|
||
"--case",
|
||
"taylor-green",
|
||
"--nx",
|
||
"256",
|
||
"--ny",
|
||
"256",
|
||
"--refine",
|
||
"1",
|
||
"--u-lat",
|
||
"0.03",
|
||
"--re",
|
||
"400.0",
|
||
"--case-every",
|
||
"176",
|
||
"--steps",
|
||
"3525",
|
||
"--backend",
|
||
"cpu",
|
||
"--case-csv",
|
||
"A06_tg_fixed_n256_case.csv"
|
||
],
|
||
"nodes_per_step": 65536,
|
||
"steps": 3525,
|
||
"cost": 231014400,
|
||
"outputs": [
|
||
"case_csv"
|
||
]
|
||
},
|
||
{
|
||
"id": "A07_shear_n512_kbc_n1",
|
||
"group": "A",
|
||
"title": "Сдвиговый слой Re=3·10⁴, N=512, kbc_n1",
|
||
"expect": "KBC доживает до конца, LBGK обязан развалиться (разд. VII статьи)",
|
||
"backend": "gpu",
|
||
"args": [
|
||
"--case",
|
||
"shear-layer",
|
||
"--nx",
|
||
"512",
|
||
"--ny",
|
||
"512",
|
||
"--refine",
|
||
"1",
|
||
"--u-lat",
|
||
"0.04",
|
||
"--re",
|
||
"30000",
|
||
"--collision",
|
||
"kbc",
|
||
"--kbc-model",
|
||
"n1",
|
||
"--case-every",
|
||
"512",
|
||
"--steps",
|
||
"102400",
|
||
"--backend",
|
||
"gpu",
|
||
"--case-csv",
|
||
"A07_shear_n512_kbc_n1_case.csv",
|
||
"--gif",
|
||
"shear_kbc_n1.gif",
|
||
"--gif-field",
|
||
"vorticity",
|
||
"--gif-every",
|
||
"auto",
|
||
"--gif-fps",
|
||
"10",
|
||
"--gif-speed",
|
||
"1",
|
||
"--gif-downsample",
|
||
"1",
|
||
"--gif-scale",
|
||
"1"
|
||
],
|
||
"nodes_per_step": 262144,
|
||
"steps": 102400,
|
||
"cost": 26843545600,
|
||
"outputs": [
|
||
"case_csv"
|
||
]
|
||
},
|
||
{
|
||
"id": "A08_shear_n512_kbc_n2",
|
||
"group": "A",
|
||
"title": "Сдвиговый слой Re=3·10⁴, N=512, kbc_n2",
|
||
"expect": "KBC доживает до конца, LBGK обязан развалиться (разд. VII статьи)",
|
||
"backend": "gpu",
|
||
"args": [
|
||
"--case",
|
||
"shear-layer",
|
||
"--nx",
|
||
"512",
|
||
"--ny",
|
||
"512",
|
||
"--refine",
|
||
"1",
|
||
"--u-lat",
|
||
"0.04",
|
||
"--re",
|
||
"30000",
|
||
"--collision",
|
||
"kbc",
|
||
"--kbc-model",
|
||
"n2",
|
||
"--case-every",
|
||
"512",
|
||
"--steps",
|
||
"102400",
|
||
"--backend",
|
||
"gpu",
|
||
"--case-csv",
|
||
"A08_shear_n512_kbc_n2_case.csv",
|
||
"--gif",
|
||
"shear_kbc_n2.gif",
|
||
"--gif-field",
|
||
"vorticity",
|
||
"--gif-every",
|
||
"auto",
|
||
"--gif-fps",
|
||
"10",
|
||
"--gif-speed",
|
||
"1",
|
||
"--gif-downsample",
|
||
"1",
|
||
"--gif-scale",
|
||
"1"
|
||
],
|
||
"nodes_per_step": 262144,
|
||
"steps": 102400,
|
||
"cost": 26843545600,
|
||
"outputs": [
|
||
"case_csv"
|
||
]
|
||
},
|
||
{
|
||
"id": "A09_shear_n512_lbgk",
|
||
"group": "A",
|
||
"title": "Сдвиговый слой Re=3·10⁴, N=512, lbgk",
|
||
"expect": "KBC доживает до конца, LBGK обязан развалиться (разд. VII статьи)",
|
||
"backend": "gpu",
|
||
"args": [
|
||
"--case",
|
||
"shear-layer",
|
||
"--nx",
|
||
"512",
|
||
"--ny",
|
||
"512",
|
||
"--refine",
|
||
"1",
|
||
"--u-lat",
|
||
"0.04",
|
||
"--re",
|
||
"30000",
|
||
"--collision",
|
||
"bgk",
|
||
"--kbc-model",
|
||
"n1",
|
||
"--case-every",
|
||
"512",
|
||
"--steps",
|
||
"102400",
|
||
"--backend",
|
||
"gpu",
|
||
"--case-csv",
|
||
"A09_shear_n512_lbgk_case.csv",
|
||
"--gif",
|
||
"shear_lbgk.gif",
|
||
"--gif-field",
|
||
"vorticity",
|
||
"--gif-every",
|
||
"auto",
|
||
"--gif-fps",
|
||
"10",
|
||
"--gif-speed",
|
||
"1",
|
||
"--gif-downsample",
|
||
"1",
|
||
"--gif-scale",
|
||
"1"
|
||
],
|
||
"nodes_per_step": 262144,
|
||
"steps": 102400,
|
||
"cost": 26843545600,
|
||
"outputs": [
|
||
"case_csv"
|
||
]
|
||
},
|
||
{
|
||
"id": "A10_turb_n2048_kbc",
|
||
"group": "A",
|
||
"title": "Затухающая турбулентность N=2048, kbc",
|
||
"expect": "энстрофия и палинстрофия падают монотонно; KBC держится там, где LBGK нет",
|
||
"backend": "gpu",
|
||
"args": [
|
||
"--case",
|
||
"decaying-turbulence",
|
||
"--nx",
|
||
"2048",
|
||
"--ny",
|
||
"2048",
|
||
"--refine",
|
||
"1",
|
||
"--u-lat",
|
||
"0.02",
|
||
"--re",
|
||
"501961",
|
||
"--collision",
|
||
"kbc",
|
||
"--case-every",
|
||
"1333",
|
||
"--steps",
|
||
"400000",
|
||
"--backend",
|
||
"gpu",
|
||
"--case-csv",
|
||
"A10_turb_n2048_kbc_case.csv",
|
||
"--gif",
|
||
"turb_n2048_kbc.gif",
|
||
"--gif-field",
|
||
"vorticity",
|
||
"--gif-every",
|
||
"auto",
|
||
"--gif-fps",
|
||
"10",
|
||
"--gif-speed",
|
||
"1",
|
||
"--gif-downsample",
|
||
"2",
|
||
"--gif-scale",
|
||
"1"
|
||
],
|
||
"nodes_per_step": 4194304,
|
||
"steps": 400000,
|
||
"cost": 1677721600000,
|
||
"outputs": [
|
||
"case_csv"
|
||
]
|
||
},
|
||
{
|
||
"id": "A11_turb_n2048_bgk",
|
||
"group": "A",
|
||
"title": "Затухающая турбулентность N=2048, bgk",
|
||
"expect": "энстрофия и палинстрофия падают монотонно; KBC держится там, где LBGK нет",
|
||
"backend": "gpu",
|
||
"args": [
|
||
"--case",
|
||
"decaying-turbulence",
|
||
"--nx",
|
||
"2048",
|
||
"--ny",
|
||
"2048",
|
||
"--refine",
|
||
"1",
|
||
"--u-lat",
|
||
"0.02",
|
||
"--re",
|
||
"501961",
|
||
"--collision",
|
||
"bgk",
|
||
"--case-every",
|
||
"1333",
|
||
"--steps",
|
||
"400000",
|
||
"--backend",
|
||
"gpu",
|
||
"--case-csv",
|
||
"A11_turb_n2048_bgk_case.csv",
|
||
"--gif",
|
||
"turb_n2048_bgk.gif",
|
||
"--gif-field",
|
||
"vorticity",
|
||
"--gif-every",
|
||
"auto",
|
||
"--gif-fps",
|
||
"10",
|
||
"--gif-speed",
|
||
"1",
|
||
"--gif-downsample",
|
||
"2",
|
||
"--gif-scale",
|
||
"1"
|
||
],
|
||
"nodes_per_step": 4194304,
|
||
"steps": 400000,
|
||
"cost": 1677721600000,
|
||
"outputs": [
|
||
"case_csv"
|
||
]
|
||
},
|
||
{
|
||
"id": "A12_turb_n4096_kbc",
|
||
"group": "A",
|
||
"title": "Затухающая турбулентность N=4096, kbc",
|
||
"expect": "энстрофия и палинстрофия падают монотонно; KBC держится там, где LBGK нет",
|
||
"backend": "gpu",
|
||
"args": [
|
||
"--case",
|
||
"decaying-turbulence",
|
||
"--nx",
|
||
"4096",
|
||
"--ny",
|
||
"4096",
|
||
"--refine",
|
||
"1",
|
||
"--u-lat",
|
||
"0.02",
|
||
"--re",
|
||
"1003922",
|
||
"--collision",
|
||
"kbc",
|
||
"--case-every",
|
||
"666",
|
||
"--steps",
|
||
"200000",
|
||
"--backend",
|
||
"gpu",
|
||
"--case-csv",
|
||
"A12_turb_n4096_kbc_case.csv",
|
||
"--gif",
|
||
"turb_n4096_kbc.gif",
|
||
"--gif-field",
|
||
"vorticity",
|
||
"--gif-every",
|
||
"auto",
|
||
"--gif-fps",
|
||
"10",
|
||
"--gif-speed",
|
||
"1",
|
||
"--gif-downsample",
|
||
"4",
|
||
"--gif-scale",
|
||
"1"
|
||
],
|
||
"nodes_per_step": 16777216,
|
||
"steps": 200000,
|
||
"cost": 3355443200000,
|
||
"outputs": [
|
||
"case_csv"
|
||
]
|
||
},
|
||
{
|
||
"id": "B01_cyl_re20",
|
||
"group": "B",
|
||
"title": "Цилиндр Re=20, стационар, D=48",
|
||
"expect": "Cd выходит на постоянную; сравнение с литературой по стационарному обтеканию",
|
||
"backend": "gpu",
|
||
"args": [
|
||
"--shape",
|
||
"cylinder",
|
||
"--size",
|
||
"48",
|
||
"--nx",
|
||
"960",
|
||
"--ny",
|
||
"576",
|
||
"--body-x",
|
||
"192",
|
||
"--re",
|
||
"20",
|
||
"--refine",
|
||
"1",
|
||
"--pert-amp",
|
||
"0",
|
||
"--steps",
|
||
"115200",
|
||
"--backend",
|
||
"gpu",
|
||
"--gif",
|
||
"cyl_re20.gif",
|
||
"--gif-field",
|
||
"vorticity",
|
||
"--gif-every",
|
||
"auto",
|
||
"--gif-fps",
|
||
"10",
|
||
"--gif-speed",
|
||
"1",
|
||
"--gif-downsample",
|
||
"1",
|
||
"--gif-scale",
|
||
"1"
|
||
],
|
||
"nodes_per_step": 552960,
|
||
"steps": 115200,
|
||
"cost": 63700992000,
|
||
"outputs": []
|
||
},
|
||
{
|
||
"id": "B02_cyl_re40",
|
||
"group": "B",
|
||
"title": "Цилиндр Re=40, стационар, D=48",
|
||
"expect": "Cd выходит на постоянную; сравнение с литературой по стационарному обтеканию",
|
||
"backend": "gpu",
|
||
"args": [
|
||
"--shape",
|
||
"cylinder",
|
||
"--size",
|
||
"48",
|
||
"--nx",
|
||
"960",
|
||
"--ny",
|
||
"576",
|
||
"--body-x",
|
||
"192",
|
||
"--re",
|
||
"40",
|
||
"--refine",
|
||
"1",
|
||
"--pert-amp",
|
||
"0",
|
||
"--steps",
|
||
"115200",
|
||
"--backend",
|
||
"gpu",
|
||
"--gif",
|
||
"cyl_re40.gif",
|
||
"--gif-field",
|
||
"vorticity",
|
||
"--gif-every",
|
||
"auto",
|
||
"--gif-fps",
|
||
"10",
|
||
"--gif-speed",
|
||
"1",
|
||
"--gif-downsample",
|
||
"1",
|
||
"--gif-scale",
|
||
"1"
|
||
],
|
||
"nodes_per_step": 552960,
|
||
"steps": 115200,
|
||
"cost": 63700992000,
|
||
"outputs": []
|
||
},
|
||
{
|
||
"id": "B03_cyl_re100",
|
||
"group": "B",
|
||
"title": "Цилиндр Re=100, дорожка Кармана, D=64, 1500 конв. времён",
|
||
"expect": "St≈0.183 и ⟨Cd⟩≈1.33 при Re=150 после поправки на блокировку",
|
||
"backend": "gpu",
|
||
"args": [
|
||
"--shape",
|
||
"cylinder",
|
||
"--size",
|
||
"64",
|
||
"--nx",
|
||
"1280",
|
||
"--ny",
|
||
"768",
|
||
"--body-x",
|
||
"256",
|
||
"--re",
|
||
"100",
|
||
"--refine",
|
||
"1",
|
||
"--steps",
|
||
"3840000",
|
||
"--backend",
|
||
"gpu",
|
||
"--series-every",
|
||
"19",
|
||
"--gif",
|
||
"cyl_re100.gif",
|
||
"--gif-field",
|
||
"vorticity",
|
||
"--gif-every",
|
||
"auto",
|
||
"--gif-fps",
|
||
"10",
|
||
"--gif-speed",
|
||
"1",
|
||
"--gif-downsample",
|
||
"2",
|
||
"--gif-scale",
|
||
"1"
|
||
],
|
||
"nodes_per_step": 983040,
|
||
"steps": 3840000,
|
||
"cost": 3774873600000,
|
||
"outputs": []
|
||
},
|
||
{
|
||
"id": "B04_cyl_re150",
|
||
"group": "B",
|
||
"title": "Цилиндр Re=150, дорожка Кармана, D=64, 1500 конв. времён",
|
||
"expect": "St≈0.183 и ⟨Cd⟩≈1.33 при Re=150 после поправки на блокировку",
|
||
"backend": "gpu",
|
||
"args": [
|
||
"--shape",
|
||
"cylinder",
|
||
"--size",
|
||
"64",
|
||
"--nx",
|
||
"1280",
|
||
"--ny",
|
||
"768",
|
||
"--body-x",
|
||
"256",
|
||
"--re",
|
||
"150",
|
||
"--refine",
|
||
"1",
|
||
"--steps",
|
||
"3840000",
|
||
"--backend",
|
||
"gpu",
|
||
"--series-every",
|
||
"19",
|
||
"--gif",
|
||
"cyl_re150.gif",
|
||
"--gif-field",
|
||
"vorticity",
|
||
"--gif-every",
|
||
"auto",
|
||
"--gif-fps",
|
||
"10",
|
||
"--gif-speed",
|
||
"1",
|
||
"--gif-downsample",
|
||
"2",
|
||
"--gif-scale",
|
||
"1"
|
||
],
|
||
"nodes_per_step": 983040,
|
||
"steps": 3840000,
|
||
"cost": 3774873600000,
|
||
"outputs": []
|
||
},
|
||
{
|
||
"id": "B05_cyl_re200",
|
||
"group": "B",
|
||
"title": "Цилиндр Re=200, дорожка Кармана, D=64, 1500 конв. времён",
|
||
"expect": "St≈0.183 и ⟨Cd⟩≈1.33 при Re=150 после поправки на блокировку",
|
||
"backend": "gpu",
|
||
"args": [
|
||
"--shape",
|
||
"cylinder",
|
||
"--size",
|
||
"64",
|
||
"--nx",
|
||
"1280",
|
||
"--ny",
|
||
"768",
|
||
"--body-x",
|
||
"256",
|
||
"--re",
|
||
"200",
|
||
"--refine",
|
||
"1",
|
||
"--steps",
|
||
"3840000",
|
||
"--backend",
|
||
"gpu",
|
||
"--series-every",
|
||
"19",
|
||
"--gif",
|
||
"cyl_re200.gif",
|
||
"--gif-field",
|
||
"vorticity",
|
||
"--gif-every",
|
||
"auto",
|
||
"--gif-fps",
|
||
"10",
|
||
"--gif-speed",
|
||
"1",
|
||
"--gif-downsample",
|
||
"2",
|
||
"--gif-scale",
|
||
"1"
|
||
],
|
||
"nodes_per_step": 983040,
|
||
"steps": 3840000,
|
||
"cost": 3774873600000,
|
||
"outputs": []
|
||
},
|
||
{
|
||
"id": "B06_cyl_re300",
|
||
"group": "B",
|
||
"title": "Цилиндр Re=300, дорожка Кармана, D=64, 1500 конв. времён",
|
||
"expect": "St≈0.183 и ⟨Cd⟩≈1.33 при Re=150 после поправки на блокировку",
|
||
"backend": "gpu",
|
||
"args": [
|
||
"--shape",
|
||
"cylinder",
|
||
"--size",
|
||
"64",
|
||
"--nx",
|
||
"1280",
|
||
"--ny",
|
||
"768",
|
||
"--body-x",
|
||
"256",
|
||
"--re",
|
||
"300",
|
||
"--refine",
|
||
"1",
|
||
"--steps",
|
||
"3840000",
|
||
"--backend",
|
||
"gpu",
|
||
"--series-every",
|
||
"19",
|
||
"--gif",
|
||
"cyl_re300.gif",
|
||
"--gif-field",
|
||
"vorticity",
|
||
"--gif-every",
|
||
"auto",
|
||
"--gif-fps",
|
||
"10",
|
||
"--gif-speed",
|
||
"1",
|
||
"--gif-downsample",
|
||
"2",
|
||
"--gif-scale",
|
||
"1"
|
||
],
|
||
"nodes_per_step": 983040,
|
||
"steps": 3840000,
|
||
"cost": 3774873600000,
|
||
"outputs": []
|
||
},
|
||
{
|
||
"id": "B07_cyl_d16",
|
||
"group": "B",
|
||
"title": "Цилиндр Re=150, разрешение D=16",
|
||
"expect": "Cd сходится по D; экстраполяция даёт сеточно-независимое значение",
|
||
"backend": "gpu",
|
||
"args": [
|
||
"--shape",
|
||
"cylinder",
|
||
"--size",
|
||
"16",
|
||
"--nx",
|
||
"320",
|
||
"--ny",
|
||
"192",
|
||
"--body-x",
|
||
"64",
|
||
"--re",
|
||
"150",
|
||
"--refine",
|
||
"1",
|
||
"--steps",
|
||
"512000",
|
||
"--backend",
|
||
"gpu",
|
||
"--series-every",
|
||
"2",
|
||
"--gif",
|
||
"cyl_d16.gif",
|
||
"--gif-field",
|
||
"vorticity",
|
||
"--gif-every",
|
||
"auto",
|
||
"--gif-fps",
|
||
"10",
|
||
"--gif-speed",
|
||
"1",
|
||
"--gif-downsample",
|
||
"1",
|
||
"--gif-scale",
|
||
"1"
|
||
],
|
||
"nodes_per_step": 61440,
|
||
"steps": 512000,
|
||
"cost": 31457280000,
|
||
"outputs": []
|
||
},
|
||
{
|
||
"id": "B08_cyl_d32",
|
||
"group": "B",
|
||
"title": "Цилиндр Re=150, разрешение D=32",
|
||
"expect": "Cd сходится по D; экстраполяция даёт сеточно-независимое значение",
|
||
"backend": "gpu",
|
||
"args": [
|
||
"--shape",
|
||
"cylinder",
|
||
"--size",
|
||
"32",
|
||
"--nx",
|
||
"640",
|
||
"--ny",
|
||
"384",
|
||
"--body-x",
|
||
"128",
|
||
"--re",
|
||
"150",
|
||
"--refine",
|
||
"1",
|
||
"--steps",
|
||
"1024000",
|
||
"--backend",
|
||
"gpu",
|
||
"--series-every",
|
||
"5",
|
||
"--gif",
|
||
"cyl_d32.gif",
|
||
"--gif-field",
|
||
"vorticity",
|
||
"--gif-every",
|
||
"auto",
|
||
"--gif-fps",
|
||
"10",
|
||
"--gif-speed",
|
||
"1",
|
||
"--gif-downsample",
|
||
"1",
|
||
"--gif-scale",
|
||
"1"
|
||
],
|
||
"nodes_per_step": 245760,
|
||
"steps": 1024000,
|
||
"cost": 251658240000,
|
||
"outputs": []
|
||
},
|
||
{
|
||
"id": "B09_cyl_d64",
|
||
"group": "B",
|
||
"title": "Цилиндр Re=150, разрешение D=64",
|
||
"expect": "Cd сходится по D; экстраполяция даёт сеточно-независимое значение",
|
||
"backend": "gpu",
|
||
"args": [
|
||
"--shape",
|
||
"cylinder",
|
||
"--size",
|
||
"64",
|
||
"--nx",
|
||
"1280",
|
||
"--ny",
|
||
"768",
|
||
"--body-x",
|
||
"256",
|
||
"--re",
|
||
"150",
|
||
"--refine",
|
||
"1",
|
||
"--steps",
|
||
"2048000",
|
||
"--backend",
|
||
"gpu",
|
||
"--series-every",
|
||
"10",
|
||
"--gif",
|
||
"cyl_d64.gif",
|
||
"--gif-field",
|
||
"vorticity",
|
||
"--gif-every",
|
||
"auto",
|
||
"--gif-fps",
|
||
"10",
|
||
"--gif-speed",
|
||
"1",
|
||
"--gif-downsample",
|
||
"2",
|
||
"--gif-scale",
|
||
"1"
|
||
],
|
||
"nodes_per_step": 983040,
|
||
"steps": 2048000,
|
||
"cost": 2013265920000,
|
||
"outputs": []
|
||
},
|
||
{
|
||
"id": "B10_cyl_d128",
|
||
"group": "B",
|
||
"title": "Цилиндр Re=150, разрешение D=128",
|
||
"expect": "Cd сходится по D; экстраполяция даёт сеточно-независимое значение",
|
||
"backend": "gpu",
|
||
"args": [
|
||
"--shape",
|
||
"cylinder",
|
||
"--size",
|
||
"128",
|
||
"--nx",
|
||
"2560",
|
||
"--ny",
|
||
"1536",
|
||
"--body-x",
|
||
"512",
|
||
"--re",
|
||
"150",
|
||
"--refine",
|
||
"1",
|
||
"--steps",
|
||
"4096000",
|
||
"--backend",
|
||
"gpu",
|
||
"--series-every",
|
||
"20",
|
||
"--gif",
|
||
"cyl_d128.gif",
|
||
"--gif-field",
|
||
"vorticity",
|
||
"--gif-every",
|
||
"auto",
|
||
"--gif-fps",
|
||
"10",
|
||
"--gif-speed",
|
||
"1",
|
||
"--gif-downsample",
|
||
"5",
|
||
"--gif-scale",
|
||
"1"
|
||
],
|
||
"nodes_per_step": 3932160,
|
||
"steps": 4096000,
|
||
"cost": 16106127360000,
|
||
"outputs": []
|
||
},
|
||
{
|
||
"id": "B11_cyl_block6",
|
||
"group": "B",
|
||
"title": "Цилиндр Re=150, блокировка Ny/D=6",
|
||
"expect": "экстраполяция Cd и St к нулевой блокировке; ожидание — сходимость к 1.33 и 0.183",
|
||
"backend": "gpu",
|
||
"args": [
|
||
"--shape",
|
||
"cylinder",
|
||
"--size",
|
||
"48",
|
||
"--nx",
|
||
"960",
|
||
"--ny",
|
||
"288",
|
||
"--body-x",
|
||
"192",
|
||
"--re",
|
||
"150",
|
||
"--refine",
|
||
"1",
|
||
"--steps",
|
||
"1920000",
|
||
"--backend",
|
||
"gpu",
|
||
"--series-every",
|
||
"9"
|
||
],
|
||
"nodes_per_step": 276480,
|
||
"steps": 1920000,
|
||
"cost": 530841600000,
|
||
"outputs": []
|
||
},
|
||
{
|
||
"id": "B12_cyl_block8",
|
||
"group": "B",
|
||
"title": "Цилиндр Re=150, блокировка Ny/D=8",
|
||
"expect": "экстраполяция Cd и St к нулевой блокировке; ожидание — сходимость к 1.33 и 0.183",
|
||
"backend": "gpu",
|
||
"args": [
|
||
"--shape",
|
||
"cylinder",
|
||
"--size",
|
||
"48",
|
||
"--nx",
|
||
"960",
|
||
"--ny",
|
||
"384",
|
||
"--body-x",
|
||
"192",
|
||
"--re",
|
||
"150",
|
||
"--refine",
|
||
"1",
|
||
"--steps",
|
||
"1920000",
|
||
"--backend",
|
||
"gpu",
|
||
"--series-every",
|
||
"9"
|
||
],
|
||
"nodes_per_step": 368640,
|
||
"steps": 1920000,
|
||
"cost": 707788800000,
|
||
"outputs": []
|
||
},
|
||
{
|
||
"id": "B13_cyl_block12",
|
||
"group": "B",
|
||
"title": "Цилиндр Re=150, блокировка Ny/D=12",
|
||
"expect": "экстраполяция Cd и St к нулевой блокировке; ожидание — сходимость к 1.33 и 0.183",
|
||
"backend": "gpu",
|
||
"args": [
|
||
"--shape",
|
||
"cylinder",
|
||
"--size",
|
||
"48",
|
||
"--nx",
|
||
"960",
|
||
"--ny",
|
||
"576",
|
||
"--body-x",
|
||
"192",
|
||
"--re",
|
||
"150",
|
||
"--refine",
|
||
"1",
|
||
"--steps",
|
||
"1920000",
|
||
"--backend",
|
||
"gpu",
|
||
"--series-every",
|
||
"9"
|
||
],
|
||
"nodes_per_step": 552960,
|
||
"steps": 1920000,
|
||
"cost": 1061683200000,
|
||
"outputs": []
|
||
},
|
||
{
|
||
"id": "B14_cyl_block16",
|
||
"group": "B",
|
||
"title": "Цилиндр Re=150, блокировка Ny/D=16",
|
||
"expect": "экстраполяция Cd и St к нулевой блокировке; ожидание — сходимость к 1.33 и 0.183",
|
||
"backend": "gpu",
|
||
"args": [
|
||
"--shape",
|
||
"cylinder",
|
||
"--size",
|
||
"48",
|
||
"--nx",
|
||
"960",
|
||
"--ny",
|
||
"768",
|
||
"--body-x",
|
||
"192",
|
||
"--re",
|
||
"150",
|
||
"--refine",
|
||
"1",
|
||
"--steps",
|
||
"1920000",
|
||
"--backend",
|
||
"gpu",
|
||
"--series-every",
|
||
"9"
|
||
],
|
||
"nodes_per_step": 737280,
|
||
"steps": 1920000,
|
||
"cost": 1415577600000,
|
||
"outputs": []
|
||
},
|
||
{
|
||
"id": "B15_cyl_block24",
|
||
"group": "B",
|
||
"title": "Цилиндр Re=150, блокировка Ny/D=24",
|
||
"expect": "экстраполяция Cd и St к нулевой блокировке; ожидание — сходимость к 1.33 и 0.183",
|
||
"backend": "gpu",
|
||
"args": [
|
||
"--shape",
|
||
"cylinder",
|
||
"--size",
|
||
"48",
|
||
"--nx",
|
||
"960",
|
||
"--ny",
|
||
"1152",
|
||
"--body-x",
|
||
"192",
|
||
"--re",
|
||
"150",
|
||
"--refine",
|
||
"1",
|
||
"--steps",
|
||
"1920000",
|
||
"--backend",
|
||
"gpu",
|
||
"--series-every",
|
||
"9"
|
||
],
|
||
"nodes_per_step": 1105920,
|
||
"steps": 1920000,
|
||
"cost": 2123366400000,
|
||
"outputs": []
|
||
},
|
||
{
|
||
"id": "B16_cyl_block32",
|
||
"group": "B",
|
||
"title": "Цилиндр Re=150, блокировка Ny/D=32",
|
||
"expect": "экстраполяция Cd и St к нулевой блокировке; ожидание — сходимость к 1.33 и 0.183",
|
||
"backend": "gpu",
|
||
"args": [
|
||
"--shape",
|
||
"cylinder",
|
||
"--size",
|
||
"48",
|
||
"--nx",
|
||
"960",
|
||
"--ny",
|
||
"1536",
|
||
"--body-x",
|
||
"192",
|
||
"--re",
|
||
"150",
|
||
"--refine",
|
||
"1",
|
||
"--steps",
|
||
"1920000",
|
||
"--backend",
|
||
"gpu",
|
||
"--series-every",
|
||
"9"
|
||
],
|
||
"nodes_per_step": 1474560,
|
||
"steps": 1920000,
|
||
"cost": 2831155200000,
|
||
"outputs": []
|
||
},
|
||
{
|
||
"id": "C01_wall_hrr_re150",
|
||
"group": "C",
|
||
"title": "Модель стенки hrr, Re=150",
|
||
"expect": "все субсеточные модели обязаны сойтись к одному пределу; staircase — база",
|
||
"backend": "gpu",
|
||
"args": [
|
||
"--shape",
|
||
"cylinder",
|
||
"--size",
|
||
"32",
|
||
"--nx",
|
||
"640",
|
||
"--ny",
|
||
"384",
|
||
"--body-x",
|
||
"128",
|
||
"--re",
|
||
"150",
|
||
"--refine",
|
||
"1",
|
||
"--wall",
|
||
"hrr",
|
||
"--steps",
|
||
"512000",
|
||
"--backend",
|
||
"gpu",
|
||
"--series-every",
|
||
"2",
|
||
"--gif",
|
||
"wall_hrr_re150.gif",
|
||
"--gif-field",
|
||
"vorticity",
|
||
"--gif-every",
|
||
"auto",
|
||
"--gif-fps",
|
||
"10",
|
||
"--gif-speed",
|
||
"1",
|
||
"--gif-downsample",
|
||
"1",
|
||
"--gif-scale",
|
||
"1"
|
||
],
|
||
"nodes_per_step": 245760,
|
||
"steps": 512000,
|
||
"cost": 125829120000,
|
||
"outputs": []
|
||
},
|
||
{
|
||
"id": "C02_wall_hrr_re2000",
|
||
"group": "C",
|
||
"title": "Модель стенки hrr, Re=2000",
|
||
"expect": "все субсеточные модели обязаны сойтись к одному пределу; staircase — база",
|
||
"backend": "gpu",
|
||
"args": [
|
||
"--shape",
|
||
"cylinder",
|
||
"--size",
|
||
"32",
|
||
"--nx",
|
||
"640",
|
||
"--ny",
|
||
"384",
|
||
"--body-x",
|
||
"128",
|
||
"--re",
|
||
"2000",
|
||
"--refine",
|
||
"1",
|
||
"--wall",
|
||
"hrr",
|
||
"--steps",
|
||
"512000",
|
||
"--backend",
|
||
"gpu",
|
||
"--series-every",
|
||
"2"
|
||
],
|
||
"nodes_per_step": 245760,
|
||
"steps": 512000,
|
||
"cost": 125829120000,
|
||
"outputs": []
|
||
},
|
||
{
|
||
"id": "C03_wall_grad_re150",
|
||
"group": "C",
|
||
"title": "Модель стенки grad, Re=150",
|
||
"expect": "все субсеточные модели обязаны сойтись к одному пределу; staircase — база",
|
||
"backend": "gpu",
|
||
"args": [
|
||
"--shape",
|
||
"cylinder",
|
||
"--size",
|
||
"32",
|
||
"--nx",
|
||
"640",
|
||
"--ny",
|
||
"384",
|
||
"--body-x",
|
||
"128",
|
||
"--re",
|
||
"150",
|
||
"--refine",
|
||
"1",
|
||
"--wall",
|
||
"grad",
|
||
"--steps",
|
||
"512000",
|
||
"--backend",
|
||
"gpu",
|
||
"--series-every",
|
||
"2",
|
||
"--gif",
|
||
"wall_grad_re150.gif",
|
||
"--gif-field",
|
||
"vorticity",
|
||
"--gif-every",
|
||
"auto",
|
||
"--gif-fps",
|
||
"10",
|
||
"--gif-speed",
|
||
"1",
|
||
"--gif-downsample",
|
||
"1",
|
||
"--gif-scale",
|
||
"1"
|
||
],
|
||
"nodes_per_step": 245760,
|
||
"steps": 512000,
|
||
"cost": 125829120000,
|
||
"outputs": []
|
||
},
|
||
{
|
||
"id": "C04_wall_grad_re2000",
|
||
"group": "C",
|
||
"title": "Модель стенки grad, Re=2000",
|
||
"expect": "все субсеточные модели обязаны сойтись к одному пределу; staircase — база",
|
||
"backend": "gpu",
|
||
"args": [
|
||
"--shape",
|
||
"cylinder",
|
||
"--size",
|
||
"32",
|
||
"--nx",
|
||
"640",
|
||
"--ny",
|
||
"384",
|
||
"--body-x",
|
||
"128",
|
||
"--re",
|
||
"2000",
|
||
"--refine",
|
||
"1",
|
||
"--wall",
|
||
"grad",
|
||
"--steps",
|
||
"512000",
|
||
"--backend",
|
||
"gpu",
|
||
"--series-every",
|
||
"2"
|
||
],
|
||
"nodes_per_step": 245760,
|
||
"steps": 512000,
|
||
"cost": 125829120000,
|
||
"outputs": []
|
||
},
|
||
{
|
||
"id": "C05_wall_bouzidi_re150",
|
||
"group": "C",
|
||
"title": "Модель стенки bouzidi, Re=150",
|
||
"expect": "все субсеточные модели обязаны сойтись к одному пределу; staircase — база",
|
||
"backend": "gpu",
|
||
"args": [
|
||
"--shape",
|
||
"cylinder",
|
||
"--size",
|
||
"32",
|
||
"--nx",
|
||
"640",
|
||
"--ny",
|
||
"384",
|
||
"--body-x",
|
||
"128",
|
||
"--re",
|
||
"150",
|
||
"--refine",
|
||
"1",
|
||
"--wall",
|
||
"bouzidi",
|
||
"--steps",
|
||
"512000",
|
||
"--backend",
|
||
"gpu",
|
||
"--series-every",
|
||
"2",
|
||
"--gif",
|
||
"wall_bouzidi_re150.gif",
|
||
"--gif-field",
|
||
"vorticity",
|
||
"--gif-every",
|
||
"auto",
|
||
"--gif-fps",
|
||
"10",
|
||
"--gif-speed",
|
||
"1",
|
||
"--gif-downsample",
|
||
"1",
|
||
"--gif-scale",
|
||
"1"
|
||
],
|
||
"nodes_per_step": 245760,
|
||
"steps": 512000,
|
||
"cost": 125829120000,
|
||
"outputs": []
|
||
},
|
||
{
|
||
"id": "C06_wall_bouzidi_re2000",
|
||
"group": "C",
|
||
"title": "Модель стенки bouzidi, Re=2000",
|
||
"expect": "все субсеточные модели обязаны сойтись к одному пределу; staircase — база",
|
||
"backend": "gpu",
|
||
"args": [
|
||
"--shape",
|
||
"cylinder",
|
||
"--size",
|
||
"32",
|
||
"--nx",
|
||
"640",
|
||
"--ny",
|
||
"384",
|
||
"--body-x",
|
||
"128",
|
||
"--re",
|
||
"2000",
|
||
"--refine",
|
||
"1",
|
||
"--wall",
|
||
"bouzidi",
|
||
"--steps",
|
||
"512000",
|
||
"--backend",
|
||
"gpu",
|
||
"--series-every",
|
||
"2"
|
||
],
|
||
"nodes_per_step": 245760,
|
||
"steps": 512000,
|
||
"cost": 125829120000,
|
||
"outputs": []
|
||
},
|
||
{
|
||
"id": "C07_wall_staircase_re150",
|
||
"group": "C",
|
||
"title": "Модель стенки staircase, Re=150",
|
||
"expect": "все субсеточные модели обязаны сойтись к одному пределу; staircase — база",
|
||
"backend": "gpu",
|
||
"args": [
|
||
"--shape",
|
||
"cylinder",
|
||
"--size",
|
||
"32",
|
||
"--nx",
|
||
"640",
|
||
"--ny",
|
||
"384",
|
||
"--body-x",
|
||
"128",
|
||
"--re",
|
||
"150",
|
||
"--refine",
|
||
"1",
|
||
"--wall",
|
||
"staircase",
|
||
"--steps",
|
||
"512000",
|
||
"--backend",
|
||
"gpu",
|
||
"--series-every",
|
||
"2",
|
||
"--gif",
|
||
"wall_staircase_re150.gif",
|
||
"--gif-field",
|
||
"vorticity",
|
||
"--gif-every",
|
||
"auto",
|
||
"--gif-fps",
|
||
"10",
|
||
"--gif-speed",
|
||
"1",
|
||
"--gif-downsample",
|
||
"1",
|
||
"--gif-scale",
|
||
"1"
|
||
],
|
||
"nodes_per_step": 245760,
|
||
"steps": 512000,
|
||
"cost": 125829120000,
|
||
"outputs": []
|
||
},
|
||
{
|
||
"id": "C08_wall_staircase_re2000",
|
||
"group": "C",
|
||
"title": "Модель стенки staircase, Re=2000",
|
||
"expect": "все субсеточные модели обязаны сойтись к одному пределу; staircase — база",
|
||
"backend": "gpu",
|
||
"args": [
|
||
"--shape",
|
||
"cylinder",
|
||
"--size",
|
||
"32",
|
||
"--nx",
|
||
"640",
|
||
"--ny",
|
||
"384",
|
||
"--body-x",
|
||
"128",
|
||
"--re",
|
||
"2000",
|
||
"--refine",
|
||
"1",
|
||
"--wall",
|
||
"staircase",
|
||
"--steps",
|
||
"512000",
|
||
"--backend",
|
||
"gpu",
|
||
"--series-every",
|
||
"2"
|
||
],
|
||
"nodes_per_step": 245760,
|
||
"steps": 512000,
|
||
"cost": 125829120000,
|
||
"outputs": []
|
||
},
|
||
{
|
||
"id": "C09_sub_hrr_00",
|
||
"group": "C",
|
||
"title": "Субклеточный сдвиг тела 0.0 клетки, стенка hrr",
|
||
"expect": "разброс Cd по сдвигам: чем субсеточнее модель, тем он меньше",
|
||
"backend": "gpu",
|
||
"args": [
|
||
"--shape",
|
||
"cylinder",
|
||
"--size",
|
||
"16",
|
||
"--nx",
|
||
"320",
|
||
"--ny",
|
||
"192",
|
||
"--body-x",
|
||
"64",
|
||
"--re",
|
||
"20",
|
||
"--refine",
|
||
"1",
|
||
"--body-y",
|
||
"96.0",
|
||
"--wall",
|
||
"hrr",
|
||
"--pert-amp",
|
||
"0",
|
||
"--steps",
|
||
"38400",
|
||
"--backend",
|
||
"gpu"
|
||
],
|
||
"nodes_per_step": 61440,
|
||
"steps": 38400,
|
||
"cost": 2359296000,
|
||
"outputs": []
|
||
},
|
||
{
|
||
"id": "C10_sub_hrr_25",
|
||
"group": "C",
|
||
"title": "Субклеточный сдвиг тела 0.25 клетки, стенка hrr",
|
||
"expect": "разброс Cd по сдвигам: чем субсеточнее модель, тем он меньше",
|
||
"backend": "gpu",
|
||
"args": [
|
||
"--shape",
|
||
"cylinder",
|
||
"--size",
|
||
"16",
|
||
"--nx",
|
||
"320",
|
||
"--ny",
|
||
"192",
|
||
"--body-x",
|
||
"64",
|
||
"--re",
|
||
"20",
|
||
"--refine",
|
||
"1",
|
||
"--body-y",
|
||
"96.25",
|
||
"--wall",
|
||
"hrr",
|
||
"--pert-amp",
|
||
"0",
|
||
"--steps",
|
||
"38400",
|
||
"--backend",
|
||
"gpu"
|
||
],
|
||
"nodes_per_step": 61440,
|
||
"steps": 38400,
|
||
"cost": 2359296000,
|
||
"outputs": []
|
||
},
|
||
{
|
||
"id": "C11_sub_hrr_50",
|
||
"group": "C",
|
||
"title": "Субклеточный сдвиг тела 0.5 клетки, стенка hrr",
|
||
"expect": "разброс Cd по сдвигам: чем субсеточнее модель, тем он меньше",
|
||
"backend": "gpu",
|
||
"args": [
|
||
"--shape",
|
||
"cylinder",
|
||
"--size",
|
||
"16",
|
||
"--nx",
|
||
"320",
|
||
"--ny",
|
||
"192",
|
||
"--body-x",
|
||
"64",
|
||
"--re",
|
||
"20",
|
||
"--refine",
|
||
"1",
|
||
"--body-y",
|
||
"96.5",
|
||
"--wall",
|
||
"hrr",
|
||
"--pert-amp",
|
||
"0",
|
||
"--steps",
|
||
"38400",
|
||
"--backend",
|
||
"gpu"
|
||
],
|
||
"nodes_per_step": 61440,
|
||
"steps": 38400,
|
||
"cost": 2359296000,
|
||
"outputs": []
|
||
},
|
||
{
|
||
"id": "C12_sub_grad_00",
|
||
"group": "C",
|
||
"title": "Субклеточный сдвиг тела 0.0 клетки, стенка grad",
|
||
"expect": "разброс Cd по сдвигам: чем субсеточнее модель, тем он меньше",
|
||
"backend": "gpu",
|
||
"args": [
|
||
"--shape",
|
||
"cylinder",
|
||
"--size",
|
||
"16",
|
||
"--nx",
|
||
"320",
|
||
"--ny",
|
||
"192",
|
||
"--body-x",
|
||
"64",
|
||
"--re",
|
||
"20",
|
||
"--refine",
|
||
"1",
|
||
"--body-y",
|
||
"96.0",
|
||
"--wall",
|
||
"grad",
|
||
"--pert-amp",
|
||
"0",
|
||
"--steps",
|
||
"38400",
|
||
"--backend",
|
||
"gpu"
|
||
],
|
||
"nodes_per_step": 61440,
|
||
"steps": 38400,
|
||
"cost": 2359296000,
|
||
"outputs": []
|
||
},
|
||
{
|
||
"id": "C13_sub_grad_25",
|
||
"group": "C",
|
||
"title": "Субклеточный сдвиг тела 0.25 клетки, стенка grad",
|
||
"expect": "разброс Cd по сдвигам: чем субсеточнее модель, тем он меньше",
|
||
"backend": "gpu",
|
||
"args": [
|
||
"--shape",
|
||
"cylinder",
|
||
"--size",
|
||
"16",
|
||
"--nx",
|
||
"320",
|
||
"--ny",
|
||
"192",
|
||
"--body-x",
|
||
"64",
|
||
"--re",
|
||
"20",
|
||
"--refine",
|
||
"1",
|
||
"--body-y",
|
||
"96.25",
|
||
"--wall",
|
||
"grad",
|
||
"--pert-amp",
|
||
"0",
|
||
"--steps",
|
||
"38400",
|
||
"--backend",
|
||
"gpu"
|
||
],
|
||
"nodes_per_step": 61440,
|
||
"steps": 38400,
|
||
"cost": 2359296000,
|
||
"outputs": []
|
||
},
|
||
{
|
||
"id": "C14_sub_grad_50",
|
||
"group": "C",
|
||
"title": "Субклеточный сдвиг тела 0.5 клетки, стенка grad",
|
||
"expect": "разброс Cd по сдвигам: чем субсеточнее модель, тем он меньше",
|
||
"backend": "gpu",
|
||
"args": [
|
||
"--shape",
|
||
"cylinder",
|
||
"--size",
|
||
"16",
|
||
"--nx",
|
||
"320",
|
||
"--ny",
|
||
"192",
|
||
"--body-x",
|
||
"64",
|
||
"--re",
|
||
"20",
|
||
"--refine",
|
||
"1",
|
||
"--body-y",
|
||
"96.5",
|
||
"--wall",
|
||
"grad",
|
||
"--pert-amp",
|
||
"0",
|
||
"--steps",
|
||
"38400",
|
||
"--backend",
|
||
"gpu"
|
||
],
|
||
"nodes_per_step": 61440,
|
||
"steps": 38400,
|
||
"cost": 2359296000,
|
||
"outputs": []
|
||
},
|
||
{
|
||
"id": "C15_sub_bouzidi_00",
|
||
"group": "C",
|
||
"title": "Субклеточный сдвиг тела 0.0 клетки, стенка bouzidi",
|
||
"expect": "разброс Cd по сдвигам: чем субсеточнее модель, тем он меньше",
|
||
"backend": "gpu",
|
||
"args": [
|
||
"--shape",
|
||
"cylinder",
|
||
"--size",
|
||
"16",
|
||
"--nx",
|
||
"320",
|
||
"--ny",
|
||
"192",
|
||
"--body-x",
|
||
"64",
|
||
"--re",
|
||
"20",
|
||
"--refine",
|
||
"1",
|
||
"--body-y",
|
||
"96.0",
|
||
"--wall",
|
||
"bouzidi",
|
||
"--pert-amp",
|
||
"0",
|
||
"--steps",
|
||
"38400",
|
||
"--backend",
|
||
"gpu"
|
||
],
|
||
"nodes_per_step": 61440,
|
||
"steps": 38400,
|
||
"cost": 2359296000,
|
||
"outputs": []
|
||
},
|
||
{
|
||
"id": "C16_sub_bouzidi_25",
|
||
"group": "C",
|
||
"title": "Субклеточный сдвиг тела 0.25 клетки, стенка bouzidi",
|
||
"expect": "разброс Cd по сдвигам: чем субсеточнее модель, тем он меньше",
|
||
"backend": "gpu",
|
||
"args": [
|
||
"--shape",
|
||
"cylinder",
|
||
"--size",
|
||
"16",
|
||
"--nx",
|
||
"320",
|
||
"--ny",
|
||
"192",
|
||
"--body-x",
|
||
"64",
|
||
"--re",
|
||
"20",
|
||
"--refine",
|
||
"1",
|
||
"--body-y",
|
||
"96.25",
|
||
"--wall",
|
||
"bouzidi",
|
||
"--pert-amp",
|
||
"0",
|
||
"--steps",
|
||
"38400",
|
||
"--backend",
|
||
"gpu"
|
||
],
|
||
"nodes_per_step": 61440,
|
||
"steps": 38400,
|
||
"cost": 2359296000,
|
||
"outputs": []
|
||
},
|
||
{
|
||
"id": "C17_sub_bouzidi_50",
|
||
"group": "C",
|
||
"title": "Субклеточный сдвиг тела 0.5 клетки, стенка bouzidi",
|
||
"expect": "разброс Cd по сдвигам: чем субсеточнее модель, тем он меньше",
|
||
"backend": "gpu",
|
||
"args": [
|
||
"--shape",
|
||
"cylinder",
|
||
"--size",
|
||
"16",
|
||
"--nx",
|
||
"320",
|
||
"--ny",
|
||
"192",
|
||
"--body-x",
|
||
"64",
|
||
"--re",
|
||
"20",
|
||
"--refine",
|
||
"1",
|
||
"--body-y",
|
||
"96.5",
|
||
"--wall",
|
||
"bouzidi",
|
||
"--pert-amp",
|
||
"0",
|
||
"--steps",
|
||
"38400",
|
||
"--backend",
|
||
"gpu"
|
||
],
|
||
"nodes_per_step": 61440,
|
||
"steps": 38400,
|
||
"cost": 2359296000,
|
||
"outputs": []
|
||
},
|
||
{
|
||
"id": "C18_sub_staircase_00",
|
||
"group": "C",
|
||
"title": "Субклеточный сдвиг тела 0.0 клетки, стенка staircase",
|
||
"expect": "разброс Cd по сдвигам: чем субсеточнее модель, тем он меньше",
|
||
"backend": "gpu",
|
||
"args": [
|
||
"--shape",
|
||
"cylinder",
|
||
"--size",
|
||
"16",
|
||
"--nx",
|
||
"320",
|
||
"--ny",
|
||
"192",
|
||
"--body-x",
|
||
"64",
|
||
"--re",
|
||
"20",
|
||
"--refine",
|
||
"1",
|
||
"--body-y",
|
||
"96.0",
|
||
"--wall",
|
||
"staircase",
|
||
"--pert-amp",
|
||
"0",
|
||
"--steps",
|
||
"38400",
|
||
"--backend",
|
||
"gpu"
|
||
],
|
||
"nodes_per_step": 61440,
|
||
"steps": 38400,
|
||
"cost": 2359296000,
|
||
"outputs": []
|
||
},
|
||
{
|
||
"id": "C19_sub_staircase_25",
|
||
"group": "C",
|
||
"title": "Субклеточный сдвиг тела 0.25 клетки, стенка staircase",
|
||
"expect": "разброс Cd по сдвигам: чем субсеточнее модель, тем он меньше",
|
||
"backend": "gpu",
|
||
"args": [
|
||
"--shape",
|
||
"cylinder",
|
||
"--size",
|
||
"16",
|
||
"--nx",
|
||
"320",
|
||
"--ny",
|
||
"192",
|
||
"--body-x",
|
||
"64",
|
||
"--re",
|
||
"20",
|
||
"--refine",
|
||
"1",
|
||
"--body-y",
|
||
"96.25",
|
||
"--wall",
|
||
"staircase",
|
||
"--pert-amp",
|
||
"0",
|
||
"--steps",
|
||
"38400",
|
||
"--backend",
|
||
"gpu"
|
||
],
|
||
"nodes_per_step": 61440,
|
||
"steps": 38400,
|
||
"cost": 2359296000,
|
||
"outputs": []
|
||
},
|
||
{
|
||
"id": "C20_sub_staircase_50",
|
||
"group": "C",
|
||
"title": "Субклеточный сдвиг тела 0.5 клетки, стенка staircase",
|
||
"expect": "разброс Cd по сдвигам: чем субсеточнее модель, тем он меньше",
|
||
"backend": "gpu",
|
||
"args": [
|
||
"--shape",
|
||
"cylinder",
|
||
"--size",
|
||
"16",
|
||
"--nx",
|
||
"320",
|
||
"--ny",
|
||
"192",
|
||
"--body-x",
|
||
"64",
|
||
"--re",
|
||
"20",
|
||
"--refine",
|
||
"1",
|
||
"--body-y",
|
||
"96.5",
|
||
"--wall",
|
||
"staircase",
|
||
"--pert-amp",
|
||
"0",
|
||
"--steps",
|
||
"38400",
|
||
"--backend",
|
||
"gpu"
|
||
],
|
||
"nodes_per_step": 61440,
|
||
"steps": 38400,
|
||
"cost": 2359296000,
|
||
"outputs": []
|
||
},
|
||
{
|
||
"id": "D01_naca0012_a00",
|
||
"group": "D",
|
||
"title": "NACA 0012, α=0°, Re=1000, хорда 128",
|
||
"expect": "линейный участок Cl(α) и срыв; сравнение с низкорейнольдсовой литературой",
|
||
"backend": "gpu",
|
||
"args": [
|
||
"--shape",
|
||
"naca",
|
||
"--naca",
|
||
"0012",
|
||
"--size",
|
||
"128",
|
||
"--body-angle",
|
||
"0",
|
||
"--nx",
|
||
"2048",
|
||
"--ny",
|
||
"1024",
|
||
"--body-x",
|
||
"512",
|
||
"--re",
|
||
"1000",
|
||
"--refine",
|
||
"1",
|
||
"--steps",
|
||
"2048000",
|
||
"--backend",
|
||
"gpu",
|
||
"--series-every",
|
||
"10",
|
||
"--gif",
|
||
"naca0012_a00.gif",
|
||
"--gif-field",
|
||
"vorticity",
|
||
"--gif-every",
|
||
"auto",
|
||
"--gif-fps",
|
||
"10",
|
||
"--gif-speed",
|
||
"1",
|
||
"--gif-downsample",
|
||
"3",
|
||
"--gif-scale",
|
||
"1"
|
||
],
|
||
"nodes_per_step": 2097152,
|
||
"steps": 2048000,
|
||
"cost": 4294967296000,
|
||
"outputs": []
|
||
},
|
||
{
|
||
"id": "D02_naca0012_a04",
|
||
"group": "D",
|
||
"title": "NACA 0012, α=4°, Re=1000, хорда 128",
|
||
"expect": "линейный участок Cl(α) и срыв; сравнение с низкорейнольдсовой литературой",
|
||
"backend": "gpu",
|
||
"args": [
|
||
"--shape",
|
||
"naca",
|
||
"--naca",
|
||
"0012",
|
||
"--size",
|
||
"128",
|
||
"--body-angle",
|
||
"4",
|
||
"--nx",
|
||
"2048",
|
||
"--ny",
|
||
"1024",
|
||
"--body-x",
|
||
"512",
|
||
"--re",
|
||
"1000",
|
||
"--refine",
|
||
"1",
|
||
"--steps",
|
||
"2048000",
|
||
"--backend",
|
||
"gpu",
|
||
"--series-every",
|
||
"10",
|
||
"--gif",
|
||
"naca0012_a04.gif",
|
||
"--gif-field",
|
||
"vorticity",
|
||
"--gif-every",
|
||
"auto",
|
||
"--gif-fps",
|
||
"10",
|
||
"--gif-speed",
|
||
"1",
|
||
"--gif-downsample",
|
||
"3",
|
||
"--gif-scale",
|
||
"1"
|
||
],
|
||
"nodes_per_step": 2097152,
|
||
"steps": 2048000,
|
||
"cost": 4294967296000,
|
||
"outputs": []
|
||
},
|
||
{
|
||
"id": "D03_naca0012_a08",
|
||
"group": "D",
|
||
"title": "NACA 0012, α=8°, Re=1000, хорда 128",
|
||
"expect": "линейный участок Cl(α) и срыв; сравнение с низкорейнольдсовой литературой",
|
||
"backend": "gpu",
|
||
"args": [
|
||
"--shape",
|
||
"naca",
|
||
"--naca",
|
||
"0012",
|
||
"--size",
|
||
"128",
|
||
"--body-angle",
|
||
"8",
|
||
"--nx",
|
||
"2048",
|
||
"--ny",
|
||
"1024",
|
||
"--body-x",
|
||
"512",
|
||
"--re",
|
||
"1000",
|
||
"--refine",
|
||
"1",
|
||
"--steps",
|
||
"2048000",
|
||
"--backend",
|
||
"gpu",
|
||
"--series-every",
|
||
"10",
|
||
"--gif",
|
||
"naca0012_a08.gif",
|
||
"--gif-field",
|
||
"vorticity",
|
||
"--gif-every",
|
||
"auto",
|
||
"--gif-fps",
|
||
"10",
|
||
"--gif-speed",
|
||
"1",
|
||
"--gif-downsample",
|
||
"3",
|
||
"--gif-scale",
|
||
"1"
|
||
],
|
||
"nodes_per_step": 2097152,
|
||
"steps": 2048000,
|
||
"cost": 4294967296000,
|
||
"outputs": []
|
||
},
|
||
{
|
||
"id": "D04_naca0012_a12",
|
||
"group": "D",
|
||
"title": "NACA 0012, α=12°, Re=1000, хорда 128",
|
||
"expect": "линейный участок Cl(α) и срыв; сравнение с низкорейнольдсовой литературой",
|
||
"backend": "gpu",
|
||
"args": [
|
||
"--shape",
|
||
"naca",
|
||
"--naca",
|
||
"0012",
|
||
"--size",
|
||
"128",
|
||
"--body-angle",
|
||
"12",
|
||
"--nx",
|
||
"2048",
|
||
"--ny",
|
||
"1024",
|
||
"--body-x",
|
||
"512",
|
||
"--re",
|
||
"1000",
|
||
"--refine",
|
||
"1",
|
||
"--steps",
|
||
"2048000",
|
||
"--backend",
|
||
"gpu",
|
||
"--series-every",
|
||
"10",
|
||
"--gif",
|
||
"naca0012_a12.gif",
|
||
"--gif-field",
|
||
"vorticity",
|
||
"--gif-every",
|
||
"auto",
|
||
"--gif-fps",
|
||
"10",
|
||
"--gif-speed",
|
||
"1",
|
||
"--gif-downsample",
|
||
"3",
|
||
"--gif-scale",
|
||
"1"
|
||
],
|
||
"nodes_per_step": 2097152,
|
||
"steps": 2048000,
|
||
"cost": 4294967296000,
|
||
"outputs": []
|
||
},
|
||
{
|
||
"id": "D05_naca0012_a16",
|
||
"group": "D",
|
||
"title": "NACA 0012, α=16°, Re=1000, хорда 128",
|
||
"expect": "линейный участок Cl(α) и срыв; сравнение с низкорейнольдсовой литературой",
|
||
"backend": "gpu",
|
||
"args": [
|
||
"--shape",
|
||
"naca",
|
||
"--naca",
|
||
"0012",
|
||
"--size",
|
||
"128",
|
||
"--body-angle",
|
||
"16",
|
||
"--nx",
|
||
"2048",
|
||
"--ny",
|
||
"1024",
|
||
"--body-x",
|
||
"512",
|
||
"--re",
|
||
"1000",
|
||
"--refine",
|
||
"1",
|
||
"--steps",
|
||
"2048000",
|
||
"--backend",
|
||
"gpu",
|
||
"--series-every",
|
||
"10",
|
||
"--gif",
|
||
"naca0012_a16.gif",
|
||
"--gif-field",
|
||
"vorticity",
|
||
"--gif-every",
|
||
"auto",
|
||
"--gif-fps",
|
||
"10",
|
||
"--gif-speed",
|
||
"1",
|
||
"--gif-downsample",
|
||
"3",
|
||
"--gif-scale",
|
||
"1"
|
||
],
|
||
"nodes_per_step": 2097152,
|
||
"steps": 2048000,
|
||
"cost": 4294967296000,
|
||
"outputs": []
|
||
},
|
||
{
|
||
"id": "D06_naca0012_re500",
|
||
"group": "D",
|
||
"title": "NACA 0012, α=8°, Re=500",
|
||
"expect": "перестройка следа с ростом Re; проверка устойчивости на профиле",
|
||
"backend": "gpu",
|
||
"args": [
|
||
"--shape",
|
||
"naca",
|
||
"--naca",
|
||
"0012",
|
||
"--size",
|
||
"128",
|
||
"--body-angle",
|
||
"8",
|
||
"--nx",
|
||
"2048",
|
||
"--ny",
|
||
"1024",
|
||
"--body-x",
|
||
"512",
|
||
"--re",
|
||
"500",
|
||
"--refine",
|
||
"1",
|
||
"--steps",
|
||
"2048000",
|
||
"--backend",
|
||
"gpu",
|
||
"--series-every",
|
||
"10",
|
||
"--gif",
|
||
"naca0012_re500.gif",
|
||
"--gif-field",
|
||
"vorticity",
|
||
"--gif-every",
|
||
"auto",
|
||
"--gif-fps",
|
||
"10",
|
||
"--gif-speed",
|
||
"1",
|
||
"--gif-downsample",
|
||
"3",
|
||
"--gif-scale",
|
||
"1"
|
||
],
|
||
"nodes_per_step": 2097152,
|
||
"steps": 2048000,
|
||
"cost": 4294967296000,
|
||
"outputs": []
|
||
},
|
||
{
|
||
"id": "D07_naca0012_re2000",
|
||
"group": "D",
|
||
"title": "NACA 0012, α=8°, Re=2000",
|
||
"expect": "перестройка следа с ростом Re; проверка устойчивости на профиле",
|
||
"backend": "gpu",
|
||
"args": [
|
||
"--shape",
|
||
"naca",
|
||
"--naca",
|
||
"0012",
|
||
"--size",
|
||
"128",
|
||
"--body-angle",
|
||
"8",
|
||
"--nx",
|
||
"2048",
|
||
"--ny",
|
||
"1024",
|
||
"--body-x",
|
||
"512",
|
||
"--re",
|
||
"2000",
|
||
"--refine",
|
||
"1",
|
||
"--steps",
|
||
"2048000",
|
||
"--backend",
|
||
"gpu",
|
||
"--series-every",
|
||
"10",
|
||
"--gif",
|
||
"naca0012_re2000.gif",
|
||
"--gif-field",
|
||
"vorticity",
|
||
"--gif-every",
|
||
"auto",
|
||
"--gif-fps",
|
||
"10",
|
||
"--gif-speed",
|
||
"1",
|
||
"--gif-downsample",
|
||
"3",
|
||
"--gif-scale",
|
||
"1"
|
||
],
|
||
"nodes_per_step": 2097152,
|
||
"steps": 2048000,
|
||
"cost": 4294967296000,
|
||
"outputs": []
|
||
},
|
||
{
|
||
"id": "D08_naca0012_re10000",
|
||
"group": "D",
|
||
"title": "NACA 0012, α=8°, Re=10000",
|
||
"expect": "перестройка следа с ростом Re; проверка устойчивости на профиле",
|
||
"backend": "gpu",
|
||
"args": [
|
||
"--shape",
|
||
"naca",
|
||
"--naca",
|
||
"0012",
|
||
"--size",
|
||
"128",
|
||
"--body-angle",
|
||
"8",
|
||
"--nx",
|
||
"2048",
|
||
"--ny",
|
||
"1024",
|
||
"--body-x",
|
||
"512",
|
||
"--re",
|
||
"10000",
|
||
"--refine",
|
||
"1",
|
||
"--steps",
|
||
"2048000",
|
||
"--backend",
|
||
"gpu",
|
||
"--series-every",
|
||
"10",
|
||
"--gif",
|
||
"naca0012_re10000.gif",
|
||
"--gif-field",
|
||
"vorticity",
|
||
"--gif-every",
|
||
"auto",
|
||
"--gif-fps",
|
||
"10",
|
||
"--gif-speed",
|
||
"1",
|
||
"--gif-downsample",
|
||
"3",
|
||
"--gif-scale",
|
||
"1"
|
||
],
|
||
"nodes_per_step": 2097152,
|
||
"steps": 2048000,
|
||
"cost": 4294967296000,
|
||
"outputs": []
|
||
},
|
||
{
|
||
"id": "D09_naca4412_a00",
|
||
"group": "D",
|
||
"title": "NACA 4412 (с изгибом), α=0°, Re=1000",
|
||
"expect": "ненулевой Cl при α=0 — прямая проверка средней линии профиля",
|
||
"backend": "gpu",
|
||
"args": [
|
||
"--shape",
|
||
"naca",
|
||
"--naca",
|
||
"4412",
|
||
"--size",
|
||
"128",
|
||
"--body-angle",
|
||
"0",
|
||
"--nx",
|
||
"2048",
|
||
"--ny",
|
||
"1024",
|
||
"--body-x",
|
||
"512",
|
||
"--re",
|
||
"1000",
|
||
"--refine",
|
||
"1",
|
||
"--steps",
|
||
"2048000",
|
||
"--backend",
|
||
"gpu",
|
||
"--series-every",
|
||
"10",
|
||
"--gif",
|
||
"naca4412_a00.gif",
|
||
"--gif-field",
|
||
"vorticity",
|
||
"--gif-every",
|
||
"auto",
|
||
"--gif-fps",
|
||
"10",
|
||
"--gif-speed",
|
||
"1",
|
||
"--gif-downsample",
|
||
"3",
|
||
"--gif-scale",
|
||
"1"
|
||
],
|
||
"nodes_per_step": 2097152,
|
||
"steps": 2048000,
|
||
"cost": 4294967296000,
|
||
"outputs": []
|
||
},
|
||
{
|
||
"id": "D10_naca4412_a06",
|
||
"group": "D",
|
||
"title": "NACA 4412 (с изгибом), α=6°, Re=1000",
|
||
"expect": "ненулевой Cl при α=0 — прямая проверка средней линии профиля",
|
||
"backend": "gpu",
|
||
"args": [
|
||
"--shape",
|
||
"naca",
|
||
"--naca",
|
||
"4412",
|
||
"--size",
|
||
"128",
|
||
"--body-angle",
|
||
"6",
|
||
"--nx",
|
||
"2048",
|
||
"--ny",
|
||
"1024",
|
||
"--body-x",
|
||
"512",
|
||
"--re",
|
||
"1000",
|
||
"--refine",
|
||
"1",
|
||
"--steps",
|
||
"2048000",
|
||
"--backend",
|
||
"gpu",
|
||
"--series-every",
|
||
"10",
|
||
"--gif",
|
||
"naca4412_a06.gif",
|
||
"--gif-field",
|
||
"vorticity",
|
||
"--gif-every",
|
||
"auto",
|
||
"--gif-fps",
|
||
"10",
|
||
"--gif-speed",
|
||
"1",
|
||
"--gif-downsample",
|
||
"3",
|
||
"--gif-scale",
|
||
"1"
|
||
],
|
||
"nodes_per_step": 2097152,
|
||
"steps": 2048000,
|
||
"cost": 4294967296000,
|
||
"outputs": []
|
||
},
|
||
{
|
||
"id": "D11_naca4412_a12",
|
||
"group": "D",
|
||
"title": "NACA 4412 (с изгибом), α=12°, Re=1000",
|
||
"expect": "ненулевой Cl при α=0 — прямая проверка средней линии профиля",
|
||
"backend": "gpu",
|
||
"args": [
|
||
"--shape",
|
||
"naca",
|
||
"--naca",
|
||
"4412",
|
||
"--size",
|
||
"128",
|
||
"--body-angle",
|
||
"12",
|
||
"--nx",
|
||
"2048",
|
||
"--ny",
|
||
"1024",
|
||
"--body-x",
|
||
"512",
|
||
"--re",
|
||
"1000",
|
||
"--refine",
|
||
"1",
|
||
"--steps",
|
||
"2048000",
|
||
"--backend",
|
||
"gpu",
|
||
"--series-every",
|
||
"10",
|
||
"--gif",
|
||
"naca4412_a12.gif",
|
||
"--gif-field",
|
||
"vorticity",
|
||
"--gif-every",
|
||
"auto",
|
||
"--gif-fps",
|
||
"10",
|
||
"--gif-speed",
|
||
"1",
|
||
"--gif-downsample",
|
||
"3",
|
||
"--gif-scale",
|
||
"1"
|
||
],
|
||
"nodes_per_step": 2097152,
|
||
"steps": 2048000,
|
||
"cost": 4294967296000,
|
||
"outputs": []
|
||
},
|
||
{
|
||
"id": "D12_naca_chord48",
|
||
"group": "D",
|
||
"title": "NACA 0012, α=8°, сходимость по хорде 48",
|
||
"expect": "Cl и Cd сходятся по разрешению хорды",
|
||
"backend": "gpu",
|
||
"args": [
|
||
"--shape",
|
||
"naca",
|
||
"--naca",
|
||
"0012",
|
||
"--size",
|
||
"48",
|
||
"--body-angle",
|
||
"8",
|
||
"--nx",
|
||
"768",
|
||
"--ny",
|
||
"384",
|
||
"--body-x",
|
||
"192",
|
||
"--re",
|
||
"1000",
|
||
"--refine",
|
||
"1",
|
||
"--steps",
|
||
"576000",
|
||
"--backend",
|
||
"gpu",
|
||
"--series-every",
|
||
"2"
|
||
],
|
||
"nodes_per_step": 294912,
|
||
"steps": 576000,
|
||
"cost": 169869312000,
|
||
"outputs": []
|
||
},
|
||
{
|
||
"id": "D13_naca_chord96",
|
||
"group": "D",
|
||
"title": "NACA 0012, α=8°, сходимость по хорде 96",
|
||
"expect": "Cl и Cd сходятся по разрешению хорды",
|
||
"backend": "gpu",
|
||
"args": [
|
||
"--shape",
|
||
"naca",
|
||
"--naca",
|
||
"0012",
|
||
"--size",
|
||
"96",
|
||
"--body-angle",
|
||
"8",
|
||
"--nx",
|
||
"1536",
|
||
"--ny",
|
||
"768",
|
||
"--body-x",
|
||
"384",
|
||
"--re",
|
||
"1000",
|
||
"--refine",
|
||
"1",
|
||
"--steps",
|
||
"1152000",
|
||
"--backend",
|
||
"gpu",
|
||
"--series-every",
|
||
"5"
|
||
],
|
||
"nodes_per_step": 1179648,
|
||
"steps": 1152000,
|
||
"cost": 1358954496000,
|
||
"outputs": []
|
||
},
|
||
{
|
||
"id": "D14_naca_chord192",
|
||
"group": "D",
|
||
"title": "NACA 0012, α=8°, сходимость по хорде 192",
|
||
"expect": "Cl и Cd сходятся по разрешению хорды",
|
||
"backend": "gpu",
|
||
"args": [
|
||
"--shape",
|
||
"naca",
|
||
"--naca",
|
||
"0012",
|
||
"--size",
|
||
"192",
|
||
"--body-angle",
|
||
"8",
|
||
"--nx",
|
||
"3072",
|
||
"--ny",
|
||
"1536",
|
||
"--body-x",
|
||
"768",
|
||
"--re",
|
||
"1000",
|
||
"--refine",
|
||
"1",
|
||
"--steps",
|
||
"2304000",
|
||
"--backend",
|
||
"gpu",
|
||
"--series-every",
|
||
"11"
|
||
],
|
||
"nodes_per_step": 4718592,
|
||
"steps": 2304000,
|
||
"cost": 10871635968000,
|
||
"outputs": []
|
||
},
|
||
{
|
||
"id": "E01_tandem_ld15",
|
||
"group": "E",
|
||
"title": "Тандем цилиндров, зазор L/D=1.5",
|
||
"expect": "при малом зазоре у заднего тела ОТРИЦАТЕЛЬНОЕ сопротивление; переход около 3.5–4",
|
||
"backend": "gpu",
|
||
"args": [
|
||
"--bodies",
|
||
"cylinder:d=48,x=360,y=360; cylinder:d=48,x=432,y=360",
|
||
"--nx",
|
||
"1440",
|
||
"--ny",
|
||
"720",
|
||
"--re",
|
||
"150",
|
||
"--refine",
|
||
"1",
|
||
"--steps",
|
||
"1536000",
|
||
"--backend",
|
||
"gpu",
|
||
"--series-every",
|
||
"7",
|
||
"--gif",
|
||
"tandem_ld15.gif",
|
||
"--gif-field",
|
||
"vorticity",
|
||
"--gif-every",
|
||
"auto",
|
||
"--gif-fps",
|
||
"10",
|
||
"--gif-speed",
|
||
"1",
|
||
"--gif-downsample",
|
||
"2",
|
||
"--gif-scale",
|
||
"1"
|
||
],
|
||
"nodes_per_step": 1036800,
|
||
"steps": 1536000,
|
||
"cost": 1592524800000,
|
||
"outputs": []
|
||
},
|
||
{
|
||
"id": "E02_tandem_ld30",
|
||
"group": "E",
|
||
"title": "Тандем цилиндров, зазор L/D=3.0",
|
||
"expect": "при малом зазоре у заднего тела ОТРИЦАТЕЛЬНОЕ сопротивление; переход около 3.5–4",
|
||
"backend": "gpu",
|
||
"args": [
|
||
"--bodies",
|
||
"cylinder:d=48,x=360,y=360; cylinder:d=48,x=504,y=360",
|
||
"--nx",
|
||
"1440",
|
||
"--ny",
|
||
"720",
|
||
"--re",
|
||
"150",
|
||
"--refine",
|
||
"1",
|
||
"--steps",
|
||
"1536000",
|
||
"--backend",
|
||
"gpu",
|
||
"--series-every",
|
||
"7",
|
||
"--gif",
|
||
"tandem_ld30.gif",
|
||
"--gif-field",
|
||
"vorticity",
|
||
"--gif-every",
|
||
"auto",
|
||
"--gif-fps",
|
||
"10",
|
||
"--gif-speed",
|
||
"1",
|
||
"--gif-downsample",
|
||
"2",
|
||
"--gif-scale",
|
||
"1"
|
||
],
|
||
"nodes_per_step": 1036800,
|
||
"steps": 1536000,
|
||
"cost": 1592524800000,
|
||
"outputs": []
|
||
},
|
||
{
|
||
"id": "E03_tandem_ld50",
|
||
"group": "E",
|
||
"title": "Тандем цилиндров, зазор L/D=5.0",
|
||
"expect": "при малом зазоре у заднего тела ОТРИЦАТЕЛЬНОЕ сопротивление; переход около 3.5–4",
|
||
"backend": "gpu",
|
||
"args": [
|
||
"--bodies",
|
||
"cylinder:d=48,x=360,y=360; cylinder:d=48,x=600,y=360",
|
||
"--nx",
|
||
"1440",
|
||
"--ny",
|
||
"720",
|
||
"--re",
|
||
"150",
|
||
"--refine",
|
||
"1",
|
||
"--steps",
|
||
"1536000",
|
||
"--backend",
|
||
"gpu",
|
||
"--series-every",
|
||
"7",
|
||
"--gif",
|
||
"tandem_ld50.gif",
|
||
"--gif-field",
|
||
"vorticity",
|
||
"--gif-every",
|
||
"auto",
|
||
"--gif-fps",
|
||
"10",
|
||
"--gif-speed",
|
||
"1",
|
||
"--gif-downsample",
|
||
"2",
|
||
"--gif-scale",
|
||
"1"
|
||
],
|
||
"nodes_per_step": 1036800,
|
||
"steps": 1536000,
|
||
"cost": 1592524800000,
|
||
"outputs": []
|
||
},
|
||
{
|
||
"id": "E04_array_sparse",
|
||
"group": "E",
|
||
"title": "Решётка 4×4 цилиндров, шаг 3D — пористая среда",
|
||
"expect": "суммарное сопротивление и структура течения сквозь набор тел",
|
||
"backend": "gpu",
|
||
"args": [
|
||
"--bodies",
|
||
"cylinder:d=24,x=360,y=252.0; cylinder:d=24,x=360,y=324.0; cylinder:d=24,x=360,y=396.0; cylinder:d=24,x=360,y=468.0; cylinder:d=24,x=432,y=252.0; cylinder:d=24,x=432,y=324.0; cylinder:d=24,x=432,y=396.0; cylinder:d=24,x=432,y=468.0; cylinder:d=24,x=504,y=252.0; cylinder:d=24,x=504,y=324.0; cylinder:d=24,x=504,y=396.0; cylinder:d=24,x=504,y=468.0; cylinder:d=24,x=576,y=252.0; cylinder:d=24,x=576,y=324.0; cylinder:d=24,x=576,y=396.0; cylinder:d=24,x=576,y=468.0",
|
||
"--nx",
|
||
"1440",
|
||
"--ny",
|
||
"720",
|
||
"--re",
|
||
"150",
|
||
"--refine",
|
||
"1",
|
||
"--steps",
|
||
"576000",
|
||
"--backend",
|
||
"gpu",
|
||
"--series-every",
|
||
"2",
|
||
"--gif",
|
||
"array_sparse.gif",
|
||
"--gif-field",
|
||
"vorticity",
|
||
"--gif-every",
|
||
"auto",
|
||
"--gif-fps",
|
||
"10",
|
||
"--gif-speed",
|
||
"1",
|
||
"--gif-downsample",
|
||
"2",
|
||
"--gif-scale",
|
||
"1"
|
||
],
|
||
"nodes_per_step": 1036800,
|
||
"steps": 576000,
|
||
"cost": 597196800000,
|
||
"outputs": []
|
||
},
|
||
{
|
||
"id": "E05_array_dense",
|
||
"group": "E",
|
||
"title": "Решётка 4×4 цилиндров, шаг 2D — пористая среда",
|
||
"expect": "суммарное сопротивление и структура течения сквозь набор тел",
|
||
"backend": "gpu",
|
||
"args": [
|
||
"--bodies",
|
||
"cylinder:d=24,x=360,y=288.0; cylinder:d=24,x=360,y=336.0; cylinder:d=24,x=360,y=384.0; cylinder:d=24,x=360,y=432.0; cylinder:d=24,x=408,y=288.0; cylinder:d=24,x=408,y=336.0; cylinder:d=24,x=408,y=384.0; cylinder:d=24,x=408,y=432.0; cylinder:d=24,x=456,y=288.0; cylinder:d=24,x=456,y=336.0; cylinder:d=24,x=456,y=384.0; cylinder:d=24,x=456,y=432.0; cylinder:d=24,x=504,y=288.0; cylinder:d=24,x=504,y=336.0; cylinder:d=24,x=504,y=384.0; cylinder:d=24,x=504,y=432.0",
|
||
"--nx",
|
||
"1440",
|
||
"--ny",
|
||
"720",
|
||
"--re",
|
||
"150",
|
||
"--refine",
|
||
"1",
|
||
"--steps",
|
||
"576000",
|
||
"--backend",
|
||
"gpu",
|
||
"--series-every",
|
||
"2",
|
||
"--gif",
|
||
"array_dense.gif",
|
||
"--gif-field",
|
||
"vorticity",
|
||
"--gif-every",
|
||
"auto",
|
||
"--gif-fps",
|
||
"10",
|
||
"--gif-speed",
|
||
"1",
|
||
"--gif-downsample",
|
||
"2",
|
||
"--gif-scale",
|
||
"1"
|
||
],
|
||
"nodes_per_step": 1036800,
|
||
"steps": 576000,
|
||
"cost": 597196800000,
|
||
"outputs": []
|
||
},
|
||
{
|
||
"id": "E06_perf_open20",
|
||
"group": "E",
|
||
"title": "Перфорированная пластина, скважность 0.2",
|
||
"expect": "струи в щелях и общее сопротивление; проверка множества тонких тел",
|
||
"backend": "gpu",
|
||
"args": [
|
||
"--bodies",
|
||
"plate:d=40,t=0.12,a=90,x=300,y=60; plate:d=40,t=0.12,a=90,x=300,y=110; plate:d=40,t=0.12,a=90,x=300,y=160; plate:d=40,t=0.12,a=90,x=300,y=210; plate:d=40,t=0.12,a=90,x=300,y=260; plate:d=40,t=0.12,a=90,x=300,y=310; plate:d=40,t=0.12,a=90,x=300,y=360; plate:d=40,t=0.12,a=90,x=300,y=410; plate:d=40,t=0.12,a=90,x=300,y=460",
|
||
"--nx",
|
||
"1200",
|
||
"--ny",
|
||
"600",
|
||
"--re",
|
||
"500",
|
||
"--refine",
|
||
"1",
|
||
"--steps",
|
||
"800000",
|
||
"--backend",
|
||
"gpu",
|
||
"--series-every",
|
||
"4",
|
||
"--gif",
|
||
"perf_open20.gif",
|
||
"--gif-field",
|
||
"vorticity",
|
||
"--gif-every",
|
||
"auto",
|
||
"--gif-fps",
|
||
"10",
|
||
"--gif-speed",
|
||
"1",
|
||
"--gif-downsample",
|
||
"1",
|
||
"--gif-scale",
|
||
"1"
|
||
],
|
||
"nodes_per_step": 720000,
|
||
"steps": 800000,
|
||
"cost": 576000000000,
|
||
"outputs": []
|
||
},
|
||
{
|
||
"id": "E07_perf_open50",
|
||
"group": "E",
|
||
"title": "Перфорированная пластина, скважность 0.5",
|
||
"expect": "струи в щелях и общее сопротивление; проверка множества тонких тел",
|
||
"backend": "gpu",
|
||
"args": [
|
||
"--bodies",
|
||
"plate:d=40,t=0.12,a=90,x=300,y=60; plate:d=40,t=0.12,a=90,x=300,y=140; plate:d=40,t=0.12,a=90,x=300,y=220; plate:d=40,t=0.12,a=90,x=300,y=300; plate:d=40,t=0.12,a=90,x=300,y=380; plate:d=40,t=0.12,a=90,x=300,y=460",
|
||
"--nx",
|
||
"1200",
|
||
"--ny",
|
||
"600",
|
||
"--re",
|
||
"500",
|
||
"--refine",
|
||
"1",
|
||
"--steps",
|
||
"800000",
|
||
"--backend",
|
||
"gpu",
|
||
"--series-every",
|
||
"4",
|
||
"--gif",
|
||
"perf_open50.gif",
|
||
"--gif-field",
|
||
"vorticity",
|
||
"--gif-every",
|
||
"auto",
|
||
"--gif-fps",
|
||
"10",
|
||
"--gif-speed",
|
||
"1",
|
||
"--gif-downsample",
|
||
"1",
|
||
"--gif-scale",
|
||
"1"
|
||
],
|
||
"nodes_per_step": 720000,
|
||
"steps": 800000,
|
||
"cost": 576000000000,
|
||
"outputs": []
|
||
},
|
||
{
|
||
"id": "E08_multielem",
|
||
"group": "E",
|
||
"title": "Многоэлементный профиль: основной 4412 плюс предкрылок",
|
||
"expect": "щель между элементами и раздельные Cl/Cd по телам",
|
||
"backend": "gpu",
|
||
"args": [
|
||
"--bodies",
|
||
"naca:naca=4412,d=200,a=6,x=560,y=512; naca:naca=2412,d=70,a=18,x=430,y=470",
|
||
"--nx",
|
||
"2048",
|
||
"--ny",
|
||
"1024",
|
||
"--re",
|
||
"2000",
|
||
"--refine",
|
||
"1",
|
||
"--steps",
|
||
"2400000",
|
||
"--backend",
|
||
"gpu",
|
||
"--series-every",
|
||
"12",
|
||
"--gif",
|
||
"multielem.gif",
|
||
"--gif-field",
|
||
"vorticity",
|
||
"--gif-every",
|
||
"auto",
|
||
"--gif-fps",
|
||
"10",
|
||
"--gif-speed",
|
||
"1",
|
||
"--gif-downsample",
|
||
"3",
|
||
"--gif-scale",
|
||
"1"
|
||
],
|
||
"nodes_per_step": 2097152,
|
||
"steps": 2400000,
|
||
"cost": 5033164800000,
|
||
"outputs": []
|
||
},
|
||
{
|
||
"id": "E09_thin_t05",
|
||
"group": "E",
|
||
"title": "Сверхтонкая пластина, толщина 1.00 клетки",
|
||
"expect": "предел субсеточной границы: тело тоньше клетки; ждём откаты на простой отскок",
|
||
"backend": "gpu",
|
||
"args": [
|
||
"--shape",
|
||
"plate",
|
||
"--size",
|
||
"50",
|
||
"--thickness",
|
||
"0.02",
|
||
"--body-angle",
|
||
"20",
|
||
"--nx",
|
||
"1200",
|
||
"--ny",
|
||
"600",
|
||
"--re",
|
||
"500",
|
||
"--refine",
|
||
"1",
|
||
"--steps",
|
||
"1000000",
|
||
"--backend",
|
||
"gpu",
|
||
"--series-every",
|
||
"5",
|
||
"--gif",
|
||
"thin_t05.gif",
|
||
"--gif-field",
|
||
"vorticity",
|
||
"--gif-every",
|
||
"auto",
|
||
"--gif-fps",
|
||
"10",
|
||
"--gif-speed",
|
||
"1",
|
||
"--gif-downsample",
|
||
"1",
|
||
"--gif-scale",
|
||
"1"
|
||
],
|
||
"nodes_per_step": 720000,
|
||
"steps": 1000000,
|
||
"cost": 720000000000,
|
||
"outputs": []
|
||
},
|
||
{
|
||
"id": "E10_thin_t025",
|
||
"group": "E",
|
||
"title": "Сверхтонкая пластина, толщина 0.50 клетки",
|
||
"expect": "предел субсеточной границы: тело тоньше клетки; ждём откаты на простой отскок",
|
||
"backend": "gpu",
|
||
"args": [
|
||
"--shape",
|
||
"plate",
|
||
"--size",
|
||
"50",
|
||
"--thickness",
|
||
"0.01",
|
||
"--body-angle",
|
||
"20",
|
||
"--nx",
|
||
"1200",
|
||
"--ny",
|
||
"600",
|
||
"--re",
|
||
"500",
|
||
"--refine",
|
||
"1",
|
||
"--steps",
|
||
"1000000",
|
||
"--backend",
|
||
"gpu",
|
||
"--series-every",
|
||
"5",
|
||
"--gif",
|
||
"thin_t025.gif",
|
||
"--gif-field",
|
||
"vorticity",
|
||
"--gif-every",
|
||
"auto",
|
||
"--gif-fps",
|
||
"10",
|
||
"--gif-speed",
|
||
"1",
|
||
"--gif-downsample",
|
||
"1",
|
||
"--gif-scale",
|
||
"1"
|
||
],
|
||
"nodes_per_step": 720000,
|
||
"steps": 1000000,
|
||
"cost": 720000000000,
|
||
"outputs": []
|
||
},
|
||
{
|
||
"id": "E11_wedge",
|
||
"group": "E",
|
||
"title": "Клин остриём против потока",
|
||
"expect": "острая кромка: особая точка геометрии",
|
||
"backend": "gpu",
|
||
"args": [
|
||
"--shape",
|
||
"polygon",
|
||
"--poly=-30,-18;36,0;-30,18",
|
||
"--size",
|
||
"60",
|
||
"--nx",
|
||
"1200",
|
||
"--ny",
|
||
"600",
|
||
"--re",
|
||
"500",
|
||
"--refine",
|
||
"1",
|
||
"--steps",
|
||
"1200000",
|
||
"--backend",
|
||
"gpu",
|
||
"--series-every",
|
||
"6",
|
||
"--gif",
|
||
"wedge.gif",
|
||
"--gif-field",
|
||
"vorticity",
|
||
"--gif-every",
|
||
"auto",
|
||
"--gif-fps",
|
||
"10",
|
||
"--gif-speed",
|
||
"1",
|
||
"--gif-downsample",
|
||
"1",
|
||
"--gif-scale",
|
||
"1"
|
||
],
|
||
"nodes_per_step": 720000,
|
||
"steps": 1200000,
|
||
"cost": 864000000000,
|
||
"outputs": []
|
||
},
|
||
{
|
||
"id": "E12_serrated",
|
||
"group": "E",
|
||
"title": "Зазубренная задняя кромка",
|
||
"expect": "субклеточные зубцы: как их видит граница",
|
||
"backend": "gpu",
|
||
"args": [
|
||
"--shape",
|
||
"polygon",
|
||
"--poly=-30,6;-18,-6;-6,6;6,-6;18,6;30,-6;30,-18;-30,-18",
|
||
"--size",
|
||
"60",
|
||
"--nx",
|
||
"1200",
|
||
"--ny",
|
||
"600",
|
||
"--re",
|
||
"500",
|
||
"--refine",
|
||
"1",
|
||
"--steps",
|
||
"1200000",
|
||
"--backend",
|
||
"gpu",
|
||
"--series-every",
|
||
"6",
|
||
"--gif",
|
||
"serrated.gif",
|
||
"--gif-field",
|
||
"vorticity",
|
||
"--gif-every",
|
||
"auto",
|
||
"--gif-fps",
|
||
"10",
|
||
"--gif-speed",
|
||
"1",
|
||
"--gif-downsample",
|
||
"1",
|
||
"--gif-scale",
|
||
"1"
|
||
],
|
||
"nodes_per_step": 720000,
|
||
"steps": 1200000,
|
||
"cost": 864000000000,
|
||
"outputs": []
|
||
},
|
||
{
|
||
"id": "F01_inlet2d",
|
||
"group": "F",
|
||
"title": "Отступ до входа 2D",
|
||
"expect": "с какого отступа результат перестаёт зависеть от положения входа",
|
||
"backend": "gpu",
|
||
"args": [
|
||
"--shape",
|
||
"cylinder",
|
||
"--size",
|
||
"48",
|
||
"--nx",
|
||
"1056",
|
||
"--ny",
|
||
"576",
|
||
"--body-x",
|
||
"96",
|
||
"--re",
|
||
"150",
|
||
"--refine",
|
||
"1",
|
||
"--steps",
|
||
"1152000",
|
||
"--backend",
|
||
"gpu",
|
||
"--series-every",
|
||
"5"
|
||
],
|
||
"nodes_per_step": 608256,
|
||
"steps": 1152000,
|
||
"cost": 700710912000,
|
||
"outputs": []
|
||
},
|
||
{
|
||
"id": "F02_inlet6d",
|
||
"group": "F",
|
||
"title": "Отступ до входа 6D",
|
||
"expect": "с какого отступа результат перестаёт зависеть от положения входа",
|
||
"backend": "gpu",
|
||
"args": [
|
||
"--shape",
|
||
"cylinder",
|
||
"--size",
|
||
"48",
|
||
"--nx",
|
||
"1248",
|
||
"--ny",
|
||
"576",
|
||
"--body-x",
|
||
"288",
|
||
"--re",
|
||
"150",
|
||
"--refine",
|
||
"1",
|
||
"--steps",
|
||
"1152000",
|
||
"--backend",
|
||
"gpu",
|
||
"--series-every",
|
||
"5"
|
||
],
|
||
"nodes_per_step": 718848,
|
||
"steps": 1152000,
|
||
"cost": 828112896000,
|
||
"outputs": []
|
||
},
|
||
{
|
||
"id": "F03_inlet16d",
|
||
"group": "F",
|
||
"title": "Отступ до входа 16D",
|
||
"expect": "с какого отступа результат перестаёт зависеть от положения входа",
|
||
"backend": "gpu",
|
||
"args": [
|
||
"--shape",
|
||
"cylinder",
|
||
"--size",
|
||
"48",
|
||
"--nx",
|
||
"1728",
|
||
"--ny",
|
||
"576",
|
||
"--body-x",
|
||
"768",
|
||
"--re",
|
||
"150",
|
||
"--refine",
|
||
"1",
|
||
"--steps",
|
||
"1152000",
|
||
"--backend",
|
||
"gpu",
|
||
"--series-every",
|
||
"5"
|
||
],
|
||
"nodes_per_step": 995328,
|
||
"steps": 1152000,
|
||
"cost": 1146617856000,
|
||
"outputs": []
|
||
},
|
||
{
|
||
"id": "F04_outlet5d",
|
||
"group": "F",
|
||
"title": "Отступ до выхода 5D",
|
||
"expect": "с какой длины следа выход перестаёт влиять на силы",
|
||
"backend": "gpu",
|
||
"args": [
|
||
"--shape",
|
||
"cylinder",
|
||
"--size",
|
||
"48",
|
||
"--nx",
|
||
"528",
|
||
"--ny",
|
||
"576",
|
||
"--body-x",
|
||
"288",
|
||
"--re",
|
||
"150",
|
||
"--refine",
|
||
"1",
|
||
"--steps",
|
||
"1152000",
|
||
"--backend",
|
||
"gpu",
|
||
"--series-every",
|
||
"5"
|
||
],
|
||
"nodes_per_step": 304128,
|
||
"steps": 1152000,
|
||
"cost": 350355456000,
|
||
"outputs": []
|
||
},
|
||
{
|
||
"id": "F05_outlet15d",
|
||
"group": "F",
|
||
"title": "Отступ до выхода 15D",
|
||
"expect": "с какой длины следа выход перестаёт влиять на силы",
|
||
"backend": "gpu",
|
||
"args": [
|
||
"--shape",
|
||
"cylinder",
|
||
"--size",
|
||
"48",
|
||
"--nx",
|
||
"1008",
|
||
"--ny",
|
||
"576",
|
||
"--body-x",
|
||
"288",
|
||
"--re",
|
||
"150",
|
||
"--refine",
|
||
"1",
|
||
"--steps",
|
||
"1152000",
|
||
"--backend",
|
||
"gpu",
|
||
"--series-every",
|
||
"5"
|
||
],
|
||
"nodes_per_step": 580608,
|
||
"steps": 1152000,
|
||
"cost": 668860416000,
|
||
"outputs": []
|
||
},
|
||
{
|
||
"id": "F06_outlet40d",
|
||
"group": "F",
|
||
"title": "Отступ до выхода 40D",
|
||
"expect": "с какой длины следа выход перестаёт влиять на силы",
|
||
"backend": "gpu",
|
||
"args": [
|
||
"--shape",
|
||
"cylinder",
|
||
"--size",
|
||
"48",
|
||
"--nx",
|
||
"2208",
|
||
"--ny",
|
||
"576",
|
||
"--body-x",
|
||
"288",
|
||
"--re",
|
||
"150",
|
||
"--refine",
|
||
"1",
|
||
"--steps",
|
||
"1152000",
|
||
"--backend",
|
||
"gpu",
|
||
"--series-every",
|
||
"5"
|
||
],
|
||
"nodes_per_step": 1271808,
|
||
"steps": 1152000,
|
||
"cost": 1465122816000,
|
||
"outputs": []
|
||
},
|
||
{
|
||
"id": "F07_refine1",
|
||
"group": "F",
|
||
"title": "Вложенный патч ×1",
|
||
"expect": "вносит ли связка уровней систематику: Cd и St обязаны совпасть",
|
||
"backend": "gpu",
|
||
"args": [
|
||
"--shape",
|
||
"cylinder",
|
||
"--size",
|
||
"32",
|
||
"--nx",
|
||
"640",
|
||
"--ny",
|
||
"384",
|
||
"--body-x",
|
||
"128",
|
||
"--re",
|
||
"150",
|
||
"--refine",
|
||
"1",
|
||
"--steps",
|
||
"768000",
|
||
"--backend",
|
||
"gpu",
|
||
"--series-every",
|
||
"3"
|
||
],
|
||
"nodes_per_step": 245760,
|
||
"steps": 768000,
|
||
"cost": 188743680000,
|
||
"outputs": []
|
||
},
|
||
{
|
||
"id": "F08_refine2",
|
||
"group": "F",
|
||
"title": "Вложенный патч ×2",
|
||
"expect": "вносит ли связка уровней систематику: Cd и St обязаны совпасть",
|
||
"backend": "gpu",
|
||
"args": [
|
||
"--shape",
|
||
"cylinder",
|
||
"--size",
|
||
"32",
|
||
"--nx",
|
||
"640",
|
||
"--ny",
|
||
"384",
|
||
"--body-x",
|
||
"128",
|
||
"--re",
|
||
"150",
|
||
"--refine",
|
||
"2",
|
||
"--steps",
|
||
"768000",
|
||
"--backend",
|
||
"gpu",
|
||
"--series-every",
|
||
"3"
|
||
],
|
||
"nodes_per_step": 501218,
|
||
"steps": 768000,
|
||
"cost": 384935424000,
|
||
"outputs": []
|
||
},
|
||
{
|
||
"id": "F09_refine3",
|
||
"group": "F",
|
||
"title": "Вложенный патч ×3",
|
||
"expect": "вносит ли связка уровней систематику: Cd и St обязаны совпасть",
|
||
"backend": "gpu",
|
||
"args": [
|
||
"--shape",
|
||
"cylinder",
|
||
"--size",
|
||
"32",
|
||
"--nx",
|
||
"640",
|
||
"--ny",
|
||
"384",
|
||
"--body-x",
|
||
"128",
|
||
"--re",
|
||
"150",
|
||
"--refine",
|
||
"3",
|
||
"--steps",
|
||
"768000",
|
||
"--backend",
|
||
"gpu",
|
||
"--series-every",
|
||
"3"
|
||
],
|
||
"nodes_per_step": 1106235,
|
||
"steps": 768000,
|
||
"cost": 849588480000,
|
||
"outputs": []
|
||
},
|
||
{
|
||
"id": "G01_xt_re150_uniform",
|
||
"group": "G",
|
||
"title": "x–t диаграмма, Re=150, старт uniform",
|
||
"expect": "откуда идёт стартовое возмущение и раскачивается ли продольная мода",
|
||
"backend": "gpu",
|
||
"args": [
|
||
"--shape",
|
||
"cylinder",
|
||
"--size",
|
||
"48",
|
||
"--nx",
|
||
"960",
|
||
"--ny",
|
||
"576",
|
||
"--body-x",
|
||
"192",
|
||
"--re",
|
||
"150",
|
||
"--refine",
|
||
"1",
|
||
"--init",
|
||
"uniform",
|
||
"--sponge-len",
|
||
"0",
|
||
"--xt",
|
||
"xt_re150_uniform.csv",
|
||
"--xt-every",
|
||
"200",
|
||
"--steps",
|
||
"576000",
|
||
"--backend",
|
||
"gpu",
|
||
"--series-every",
|
||
"2",
|
||
"--gif",
|
||
"xt_re150_uniform.gif",
|
||
"--gif-field",
|
||
"vorticity",
|
||
"--gif-every",
|
||
"auto",
|
||
"--gif-fps",
|
||
"10",
|
||
"--gif-speed",
|
||
"1",
|
||
"--gif-downsample",
|
||
"1",
|
||
"--gif-scale",
|
||
"1"
|
||
],
|
||
"nodes_per_step": 552960,
|
||
"steps": 576000,
|
||
"cost": 318504960000,
|
||
"outputs": [
|
||
"xt"
|
||
]
|
||
},
|
||
{
|
||
"id": "G02_xt_re150_rest",
|
||
"group": "G",
|
||
"title": "x–t диаграмма, Re=150, старт rest",
|
||
"expect": "откуда идёт стартовое возмущение и раскачивается ли продольная мода",
|
||
"backend": "gpu",
|
||
"args": [
|
||
"--shape",
|
||
"cylinder",
|
||
"--size",
|
||
"48",
|
||
"--nx",
|
||
"960",
|
||
"--ny",
|
||
"576",
|
||
"--body-x",
|
||
"192",
|
||
"--re",
|
||
"150",
|
||
"--refine",
|
||
"1",
|
||
"--init",
|
||
"rest",
|
||
"--sponge-len",
|
||
"0",
|
||
"--xt",
|
||
"xt_re150_rest.csv",
|
||
"--xt-every",
|
||
"200",
|
||
"--steps",
|
||
"576000",
|
||
"--backend",
|
||
"gpu",
|
||
"--series-every",
|
||
"2",
|
||
"--gif",
|
||
"xt_re150_rest.gif",
|
||
"--gif-field",
|
||
"vorticity",
|
||
"--gif-every",
|
||
"auto",
|
||
"--gif-fps",
|
||
"10",
|
||
"--gif-speed",
|
||
"1",
|
||
"--gif-downsample",
|
||
"1",
|
||
"--gif-scale",
|
||
"1"
|
||
],
|
||
"nodes_per_step": 552960,
|
||
"steps": 576000,
|
||
"cost": 318504960000,
|
||
"outputs": [
|
||
"xt"
|
||
]
|
||
},
|
||
{
|
||
"id": "G03_xt_re2000_uniform",
|
||
"group": "G",
|
||
"title": "x–t диаграмма, Re=2000, старт uniform",
|
||
"expect": "откуда идёт стартовое возмущение и раскачивается ли продольная мода",
|
||
"backend": "gpu",
|
||
"args": [
|
||
"--shape",
|
||
"cylinder",
|
||
"--size",
|
||
"48",
|
||
"--nx",
|
||
"960",
|
||
"--ny",
|
||
"576",
|
||
"--body-x",
|
||
"192",
|
||
"--re",
|
||
"2000",
|
||
"--refine",
|
||
"1",
|
||
"--init",
|
||
"uniform",
|
||
"--sponge-len",
|
||
"0",
|
||
"--xt",
|
||
"xt_re2000_uniform.csv",
|
||
"--xt-every",
|
||
"200",
|
||
"--steps",
|
||
"576000",
|
||
"--backend",
|
||
"gpu",
|
||
"--series-every",
|
||
"2",
|
||
"--gif",
|
||
"xt_re2000_uniform.gif",
|
||
"--gif-field",
|
||
"vorticity",
|
||
"--gif-every",
|
||
"auto",
|
||
"--gif-fps",
|
||
"10",
|
||
"--gif-speed",
|
||
"1",
|
||
"--gif-downsample",
|
||
"1",
|
||
"--gif-scale",
|
||
"1"
|
||
],
|
||
"nodes_per_step": 552960,
|
||
"steps": 576000,
|
||
"cost": 318504960000,
|
||
"outputs": [
|
||
"xt"
|
||
]
|
||
},
|
||
{
|
||
"id": "G04_xt_re2000_rest",
|
||
"group": "G",
|
||
"title": "x–t диаграмма, Re=2000, старт rest",
|
||
"expect": "откуда идёт стартовое возмущение и раскачивается ли продольная мода",
|
||
"backend": "gpu",
|
||
"args": [
|
||
"--shape",
|
||
"cylinder",
|
||
"--size",
|
||
"48",
|
||
"--nx",
|
||
"960",
|
||
"--ny",
|
||
"576",
|
||
"--body-x",
|
||
"192",
|
||
"--re",
|
||
"2000",
|
||
"--refine",
|
||
"1",
|
||
"--init",
|
||
"rest",
|
||
"--sponge-len",
|
||
"0",
|
||
"--xt",
|
||
"xt_re2000_rest.csv",
|
||
"--xt-every",
|
||
"200",
|
||
"--steps",
|
||
"576000",
|
||
"--backend",
|
||
"gpu",
|
||
"--series-every",
|
||
"2",
|
||
"--gif",
|
||
"xt_re2000_rest.gif",
|
||
"--gif-field",
|
||
"vorticity",
|
||
"--gif-every",
|
||
"auto",
|
||
"--gif-fps",
|
||
"10",
|
||
"--gif-speed",
|
||
"1",
|
||
"--gif-downsample",
|
||
"1",
|
||
"--gif-scale",
|
||
"1"
|
||
],
|
||
"nodes_per_step": 552960,
|
||
"steps": 576000,
|
||
"cost": 318504960000,
|
||
"outputs": [
|
||
"xt"
|
||
]
|
||
},
|
||
{
|
||
"id": "G05_xt_re20000_uniform",
|
||
"group": "G",
|
||
"title": "x–t диаграмма, Re=20000, старт uniform",
|
||
"expect": "откуда идёт стартовое возмущение и раскачивается ли продольная мода",
|
||
"backend": "gpu",
|
||
"args": [
|
||
"--shape",
|
||
"cylinder",
|
||
"--size",
|
||
"48",
|
||
"--nx",
|
||
"960",
|
||
"--ny",
|
||
"576",
|
||
"--body-x",
|
||
"192",
|
||
"--re",
|
||
"20000",
|
||
"--refine",
|
||
"1",
|
||
"--init",
|
||
"uniform",
|
||
"--sponge-len",
|
||
"0",
|
||
"--xt",
|
||
"xt_re20000_uniform.csv",
|
||
"--xt-every",
|
||
"200",
|
||
"--steps",
|
||
"576000",
|
||
"--backend",
|
||
"gpu",
|
||
"--series-every",
|
||
"2",
|
||
"--gif",
|
||
"xt_re20000_uniform.gif",
|
||
"--gif-field",
|
||
"vorticity",
|
||
"--gif-every",
|
||
"auto",
|
||
"--gif-fps",
|
||
"10",
|
||
"--gif-speed",
|
||
"1",
|
||
"--gif-downsample",
|
||
"1",
|
||
"--gif-scale",
|
||
"1"
|
||
],
|
||
"nodes_per_step": 552960,
|
||
"steps": 576000,
|
||
"cost": 318504960000,
|
||
"outputs": [
|
||
"xt"
|
||
]
|
||
},
|
||
{
|
||
"id": "G06_xt_re20000_rest",
|
||
"group": "G",
|
||
"title": "x–t диаграмма, Re=20000, старт rest",
|
||
"expect": "откуда идёт стартовое возмущение и раскачивается ли продольная мода",
|
||
"backend": "gpu",
|
||
"args": [
|
||
"--shape",
|
||
"cylinder",
|
||
"--size",
|
||
"48",
|
||
"--nx",
|
||
"960",
|
||
"--ny",
|
||
"576",
|
||
"--body-x",
|
||
"192",
|
||
"--re",
|
||
"20000",
|
||
"--refine",
|
||
"1",
|
||
"--init",
|
||
"rest",
|
||
"--sponge-len",
|
||
"0",
|
||
"--xt",
|
||
"xt_re20000_rest.csv",
|
||
"--xt-every",
|
||
"200",
|
||
"--steps",
|
||
"576000",
|
||
"--backend",
|
||
"gpu",
|
||
"--series-every",
|
||
"2",
|
||
"--gif",
|
||
"xt_re20000_rest.gif",
|
||
"--gif-field",
|
||
"vorticity",
|
||
"--gif-every",
|
||
"auto",
|
||
"--gif-fps",
|
||
"10",
|
||
"--gif-speed",
|
||
"1",
|
||
"--gif-downsample",
|
||
"1",
|
||
"--gif-scale",
|
||
"1"
|
||
],
|
||
"nodes_per_step": 552960,
|
||
"steps": 576000,
|
||
"cost": 318504960000,
|
||
"outputs": [
|
||
"xt"
|
||
]
|
||
},
|
||
{
|
||
"id": "G07_sponge0",
|
||
"group": "G",
|
||
"title": "Губка выхода 0 столбцов при Re=5000",
|
||
"expect": "губка — единственное, что реально ест продольную моду",
|
||
"backend": "gpu",
|
||
"args": [
|
||
"--shape",
|
||
"cylinder",
|
||
"--size",
|
||
"48",
|
||
"--nx",
|
||
"960",
|
||
"--ny",
|
||
"576",
|
||
"--body-x",
|
||
"192",
|
||
"--re",
|
||
"5000",
|
||
"--refine",
|
||
"1",
|
||
"--sponge-len",
|
||
"0",
|
||
"--steps",
|
||
"768000",
|
||
"--backend",
|
||
"gpu",
|
||
"--series-every",
|
||
"3"
|
||
],
|
||
"nodes_per_step": 552960,
|
||
"steps": 768000,
|
||
"cost": 424673280000,
|
||
"outputs": []
|
||
},
|
||
{
|
||
"id": "G08_sponge40",
|
||
"group": "G",
|
||
"title": "Губка выхода 40 столбцов при Re=5000",
|
||
"expect": "губка — единственное, что реально ест продольную моду",
|
||
"backend": "gpu",
|
||
"args": [
|
||
"--shape",
|
||
"cylinder",
|
||
"--size",
|
||
"48",
|
||
"--nx",
|
||
"960",
|
||
"--ny",
|
||
"576",
|
||
"--body-x",
|
||
"192",
|
||
"--re",
|
||
"5000",
|
||
"--refine",
|
||
"1",
|
||
"--sponge-len",
|
||
"40",
|
||
"--steps",
|
||
"768000",
|
||
"--backend",
|
||
"gpu",
|
||
"--series-every",
|
||
"3"
|
||
],
|
||
"nodes_per_step": 552960,
|
||
"steps": 768000,
|
||
"cost": 424673280000,
|
||
"outputs": []
|
||
},
|
||
{
|
||
"id": "G09_spongein0",
|
||
"group": "G",
|
||
"title": "Губка входа 0 столбцов при Re=5000",
|
||
"expect": "помогает ли гасить волну до отражения от входа",
|
||
"backend": "gpu",
|
||
"args": [
|
||
"--shape",
|
||
"cylinder",
|
||
"--size",
|
||
"48",
|
||
"--nx",
|
||
"960",
|
||
"--ny",
|
||
"576",
|
||
"--body-x",
|
||
"192",
|
||
"--re",
|
||
"5000",
|
||
"--refine",
|
||
"1",
|
||
"--sponge-in",
|
||
"0",
|
||
"--steps",
|
||
"768000",
|
||
"--backend",
|
||
"gpu",
|
||
"--series-every",
|
||
"3"
|
||
],
|
||
"nodes_per_step": 552960,
|
||
"steps": 768000,
|
||
"cost": 424673280000,
|
||
"outputs": []
|
||
},
|
||
{
|
||
"id": "G10_spongein40",
|
||
"group": "G",
|
||
"title": "Губка входа 40 столбцов при Re=5000",
|
||
"expect": "помогает ли гасить волну до отражения от входа",
|
||
"backend": "gpu",
|
||
"args": [
|
||
"--shape",
|
||
"cylinder",
|
||
"--size",
|
||
"48",
|
||
"--nx",
|
||
"960",
|
||
"--ny",
|
||
"576",
|
||
"--body-x",
|
||
"192",
|
||
"--re",
|
||
"5000",
|
||
"--refine",
|
||
"1",
|
||
"--sponge-in",
|
||
"40",
|
||
"--steps",
|
||
"768000",
|
||
"--backend",
|
||
"gpu",
|
||
"--series-every",
|
||
"3"
|
||
],
|
||
"nodes_per_step": 552960,
|
||
"steps": 768000,
|
||
"cost": 424673280000,
|
||
"outputs": []
|
||
},
|
||
{
|
||
"id": "G11_limit_re10000",
|
||
"group": "G",
|
||
"title": "Предел устойчивости, Re=10000",
|
||
"expect": "где именно гибнет счёт; часть этих прогонов обязана развалиться",
|
||
"backend": "gpu",
|
||
"args": [
|
||
"--shape",
|
||
"cylinder",
|
||
"--size",
|
||
"48",
|
||
"--nx",
|
||
"960",
|
||
"--ny",
|
||
"576",
|
||
"--body-x",
|
||
"192",
|
||
"--re",
|
||
"10000",
|
||
"--refine",
|
||
"1",
|
||
"--steps",
|
||
"384000",
|
||
"--backend",
|
||
"gpu"
|
||
],
|
||
"nodes_per_step": 552960,
|
||
"steps": 384000,
|
||
"cost": 212336640000,
|
||
"outputs": []
|
||
},
|
||
{
|
||
"id": "G12_limit_re50000",
|
||
"group": "G",
|
||
"title": "Предел устойчивости, Re=50000",
|
||
"expect": "где именно гибнет счёт; часть этих прогонов обязана развалиться",
|
||
"backend": "gpu",
|
||
"args": [
|
||
"--shape",
|
||
"cylinder",
|
||
"--size",
|
||
"48",
|
||
"--nx",
|
||
"960",
|
||
"--ny",
|
||
"576",
|
||
"--body-x",
|
||
"192",
|
||
"--re",
|
||
"50000",
|
||
"--refine",
|
||
"1",
|
||
"--steps",
|
||
"384000",
|
||
"--backend",
|
||
"gpu"
|
||
],
|
||
"nodes_per_step": 552960,
|
||
"steps": 384000,
|
||
"cost": 212336640000,
|
||
"outputs": []
|
||
},
|
||
{
|
||
"id": "G13_limit_re200000",
|
||
"group": "G",
|
||
"title": "Предел устойчивости, Re=200000",
|
||
"expect": "где именно гибнет счёт; часть этих прогонов обязана развалиться",
|
||
"backend": "gpu",
|
||
"args": [
|
||
"--shape",
|
||
"cylinder",
|
||
"--size",
|
||
"48",
|
||
"--nx",
|
||
"960",
|
||
"--ny",
|
||
"576",
|
||
"--body-x",
|
||
"192",
|
||
"--re",
|
||
"200000",
|
||
"--refine",
|
||
"1",
|
||
"--steps",
|
||
"384000",
|
||
"--backend",
|
||
"gpu"
|
||
],
|
||
"nodes_per_step": 552960,
|
||
"steps": 384000,
|
||
"cost": 212336640000,
|
||
"outputs": []
|
||
},
|
||
{
|
||
"id": "G14_lifetime",
|
||
"group": "G",
|
||
"title": "Тест на время жизни: 5·10⁶ шагов",
|
||
"expect": "не уплывает ли ⟨ρ⟩ и не деградирует ли решение на очень длинной дистанции",
|
||
"backend": "gpu",
|
||
"args": [
|
||
"--shape",
|
||
"cylinder",
|
||
"--size",
|
||
"48",
|
||
"--nx",
|
||
"960",
|
||
"--ny",
|
||
"576",
|
||
"--body-x",
|
||
"192",
|
||
"--re",
|
||
"150",
|
||
"--refine",
|
||
"1",
|
||
"--steps",
|
||
"10000000",
|
||
"--backend",
|
||
"gpu",
|
||
"--series-every",
|
||
"50",
|
||
"--gif",
|
||
"lifetime.gif",
|
||
"--gif-field",
|
||
"vorticity",
|
||
"--gif-every",
|
||
"auto",
|
||
"--gif-fps",
|
||
"10",
|
||
"--gif-speed",
|
||
"1",
|
||
"--gif-downsample",
|
||
"2",
|
||
"--gif-scale",
|
||
"1"
|
||
],
|
||
"nodes_per_step": 552960,
|
||
"steps": 10000000,
|
||
"cost": 5529600000000,
|
||
"outputs": []
|
||
},
|
||
{
|
||
"id": "H01_sym_cyl",
|
||
"group": "H",
|
||
"title": "Симметрия: цилиндр при α=0 без возмущения",
|
||
"expect": "Cl и Cm обязаны остаться ≈0 — это внутреннее свойство схемы, не литература",
|
||
"backend": "gpu",
|
||
"args": [
|
||
"--shape",
|
||
"cylinder",
|
||
"--size",
|
||
"32",
|
||
"--nx",
|
||
"640",
|
||
"--ny",
|
||
"384",
|
||
"--body-x",
|
||
"128",
|
||
"--re",
|
||
"40",
|
||
"--refine",
|
||
"1",
|
||
"--pert-amp",
|
||
"0",
|
||
"--steps",
|
||
"512000",
|
||
"--backend",
|
||
"gpu",
|
||
"--series-every",
|
||
"2"
|
||
],
|
||
"nodes_per_step": 245760,
|
||
"steps": 512000,
|
||
"cost": 125829120000,
|
||
"outputs": []
|
||
},
|
||
{
|
||
"id": "H02_sym_foil",
|
||
"group": "H",
|
||
"title": "Симметрия: NACA 0012 при α=0 без возмущения",
|
||
"expect": "Cl ≈ 0 у симметричного профиля под нулевым углом",
|
||
"backend": "gpu",
|
||
"args": [
|
||
"--shape",
|
||
"naca",
|
||
"--naca",
|
||
"0012",
|
||
"--size",
|
||
"64",
|
||
"--body-angle",
|
||
"0",
|
||
"--nx",
|
||
"1024",
|
||
"--ny",
|
||
"512",
|
||
"--body-x",
|
||
"256",
|
||
"--re",
|
||
"500",
|
||
"--refine",
|
||
"1",
|
||
"--pert-amp",
|
||
"0",
|
||
"--steps",
|
||
"768000",
|
||
"--backend",
|
||
"gpu",
|
||
"--series-every",
|
||
"3"
|
||
],
|
||
"nodes_per_step": 524288,
|
||
"steps": 768000,
|
||
"cost": 402653184000,
|
||
"outputs": []
|
||
},
|
||
{
|
||
"id": "H03_mirror_plus",
|
||
"group": "H",
|
||
"title": "Зеркальность: NACA 0012 при α=8°",
|
||
"expect": "ряды обязаны зеркалиться: Cl меняет знак, Cd совпадает",
|
||
"backend": "gpu",
|
||
"args": [
|
||
"--shape",
|
||
"naca",
|
||
"--naca",
|
||
"0012",
|
||
"--size",
|
||
"64",
|
||
"--body-angle",
|
||
"8",
|
||
"--nx",
|
||
"1024",
|
||
"--ny",
|
||
"512",
|
||
"--body-x",
|
||
"256",
|
||
"--re",
|
||
"500",
|
||
"--refine",
|
||
"1",
|
||
"--steps",
|
||
"768000",
|
||
"--backend",
|
||
"gpu",
|
||
"--series-every",
|
||
"3"
|
||
],
|
||
"nodes_per_step": 524288,
|
||
"steps": 768000,
|
||
"cost": 402653184000,
|
||
"outputs": []
|
||
},
|
||
{
|
||
"id": "H04_mirror_minus",
|
||
"group": "H",
|
||
"title": "Зеркальность: NACA 0012 при α=-8°",
|
||
"expect": "ряды обязаны зеркалиться: Cl меняет знак, Cd совпадает",
|
||
"backend": "gpu",
|
||
"args": [
|
||
"--shape",
|
||
"naca",
|
||
"--naca",
|
||
"0012",
|
||
"--size",
|
||
"64",
|
||
"--body-angle",
|
||
"-8",
|
||
"--nx",
|
||
"1024",
|
||
"--ny",
|
||
"512",
|
||
"--body-x",
|
||
"256",
|
||
"--re",
|
||
"500",
|
||
"--refine",
|
||
"1",
|
||
"--steps",
|
||
"768000",
|
||
"--backend",
|
||
"gpu",
|
||
"--series-every",
|
||
"3"
|
||
],
|
||
"nodes_per_step": 524288,
|
||
"steps": 768000,
|
||
"cost": 402653184000,
|
||
"outputs": []
|
||
},
|
||
{
|
||
"id": "H05_mach02",
|
||
"group": "H",
|
||
"title": "Зависимость от числа Маха, u_lat=0.02",
|
||
"expect": "результат обязан сходиться при Ma→0; расхождение и есть сжимаемостная ошибка",
|
||
"backend": "gpu",
|
||
"args": [
|
||
"--shape",
|
||
"cylinder",
|
||
"--size",
|
||
"32",
|
||
"--nx",
|
||
"640",
|
||
"--ny",
|
||
"384",
|
||
"--body-x",
|
||
"128",
|
||
"--re",
|
||
"150",
|
||
"--refine",
|
||
"1",
|
||
"--u-lat",
|
||
"0.02",
|
||
"--steps",
|
||
"1280000",
|
||
"--backend",
|
||
"gpu",
|
||
"--series-every",
|
||
"6"
|
||
],
|
||
"nodes_per_step": 245760,
|
||
"steps": 1280000,
|
||
"cost": 314572800000,
|
||
"outputs": []
|
||
},
|
||
{
|
||
"id": "H06_mach05",
|
||
"group": "H",
|
||
"title": "Зависимость от числа Маха, u_lat=0.05",
|
||
"expect": "результат обязан сходиться при Ma→0; расхождение и есть сжимаемостная ошибка",
|
||
"backend": "gpu",
|
||
"args": [
|
||
"--shape",
|
||
"cylinder",
|
||
"--size",
|
||
"32",
|
||
"--nx",
|
||
"640",
|
||
"--ny",
|
||
"384",
|
||
"--body-x",
|
||
"128",
|
||
"--re",
|
||
"150",
|
||
"--refine",
|
||
"1",
|
||
"--u-lat",
|
||
"0.05",
|
||
"--steps",
|
||
"512000",
|
||
"--backend",
|
||
"gpu",
|
||
"--series-every",
|
||
"2"
|
||
],
|
||
"nodes_per_step": 245760,
|
||
"steps": 512000,
|
||
"cost": 125829120000,
|
||
"outputs": []
|
||
},
|
||
{
|
||
"id": "H07_mach10",
|
||
"group": "H",
|
||
"title": "Зависимость от числа Маха, u_lat=0.1",
|
||
"expect": "результат обязан сходиться при Ma→0; расхождение и есть сжимаемостная ошибка",
|
||
"backend": "gpu",
|
||
"args": [
|
||
"--shape",
|
||
"cylinder",
|
||
"--size",
|
||
"32",
|
||
"--nx",
|
||
"640",
|
||
"--ny",
|
||
"384",
|
||
"--body-x",
|
||
"128",
|
||
"--re",
|
||
"150",
|
||
"--refine",
|
||
"1",
|
||
"--u-lat",
|
||
"0.1",
|
||
"--steps",
|
||
"256000",
|
||
"--backend",
|
||
"gpu"
|
||
],
|
||
"nodes_per_step": 245760,
|
||
"steps": 256000,
|
||
"cost": 62914560000,
|
||
"outputs": []
|
||
},
|
||
{
|
||
"id": "H08_prec_cpu",
|
||
"group": "H",
|
||
"title": "Точность: одинаковая постановка на cpu",
|
||
"expect": "расхождение f32 против f64 в зависимости от длины прогона",
|
||
"backend": "cpu",
|
||
"args": [
|
||
"--shape",
|
||
"cylinder",
|
||
"--size",
|
||
"32",
|
||
"--nx",
|
||
"640",
|
||
"--ny",
|
||
"384",
|
||
"--body-x",
|
||
"128",
|
||
"--re",
|
||
"150",
|
||
"--refine",
|
||
"1",
|
||
"--steps",
|
||
"1024000",
|
||
"--backend",
|
||
"cpu",
|
||
"--series-every",
|
||
"5"
|
||
],
|
||
"nodes_per_step": 245760,
|
||
"steps": 1024000,
|
||
"cost": 251658240000,
|
||
"outputs": []
|
||
},
|
||
{
|
||
"id": "H09_prec_gpu",
|
||
"group": "H",
|
||
"title": "Точность: одинаковая постановка на gpu",
|
||
"expect": "расхождение f32 против f64 в зависимости от длины прогона",
|
||
"backend": "gpu",
|
||
"args": [
|
||
"--shape",
|
||
"cylinder",
|
||
"--size",
|
||
"32",
|
||
"--nx",
|
||
"640",
|
||
"--ny",
|
||
"384",
|
||
"--body-x",
|
||
"128",
|
||
"--re",
|
||
"150",
|
||
"--refine",
|
||
"1",
|
||
"--steps",
|
||
"1024000",
|
||
"--backend",
|
||
"gpu",
|
||
"--series-every",
|
||
"5"
|
||
],
|
||
"nodes_per_step": 245760,
|
||
"steps": 1024000,
|
||
"cost": 251658240000,
|
||
"outputs": []
|
||
},
|
||
{
|
||
"id": "I01_fine_cylinder",
|
||
"group": "I",
|
||
"title": "Сверхмелкая сетка 4096×2048, cylinder, D=256",
|
||
"expect": "держится ли субсеточная граница на предельном разрешении для этой формы",
|
||
"backend": "gpu",
|
||
"args": [
|
||
"--shape",
|
||
"cylinder",
|
||
"--size",
|
||
"256",
|
||
"--nx",
|
||
"4096",
|
||
"--ny",
|
||
"2048",
|
||
"--body-x",
|
||
"820",
|
||
"--re",
|
||
"1000",
|
||
"--refine",
|
||
"1",
|
||
"--steps",
|
||
"3072000",
|
||
"--backend",
|
||
"gpu",
|
||
"--series-every",
|
||
"15",
|
||
"--gif",
|
||
"fine_cylinder.gif",
|
||
"--gif-field",
|
||
"vorticity",
|
||
"--gif-every",
|
||
"auto",
|
||
"--gif-fps",
|
||
"10",
|
||
"--gif-speed",
|
||
"1",
|
||
"--gif-downsample",
|
||
"6",
|
||
"--gif-scale",
|
||
"1"
|
||
],
|
||
"nodes_per_step": 8388608,
|
||
"steps": 3072000,
|
||
"cost": 25769803776000,
|
||
"outputs": []
|
||
},
|
||
{
|
||
"id": "I02_fine_square",
|
||
"group": "I",
|
||
"title": "Сверхмелкая сетка 4096×2048, square, D=256",
|
||
"expect": "держится ли субсеточная граница на предельном разрешении для этой формы",
|
||
"backend": "gpu",
|
||
"args": [
|
||
"--shape",
|
||
"square",
|
||
"--size",
|
||
"256",
|
||
"--nx",
|
||
"4096",
|
||
"--ny",
|
||
"2048",
|
||
"--body-x",
|
||
"820",
|
||
"--re",
|
||
"1000",
|
||
"--refine",
|
||
"1",
|
||
"--steps",
|
||
"3072000",
|
||
"--backend",
|
||
"gpu",
|
||
"--series-every",
|
||
"15",
|
||
"--gif",
|
||
"fine_square.gif",
|
||
"--gif-field",
|
||
"vorticity",
|
||
"--gif-every",
|
||
"auto",
|
||
"--gif-fps",
|
||
"10",
|
||
"--gif-speed",
|
||
"1",
|
||
"--gif-downsample",
|
||
"6",
|
||
"--gif-scale",
|
||
"1"
|
||
],
|
||
"nodes_per_step": 8388608,
|
||
"steps": 3072000,
|
||
"cost": 25769803776000,
|
||
"outputs": []
|
||
},
|
||
{
|
||
"id": "I03_fine_diamond",
|
||
"group": "I",
|
||
"title": "Сверхмелкая сетка 4096×2048, diamond, D=256",
|
||
"expect": "держится ли субсеточная граница на предельном разрешении для этой формы",
|
||
"backend": "gpu",
|
||
"args": [
|
||
"--shape",
|
||
"diamond",
|
||
"--size",
|
||
"256",
|
||
"--nx",
|
||
"4096",
|
||
"--ny",
|
||
"2048",
|
||
"--body-x",
|
||
"820",
|
||
"--re",
|
||
"1000",
|
||
"--refine",
|
||
"1",
|
||
"--steps",
|
||
"3072000",
|
||
"--backend",
|
||
"gpu",
|
||
"--series-every",
|
||
"15",
|
||
"--gif",
|
||
"fine_diamond.gif",
|
||
"--gif-field",
|
||
"vorticity",
|
||
"--gif-every",
|
||
"auto",
|
||
"--gif-fps",
|
||
"10",
|
||
"--gif-speed",
|
||
"1",
|
||
"--gif-downsample",
|
||
"6",
|
||
"--gif-scale",
|
||
"1"
|
||
],
|
||
"nodes_per_step": 8388608,
|
||
"steps": 3072000,
|
||
"cost": 25769803776000,
|
||
"outputs": []
|
||
},
|
||
{
|
||
"id": "I04_fine_ellipse",
|
||
"group": "I",
|
||
"title": "Сверхмелкая сетка 4096×2048, ellipse, D=256",
|
||
"expect": "держится ли субсеточная граница на предельном разрешении для этой формы",
|
||
"backend": "gpu",
|
||
"args": [
|
||
"--shape",
|
||
"ellipse",
|
||
"--thickness",
|
||
"0.35",
|
||
"--size",
|
||
"256",
|
||
"--nx",
|
||
"4096",
|
||
"--ny",
|
||
"2048",
|
||
"--body-x",
|
||
"820",
|
||
"--re",
|
||
"1000",
|
||
"--refine",
|
||
"1",
|
||
"--steps",
|
||
"3072000",
|
||
"--backend",
|
||
"gpu",
|
||
"--series-every",
|
||
"15",
|
||
"--gif",
|
||
"fine_ellipse.gif",
|
||
"--gif-field",
|
||
"vorticity",
|
||
"--gif-every",
|
||
"auto",
|
||
"--gif-fps",
|
||
"10",
|
||
"--gif-speed",
|
||
"1",
|
||
"--gif-downsample",
|
||
"6",
|
||
"--gif-scale",
|
||
"1"
|
||
],
|
||
"nodes_per_step": 8388608,
|
||
"steps": 3072000,
|
||
"cost": 25769803776000,
|
||
"outputs": []
|
||
},
|
||
{
|
||
"id": "I05_fine_naca",
|
||
"group": "I",
|
||
"title": "Сверхмелкая сетка 4096×2048, naca, D=256",
|
||
"expect": "держится ли субсеточная граница на предельном разрешении для этой формы",
|
||
"backend": "gpu",
|
||
"args": [
|
||
"--shape",
|
||
"naca",
|
||
"--naca",
|
||
"0012",
|
||
"--body-angle",
|
||
"8",
|
||
"--size",
|
||
"256",
|
||
"--nx",
|
||
"4096",
|
||
"--ny",
|
||
"2048",
|
||
"--body-x",
|
||
"820",
|
||
"--re",
|
||
"1000",
|
||
"--refine",
|
||
"1",
|
||
"--steps",
|
||
"3072000",
|
||
"--backend",
|
||
"gpu",
|
||
"--series-every",
|
||
"15",
|
||
"--gif",
|
||
"fine_naca.gif",
|
||
"--gif-field",
|
||
"vorticity",
|
||
"--gif-every",
|
||
"auto",
|
||
"--gif-fps",
|
||
"10",
|
||
"--gif-speed",
|
||
"1",
|
||
"--gif-downsample",
|
||
"6",
|
||
"--gif-scale",
|
||
"1"
|
||
],
|
||
"nodes_per_step": 8388608,
|
||
"steps": 3072000,
|
||
"cost": 25769803776000,
|
||
"outputs": []
|
||
},
|
||
{
|
||
"id": "I06_fine_triangle",
|
||
"group": "I",
|
||
"title": "Сверхмелкая сетка 4096×2048, triangle, D=256",
|
||
"expect": "держится ли субсеточная граница на предельном разрешении для этой формы",
|
||
"backend": "gpu",
|
||
"args": [
|
||
"--shape",
|
||
"triangle",
|
||
"--size",
|
||
"256",
|
||
"--nx",
|
||
"4096",
|
||
"--ny",
|
||
"2048",
|
||
"--body-x",
|
||
"820",
|
||
"--re",
|
||
"1000",
|
||
"--refine",
|
||
"1",
|
||
"--steps",
|
||
"3072000",
|
||
"--backend",
|
||
"gpu",
|
||
"--series-every",
|
||
"15",
|
||
"--gif",
|
||
"fine_triangle.gif",
|
||
"--gif-field",
|
||
"vorticity",
|
||
"--gif-every",
|
||
"auto",
|
||
"--gif-fps",
|
||
"10",
|
||
"--gif-speed",
|
||
"1",
|
||
"--gif-downsample",
|
||
"6",
|
||
"--gif-scale",
|
||
"1"
|
||
],
|
||
"nodes_per_step": 8388608,
|
||
"steps": 3072000,
|
||
"cost": 25769803776000,
|
||
"outputs": []
|
||
},
|
||
{
|
||
"id": "I07_fine_plate",
|
||
"group": "I",
|
||
"title": "Сверхмелкая сетка 4096×2048, plate, D=256",
|
||
"expect": "держится ли субсеточная граница на предельном разрешении для этой формы",
|
||
"backend": "gpu",
|
||
"args": [
|
||
"--shape",
|
||
"plate",
|
||
"--thickness",
|
||
"0.08",
|
||
"--body-angle",
|
||
"25",
|
||
"--size",
|
||
"256",
|
||
"--nx",
|
||
"4096",
|
||
"--ny",
|
||
"2048",
|
||
"--body-x",
|
||
"820",
|
||
"--re",
|
||
"1000",
|
||
"--refine",
|
||
"1",
|
||
"--steps",
|
||
"3072000",
|
||
"--backend",
|
||
"gpu",
|
||
"--series-every",
|
||
"15",
|
||
"--gif",
|
||
"fine_plate.gif",
|
||
"--gif-field",
|
||
"vorticity",
|
||
"--gif-every",
|
||
"auto",
|
||
"--gif-fps",
|
||
"10",
|
||
"--gif-speed",
|
||
"1",
|
||
"--gif-downsample",
|
||
"6",
|
||
"--gif-scale",
|
||
"1"
|
||
],
|
||
"nodes_per_step": 8388608,
|
||
"steps": 3072000,
|
||
"cost": 25769803776000,
|
||
"outputs": []
|
||
},
|
||
{
|
||
"id": "I08_fine_wedge",
|
||
"group": "I",
|
||
"title": "Сверхмелкая сетка 4096×2048, wedge, D=256",
|
||
"expect": "держится ли субсеточная граница на предельном разрешении для этой формы",
|
||
"backend": "gpu",
|
||
"args": [
|
||
"--shape",
|
||
"polygon",
|
||
"--poly=-128,-72;154,0;-128,72",
|
||
"--size",
|
||
"256",
|
||
"--nx",
|
||
"4096",
|
||
"--ny",
|
||
"2048",
|
||
"--body-x",
|
||
"820",
|
||
"--re",
|
||
"1000",
|
||
"--refine",
|
||
"1",
|
||
"--steps",
|
||
"3072000",
|
||
"--backend",
|
||
"gpu",
|
||
"--series-every",
|
||
"15",
|
||
"--gif",
|
||
"fine_wedge.gif",
|
||
"--gif-field",
|
||
"vorticity",
|
||
"--gif-every",
|
||
"auto",
|
||
"--gif-fps",
|
||
"10",
|
||
"--gif-speed",
|
||
"1",
|
||
"--gif-downsample",
|
||
"6",
|
||
"--gif-scale",
|
||
"1"
|
||
],
|
||
"nodes_per_step": 8388608,
|
||
"steps": 3072000,
|
||
"cost": 25769803776000,
|
||
"outputs": []
|
||
},
|
||
{
|
||
"id": "I09_fine_multi",
|
||
"group": "I",
|
||
"title": "Сверхмелкая сетка, композиция из трёх тел",
|
||
"expect": "взаимодействие следов на предельном разрешении",
|
||
"backend": "gpu",
|
||
"args": [
|
||
"--bodies",
|
||
"cylinder:d=200,x=800,y=1024; cylinder:d=200,x=1400,y=1024; naca:naca=4412,d=300,a=10,x=2200,y=1024",
|
||
"--nx",
|
||
"4096",
|
||
"--ny",
|
||
"2048",
|
||
"--re",
|
||
"1000",
|
||
"--refine",
|
||
"1",
|
||
"--steps",
|
||
"3072000",
|
||
"--backend",
|
||
"gpu",
|
||
"--series-every",
|
||
"15",
|
||
"--gif",
|
||
"fine_multi.gif",
|
||
"--gif-field",
|
||
"vorticity",
|
||
"--gif-every",
|
||
"auto",
|
||
"--gif-fps",
|
||
"10",
|
||
"--gif-speed",
|
||
"1",
|
||
"--gif-downsample",
|
||
"6",
|
||
"--gif-scale",
|
||
"1"
|
||
],
|
||
"nodes_per_step": 8388608,
|
||
"steps": 3072000,
|
||
"cost": 25769803776000,
|
||
"outputs": []
|
||
}
|
||
]
|
||
} |