← К программе CFD-Edu
📘 Электронный учебник
Расчёт двумерного течения в квадратной каверне с подвижной крышкой
Что это: учебная программа по численному решению уравнений Навье–Стокса в двумерной постановке для классической задачи lid-driven cavity (полость с движущейся верхней крышкой).
Что внутри: теория метода конечных объёмов, расчёт на JavaScript прямо в браузере, визуализация поля скорости и сравнение с эталоном Ghia, Ghia, Shin (1982).
Метод: SIMPLE-подобный стационарный солвер (Patankar–Spalding, 1972). Достаточно устойчив для Re ≤ 1000 при подходящей сетке.
1. Постановка задачи
Квадратная полость [0,1] × [0,1], заполненная несжимаемой вязкой жидкостью (ν = const). Верхняя крышка движется со скоростью U_lid = 1, остальные три стенки — неподвижные (no-slip). Расчёт ведётся в переменных U, V, P (примитивные переменные скорости и давление).
1.1. Уравнения Навье–Стокса (безразмерная форма)
∂U/∂x + ∂V/∂y = 0 (неразрывность)
∂U/∂t + U∂U/∂x + V∂U/∂y = −∂P/∂x + ν·(∂²U/∂x² + ∂²U/∂y²)
∂V/∂t + U∂V/∂x + V∂V/∂y = −∂P/∂y + ν·(∂²V/∂x² + ∂²V/∂y²)
1.2. Граничные условия
- Верхняя крышка (y = 1): U = 1, V = 0 (движение вправо)
- Остальные стенки: U = 0, V = 0 (no-slip)
- Давление: ∂P/∂n = 0 на всех стенках
1.3. Параметры
- Re = U_lid · L / ν — число Рейнольдса. У нас L = 1, U_lid = 1, поэтому ν = 1/Re
- N × N — размер сетки (N+2 × N+2 узлов с ghost-ячейками)
- Метод решения: SIMPLE (стационарный) или Чорин (псевдо-нестационарный)
2. Метод решения (SIMPLE)
SIMPLE (Semi-Implicit Method for Pressure-Linked Equations) — алгоритм Patankar & Spalding (1972):
- Задать начальное поле давления
P* = 0
- Решить уравнения импульса для
U*, V* используя P*
- Решить уравнение Пуассона для поправки давления
P'
- Скорректировать
P = P* + α·P', U = U* + d·∂P'/∂x, V = V* + d·∂P'/∂y
- Применить нижнюю релаксацию
- Повторять с шага 2 пока не сойдётся (изменение < tolerance)
Подробнее: см. PLAN.md в корне программы и книгу Patankar S.V. Numerical Heat Transfer and Fluid Flow (1980).
3. Расчёт двумерной каверны
Задайте параметры и нажмите «Запустить расчёт». Расчёт идёт в Web Worker — UI не зависает. Для Re = 100, N = 41 — обычно 5–15 секунд.
Поле скорости U (после расчёта)
Сравнение с Ghia 1982 (u на x = 0.5)
4. Эталоны Ghia, Ghia, Shin (1982)
Классический бенчмарк для течения в lid-driven cavity. Значения приведены для трёх чисел Рейнольдса:
- Re = 100 — ламинарное установившееся течение
- Re = 1000 — развитое ламинарное с одним главным вихрем
- Re = 10000 — сложная структура с вторичными вихрями в углах
Эталонные значения приведены на осях x = 0.5 (u-скорость) и y = 0.5 (v-скорость) в 21 точке. Используются для верификации расчётных результатов.
5. Что дальше
- Сравните результаты для разных Re и N — как меняется решение?
- Попробуйте оба метода (SIMPLE и Чорин) — какой быстрее сходится?
- Сравните ваш расчёт с эталоном Ghia 1982
- Откройте полную версию программы с 3D-визуализацией