Опубликован: 25.10.2007 | Доступ: свободный | Студентов: 1275 / 290 | Оценка: 4.40 / 4.36 | Длительность: 21:57:00
Специальности: Математик

Лекция 5: Численное решение уравнений в частных производных гиперболического типа с большими градиентами решений

5.6. ENO - схемы

Рассмотрим построение схемы типа ENO, предложенной в [15.4], для уравнения переноса. Основная идея этих схем заключается в использовании двух (или более) шаблонов для обеспечения двух традиционно противоположных свойств: второго (или третьего) порядка точности и монотонности без наличия аппроксимационной или искусственной вязкости. Обычно используются две базовые схемы: с центральными и односторонними разностями, а также с условием переключения, зависящим от значения производных (первой и второй) и знака скорости переноса.

Рассмотрим один из вариантов построения этого метода, для численного решения линейного уравнения переноса. Запишем схему в потоковой форме

$  u_1^{n + 1} = u_m^{n} + \frac{{a{\tau}}}{h}
(\bar{f}_{{m} + 1/2} - \bar{f}_{{m} - 1/2} ),   $

а сами числовые потоки будем вычислять по формулам, в которые введем неопределенные пока коэффициенты:

\begin{gather*}  
 \bar{f}_{{m} + 1/2} = \left\{ \begin{array}{l}
{\alpha} u_{m - 1}^n + (1 -{\alpha} -{\beta})u_m^{n} + {\beta}u_{{m} + 1}^{n}, a \ge 0 \\ 
{\alpha} u_{m + 2}^n + (1 -{\alpha} -{\beta})u_{{m} + 1}^{n} + {\beta}u_m^{n}, a < 0, \\ 
\end{array} \right.  \\ 
 \bar{f}_{{m} - 1/2}^{} = \left\{ \begin{array}{l}
{\alpha} u_{m - 2}^n + (1 -{\alpha} -{\beta})u_{m - 1}^{n} + {\beta}u_m^{n}, a \ge 0, \\ 
{\alpha} u_{m + 1}^n + (1 -{\alpha} -{\beta})u_m^{n} + {\beta}u_{m - 1}^{n}, a < 0. \\ 
\end{array} \right.   \end{gather*}

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

$  \frac{{\partial}u}{{\partial}t} + a \frac{{\partial}u}{{\partial}x} = 
 \left[{\frac{h}{2} \left| a\right|(1 + 2{\alpha} - 2{\beta}) - \frac{{{\tau}a^2}}{2}}\right] \frac{{{\partial}^2 u}}{{{\partial}x^2}}.  $

Из ПДП следует, что при {\alpha} ={\beta}= 0 получаем схему первого порядка, при {\alpha} = 0,{\beta}= 1/2 — второго порядка с центральными разностями,

${\alpha} = - \frac{1}{2},{\beta}= 0  $
второго с ориентированными разностями.

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

$  {\beta}= 0, 5 \left({1 - \frac{{\left| a\right|h}}{\tau}}\right).  $

Если ввести аналог числа Куранта

$ {\sigma}= \frac{{\left|{a}\right|h}}{\tau},   $
то данное условие можно записать более компактно: {\beta}= 0, 5(1 - \sigma ).

Для схем с ориентированными разностями ( {\beta}= 0 ) условие равенства нулю аппроксимационной вязкости дает

$  {\alpha} = - \frac{{1 - \left| {a/{\tau}}\right|h}}{2}.  $

Исследование обеих схем на монотонность, которое здесь опускается, приводит к условиям

$ \Delta_{m + 1/2} u \ge \frac{1 - \sigma}{2(2 - \sigma)} \Delta_{m - 1/2} u  $
для схемы с центральными разностями, и
$ \Delta_{{m} + 1/2} u \le  \frac{{2(1 + {\sigma})}} {{\sigma}} \Delta_{{m} - 1/2} u  $
для схемы с ориентированными разностями. Объединение этих условий дает условие монотонности обеих схем:

$   \frac{{1 - {\sigma}}}{{2(2 - {\sigma})}} \Delta_{{m} - 1/2} u \le \Delta_{{m} + 1/2} u \le \frac{{2(1 + {\sigma})}}{{\sigma}} \Delta_{{m} - 1/2} u.  $

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

Для такой монотонной схемы можно выписать окончательный вид потоков. Формулы для потоков выпишем через число Куранта.

$  \overline{f}_{m + 1/2} = \left\{ \begin{array}{l}
{\frac{3 - \sigma}{2}u_m^{n} - \frac{1 - \sigma}{2}u_{m - 1}^{n}, a \ge 0 } \\ 
{\frac{3 - \sigma}{2}u_{m + 1}^{n} - \frac{1 - \sigma}{2}u_{m + 2}^{n}, a < 0 } \\ 
\end{array} \right.  $

если

\begin{gather*}
(a \cdot {\Delta}u \cdot {\Delta}^2 u)_{{m} + 1/2} \ge 0; \\ 
 \bar{f}_{{m} + 1/2} = \frac{1 - {\sigma}\sign a}{2}u_{m + 1}^{n} + \frac{1 + {\sigma}\sign 
a}{2}u_m^n,  \end{gather*}

если

(a \cdot {\Delta}u \cdot {\Delta}^2 u)_{m + 1/2}  < 0.

Здесь применяются обозначения \Delta_{{m} + 1/2} u = u_{{m} + 1} - 
u_m ,  {\Delta}^2 u_{{m} + 1/2} = {\Delta}u_{{m} + 1} - \Delta u_m.