Численные методы решения уравнений в частных производных гиперболического типа (на примере уравнения переноса)
Приведем разностные уравнения для схемы Лакса во внутренних точках расчетной области:
![$ \frac{{u_m^{n + 1} - 0, 5(u_{m + 1}^{n} + u_{m - 1}^{n})}}{\tau} + c \frac{{u_{m + 1}^{n} - u_{m - 1}^{n}}}{2h} = 0. $](/sites/default/files/tex_cache/00b9524c18ae59abd1f25a4cd384ec93.png)
На рисунке приведен шаблон для схемы Лакса. Напомним, что шаблоном разностной схемы называется конфигурация узлов, значения сеточной функции в которых определяют вид разностных уравнений во внутренних (не приграничных) точках сетки. Как правило, на рисунках с изображениями шаблонов точки, участвующие в вычислении производных, соединяются линиями.
Схема Куранта - Изаксона - Риса (КИР), которую иногда также связывают
с именем С.К. Годунова, получается при ,
. Ее порядок аппроксимации
. Схема КИР условно устойчива, т.е. при выполнении условия Куранта
. Приведем разностные уравнения для схемы Куранта - Изаксона - Риса во внутренних точках расчетной области:
![\begin{gather*}
\frac{{u_m^{n + 1} - u_m^{n}}}{\tau} + c \frac{{u_m^{n} - u_{m - 1}^{n}}}{h} = 0, c > 0, \\
\frac{{u_m^{n + 1} - u_m^{n}}}{\tau} + c \frac{{u_{m + 1}^{n} - u_m^{n}}}{h} = 0, \quad c < 0. \end{gather*}](/sites/default/files/tex_cache/ad633e20a69d63ccfe093614d085d3ff.png)
Эти схемы, имеющие также название схемы с разностями против потока (в англоязычной литературе — upwind) могут быть записаны в виде
![u_m^{n + 1} = u_m^{n} - {\sigma}\left\{ \begin{array}{cc}
u_{m + 1}^{n} - u_m^{n}, & a < 0, \\
u_m^{n} - u_{m - 1}^{n}, & a \ge 0. \\
\end{array} \right.](/sites/default/files/tex_cache/587028eb4d0a278e78f0a92a6b619e12.png)
Их преимущество состоит в более точном учете области зависимости решения. Если ввести обозначения
![$
a^{+} = \frac{1}{2}(a + \left|{a}\right|) = \left\{ \begin{array}{cc}
a, & a \ge 0, \\
0, & a < 0, \\
\end{array} \right.
a^{-} = \frac{1}{2}(a - \left|{a}\right|) = \left\{ \begin{array}{cc}
0, & a \ge 0, \\
a, & a < 0, \\
\end{array} \right.
$](/sites/default/files/tex_cache/2259af1625a1d39f37dd6b4517895aa8.png)
то обе схемы можно записать в следующих формах:
![\begin{gather*}
u_m^{n + 1} = u_m^{n} - \frac{\tau}{h} \left[{a^{+} (u_m^{n} - u_{m - 1}^{n}) + a^{-}
(u_{m + 1}^{n} - u_m^{n})}\right]; \\
u_m^{n + 1} = u_m^{n} - \frac{\tau}{h}(f_{m + 1/2}^{n} - f_{m - 1/2}^{n}), \quad f_{m + 1/2}^{n} = \\
= \frac{1}{2} \left[{a(u_{m + 1}^{n} + u_m^{n}) - \left| a\right|(u_{m + 1}^{n} -
u_m^{n})}\right], \\
f_{m - 1/2}^{n} = \frac{1}{2} \left[{a(u_m^{n} + u_{m - 1}^{n}) - \left| a\right|(u_m^{n} -
u_{m - 1}^{n})}\right]
\end{gather*}](/sites/default/files/tex_cache/ee01d23b1118d9b379076534d143f098.png)
(потоковая форма разностного уравнения);
![$
u_m^{n + 1} = u_m^{n} - \frac{1}{2} \sigma (u_{m + 1}^{n} - u_{m - 1}^{n}) +
\frac{{\left| \sigma\right|}}{2}(u_{m + 1}^{n} - 2u_m^{n} + u_{m - 1}^{n}) $](/sites/default/files/tex_cache/7a1764e1a763663d4d1eb612a0f7c468.png)
(здесь явно выделен член со второй разностью, придающий устойчивость схеме);
![$
\Delta_{\tau} u_m^{n} = \frac{{\left| \sigma\right| - {\sigma}}}{2} {\Delta}^{+} u_m^{n} - \frac{{\left| \sigma\right| + {\sigma}}}{2} {\Delta}^{-} u_m^{n} $](/sites/default/files/tex_cache/8ed20ee1d8d46d5695c9b94a6aae57cf.png)
(уравнение в конечных приращениях).
Рассмотрим также метод неопределенных коэффициентов для построения разностной схемы правый уголок первого порядка точности для уравнения переноса
![$
\frac{{\partial}u}{{\partial}t} - \frac{{\partial}u}{{\partial}x} = {\varphi}(t, x), \mbox{ т.е. при } a = - 1. $](/sites/default/files/tex_cache/40c862ffd084cbeb8923b87377f2f62b.png)
Схему можно представить в виде
![\begin{gather*}
L_{\tau} u^{\tau} = b_1 u_m^{n + 1} + b_2 u_m^{n} + b_3 u_{{m} + 1}^{n} =
\varphi_m^{n}, \\
b_1 ={\tau}^{- 1}, b_2 = h^{- 1} -{\tau}^{- 1}, b_3 = - h^{- 1} .
\end{gather*}](/sites/default/files/tex_cache/df09c50279607268560b1b7bf1d21abe.png)
Схема Куранта - Изаксона - Риса тесно связана с численными методами характеристик. Дадим краткое описание идеи таких методов.
Две последние полученные схемы (при разных знаках скорости переноса) можно
интерпретировать следующим образом. Построим характеристику, проходящую через узел ( tn + 1, xm ), значение в котором необходимо определить, и пересекающую слой tn в точке . Для определенности считаем, что скорость переноса c положительна.
Проведя линейную интерполяцию между узлами xm - 1 и xm на нижнем слое по времени, получим
![\begin{gather*}
u_m (x^{\prime}) = u_{m - 1} \frac{{x_m - x^{\prime}}}{h} + u_m \frac{{x^{\prime} - x_{m - 1}}}{h} = \\
= \frac{{c{\tau}}}{h}u_{m - 1} + (1 - \frac{{c{\tau}}}{h})u_m = {\sigma}u_{m - 1} - (1 - {\sigma})u_m . \end{gather*}](/sites/default/files/tex_cache/143ccc7c7ccf4aa5f40b9104aeba5c4f.png)
Далее перенесем вдоль характеристики значение un(x') без
изменения на верхний слой tn + 1, т.е. положим . Последнее значение естественно считать приближенным решением однородного уравнения переноса. В таком случае
![u_m^{n + 1} = (1 - {\sigma})u_m + {\sigma}u_{m - 1},](/sites/default/files/tex_cache/ff3adc87a72b7ecc00b131613668eea1.png)
или, переходя от числа Куранта снова к сеточным параметрам,
![$ \frac{{u_m^{n + 1} - u_m^{n}}}{\tau} + a \frac{{u_m^{n} - u_{m - 1}^{n}}}{h} = 0, $](/sites/default/files/tex_cache/e295f81cabea6316fe3cea807d69e474.png)
т.е. другим способом пришли к уже известной схеме "левый уголок",
устойчивой при . При
точка пересечения характеристики, выходящей из узла ( tn + 1, xm, с n - м слоем по времени расположена левее узла ( tn, xm - 1 ). Таким образом, для отыскания решения
используется уже не интерполяция, а экстраполяция, которая оказывается неустойчивой.
Неустойчивость схемы "правый уголок" при c > 0 также очевидна. Для доказательства этого можно использовать либо спектральный признак, либо условие Куранта, Фридрихса и Леви. Аналогичные рассуждения можно провести и для случая c < 0 и схемы "правый уголок".
Неустойчивая четырехточечная схема получается при , ее порядок аппроксимации
. Сеточные уравнения для разностной схемы будут иметь следующий вид:
![$
\frac{{u_m^{n + 1} - u_m^{n}}}{\tau} + c \frac{{u_{{m} + 1}^{n} - u_{m - 1}^{n}}}{2h} = 0. $](/sites/default/files/tex_cache/7592463cf5b9bfd0b695eef2df2e0bb9.png)
Схема Лакса - Вендроффа возникает при . Порядок аппроксимации схемы Лакса - Вендроффа есть
. Схема устойчива при выполнении условия Куранта
.
Эту схему можно получить либо методом неопределенных коэффициентов, либо путем более точного учета главного члена погрешности аппроксимации. Рассмотрим процесс вывода схемы Лакса - Вендроффа подробнее. Проводя исследование предыдущей четырехточечной схемы на аппроксимацию (а исследование это довольно элементарно и сводится к разложению функции проекции на сетку точного решения дифференциальной задачи в ряд Тейлора), получим для главного члена погрешности
![\begin{gather*}
\frac{{u_m^{n + 1} - u_m^{n}}}{\tau} + c \frac{{u_{{m} + 1}^{n} - u_{m - 1}^{n}}}{2h} = \left. {\frac{{\partial}u}{{\partial}t} + c \frac{{\partial}u}{{\partial}x}}
\right|_{t_n , x_m } + \\
+ c^2 \frac{\tau}{2} \frac{{{\partial}^2 u}}{{{\partial}x^2}} + O({\tau}^2 + h^2 ).
\end{gather*}](/sites/default/files/tex_cache/5367ba79b6f7b9c808afb4576fce9f4b.png)
При выводе выражения для главного члена погрешности аппроксимации использовано следствие исходного дифференциального уравнения переноса
![$ \frac{{\partial}^2 u}{\partial t^2} = c^2 \frac{{\partial}^2 u}{{\partial}x^2} $](/sites/default/files/tex_cache/bd937625f74e35916b1c6b611997292c.png)
Далее, заменяя вторую производную во втором слагаемом в правой части с
точностью до O(h2), получим новую разностную схему, аппроксимирующую исходное дифференциальное уравнение с точностью . Сеточные уравнения для схемы Лакса - Вендроффа во внутренних узлах расчетных сеток есть
![$ \frac{{u_m^{n + 1} - u_m^{n}}}{\tau} + c \frac{{u_{{m} + 1}^{n} - u_{m - 1}^{n}}}{2h} - c^2 \frac{\tau}{2} \frac{{u_{m - 1}^{n} - 2u_m^{n} + u_{{m} + 1}^{n}}}{{h^2}} = 0. $](/sites/default/files/tex_cache/fc909276ca255fa1fe9a48c44859db04.png)
Неявная шеститочечная схема возникает при q = 0 ; при ее порядок аппроксимации
, при
.
Построить шаблоны схемы при и при
.
Неявная нецентральная схема. Рассмотрим случай . При
порядок аппроксимации —
. При
. Упражнение. Нарисовать шаблон схемы при
и при
.
Последние две разностные схемы носят названия схем Ландау - Меймана - Халатникова и Карлсона, соответственно.
Явная схема Бима - Уорминга
Бим и Уорминг предложили изменить метод Мак-Кормака, используя на обоих этапах односторонние разности одинаковой направленности;для линейного уравнения переноса эта схема будет
![\begin{gather*}
\frac{\tilde{u}_m - u_m}{\tau} + a \frac{u_m^{n} - u_{m - 1}^{n}}{h} = 0, \\
\frac{u_m^{n + 1} - \frac{1}{2}(u_m^{n} + \tilde{u}_m)}{\tau} + a \frac{\tilde{u}_m - \tilde{u}_{m - 1}}{h} + a \frac{u_m^{n} - 2u^{n}_{m - 1} + u^{n}_{m - 2}}{h^2} = 0.
\end{gather*}](/sites/default/files/tex_cache/45b08583feaf2d0e31582c2c61876213.png)
При подстановке первого уравнения во второе, получим
![$
u_m^{n + 1} = u_m^{n} - {\sigma}(u_m^{n} - u_{m - 1}^{n}) + \frac{{\sigma}}{2}(1 - {\sigma})(u_m^{n} - 2u_{m - 1}^{n} + u_{{m} - 2}^{n}) = 0. $](/sites/default/files/tex_cache/c82569a1dba7faf7c26561d7735600e3.png)
Шаблоны двух - и одноэтапной схем имеют вид
Эта же схема может быть записана в приращениях
![$ \Delta_{\tau} u_m^{n} = \frac{{{\sigma}({\sigma}- 1)}}{2} \Delta^{-}
u_m^{n} - \frac{{{\sigma}(1 + {\sigma})}}{2} {\Delta}^{-}u_{m - 1}^{n} . $](/sites/default/files/tex_cache/c796f496061de7213ce9fbea0749247c.png)