Граничні умови для LBM — точність проти простоти
Наша попередня стаття про метод ґраткового Больцмана побіжно згадала bounce-back та стінки Зоу-Хе. На практиці саме граничні умови визначають, чи збереже код LBM свою точність: кроки зіткнення та поширення точні другого порядку майже за побудовою, але недбала обробка стінки може непомітно опустити всю симуляцію до першого порядку або внести хибну швидкість ковзання, яка зіпсує вимірювання опору чи числа Струхаля (безрозмірної величини, що характеризує частоту зриву вихорів позаду перешкоди). Ця стаття порівнює основні сімейства — bounce-back на вузлі vs напівшляху, Зоу-Хе, інтерпольований bounce-back для кривої геометрії та форсинг занурених границь — за порядком точності, стійкістю та вартістю реалізації.
1. Чому граничні умови — слабка ланка в LBM
Після поширення вузол, суміжний із твердою стінкою, не має частини вхідних функцій розподілу f_i — тих, що мали б прийти з середини твердого тіла, де немає рідини. Завдання граничної умови — точно відновити саме ці відсутні популяції так, щоб макроскопічна швидкість і (де доречно) тиск на стінці відповідали фізичній умові — прилипанню, заданій вхідній швидкості, фіксованому вихідному тиску чи поверхні кривої перешкоди.
Об'ємне оновлення LBM (зіткнення BGK + поширення) формально точне другого порядку у просторі та часі через розклад Чепмена-Енскога. Однак багато граничних схем точні лише першого порядку, або точні лише для стінок, вирівняних точно з ґраткою — і похибка, яку вони вносять на стінці, не залишається локальною: вона забруднює все поле потоку за достатню кількість кроків часу, особливо в циркуляційних потоках чи потоках із високим числом Рейнольдса.
2. Bounce-back на вузлі vs напівшляху
Bounce-back на вузлі (простий) розміщує тверду стінку точно на вузлі ґратки. Будь-яка популяція, що туди прибуває, відбивається назад:
Це тривіально реалізувати, і воно безумовно стійке, але фактичне розташування прилипання точне лише першого порядку — справжня поверхня нульової швидкості лежить десь між вузлом стінки та його сусідом, а не точно на вузлі, вносячи похибку O(Δx) у положенні стінки, що проявляється як похибка O(Δx) у коефіцієнтах опору та товщині примежового шару.
Bounce-back напівшляху натомість розміщує стінку точно посередині між останнім вузлом рідини і першим твердим вузлом. Правило відбиття в коді ідентичне, але оскільки стінка лежить у середній точці зв'язку, фактичне розташування прилипання стає точним другого порядку — відповідаючи точності об'ємної схеми, без жодних додаткових обчислювальних витрат. Цей єдиний геометричний вибір — розглядати стінку як таку, що живе між вузлами, а не на них, — найвпливовіше й найдешевше виправлення точності, доступне в обробці стінок LBM.
3. Швидкісні й тискові границі Зоу-Хе
Bounce-back обробляє лише тверді стінки; він нічого не каже про задання відомої вхідної швидкості чи вихідного тиску. Зоу і Хе (1997) вивели граничні популяції, поєднавши відому макроскопічну умову з правилом bounce-back, застосованим лише до нерівноважної частини розподілу, нормальної до границі. Для лівого входу зі швидкістю u = (u_x, 0) у D2Q9 (напрямки 1, 5, 8 невідомі після поширення):
f_1 = f_3 + (2/3) ρ_вх u_x
f_5 = f_7 − (1/2)(f_2 − f_4) + (1/6) ρ_вх u_x
f_8 = f_6 + (1/2)(f_2 − f_4) + (1/6) ρ_вх u_x
Той самий вивід дає вихід за тиском (густиною): задайте ρ_вих напряму й розв'яжіть аналогічні три рівняння для вихідної компоненти швидкості замість цього. Зоу-Хе точний другого порядку і точно відтворює відомий рівномірний вхідний потік без перехідного процесу на старті — явне покращення порівняно зі старішим підходом простого встановлення всіх дев'яти f_i на їхнє рівноважне значення на вході, який точний лише першого порядку і вносить паразитні хвилі тиску на старті.
4. Криві стінки — інтерпольований bounce-back
Bounce-back напівшляху точний лише для стінок, що йдуть точно вздовж зв'язків ґратки. Циліндр або профіль крила перетинає зв'язки ґратки на довільній частці q ∈ (0, 1) довжини зв'язку від вузла рідини. Обробка цього як звичайного bounce-back напівшляху (q = 0.5 всюди) вносить похибку "сходинок" O(Δx) у геометрії, яка домінує на грубих сітках.
Бузіді, Фірдаус і Лальман (2001) вивели точний другого порядку інтерпольований bounce-back, що лінійно (чи квадратично) інтерполює між точною часткою перетину стінки q і сусідніми вузлами рідини:
f_ī(x_f, t+1) = 2q f_i*(x_f, t) + (1 − 2q) f_i*(x_ff, t)
Для q ≥ 1/2 (стінка близько до твердого вузла):
f_ī(x_f, t+1) = (1/(2q)) f_i*(x_f, t) + ((2q − 1)/(2q)) f_ī*(x_f, t)
x_f: вузол рідини, суміжний зі стінкою; x_ff: наступний вузол рідини далі від стінки
q: частка довжини зв'язку від x_f до справжнього розташування стінки
Це відновлює точність другого порядку для довільно кривих твердих границь ціною попереднього обчислення q для кожного граничного зв'язку один раз під час налаштування (геометричний тест перетину променя) — одноразова вартість, яка окупається негайно точністю для класу симуляцій кармановий вихоровий слід і потік навколо циліндра.
5. Метод занурених границь — рухомі/деформівні стінки
Для стінок, що рухаються чи деформуються кожен крок часу (серцевий клапан, що б'ється, крило, що махає, риба, що плаває), перерахунок геометрії bounce-back щокадру дорогий і може внести "сходинкове" тремтіння в рухому границю. Метод занурених границь (IBM) натомість представляє границю як набір лагранжевих маркерних точок, що несуть член форсингу, який розповсюджується на базову фіксовану ейлерову ґратку через згладжену дельта-функцію (наприклад, 4-точкове ядро Пескіна):
U(X_k) = Σ_x u(x) δ_h(x − X_k) Δx^d інтерполяція швидкості назад до маркера
Ґратка ніколи не потребує перегенерування сітки в міру руху границі — оновлюються лише позиції маркерів та сили — що робить IBM методом вибору для взаємодії рідини й конструкції, ціною розмазаної (а не чіткої) умови прилипання, зазвичай від першого до другого порядку, залежно від вибору ядра та схеми обчислення сили (пряме форсування vs форсування зі зворотним зв'язком).
6. Відкриті границі — витік і вільне ковзання
Окрім стінок і заданих входів, постійно повторюються ще два типи границь:
- Конвективний вихід / екстраполяція: найпростіший стійкий вихід копіює (екстраполяція нульового градієнта) чи конвектує невідомі популяції з внутрішньої частини, використовуючи локальну конвективну швидкість, уникаючи штучних відбитих хвиль назад у домен — критично для симуляцій зриву вихорів, де наївний вихід із фіксованим тиском відбиває зірвані вихори.
- Стінки вільного ковзання (симетрії): реалізуються як дзеркальне відбиття, а не bounce-back — нормальна до стінки компонента швидкості змінює знак, а дотична зберігається, корисно для використання площини симетрії, щоб скоротити навпіл симульований домен.
7. Вибір схеми — точність проти вартості
| Схема | Геометрія | Порядок | Додаткова вартість |
|---|---|---|---|
| Bounce-back на вузлі | пряма, вирівняна з ґраткою | 1-й | немає |
| Bounce-back напівшляху | пряма, вирівняна з ґраткою | 2-й | немає |
| Зоу-Хе | прямий вхід/вихід | 2-й | низька (алгебра на вузол) |
| Інтерпольований bounce-back | довільна крива | 2-й | середня (розрахунок q при налаштуванні) |
| Занурена границя | рухома/деформівна | 1–2-й | висока (трекінг маркерів, розповсюдження) |
Практичне правило: використовуйте найдешевшу схему, що точно відповідає вашій геометрії. Bounce-back напівшляху безкоштовний і завжди повинен замінювати bounce-back на вузлі для пласких стінок; інтерпольований bounce-back вартий одноразової вартості налаштування щоразу, коли перешкода крива і кількісна точність (опір, число Струхаля, коефіцієнт тиску) має значення; занурена границя зарезервована для дійсно рухомої геометрії, де перегенерування ґратки на кожному кроці не варіант.
8. Практичний чек-лист
- Завжди перевіряйте точність границі окремо: запустіть потік Пуазейля в каналі (аналітичний параболічний профіль) із вашою схемою стінки та переконайтеся, що числова похибка зменшується з очікуваним порядком у міру подрібнення Δx.
- Слідкуйте за паразитним ковзанням на пласких стінках із bounce-back на вузлі — характерна ознака: аналітична апроксимація профілю швидкості потоку в каналі, що вказує на зсув площини прилипання приблизно на Δx/2 від вузла стінки.
- Для бенчмарків зриву вихорів (кармановий вихоровий слід) завжди використовуйте інтерпольований bounce-back на циліндрі — bounce-back на вузлі чи напівшляху сам по собі на "сходинковому" колі вносить паразитний високочастотний шум у сигнал підйомної сили/опору, який можна сплутати з фізичними гармоніками зриву.
- Перехресно перевіряйте вихідні границі, пересуваючи вихід далі за течією та підтверджуючи, що розв'язок поблизу цікавої області незмінний — чутливість до положення виходу сигналізує про відбиті хвилі від неадекватної вихідної умови.
🌀 Потік Латтіс-Больцмана
Подивіться на bounce-back напівшляху та вхідні/вихідні границі наживо в 2D-симуляції D2Q9 потоку навколо циліндра.