Метод скінченних об'ємів

Матеріал з Вікіпедії — вільної енциклопедії.
Перейти до навігації Перейти до пошуку

Метод скінченних об'ємів (МСО) — це чисельний метод інтегрування систем диференціальних рівнянь з частинними похідними. Аналогічно до методів скінченних різниць і скінченних елементів, використовується сітка. Під скінченним об'ємом мається на увазі невеликий об'єм навколо кожної вузлової точки сітки. У цьому методі інтеграли об'єму, які містять вирази з дивергенцією, перетворюються у поверхневі інтеграли за допомогою формули Остроградського. Потім ці вирази оцінюються як поверхневі потоки кожного скінченного об'єму. Оскільки потік, який входить у даний об'єм, є ідентичним до потоку, який виходить із суміжного об'єму, то ці методи є консервативними. Іншою перевагою МСО є те, що він легко формулюється для неструктурованої сітки.

Цей метод використовується в обчислювальній гідродинаміці при моделюванні задач.

Приклад для одновимірного випадку[ред. | ред. код]

Розглянемо просту задачу адвекції

де  — змінна стану, а  — постійний рух або потік. Умовно, якщо функція f додатна, то потік рухається праворуч, якщо від'ємна — ліворуч. Нехай рівняння (1) відображає поточне середовище у постійній області, тоді цю область x можна розділити на скінченні об'єми або комірки, i — індекси комірок. Для конкретної комірки i середнє значення об'єму обчислюється як:

,

при 

,

де  та .

Проінтегрувавши рівняння (1), отримаємо:

,

де .

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

.

Припускається, що f добре поводиться, і що можна обернути порядок інтегрування. Також варто нагадати, що потік (англ. flow) перпендикулярний до одиниці площі комірки. Тепер, оскільки в одному вимірюванні , то можна застосувати формулу Остроградського, тобто , і замінити об'ємний інтеграл дивергенції значеннями , обчисленими на поверхні комірки (грані і ) скінченного об'єму наступним чином:

,

де .

Таким чином отримуємо напівдискретну числову схему для задачі з i-тими комірками та крайовими їх потоками . Після диференціювання (6) отримуємо:

,

де значення крайових потоків  можуть бути знайдені за допомогою інтерполяції або екстраполяції середніх значень комірок. Формула (7) є точною для середнього значення об'єму.

Також цей метод є застосовним у двовимірному випадку.

Загальний закон збереження[ред. | ред. код]

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

,

де  — вектор стану, а  — тензор потоку. Так само ділимо область на скінченні об'єми або комірки. Для конкретної i-тої комірки беремо інтеграл об'єму по всьому об'єму комірки :

.

Проінтегрувавши першу складову для отримання середнього значення об'єму та застосувавши формулу Остроградського до другої складової формули, отримаємо

,

де  — площа поверхні комірки, а  — вектор нормалі. Зрештою можна отримати загальний результат, еквівалентний (8):

.

Значення крайових потоків можуть бути знайдені за допомогою інтерполяції або екстраполяції. Фактично, чисельна схема залежить від принципу побудови сітки.

Консервативність схеми скінченних об'ємів полягає в тому, що середнє значення комірок змінюється через крайові потоки. Іншими словами, втрата однієї комірки призводить до створення нової.

Див. також[ред. | ред. код]

Посилання[ред. | ред. код]

  • The finite volume method by R. Eymard, T Gallouët and R. Herbin, update of the article published in Handbook of Numerical Analysis, 2000
  • Порожнє посилання на джерело‎ (довідка) , available under the GFDL.
  • FiPy: A Finite Volume PDE Solver Using Python from NIST.
  • CLAWPACK: a software package designed to compute numerical solutions to hyperbolic partial differential equations using a wave propagation approach
  • Кухарський В. М., Савула Я. Г., Головач Н. П. Стабілізація розв'язків задач адвекції-дифузії з великими числами Пекле, отриманих засобами методу скінченних елементів // Моделювання та інформаційні технології. — 2002. — Вип. 15. — С. 3-14. ЛНУ ім. Івана Франка

Джерела[ред. | ред. код]

  • Eymard, R. Gallouët, T. R. Herbin, R. (2000) The finite volume method Handbook of Numerical Analysis, Vol. VII, 2000, p. 713–1020. Editors: P.G. Ciarlet and J.L. Lions.
  • LeVeque, Randall (2002), Finite Volume Methods for Hyperbolic Problems, Cambridge University Press.
  • Toro, E. F. (1999), Riemann Solvers and Numerical Methods for Fluid Dynamics, Springer-Verlag.
  • Patankar, Suhas V. (1980), Numerical Heat Transfer and Fluid Flow, Hemisphere.
  • Hirsch, C. (1990), Numerical Computation of Internal and External Flows, Volume 2: Computational Methods for Inviscid and Viscous Flows, Wiley.
  • Laney, Culbert B. (1998), Computational Gas Dynamics, Cambridge University Press.
  • LeVeque, Randall (1990), Numerical Methods for Conservation Laws, ETH Lectures in Mathematics Series, Birkhauser-Verlag.
  • Tannehill, John C., et al., (1997), Computational Fluid mechanics and Heat Transfer, 2nd Ed., Taylor and Francis.
  • Wesseling, Pieter (2001), Principles of Computational Fluid Dynamics, Springer-Verlag.