Россия |
Лекция 5: Численное решение уравнений в частных производных гиперболического типа с большими градиентами решений
5.11. Метод С.К.Годунова
Широко распространенный метод С.К.Годунова для получения численных решений с особенностями разрывного характера основан на решении задачи о распаде разрыва [15.2, 21 - 22]. В газовой динамике хорошо известно точное решение этой задачи и рассмотрены все возможные конфигурации решений. Положим, что начальные данные есть кусочно - постоянные функции на сетке
![\begin{gather*} {\mathbf{u}}(0, x) = \{{\mathbf{u}}_{m + 1/2}^0 \}, \\
{\mathbf{u}}_{m + 1/2}^{n} = {\mathbf{u}}[t_n , 0, 5(x_m + x_{m + 1} )]. \end{gather*}](/sites/default/files/tex_cache/58b75910c1b26567c171225ab9e4e76f.png)
Например, для системы уравнений газовой динамики .
Иногда начальные данные задают в ячейках с целыми номерами .
Решение задачи строится следующим образом. В окрестности каждого узла xm (или xm + 1/2 при другой нумерации) решается задача о распаде разрыва независимо от других возмущений. Это решение используется до того момента, когда волна, образовавшаяся от разрыва в точке xm, не встретится с волной, идущей от точки xm + 1. Далее полагаем, что и при решение также приближается кусочно - постоянными функциями

или, на сетке с отличной нумерацией узлов

Представим систему дифференциальных уравнений в частных производных, записанную в дивергентном виде,

в интегральной форме

где G — некая односвязная область,
— ограничивающий ее замкнутый контур,
— функции от
. Для этого выберем в качестве G ячейку {(tn, tn + 1) x (xm, xm + 1)} и получим интегральное уравнение

Первый и третий интегралы вычисляются просто по формуле средних — функции на отрезке [xm, xm + 1] кусочно - постоянны. Положив все функции кусочно - постоянными и на отрезке [tn, tn + 1] в силу автомодельности решения задачи Римана относительно переменных ( x/t ), получим равенство

или, разделив правую и левую части на произведение ,

или

При этом потоки вычисляются при помощи решения задачи о распаде разрыва, которая сводится к решению системы нелинейных уравнений.
Повышение порядка аппроксимации схем типа Годунова, основанных на решении задачи распада разрыва (или солверов Римана) реализуется путем использования кусочно - линейной аппроксимации искомых величин внутри ячеек (в отличие от кусочно - постоянного их представления в методе Годунова ) и различных алгоритмов пересчета по времени (алгоритмов типа предиктор - корректор) [15.19], [15.20].
Рассмотрим один из таких методов. Пусть внутри ячеек для всех сеточных функций заданы кусочно - линейные распределения

где — вектор наклонов функций u внутри ячейки. При этом изменение этой функции по времени внутри ячейки будет

Предиктор (первый шаг) выглядит следующим образом:

на промежуточном слое n + 1/2 вычисляем, как среднее арифметическое

На втором шаге — корректор — получим, используя метод конечных объемов

где, , а функции
определяются из решения задачи Римана со следующими начальными данными:

Эта схемы была получена в работах [15.27], [15.29]. В качестве начальных данных можно выбирать, не изменяя порядок точности, например, такие:

или .
Простым способом вычисления наклона Qm в ячейке с номером m для сеточной функции um, обеспечивающим устойчивость схемы, является использование функции , которая выбирает наклон с минимальным значением модуля, при условии, что знаки обоих аргументов совпадают (при разных знаках аргументов эта функция равна нулю):

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

При этом предиктор имеет вид

В качестве корректора используем, например, полученную ранее сеточно - характеристическую схему

с учетом того, что начальные данные являются кусочно - постоянными:
