Учебная программа · вычислительная гидродинамика
Расчёт течения в квадратной каверне с подвижной крышкой
Замкнутая полость со стороной H = 1 м, три стенки неподвижны, верхняя крышка едет со скоростью U = 1 м/с. Расчёт ведётся в переменных U (горизонтальная), V (вертикальная), W (поперечная, в двумерной постановке тождественно нулевая) и P (давление), методом конечных объёмов.
Параметры расчёта
—
При U = 1 м/с и H = 1 м это ν = 1 / Re.
Ламинарный режим сверен с экспериментом: при Re = 100 профиль u сходится с таблицей Ghia на 1,5 %, профиль v — на 0,8 %.
—
—
Картины течения, линии тока и профили
| Величина | Из расчёта | Эталон | Расхождение |
|---|
—
Теория и история задачи
Раздел загружается…
Расчёты на больших компьютерах
Раздел загружается…
Инструкция по пользованию и презентация
Инструкция по пользованию
- Задайте число Рейнольдса. Ползунком или числом, от 10 до 100000. Подсказка под ним показывает режим течения и ближайшее табличное Re, с которым будет сравниваться расчёт.
- Выберите модель турбулентности. При Re < 10000 берите ламинарный режим, при больших — realizable k-эпсилон. Список моделей подгружается с сервера; если запрос не прошёл, остаются два пункта, проверенных на этой геометрии вручную.
- Проверьте вязкость. По умолчанию галочка включена, и ν подставляется как U / Re. Снимите её, только если хотите задать ν руками.
- Задайте сетку. nx и ny от 20 до 200, по умолчанию 80 × 80 — это 6400 ячеек. Угловые вихри маленькие, и на грубой сетке они размываются первыми.
- Нажмите «Рассчитать». Сервер считает от десятков секунд до нескольких минут в зависимости от Re и сетки; вместо крутилки показывается понятный текст, кнопка заблокирована.
- Смотрите результат. Картина модуля скорости, изолинии ψ, два профиля с наложенным экспериментом и таблица расхождений. Главный вихрь должен находиться в верхней половине правее центра.
- Если сервер недоступен или занят — переключитесь на демо-режим: он берет заранее рассчитанный снимок из data/demo.js и работает без сети. Плашка под результатом честно пишет, какое Re на снимке.
Демо-режим — это заранее рассчитанная картина, а не новый расчёт. Снимки лежат в data/demo.js и сделаны на той же сетке и в том же солвере. Пользоваться ими стоит для показа и для разбора интерфейса: измерять на них точность бессмысленно, и плашка об этом предупреждает.
Презентация программы — сценарий показа
- Постановка задачи (2 мин). Открыть «Теория», раздел «Постановка». Показать схему: три неподвижные стенки, крышка со скоростью U, единственное входное условие во всей задаче. Объяснить, почему функция тока здесь особенно удобна: на всех стенках ψ постоянна, то есть краевые условия на ψ вырождаются в Dirichlet и решение единственно.
- История (1 мин). Раздел «История»: Рейнольдс 1883, Стокс 1845, работа Ghia, Ghia & Shin 1982. Главный вывод: у каверны нет аналитического решения при конечном Re, зато есть точный эксперимент — поэтому задача учебная именно в сравнении.
- Эталонный ламинарный расчёт при Re = 100 (3 мин). Ламинарный режим, сетка 80 × 80. Показать один крупный вихрь и два крошечных угловых в нижних углах, сверить профиль u с экспериментом, назвать расхождение в процентах из таблицы. Это самая сходимая точка во всей программе.
- Re = 1000 (2 мин). Тот же ламинарный режим. Главный вихрь смещается вниз и влево, угловые растут. Показать, что профиль меняет форму, а расхождение с экспериментом остаётся в пределах единиц процентов — это и есть признак корректной численной схемы.
- Турбулентный режим (3 мин). Re = 5000–10000, realizable k-эпсилон. Ядро размывается, профиль в ядре становится плоским, в углах вихри слабеют. Объяснить, откуда берётся остаток расхождения: сетка грубая у стенки, пристенные функции и сама модель замыкания.
- Чувствительность к сетке (2 мин). Удвоить nx и ny и повторить расчёт. Центр главного вихря и профиль почти не двигаются, а вот угловые вихри меняются заметно. Это честная демонстрация того, что в каверне дороже всего обходится угол, а не ядро.
- Модели турбулентности (2 мин). Раздел «Турбулентность»: почему вязкость турбулентного течения эффективная, зачем нужно замыкание, почему семейство k-ω на этой платформе не предлагается, а SST не выдаётся за рабочую модель.
- ИИ в моделях (1 мин). Раздел «ИИ»: где машинное обучение реально помогает, а где честно не работает, и почему нейросетевая замыкающая модель пока не заменяет DNS.
- Большие компьютеры (2 мин). Раздел про HPC: почему наш расчёт на 6400 ячейках идёт десятки секунд, а прямой численный эксперимент требует миллиардов точек и тысяч ядер, и куда такое отправляют.
Частые вопросы и типичные ошибки
- Главный вихрь сместился к стенке или в угол. Почти всегда виновата сетка: при одинаковых nx и ny на углу получается четырехугольник, а вихрь живёт именно там. Менять нужно угол, а не ядро потока.
- Расхождение с экспериментом скачет от Re к Re. Проверьте, не осталась ли включённой турбулентная модель на малых Re. При Re < 10000 каверна ламинарная, и моделировать в ней нечего.
- На графиках нет пунктирной линии эксперимента. Не загрузился файл data/reference.js. Проверьте его наличие рядом с index.html; программа при этом продолжает работать и честно пишет об отсутствии эталона.
- Ошибка «сервер уже считает» (409). На сервере один расчёт за раз, и он ещё идёт. Дождитесь окончания или переключитесь на демо-режим.
- Скорость крышки в картине течения нигде не 1. Стрелку у края подписи показывает максимум по полю, а он всегда чуть больше единицы из-за дискретности: реальный максимум в углах возникает на стыке подвижной и неподвижной стенок, и это физический эффект, а не ошибка.
- Расчёт не сходится. Уменьшите nx и ny или упростите модель до ламинарной. Сервер один и загруженный, увеличение сетки ускоряет не расчёт, а очередь.