Это не официальный сайт wikipedia.org 01.01.2023

Метод конечных разностей — Википедия

Метод конечных разностей

Метод конечных разностей — численный метод решения дифференциальных уравнений, основанный на замене производных разностными схемами. Является сеточным методом.

Метод конечных разностей для решения эллиптических задачПравить

Для решения эллиптической задачи методом конечных разностей на расчётной области строится сетка, затем выбирается разностная схема и для каждого узла сетки записывается разностное уравнение (аналог исходного уравнения, но с использованием разностной схемы), затем производится учёт краевых условий (для краевых условий второго и третьего рода так же строится некоторая разностная схема). Получается система линейных алгебраических уравнений, решая которую в ответе получают приближенные значения решения в узлах.
Главной проблемой метода является построение правильной разностной схемы, которая будет сходиться к решению. Построение схемы выполняется исходя из свойств исходного дифференциального оператора.

Сравнение с методом конечных элементовПравить

Другой метод решения эллиптических задач — метод конечных элементов, имеет как преимущества, так и недостатки перед методом конечных разностей.

Преимущества МКР Преимущества МКЭ
  • Для простых задач построение разностной схемы выполняется быстрее
  • Метод является проекционным, то есть устойчив
  • Позволяет работать с геометрически более сложными областями
  • Решение сразу представляет собой функцию и значения в любой точке могут быть вычислены сразу (в МКР предварительно нужно построить сплайн)

ПримерПравить

Пусть дана одномерная эллиптическая задача:

d 2 u d x 2 = f ( x ) ,   x [ 0 , 1 ]  
u ( 0 ) = u ( 1 ) = 0  


Построим сетку с постоянным шагом h = 1 4  . Для аппроксимации выберем трёхточечный шаблон, то есть для аппроксимации производной в точке x i   будем использовать точки { x i 1 , x i , x i + 1 }  . Тогда разностное уравнение будет выглядеть следующим образом:

u i 1 + 2 u i u i + 1 h 2 = f i ,   i = 1 , 2 , 3  


Учитывая краевые условия, система линейных уравнений вида A u = b   , для нахождения решения, будет выглядеть следующим образом:

A = ( 1 0 0 0 0 16 32 16 0 0 0 16 32 16 0 0 0 16 32 16 0 0 0 0 1 )     b = ( 0 f ( 1 4 ) f ( 1 2 ) f ( 3 4 ) 0 )  .

Метод конечных разностей для решения нестационарных задачПравить

Решение задач методом конечных разностей, когда процесс изменяется во времени, представляет собой итерационный процесс — на каждой итерации мы находим решение на новом временном слое. Для решения таких задач используются явные, неявные схемы и предиктор-корректор (пара из специально подобранных явной и неявной схемы). Явные схемы и схемы предиктор-корректор просто пересчитывают значение, используя информацию с предыдущих временных слоёв, использование неявной схемы приводит к решению уравнения (или системы уравнений).
Для параболических и гиперболических уравнений часто прибегают к смешиванию методов — производные по времени аппроксимируют с помощью разностной схемы, а оператор по пространству аппроксимируется с помощью конечноэлементной постановки[1].

Пример решения обыкновенного дифференциального уравненияПравить

Пусть дано уравнение d u d t = u   с начальным условием u ( 0 ) = 1  . Для решения воспользуемся следующими разностными схемами:

  • Явная схема Эйлера d u d t | t = t i = u i u i 1 h  . Разностное уравнение: u i + 1 = 1 1 h u i  .
  • Неявная схема Эйлера d u d t | t = t i = u i + 1 u i h  . Разностное уравнение: u i + 1 = ( 1 + h ) u i  .

С шагом h = 0.25  . Точным решением является экспонента: u = e t  

При уменьшении шага точность метода увеличивается. Поскольку исходное уравнение — это линейное дифференциальное уравнение, то и для неявной схемы тоже получилось линейное уравнение, из которого можно выразить (что и было сделано) решение.

Пример решения параболического уравненияПравить

Этот пример демонстрирует, как совмещаются конечноэлементные постановки и разностные схемы. Пусть дано параболическое уравнение:

Δ u + u t = f ( r , t ) ,   i n   Ω  
u = g   o n   Ω ,   u | t = 0 = χ ( r )  


Для аппроксимации по времени, используя неявную схему Эйлера, получим:

Δ u i + 1 + u i + 1 u i τ = f ( r , t i + 1 )  


Поскольку значение на предыдущем слое уже известно, то, при перенесении его в правую часть, получается эллиптическое уравнение относительно u i + 1  :

Δ u i + 1 + 1 τ u i + 1 = f i + 1 + 1 τ u i  


Для решения данного уравнения можно применить метод Галёркина, тогда полученная СЛАУ будет иметь следующий вид:

( G + 1 τ M ) x i + 1 = b i + 1 + 1 τ M x i  .

Здесь: G   — матрица жесткости, M   — матрица массы, b   — вектор, связный с правой частью исходного уравнения, x i   — вектор весов базисных функций на слое с номером i  .

Однако, решение по пространству можно искать также и с помощью разностной схемы, аналогично показанному выше примеру.

См. такжеПравить

ЛитератураПравить

  • Самарский А.А., Николаев Е.С. Методы решения сеточных уравнений. — Москва: Наука, 1978. — 592 с.
  • Штеттер Х. Анализ методов дискретизации для обыкновенных дифференциальных уравнений. — Москва: Мир, 1978. — 461 с.

ПримечанияПравить

  1. Соловейчик Ю.Г., Рояк М.Э., Персова М.Г. Метод конечных элементов для скалярных и векторных задач. — Новосибирск: НГТУ, 2007. — 896 с. — ISBN 978-5-7782-0749-9.