Разностная схема

Материал из Википедии — свободной энциклопедии
Перейти к: навигация, поиск

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

Решение разностной схемы называется приближенным решением дифференциальной задачи.

Хотя формальное определение не накладывает существенных ограничений на вид алгебраических уравнений, но на практике имеет смысл рассматривать только те схемы, которые каким-либо образом отвечают дифференциальной задаче. Важными понятиями теории разностных схем являются понятия сходимости, аппроксимации, устойчивости, консервативности.

Аппроксимация[править | править исходный текст]

Говорят, что дифференциальный оператор L(u), определённый на функциях u, заданных в области D \subset \mathbb{R}^N, аппроксимируется на некотором классе функций u \in U конечно-разностным оператором R_h(u_h), определённым на функциях u_h, заданных на сетке, зависящей от шага h, если


|| L(u) - R_h(u_h) || \to 0, \ \  h \to 0 \ \ \ (\forall u \in U).

Говорят, что аппроксимация имеет порядок k, если


|| L(u) - R_h(u_h) || \le h^k M, \ \  h \to 0 \ \ \ (\forall u \in U),

где M — константа, зависящая от конкретной функции u \in U, но не зависящая от шага h. Норма, использованная выше, может быть различной, и понятие аппроксимации зависит от её выбора. Часто используется дискретный аналог нормы равномерной непрерывности:

||u_h|| = \max_{n} |u_h(x_n)|,

иногда используются дискретные аналоги интегральных норм[1][2].

Пример. Аппроксимация оператора L(u)=u_{xx} конечно-разностным оператором


R_h(u_h)(x_n) = \frac{u_{n+1} -2u_{n} + u_{n-1}}{h^2}, 
\quad u_{i} = u(x_{i}), \quad x_{i+1}=x_{i}+h,

на ограниченном интервале D \subset \mathbb{R} имеет второй порядок на классе гладких функций \,U=C^4(D).

Конечно-разностная задача аппроксимирует дифференциальную задачу, и аппроксимация имеет порядок k, если и само дифференциальное уравнение, и граничные (и начальные) условия аппроксимируются соответствующими конечно-разностными операторами, и аппроксимации имеют порядок k.

Пример. Аппроксимация уравнения теплопроводности u_{t}-u_{xx}=0 конечно-разностным уравнением R_h(u_h) = 0, где


R_h(u_h)(t_m,x_n) = \frac{u_n^{m+1} - u_n^{m}}{\Delta t} - \frac{u_{n+1}^m -2u_{n}^m + u_{n-1}^m}{h^2},

u^i_j = u(t_i,x_j), \quad t_{i+1}=t_{i}+\Delta t, \quad x_{j+1}=x_{j}+h, \quad \Delta t = \sigma h^2, 
\quad \sigma = const > 0,

имеет второй порядок на классе C^4-гладких функций.

Устойчивость[править | править исходный текст]

Условия аппроксимации не достаточно для того, чтобы результат разностной схемы приближался к точному ответу при h→0. В случае схем, коэффициенты которых не зависят от решения дифференциального уравнения, нужно выполнение условия устойчивости. Такие схемы можно представить как некоторый линейный оператор, который преобразует значения функции в момент t в значения функции в момент t+h. Условие устойчивости требует, чтобы собственные числа (вообще говоря комплексные) этого оператора не превосходили по модулю 1+ch, где с — некоторая константа, при h→0. Если это условие не выполнено, то погрешности схемы быстро возрастают и результат тем хуже, чем меньше шаг. Если выполнены как условие аппроксимации, так и условие устойчивости, то результат разностной схемы сходится к решению дифференциального уравнения (теорема Филиппова-Рябенького).[1][3]

Условие Куранта[править | править исходный текст]

Условие Куранта (в англоязычной литературе англ. Courant-Friedrichs-Levy condition, CFL) — скорость распространения возмущений в разностной задаче не должна быть меньше, чем в дифференциальной. Если это условие не выполнено, то результат разностной схемы может не стремиться к решению дифференциального уравнения. Другими словами, за один шаг по времени частица не должна «пробегать» более одной ячейки.

В случае схем, коэффициенты которых не зависят от решения дифференциального уравнения, условие Куранта следует из устойчивости.

Для гиперболических систем уравнений это условие часто имеет вид

\tau \le \min\left(\frac{h}{|\lambda|_{max}}\right)

(\tau — шаг по времени, h — шаг пространственной сетки, |\lambda|_{max} — максимальное по модулю собственное значение в точке. Минимум берется по всем точкам сетки.)

Классификация схем[править | править исходный текст]

Явные схемы[править | править исходный текст]

Явные схемы вычисляют значение результата через несколько соседних точек данных. Пример явной схемы для дифференцирования: f'(x)=\frac{f(x+h)-f(x-h)}{2h} (2-й порядок аппроксимации). Явные схемы часто оказываются неустойчивыми.

Согласно теореме Годунова среди линейных разностных схем для уравнения переноса с порядком аппроксимации выше первого нет монотонных.

Неявные схемы[править | править исходный текст]

Неявные схемы используют уравнения, которые выражают данные через несколько соседних точек результата. Для нахождения результата решается система линейных уравнений. Пример неявной схемы для уравнения струны: f(x,t+h)-2f(x,t)+f(x,t-h)=f(x+h,t+h)-2f(x,t+h)+f(x-h,t+h). Неявные схемы обычно являются устойчивыми.

Полунеявные схемы[править | править исходный текст]

На одних шагах применяется явная схема, на других — неявная (как правило, эти шаги чередуются).
Пример — Схема Кранка-Никольсо́н, когда решение берется в виде среднего от явной и неявной схемы решения для повышения точности

Компактные схемы[править | править исходный текст]

Компактные схемы используют уравнения, которые связывают значения результата в нескольких соседних точках с значениями данных в нескольких соседних точках. Это позволяет повысить порядок аппроксимации. Пример компактной схемы для дифференцирования: \frac{1}{6}f'(x-h)+\frac{2}{3}f'(x)+\frac{1}{6}f'(x+h)=\frac{f(x+h)-f(x-h)}{2h} (4-тый порядок аппроксимации).

Консервативные схемы[править | править исходный текст]

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

Примеры консервативных схем гидродинамики — схема Самарского, метод крупных частиц Белоцерковского.

Схемы на смещенных сетках[править | править исходный текст]

В этих схемах сетки, на которых задан результат, и данные смещены относительно друг друга. Например, точки результата находятся посередине между точками данных. В некоторых случаях это позволяет использовать более простые граничные условия.

См. также[править | править исходный текст]

Ссылки[править | править исходный текст]

  • «Разностные схемы» — Глава в wikibooks на тему «Разностные схемы для гиперболических уравнений»
  • Демьянов А. Ю., Чижиков Д. В. Неявная гибридная монотонная разностная схема второго порядка точности
  • В. С. Рябенький, А. Ф. Филиппов. Об устойчивости разностных уравнений. — М.: Гостехиздат, 1956.
  • С. К. Годунов, В. С. Рябенький. Введение в теорию разностных схем. — М.: Физматгиз, 1962.
  • К. И. Бабенко. Основы численного анализа. — М.: Наука, 1986.
  • Березин И.С., Жидков Н.П. Методы вычислений, — Любое издание.
  • Бахвалов Н.С., Жидков Н.П., Кобельков Г.М. Численные методы, — Любое издание.
  • Г. И. Марчук. Методы вычислительной математики. — М.: Наука, 1977.

Примечания[править | править исходный текст]

  1. 1 2 В. С. Рябенький, А. Ф. Филиппов. Об устойчивости разностных уравнений. М., Гостехиздат, 1956.
  2. С. К. Годунов, В. С. Рябенький. Введение в теорию разностных схем. М.: Физматгиз, 1962.
  3. К. И. Бабенко. Основы численного анализа. М.: Наука. 1986.