Паразитні моди у нестисливих рівняннях Нав'є-Стокса
Нестисливі рівняння Нав'є-Стокса пов'язують швидкість і тиск через
обмеження — ∇·u = 0 (дивергенція поля швидкості
дорівнює нулю всюди, тобто об'єм рідини ніде не створюється й не
зникає) — а не через рівняння еволюції
тиску. Дискретизуйте швидкість і тиск у тих самих вузлах
сітки без обережності — і дискретна система допускає
нефізичні паттерни тиску, які точно задовольняють
дискретне обмеження дивергенції, залишаючись цілком неправильними:
шахові коливання, що безконтрольно ростуть і ніколи не з'являються
у справжньому неперервному розв'язку. Розуміння того, чому вони
виникають — і як розрізнені сітки та стабілізовані методи їх
усувають — необхідне, перш ніж довіряти будь-якому полю тиску, яке
видає розв'язувач.
1. Чому в тиску немає рівняння еволюції
Система нестисливого Нав'є-Стокса:
∇·u = 0 (нерозривність / нестисливість)
Ніде немає члена ∂p/∂t — тиск не є незалежним
фізичним полем, що еволюціонує самостійно; він —
множник Лагранжа, який забезпечує
бездивергентність у кожен момент часу. Взявши дивергенцію рівняння
імпульсу і використавши ∇·u = 0, отримуємо рівняння
Пуассона для тиску ∇²p = −ρ∇·((u·∇)u), яке потрібно
розв'язувати узгоджено з дискретним полем швидкості на кожному
кроці часу — саме тут наївна дискретизація може дати збій.
2. Шахова мода тиску
На колокованій сітці — швидкість і тиск обидва зберігаються в центрах комірок — стандартна центральна різниця другого порядку для градієнта тиску у вузлі i використовує лише p_{i-1} та p_{i+1}:
Цей шаблон повністю сліпий до самого p_i. Розгляньмо поле тиску, що чергується: p_i = (−1)^i · A — «шахова» картина. Її центрально-різницевий градієнт дорівнює нулю в кожному вузлі — так само, як градієнт рівномірного (сталого) поля тиску. Дискретне рівняння імпульсу не може відрізнити справжню, фізично беззмістовну шахову моду від нешкідливого сталого зсуву — обидві невидимі для дискретного оператора градієнта, і ніщо в дискретній системі їх не гасить.
У 2D/3D той самий збій виникає одночасно вздовж обох напрямків, і нуль-простір дискретного оператора градієнта може бути великим. Похибки округлення або трохи асиметрична гранична умова достатні, щоб посіяти цю моду, і оскільки ніщо в рівняннях її не штрафує, вона може рости, доки не домінуватиме у видимому полі тиску — симптом, з яким рано чи пізно стикається кожен практик CFD.
3. Умова сумісності LBB / inf-sup
Строге формулювання того, «які пари дискретизацій швидкість/тиск безпечні», — це умова Ладиженської-Бабушки-Брецці (LBB), також звана умовою inf-sup. Для задачі сідлової точки з простором швидкостей Vh та простором тисків Qh стійкість вимагає існування β > 0, незалежного від розміру сітки h, такого, що:
Інтуїтивно: для кожного нетривіального поля тиску q (включно з кандидатом-шахівницею) простір швидкостей повинен містити поле швидкості, дивергенція якого "бачить" q із силою, незалежною від сітки. Колоковані швидкість/тиск однакового порядку (елементи Q1-Q1 чи P1-P1, або наївна скінченно-різницева сітка з обома полями в тих самих точках) як правило порушують LBB — шахова мода і є саме тим полем тиску, яке дискретний оператор дивергенції не бачить за жодної швидкості.
4. Розрізнені (MAC) сітки
Сітка "маркер-і-комірка" (MAC) Гарлоу та Велча (1965) — класичне, елегантне вирішення: зберігати тиск у центрах комірок, але зберігати горизонтальну компоненту швидкості u на вертикальних гранях комірки, а вертикальну компоненту v — на горизонтальних гранях:
(∇·u)_{i,j} = (u_{i+1/2,j} − u_{i-1/2,j})/Δx + (v_{i,j+1/2} − v_{i,j-1/2})/Δy
На розрізненій сітці оператори градієнта тиску та дивергенції — точні дискретні спряжені один одного і залучають кожне сусіднє значення тиску — шахова мода тепер дає великий, правильно спрямований градієнт і гаситься дискретним розв'язанням Пуассона. MAC-сітки задовольняють LBB за побудовою і залишаються стандартним вибором для скінченно-різницевих/ скінченно-об'ємних нестисливих розв'язувачів, включно з розв'язувачем методу проекції, використаним в інших місцях цього сайту.
5. Інтерполяція Рі-Чоу для колокованих сіток
Рі та Чоу (1983) показали, що колоковану сітку можна зробити стійкою без фізичного розрізнення зберігання, шляхом інтерполяції за імпульсом швидкості на грані, що використовується в рівнянні збереження маси (тиску), замість простого усереднення швидкостей сусідніх центрів комірок:
ū_грань: лінійне усереднення швидкостей центрів комірок
D_грань: коефіцієнт рівняння імпульсу (≈ Δt/ρ або 1/A_P)
(∂p/∂x)_грань: справжній градієнт через грань — чутливий до шахівниці
(∂p/∂x)‾_грань: інтерпольований усереднений градієнт — нечутливий
Коригувальний член швидкості грані явно повертає чутливість до різниці тиску через грань, яку наївне усереднення пропустило б, фактично додаючи контрольований згладжувальний член тиску четвертого порядку. Це домінантна техніка в сучасних колокованих скінченно-об'ємних кодах (OpenFOAM, більшість комерційних пакетів CFD), тому що вона зберігає всі поля в одній точці — спрощуючи неструктуровані сітки, мультисітку та обробку границь — водночас задовольняючи дискретний аналог LBB.
6. Паразитні моди у скінченних елементах — стабілізація
Те саме явище з'являється у скінченно-елементних розв'язувачах Стокса/Нав'є-Стокса. Елементи однакового порядку P1-P1 (лінійна швидкість, лінійний тиск) порушують LBB. Стандартними є два сімейства виправлень:
- LBB-стійкі пари елементів: використовувати багатший простір швидкості, ніж тиску — елементи Тейлора-Гуда P2-P1 (квадратична швидкість, лінійний тиск), або MINI-елементи (P1-швидкість, збагачена бульбашковою функцією). Вони автоматично задовольняють LBB ціною додаткових ступенів свободи швидкості.
- Стабілізовані методи однакового порядку: залишають дешеву пару P1-P1, але додають узгоджений стабілізаційний член до слабкої форми — SUPG (Streamline-Upwind Petrov-Galerkin) для рівняння імпульсу і PSPG (Pressure- Stabilising Petrov-Galerkin) для нерозривності, обидва пропорційні нев'язці сильної форми рівнянь, тому зникають при h → 0, не руйнуючи узгодженість.
+ Σ_K τ_K ∫_K ∇q · [ −∇p + ρ((u·∇)u) − ν∇²u ] dΩ
τ_K: параметр стабілізації, що залежить від розміру елемента
Зникає, коли нев'язка сильної форми дорівнює нулю → узгоджено
7. Виявлення паразитних мод на практиці
- Візуальна шахівниця: побудуйте графік тиску з дивергентною колірною картою з високим контрастом — картина, що чергується комірка за коміркою, — безпомилкова ознака.
- Спектральний тест: застосуйте дискретне перетворення Фур'є до поля тиску; паразитна мода проявляється як енергія, зосереджена саме на хвильовому числі Найквіста (чергування ±1), відокремлена від гладкого, фізично розв'язаного спектра.
- Чутливість до релаксації/CFL: паразитні моди в нестійкій дискретизації часто з'являються (чи вибухають) лише коли число CFL, крок часу чи фактор недорелаксації перетинає поріг — дискретизація, стійка при будь-якому розумному кроці і з гладким полем тиску, — сильний доказ, що LBB виконується на практиці.
- Нев'язка збереження маси: моніторте дискретну дивергенцію збіжного поля швидкості напряму; якщо вона не машинно-точний нуль (чи мала в межах точності розв'язувача Пуассона), сам крок проекції/корекції може бути неузгодженим — пов'язана, але відмінна від шахівниці помилка.
8. Практичні наслідки для розв'язувачів реального часу
Розв'язувачі рідини в реальному часі на WebGL ("Stable Fluids" Йоса Стама та його нащадки, використані в інших місцях цього сайту) зазвичай уникають проблеми шахівниці, зберігаючи швидкість на розрізненій сітці MAC-типу всередині ping-pong буферів фрагментного шейдера, або навмисно надмірно згладжуючи розв'язання тиску (кілька ітерацій Якобі замість збіжного розв'язку) — прагматичний компроміс, що ховає низькорівневі артефакти шахівниці за числовою дисипацією, прийнятний для візуальної симуляції, але не для інженерно-точного CFD.
- Латтіс-Больцман природно імунний: LBM відновлює тиск як локальний момент функцій розподілу, а не через розв'язання глобального рівняння Пуассона, тож проблема сумісності LBB просто не виникає в такій самій формі.
- Мультисіткові розв'язувачі тиску посилюють небезпеку нестійкої дискретизації: оскільки мультисітка надзвичайно швидко збігає гладкі компоненти похибки, шахова мода (найвищочастотна похибка, яку може представити сітка) може домінувати у нев'язці вже за кілька ітерацій, якщо базова дискретизація не є LBB-стійкою.
🌊 Рідина Нав'є-Стокса (WebGL)
Подивіться, як працює розрізнений розв'язувач з проекцією тиску наживо — без шахівниці, розв'язання тиску Якобі в реальному часі.