Який найпростіший метод розв’язання нестислимих рівнянь Нав'є-Стокса?


9

Під "найпростішим" я маю на увазі найпростіший у навчанні та здійсненні з нуля. Я сподіваюся, що на моє питання можна відповісти більш-менш.


1
В якій геометрії?
Rhys Ulerich

@Rhys Ulerich Im гадаю найпростіший?
Джеймс

@ user2697246 Нескінченний домен з однаковою початковою умовою? Тривіальне. Це не повинно було бути зневажливим питанням.
Rhys Ulerich

1
Щоб розпочати роботу з моделювання NS, перегляньте це, lorenabarba.com/blog/cfd-python-12-steps-to-navier-stokes
Subodh

Відповіді:


10

У двох вимірах формулювання швидкості-вихровості є найпростішим у здійсненні, оскільки змінні є колольованими, але граничні умови можуть бути складними, і це менш пряме викладення проблеми. Для примітивних змінних формулювань чудовим місцем для початку є метод ступеневих різниць з обмеженою різницею сітки Harlow and Welch (1965) .


2
Дуже чіткий опис цього алгоритму з граничними умовами дає Позрікідіс .
Джон Стокі

10

Ви можете знайти повністю документовану реалізацію дуже простий, але дуже ефективний, метод вирішення (метод розщеплення Хорін в) тут .

Щоб отримати добірку інших популярних методів, подивіться у розділі 21 цієї книги .

Відмова: Я (спі) автор як демо-програми, так і книги. Книгу можна завантажити безкоштовно.


5

Найпростіший завжди буде відповідати вашим конкретним інтересам і потребам. Я погоджуюсь з Андерсом, що для несприйнятливого потоку в доменах з простою геометрією вам буде важко перемогти метод проекції (тобто метод розщеплення Чоріна), якщо ви надаєте пріоритет як простоті використання, так і точності.

Щоб розібратися трохи детальніше, метод питання вводиться в [1]. Більш сучасний, приблизний метод прогнозування другого порядку добре пояснений у [2]. Мотивація полягає в тому, що для вирішення повних нестислимих рівнянь Нав'є-Стокса потрібно вирішити одночасно для поля швидкості і тиску, і отримана лінійна система досить погана. Метод проекції усуває цю проблему, розбиваючи кожен крок на вирішення швидкості, використовуючи тиск з попереднього часового кроку з подальшим оновленням тиску, що, по суті, примушує те, що поле швидкості залишається невиразненим.

Для цього вам знадобиться кілька інших компонентів, але все можна вивчити та запрограмувати досить легко.

  1. Для вирішення тиску, припускаючи, що вас цікавлять системи з постійною щільністю, вам потрібно буде розв’язати рівняння Пуассона. Звичайно, існує десятки алгоритмів для вирішення цієї проблеми, але, безумовно, найпростішим у виконанні - якщо можливо, не до кінця зрозуміти - є алгоритм сполученого градієнта (CG). Одне з найкращих пояснень CG, який я прочитав, написав Джонатан Шевчук і його можна знайти тут . Однак вам, звичайно, не потрібно читати весь документ, щоб мати можливість просто реалізувати алгоритм.

  2. Вам знадобиться інший алгоритм для обробки терміну advection в Navier-Stokes. У кількох вимірах програмування надійної реалізації найбільш гнучких методів, наприклад, Годунова, може бути досить складним. Однак за умови, що вас цікавлять потоки з відносно скромним числом Рейнольдса (тобто з незначною в'язкістю), один із принципово не коливальних (ЕНО) методів добре підходить до рахунку з точки зору простоти реалізації. Існує чудовий огляд як теорії, так і впровадження в [3].

  3. Вам потрібно буде обробити в'язкий термін, використовуючи неявний метод, як правило, Кранк-Ніколсон. Це детально пояснено в документах методів проекції, і ви можете легко використовувати CG для вирішення матриці за умови постійної в'язкості.

[1] А. Дж. Хорін, Чисельне рішення рівнянь Нав'є-Стокса , Дж. Матх. Comput., 22 (1968), стор 745-762

[2] А. Алмгрен, Дж. Б. Белл та У. Шимчак, Чисельний метод для нестислимих рівнянь Нав'є-Стокса, заснований на приблизній проекції , SIAM J. Sci. Обчислення. 17 (1996), стор 258-369.

[3] С. Ошер та Р. Федків, методи встановлення рівня та динамічні неявні поверхні . Спрингер-Верлаг, Нью-Йорк,. Прикладні математичні науки, 153, 2002


До цієї приємної відповіді дозвольте додати, що оновлене розуміння природи тиску у (дискретно-часових) методах проекції є в: J.-G. Лю, Дж. Лю, Р. Л. Пего, Стабільне та точне наближення тиску для нестійкого нестислимого в'язкого потоку, Ж. Склад. Фіз. 229 (2010) 3428-3453.
Боб Пего

4

В останні роки комп’ютерна графіка та ігри побачили величезний вибух інтересу до моделювання рідини. Ось чудовий документ від Jos Stam, в якому йдеться про впровадження рішення для додатків у реальному часі. Він постачається з дуже простим для розуміння вихідним кодом. Я не знаю, наскільки це точно, але це може бути те, що ви шукаєте.


1

Ще один дійсно приємний і простий метод - це використання стільникових автомати для дискретизації. Таких моделей дуже багато, включаючи LBA, FHP та багато іншого. Це дуже добре, оскільки вони можуть забезпечити моделювання в режимі реального часу на сучасних комп’ютерах, а також можна добре паралелізувати та працювати на графічних процесорах. Вони також мають деякі недоліки, і результати сильно залежать від форми нанесеної решітки. Квадратна решітка є недостатньою, оскільки їй не вистачає свободи обертання, тобто вихри von von kaarman будуть квадратної форми, що не приємно :)

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.