Перейти к содержанию

Решение систем гиперболических уравнений

завершено на 0%
Материал из Викиучебника — открытых книг для открытого мира
Решение систем гиперболических уравнений

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

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

Часто для получения такого приближения используют т. н. сеточную аппроксимацию функций. То есть вместо функций непрерывного аргумента вводят функции дискретного аргумента. А вместо дифференциальных операторов — разностные. Будем называть параметром сетки такую величину h, что расстояние между любыми двумя соседними узлами сетки не превосходит h.

Гиперболические уравнения

[править]

Введение

[править]

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

∂U→∂t+∑j=1mAj∂U→∂xj=b→

Где матрица A имеет полный набор собственных векторов и, соответственно, представима в виде

A=ΩRΛΩL

Где ΩR=ΩL−1 — матрица, составленная из правых собственных векторов матрицы A как из столбцов. Λ=diag[λ1,λ2,...,λn] — матрица собственных значений матрицы A.

Эта форма записи называется неконсервативной, в противовес не менее часто используемой консервативной форме, связанной с физическими законами сохранения в явном виде:

∂U→∂t+∑j=1m∂Fj(U→)∂xj=B→

Дело в том, разностная схема для консервативной формы уравнений, записанная в виде

U→r→n+1−U→r→nδt+∑j=1mFj,r→+1/2h→j−Fj,r→−1/2h→jhj=B→r→

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

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

[править]

Простейшим и исходным объектом исследования в теории систем гиперболических уравнений является одиночное уравнение переноса:

∂U∂t+λ∂U∂x=0

Где U — искомая функция переменных (x,t). λ — некоторая постоянная.

Это уравнение очень удобно уже тем, что нам хорошо известно его аналитическое решение:

U(x,t)=U0(x−λt)

где U0(x) — произвольная функция.

Первый вопрос, который возникает — а зачем численно решать уравнение, для которого известно аналитическое решение? Ответ прост — дело в том, что это уравнение будет «вылезать» из решения сложных многомерных систем, и параметры, которые в него входят будут меняться в зависимости от решения да и заданы будут не всюду, а лишь в некоторых точках, что делает прямое применение аналитического решения невозможным.

Итак, приступим к построению простейшей схемы для данного уравнения.

Пусть функция U задана на узлах пространственной сетки xm в момент времени tn и мы хотим получить ее значения в тех же узлах в момент tn+1.

Воспользуемся простейшими формулами для аппроксимации производных и получим: Umn+1−Umnτ+λUmn−Um−1nh=0

Тогда для значения Umn+1 может быть выписано выражение в явном виде:

Umn+1=Umn−τλUmn−Um−1nh

Эта простейшая схема может быть легко реализована и запущена. См пункт реализация.

Приведенная схема не работает при λ<0.

Ответ достаточно очевиден — «перенос» справа налево не работает в схеме, в которой нет точек справа. Хотелось бы добавить в схему что-то вроде Um+1. Как это сделать? Простейший способ — построить «комбинированную» схему:

Umn+1=Umn−τλUmn−Um−1nh,λ≥0 Umn+1=Umn−τλUm+1n−Umnh,λ<0

Литература

[править]
  • Куликовский А. Г., Погорелов Н. В., Семенов А. Ю. Математические вопросы численного решения гиперболических систем уравнений. — М.:ФИЗМАТЛИТ,2001. — 608с. — ISBN 5-9221-0194-3