Вы находитесь на странице: 1из 40

2

§ 20. Диффузное отражение ................................................................... 56


§ 21. Суммарное описание алгоритма ................................................... 58
§ 22. Практическое задание ................................................................... 59

Г л а в а 6. Уравнение Больцмана в присутствии внешних сил ....... 63


ОГЛАВЛЕНИЕ § 23. Расщепление сложного уравнения ............................................... 63
§ 24. Проблема граничных условий в скоростном пространстве ....... 65
Предисловие ................................................................................................. 5 § 25. Случай пространственной симметрии ......................................... 66
§ 26. Практическое задание ................................................................... 67
Г л а в а 1. Основные понятия и определения........................................ 7
§ 1. Сетки. Сеточные функции .............................................................. 7 Заключение ................................................................................................. 69
§ 2. Разностная аппроксимация дифференциальных операторов....... 9
§ 3. Практическое занятие .................................................................... 12 Приложения................................................................................................ 70
§ 27. К главе 2.......................................................................................... 70
Г л а в а 2. Численное решение уравнения переноса .......................... 15 § 28. К главе 4.......................................................................................... 72
§ 4. Уравнение переноса ....................................................................... 15 § 29. К главе 6.......................................................................................... 77
§ 5. Шаблоны. Явные и неявные схемы .............................................. 17
§ 6. Сходимость. Устойчивость. Условие Куранта ............................ 19 Литература ................................................................................................. 80
§ 7. Спектральный признак .................................................................. 21
§ 8. Практическое занятие .................................................................... 23

Г л а в а 3. Разностные схемы второго порядка точности ................. 25


§ 9. Явная четырехточечная схема Лакса–Вендроффа ...................... 25
§ 10. Неявная шеститочечная схема. Метод прогонки ........................ 27
§ 11. Трёхслойная разностная схема ..................................................... 30
§ 12. Практическое занятие .................................................................... 31

Г л а в а 4. Монотонные схемы. TVD-схемы ........................................ 32


§ 13. Паразитические осцилляции. Понятие монотонности схемы.... 32
§ 14. Полная вариация. TVD-схемы ...................................................... 37
§ 15. Примеры ограничителей. Практический вид TVD-схем ............ 43
§ 16. Практическое занятие .................................................................... 45

Г л а в а 5. Кинетическое уравнение бесстолкновительного газа .... 47


§ 17. Закон сохранения вещества. Консервативные схемы ................. 47
§ 18. Проблема граничных точек для TVD-схем ................................. 50
§ 19. Функция распределения ................................................................ 54

3 4
практике, дискретная модель среды, описываемая разностными уравне-
ниями, может заметно отличаться от непрерывной среды. Это различие
зачастую порождает в расчетах паразитические эффекты разностного
происхождения, снижающие или вовсе уничтожающие ценность чис-
ленного решения. Поэтому важно строить такие схемы, которые сохра-
ПРЕДИСЛОВИЕ няли бы свои «хорошие» качества на сетках, применяемых в реальных
расчетах (так называемых «грубых» сетках). Это составляет основную
Широкое внедрение численных методов на основе использования задачу вычислительной математики – раздела математики, посвященно-
быстродействующих вычислительных машин вызвало большой про- го теоретическому обоснованию применимости и точности численных
гресс в решении задач математической физики вообще и газовой дина- методов, а также их непосредственной разработке.
мики в частности. В отличие от аналитических, численные методы ха- Данный курс представляет собой пособие, ориентированное прежде
рактеризуются большей универсальностью и применимы для исследо- всего на практическую подготовку учащегося. Поэтому численные ме-
вания широкого класса явлений, позволяя «вычислять» решение с за- тоды представлены здесь в основном по отношению к одному из про-
данной степенью точности. стейших дифференциальных уравнений в частных производных – ли-
Разумеется, не следует думать, что численные методы целиком вы- нейному уравнению переноса, актуальному в динамике разреженных
теснят традиционные аналитические способы решения. Точные реше- газов. Стоит отметить, что это оправдано с методологической точки
ния, полученные для некоторых упрощенных предельных вариантов зрения: уравнение переноса – одно из основополагающих уравнений
исходной задачи, позволяют полнее представить механизм изучаемого гидродинамики, и численные способы его решения хорошо изучены и
решения, его зависимость от характерных параметров. Кроме всего разработаны. В результате, не вдаваясь подробно в весь инструментарий
прочего, это также дает возможность лучше отработать численный ал- современной вычислительной математики, учащийся легко освоит ее
горитм. Наконец, точные решения используются как тесты при отладке основные идеи и важнейшие практические методики, составляющие
программ, а также для контроля точности расчетов. Численные и анали- «кухню» численных методов.
тические методы должны разумным образом сочетаться при исследова- Несмотря на практическую нацеленность курса, в пособии также
нии задач. И всё же, несмотря на все оговорки, численные методы в ус- подробно освещены важнейшие теоретические принципы, теоремы и
ловиях нынешнего стремительного развития вычислительных техноло- определения вычислительной математики. Для большей простоты вос-
гий являются наиболее эффективным и перспективным средством ис- приятия доказательства (если они имеются) всех теорем и лемм сведены
следования задач в большинстве областей математической физики. в отдельное приложение к курсу.
Среди всевозможных численных методов наиболее разработанным Авторы надеются, что данное пособие послужит не только хорошим
представляется метод конечных разностей. Сущность его состоит в сле- вводным курсом для начинающих студентов, но также удобным под-
дующем. В рассматриваемой области пространства вместо непрерывной спорьем для сотрудников, использующих численные методы, но не за-
среды, состояние которой описывается функциями непрерывного аргу- нимающихся вычислительной математикой профессионально.
мента, вводится ее дискретный аналог. Эта дискретная модель описыва- При создании начальных глав активно использовался материал по-
ется функциями дискретного аргумента, которые определены на конеч- собия «Разностные методы решения задач газовой механики»
ном числе точек на сетке. Дифференциальные уравнения, т.е. законы, в А.А. Самарский, Ю.П. Попов [1].
соответствии с которыми эволюционирует непрерывная среда, заменя-
ются (аппроксимируются) соответствующими алгебраическими конеч-
но-разностными соотношениями – разностной схемой.
Получающаяся разностная схема «близка» к исходной системе диф-
ференциальных уравнений лишь асимптотически при неограниченном
измельчении шагов сетки. При конечных шагах сетки, используемых на

5 6
небольшим количеством узлов. В таком случае зачастую при выборе
сеток используют неравномерные сетки. Если имеется априорная ин-
формация о решении, например, известно расположение некоторых
особенностей, для разрешения которых необходима мелкая сетка, то
естественно, не увеличивая общего числа узлов, сгустить сетку в окре-
ГЛАВА 1 стности особенностей; в области гладкости решения сетку можно сде-
лать более редкой. Однако такой прием не универсален – достаточно
обратится к случаю, когда особенность решения перемещается по сетке,
ОСНОВНЫЕ ПОНЯТИЯ И ОПРЕДЕЛЕНИЯ причем закон ее движения, как это чаще всего бывает на практике, не-
известен*. Поэтому исследователю приходится идти на компромисс ме-
жду скоростью и точностью вычислений.
§ 1. Сетки. Сеточные функции
Иногда, для общности, мы будем вводить определения и формули-
Исходным пунктом при построении разностной схемы является за- ровки, верные для произвольных сеток. Но по большей части, простоты
мена области непрерывного изменения аргумента некоторым множест- ради, мы будем иметь дело с равномерными сетками. Аналогично сетке
вом точек, лежащих в этой области. Это множество есть область опре- в пространстве можно определить сетку по временной переменной:
деления функций дискретного аргумента, оно называется разностной ωτ = {t j t j +1 − t j = τ j , j = 0,1, 2,…} , (1.2)
сеткой.
Соответственно функции дискретного аргумента, определенные на где τ j – шаг сетки по времени, в общем случае зависящий от номера
этой сетке, носят название сеточных (разностных) функций. шага. Однако в основном используются равномерные временные сетки,
Для одномерной задачи простейшим примером пространственной характеризующиеся только временным шагом τ .
разностной сетки является равномерное разбиение отрезка [0, L] на N Произведение сеток
равных частей, длина которых есть h = L / N . Такая сетка называется ω = ωh × ωτ = {( xi , t j ) x = ih, i = 0,1,… , N ; t j = jτ , j = 1, 2,…} (1.3)
равномерной разностной сеткой. Точки деления xi отрезка, число ко- дает пространственно-временную разностную сетку для численного
торых в данном случае составляет N + 1 , называют узлами сетки. Рас- решения одномерной нестационарной задачи. Набор узлов при фикси-
стояние между узлами xi +1 − xi = h есть шаг сетки (по пространству). рованном j называется j -м временным слоем. Значение сеточной
Разностная сетка обозначается следующим образом: функции y в некотором узле сетки ( xi , t j ) мы будем обозначать че-
ωh = {xi = ih, i = 0,1,…, N } . (1.1)
рез yij .
Наряду с узлами, которые называют целыми точками, часто рас-
В дальнейшем, начиная с главы 2, будем иметь дело именно с таки-
сматривают так называемые полуцелые точки xi +1/ 2 = xi + h / 2 . Множе-
ми функциями, определенными на пространственно-временной сетке.
ство полуцелых точек также можно использовать в качестве области Однако в главе 1, которая носит ознакомительный характер, мы просто-
определения сеточных функций. Более подробно мы поговорим об этом ты ради, дадим формулировки для функций одной переменной. Это не
в главе 5 о консервативных разностных схемах. создаст проблем в будущем – просто переопределим все формулы раз-
Вопрос о рациональном выборе сетки заслуживает отдельного вни- ностных производных, введенные для одномерных пространственных
мания. С одной стороны, количество узлов сетки желательно брать сеток, по отношению к произвольному временному слою.
большим, т.е. пользоваться мелкими, подробными сетками. Точнее, пе-
редавая при этом область изменения дискретного аргумента, мы интуи- *
Существует специфический подход, связанный с алгоритмическим поис-
тивно рассчитываем лучше аппроксимировать непрерывное решение ком особенностей и автоматическим сгущением возле них сеток, однако его
сеточными функциями. С другой стороны, ограниченность вычисли- освещение выходит за рамки данного курса.
тельных мощностей заставляет обращаться к сеткам со сравнительно
7 8
Разностная задача строится с целью нахождения сеточной функции При определении разностной производной вместо отношения беско-
y = { yi } , близкой к непрерывному решению u ( x) соответствующей нечно малых ограничиваются отношением конечных разностей. Для
дифференциальной задачи (говорят, что y аппроксимирует u ). Возни- аппроксимации производной можно использовать одно из следующих
соотношений:
кает вопрос: как судить о степени близости этих функций, принадлежа-
щих к разным функциональным пространствам? Обычно поступают y − yi
y x = i +1 , (2.2)
следующим образом. Рассмотрим значения u ( x) в узлах сетки, что дает h
некоторую сеточную функцию uh = {u ( xi )} , являющуюся, как говорят, y − yi −1
yx = i . (2.3)
h
проекцией решения u ( x) на пространство сеточных функций. Близость
Здесь нижняя индексация в левой части обозначает операцию взятия
функций y и u характеризуют погрешностью численного решения разностной производной. Выражения (2.2), (2.3) называют односторон-
∆ = y − uh , (1.4) ними разностными производными, (2.2) – правая производная, (2.3) –
левая. Помимо этих соотношений используют также центральную про-
где – некоторая норма в пространстве сеточных функций (сама раз- изводную:
ностная функция y − uh называется ошибкой вычисления). Широко ис- y − yi −1
y x = i +1 . (2.4)
пользуются следующие нормы: 2h
N
Аналогично определяется разностная производная по времени (в уз-
y = ∑ yi hi (октаэдрическая), (1.5)
i =0
ле xi ):
N yij +1 − yij
y = ∑y h 2
(сферическая), (1.6) yt = . (2.5)
i =0
i i τ
Вторая разностная производная определяется следующим образом:
y = max yi (кубическая). (1.7)
0≤i ≤ N 1  y − yi yi − yi−1  yi+1 + yi−1 − 2 yi
y xx =  i+1 − = . (2.6)
Названия легко понять, если рассмотреть задаваемые фигуры при фик- h h h  h2
сированном значении нормы в трёхмерном пространстве N = 3 . Сфери-
Заменяя дифференциальный оператор L некоторым разностным
ческую норму часто именуют также евклидовой.
О близости решений разностной дифференциальной задачи можно оператором Lh , мы допускаем ошибку – погрешность аппроксимации,
говорить в том случае, когда величина погрешности неограниченно от величины которой будет зависеть точность решения разностной за-
уменьшается при дроблении сетки. дачи.
Определение 1.1. Погрешностью аппроксимации дифференциально-
го оператора L разностным оператором Lh называют разностную
§ 2. Разностная аппроксимация дифференциальных функцию
операторов ψ = Lh uh − ( Lu ) h , (2.7)
Основной момент в постановке разностной задачи состоит в перехо- где u – точное решение соответствующей дифференциальной задачи.
де от дифференциальных уравнений, описывающих эволюцию сплош- Выясним величину погрешности аппроксимации для случая первых
ной среды, к соответствующим соотношениям для сеточных функций. производных. Применив разложение в ряд Тейлора, получим
Напомним определение производной непрерывной функции: ∂u h 2 ∂ 2u
u ( x + s) − u ( x) u ( xi ±1 ) = u ( xi ± h) = u ( xi ) ± h ( xi ) + ( xi ) + O(h3 ) .
u '( x) = lim . (2.1) ∂x 2 ∂x 2
s →0 s

9 10
Исходя из определений (2.2) – (2.4), получим в каждом конкретном вредна. Остановимся на одном способе построения неравномерных се-
случае следующие выражения: ток. Пусть hi +1 = qhi , т.е. укрупнение ( q > 1 ) или дробление ( q < 1 ) сет-
∂u h ∂ 2u ки осуществляются по закону геометрической прогрессии со знаменате-
ψ = (uh ) x − ( xi ) = ( xi ) + O(h 2 ) = O (h) для (2.2),
∂x 2 ∂x 2 лем q. Тогда погрешность аппроксимации в приведенном выше примере
∂u h ∂ 2u равна
ψ = (uh ) x − ( xi ) = − ( xi ) + O(h 2 ) = O (h) для (2.3), q −1 ∂ 2u
∂x 2 ∂x 2 ψ = hi −1 2 ( xi ) + O (h 2 ) .
∂u 2 ∂x
ψ = (uh ) x − ( xi ) = O(h 2 ) для (2.4). Видно, что если q не сильно отличается от единицы, то и локальная
∂x
Аналогично можно вычислить ошибку аппроксимации и для разно- погрешность будет невелика. Подобные сетки широко используются на
стной производной по времени. Из приведенных выражений видно, что практике. Обычно берут 1 − q ≤ 0.05 .
ошибка аппроксимации в данном случае неограниченно уменьшается с
уменьшением шага.
Определение 1.2. Говорят, что разностный оператор Lh аппрок- § 3. Практическое занятие
симирует дифференциальный оператор L в точке xi , если для по- Решение ОДУ первого порядка
грешности аппроксимации имеет место Пусть у нас есть задача Коши для обыкновенного дифференциально-
ψ i = O (h n ) , го уравнения (ОДУ):
причем n > 0 . В таком случае n – порядок аппроксимации.  ∂u
 = G ( x, u ),
Порядок аппроксимации в первых двух случаях первый, в  ∂x (3.1)
последнем – второй. u ( x0 ) = U 0 .

Как видно из структуры приведенных выше формул, величина по-
Введём сетку ωh = {xi = x0 + ih, i = 0,..., N } , где h – шаг сетки. В ка-
грешности аппроксимации представляет собой произведение шага сет-
ки, взятого в некоторой положительной степени, на соответствующую честве примера простейшей разностной схемы, аппроксимирующей
производную от решения. Поэтому на грубых сетках или сильно ме- (3.1), приведём следующую схему (метод Эйлера):
няющихся решениях величина погрешности аппроксимации может  un +1 − un
 = G ( xn , yn ), n = 0,1, 2,..., N − 1,
стать не малой, так что само понятие аппроксимации теряет смысл.  h (3.2)
Вычисляя погрешность аппроксимации, мы предполагали, что сетка u = U .
 0 0
является равномерной. В противном случае вычисление погрешности
Если разностная схема обладает свойством устойчивости, под кото-
аппроксимации приводит к некоторым осложнениям. Проиллюстрируем
рым подразумевают непрерывную зависимость решения разностной
это случаем центральной производной:
задачи от входных условий, то решение (3.2) сходится к (3.1): неогра-
u −u ∂u h 2 − hi2−1 ∂ 2u ниченно стремится к нему при уменьшении шага сетки (четкое опреде-
ψ = i+1 i−1 − ( xi ) = i ( xi ) + O (h 2 ) =
hi + hi −1 ∂x 2(hi + hi −1 ) ∂x 2 ление устойчивости и сходимости будет дано в следующей главе). Мы
hi − hi ∂ 2u не станем подробно останавливаться на устойчивости метода Эйлера и
= ( xi ) + O (h 2 ) = O(h). будем априори считать его устойчивым.
2 ∂x 2
Заметим, что в (3.2) используется правая производная (2.2), которая
Иначе говоря, порядок аппроксимации для центральной производ- имеет погрешность аппроксимации первого порядка точности, как след-
ной, равный двум на равномерной сетке, на неравномерной сетке пони- ствие, метод Эйлера представляет собой метод первого порядка точно-
жается до первого. Таким образом, сильная неравномерность сетки, ко- сти.
гда соседние интервалы резко отличаются друг от друга по величине,

11 12
Пример. Рассматривается задача Коши:  un +1 − un −1
 = G ( xn , yn ), n = 1, 2,..., N − 1,
 y ' = ay + bx, a = const, b = const, 2h
 (3.3) 
 y (0) = 1. u0 = U 0 , (3.7)
Ее точное решение есть u = u + hG ( x , y ).
 1 0 0 0
 b  b b 
y = 1 + 2  e ax − x − 2 . (3.4)
 a  a a Убедиться, что разностная схема (3.7) имеет второй порядок точно-
Положим, нас интересует решение на отрезке [0, 2] . Введём сетку сти.
2. С помощью метода Эйлера вычислить и исследовать на сходи-
2
ωh = {xi = hi, i = 0,..., N } , где h = . Запишем в соответствии с (3.2) мость нижеприведенные задачи Коши. То же самое проделать с помо-
N щью разностной схемы на основе центральной производной:
следующую разностную схему:
а) xy '− 2 y = 2 x 4 , y(1) = 2, [1, 2] → y = x 2 + x 4 ,
 yi +1 − yi
 = ayi + bxi , 2
б) y '+ xy = x, y (0) = 0, [0, 2] → y = 1 − e− x /2
,
 h (3.5)
 y0 = 1. в) y = x( y '− x cos x), y (1) = sin1, [1,10] → y = x sin x ,

2
После элементарного преобразования получим г) y ' = 2 x( x 2 + y), y (0) = 0, [0, 2] → y = e x − x 2 − 1 ,
 yi+1 = (1 + ah) yi + bhxi , 2
д) y ' = y + x 2 , y (0) = −1, [0,3] → y = e− x − x 2 − 2 x − 2 .
 (3.6)
 y0 = 1.
Осталось создать одномерный массив размера N + 1 , преобразовать
его в соответствии с (3.6) и вывести результаты графически. Найденное
решение нужно проверить на сходимость. Для этого создается дополни-
тельный массив такой же длины N + 1 , который заполняется значения-
ми точного решения (3.4) в узлах сетки. После чего, к разнице массивов
N
применяется норма. Например, y = ∑y h
i =0
2
i i . Программа должна со-

держать три входных переменных: a , b и N . Выходными данными


программы является график численного решения и значение ошибки.
Следует также вывести график точного решения. Изменяя N , мы
должны увидеть изменение погрешности. Для данной схемы первого
порядка аппроксимации погрешность должна линейно зависеть от шага
(
∆ = O N −1 . )
Дело в том, что для устойчивых схем порядок погрешности схемы
равен порядку ошибки аппроксимации дифференциального оператора.
Задание
1. Выполнить вышеприведенный пример, используя разностную
схему на основе центральной производной:

13 14
области и соответственно ввести на ее границах граничные условия.
Пусть, к примеру, эта область – отрезок [a, b] . Как следует из теории
решения дифференциальных уравнений, в случае ξ > 0 для решения
уравнения переноса необходимо задать граничное условие в x = a (при
ξ < 0 граничное условие задается в x = b ). В газовой динамике гранич-
ГЛАВА 2
ные условия имеют вид
f ( a , t ) = g (t ) . (4.5)
ЧИСЛЕННОЕ РЕШЕНИЕ УРАВНЕНИЯ Аналитическое решение задачи (4.1) – (4.2) и (4.5) есть
ПЕРЕНОСА   x−a 
g  t −  , a ≤ x ≤ a + ξ t,
f ( x, t ) =   ξ  (4.6)
§ 4. Уравнение переноса ϕ ( x − ξ t ), a + ξ t < x ≤ b.

В нашем курсе мы будем иметь дело с дифференциальными уравне- Кажется, что в численных методах всё также нет нужды: если гра-
ниями в частных производных. Напомним, что дифференциальным ничное условие g (t ) известно, решение находится с помощью (4.6). В
уравнением в частных производных называется уравнение, связываю-
щее между собой каким-либо способом частные производные функции действительности, проблематика решения (4.1) – (4.2) и (4.5) возникает
в динамике разреженных газов (на практическое приложение к которо-
от нескольких переменных. Мы подробно изучим простейшее диффе-
му и ориентируется этот курс) при решении кинетического уравнения
ренциальное уравнение в частных производных – линейное однородное
Больцмана, которое в одномерном случае и в отсутствие столкновений
уравнение переноса:
между молекулами газа принимает вид уравнения переноса:
∂f ∂f
+ξ = 0. (4.1) ∂f ∂f
∂t ∂x +ξ = 0.
∂t ∂x
Здесь функция f ( x, t ) является функцией от двух переменных x и t ,
Его отличие от уравнения переноса заключается в том, что здесь
ξ – параметр уравнения. Для этого уравнения рассматривается задача f = f (t , x, ξ ) – функция, зависящая уже от трёх переменных (скорость
Коши: при t = 0, решение удовлетворяет некоторому начальному усло- ξ стала одной из переменной, в то время как в (4.1) она была парамет-
вию:
ром). Это так называемая функция распределения, представляющая со-
f ( x, 0) = ϕ ( x) . (4.2)
бой плотность газа в ( x, ξ ) -пространстве. Для неё граничное условие
Решение задачи (4.1) – (4.2) представляет собой волну:
аналогично (4.5), но более сложно:
f ( x, t ) = ϕ ( x − ξ t ) , (4.3)
f (a, t , ξ ) = G ( f (a, t , ξ < 0)) ,
распространяющуюся со скоростью ξ . В этом легко убедиться, подста-
где G – некоторый, в общем случае интегральный, функционал от
вив (4.3) в (4.1) – (4.2). функции распределения при отрицательных скоростях. Иначе говоря,
В соответствии с (4.3) для решения уравнения переноса можно запи-
чтобы найти граничное условие g (t ) для какой-либо заданной положи-
сать следующее свойство:
f ( x, t ) = f ( x − ξ (t − t0 ), t0 ) . (4.4) тельной скорости (которое мы могли бы подставить в (4.6), чтобы полу-
чить решение для этой скорости), необходимо знать значения функции
Решение легко найдено аналитически, и формально привлечение распределения в этой точке при всех отрицательных скоростях. Однако
численных методов не требуется. Однако (4.3) найдено в предположе- для этого в свою очередь нужно знать граничное условие для каждой
нии, что начальное условие и само решение определены на всей число-
отрицательной скорости в x = b . Но для этого требуются значения
вой оси. Ситуация усложняется, если решать задачу в ограниченной
функции распределения в этой точке для всех положительных скоро-
15 16
стей, для чего необходимо знать их граничные условия в x = a и т.д.  j +1  ξτ  j ξτ j
 fi = 1 − fi + f i −1 , i = 1, 2,..., N ,
h 
Итак, кинетическое уравнение в общем случае не решается аналитиче-
ски и требует привлечения вычислительных методов. Изучение разно-   h (5.3)
 f 0 = ϕ (x ) = ϕ .
стных схем, аппроксимирующих уравнение переноса, позволит легко  i i i
освоить основы вычислительных методов и впоследствии (глава 5) при- Итак, как видно из (5.3), дифференциальная задача в частных произ-
менить их к кинетическому уравнению. водных свелась к алгоритму, основанному на простейших арифметиче-
ских операциях, выполняемых над одномерным массивом f i . Однако из
§ 5. Шаблоны. Явные и неявные схемы (5.3) неясно, как вычислять значение функции в нулевом узле. Для этого
требуется разностное граничное условие. Оно получается путём ап-
В главе 1 мы видели, что один и тот же дифференциальный оператор проксимации граничного условия (4.5). Сейчас остановимся на самом
можно аппроксимировать различными разностными операторами. Как простом граничном условии:
следствие, существует ещё большее множество комбинационных вари-
f0j = 0 . (5.4)
антов аппроксимации дифференциального уравнения в частных произ-
водных. Приведём простейший из них: Поясним физический смысл (5.4). Пусть начальное условие пред-
f i j +1 − f i j f j − f i −j1 ставляет собой «пакет»: функция ϕ ( x) принимает ненулевые значения в
+ξ i = 0. (5.1) конечной области пространства. Иначе говоря, имеется сгусток газа,
τ h
Получившееся уравнение называется разностной схемой. Участ- локализованный в некоторой области. Как видно из аналитического ре-
вующий в этой записи набор узлов называется шения (4.3), этот пакет будет распространяться со скоростью ξ , не ме-
i, j + 1 няя своей формы. При положительной скорости, когда пакет уходит
шаблоном. В данном случае схема связывает значе-
ние решения в трёх точках, которые образуют кон- вправо, f 0 = 0 всё время. Как будет показано ниже, схема «левый уго-
фигурацию «левый уголок» (рис. 2.1). Погрешность лок» применима только при положительных значениях скорости (при
аппроксимации уравнения (4.1) разностным урав- отрицательных скоростях применяется схема «правый уголок»). Итак,
нением (5.1) имеет первый порядок по времени и i − 1, j i, j для такого типа начальных условий граничное условие (5.4) будет верно
пространству O(τ + h) . На основе центральной отображать физическую реальность.
Рис. 2.1 До сих пор для разностной аппроксимации пространственной произ-
производной можно построить разностное уравне-
ние, которое имеет более высокий порядок точности по пространству: водной мы использовали значения с предыдущего (нижнего) временно-
f i j +1 − f i j f j − f i −j1 го слоя. Разностные уравнения, построенные по такому принципу, на-
+ ξ i +1 = 0. (5.2) зываются явными. Очевидно, при записи разностных уравнений можно
τ 2h пользоваться и «верхним» временным слоем. Например, «неявный ле-
Оно имеет порядок точности O(τ + h2 ) . Однако, как мы увидим вый уголок»:
дальше, эта схема неустойчива и, как следствие, нефункциональна. По- f i j +1 − f i j f j +1 − f i −j1+1
этому для дальнейшего рассмотрения возьмём схему «левый уголок». +ξ i = 0. (5.5)
τ h
Введём равномерную сетку ωh = {xi = ih, i = 0,..., N } . Делая элементар- Разностное уравнение (5.5) называется неявным – здесь на верхнем
ные преобразования разностного уравнения (5.1) и аппроксимируя на- слое оказывается «завязанными» несколько различных неизвестных
чальное условие (4.2), получим, что задача Коши (4.1) – (4.2) аппрокси- величин, и получить явную формулу, аналогичную (5.3), для их выра-
мируется разностной задачей: жения только через значения функции на j -м слое не удаётся. В общем
случае это приводит к необходимости решать систему линейных урав-
нений. Однако в данном случае, несмотря на то что схема формально
является неявной, она легко разрешается явным образом. Пусть значе-
17 18
ния сеточной функции на j -м слое известны, а значение f0j +1 опреде- условий. Выразим это математически. Пусть требуется найти решение
ляется из граничного условия (например, из условия, аналогичного ус- u ( x, t ) дифференциальной задачи:
ловию (5.4)). «Прикладывая» шаблон к узлу i = 1 , мы по известным зна-  ∂u
чениям f0j +1 и f1 j вычисляем с помощью уравнения (5.5) значение  ∂t = Lu + f ( x, t ),

f1 j + γ f 0 j +1 ξτ ly = µ (t ), (6.1)
f1 j +1 = , где γ = . u ( x, 0) = u ( x).
1+ γ h  0

Последовательно передвигая шаблон, найдём всю цепочку значений 


fi j +1 по формуле Оператор l определяет граничные условия. Задача аппроксимирует-
ся разностной схемой:
fi j + γ f i −j1+1 ξτ
f i j +1 = , где γ = .  yt = Lh y + ϕ ,
1+ γ h 
Подобные алгоритмы называют схемами бегущего счета. Методы lh y = ν , (6.2)
решения неявных разностных уравнений представляет большой само-  0
 y = ϑ0 .
стоятельный вопрос. Мы поговорим более подробно о способах реше-
ния неявных уравнений в следующей главе. Здесь ν , ϑ0 , ϕ – входные условия задачи, определяющие граничные и
начальные условия, и неоднородность уравнения соответственно.
Определение 2.2. Говорят, что схема (6.2) устойчива по входным
§ 6. Сходимость. Устойчивость. Условие Куранта условиям, если существуют такие C1 > 0 , C2 > 0 , C3 > 0 , что при
Пусть y – сеточная функция, являющаяся решением разностной за- достаточно малых h и τ для произвольного выбора входных условий
дачи, а uh – проекция в пространство сеточных функций решения соот- справедливо неравенство
ветствующей дифференциальной задачи. yɶ − y ≤ C1 νɶ − ν + C2 ϑɶ0 − ϑ0 + C3 ϕɶ − ϕ , (6.3)
Определение 2.1. Если в некоторой сеточной норме для любого где yɶ и y – решения разностной задачи (6.1) с входными данными соот-
фиксированного t = t j0 = j0τ имеет место условие
ветственно νɶ, ϑɶ , ϕɶ и ν , ϑ , ϕ .
0 0
h → 0, τ → 0, y j0 − uhj0 → 0 , Неравенство
то говорят, что решение разностной задачи сходится к решению yɶ − y ≤ C ϑɶ0 − ϑ0
дифференциальной задачи (разностная схема сходится). Если при этом
при ν = νɶ, ϕ = ϕɶ означает устойчивость по начальным данным. В об-
∀ j , y − uh = O (h n1 + τ n2 ) ,
щей теории устойчивости доказывается, что для линейных задач схемы,
то говорят, что разностная схема имеет порядок точности n1 по устойчивые по начальным данным, устойчивы и по правой части:
пространству и n2 по времени. yɶ − y ≤ C ϕɶ − ϕ
Сходимость считается первейшим критерием качества схемы, обес-
(при ϑ0 = ϑɶ0 , ϕ = ϕɶ ). Кроме того, обычно граничные условия тривиаль-
печивающим правильное воспроизведение искомого решения на сетке.
К сожалению, это свойство схемы, как правило, трудно проверить тео- ны и удовлетворяют устойчивости по граничным условиям. Поэтому в
ретически, особенно для нелинейных задач. Обычно для доказательства дальнейшем мы ограничимся исследованием устойчивости разностных
сходимости проверяют другое свойство схемы, называемое устойчиво- схем по начальным данным.
стью. Как мы уже говорили в главе 1, под устойчивостью подразуме- Теорема 2.1 (Лакса–Рябенького). Из устойчивости и аппроксима-
вают непрерывную зависимость решения разностной задачи от входных ции схемы вытекает ее сходимость.
19 20
Доказательство теоремы приводится в приложении. состоит в следующем. В (6.2) приравниваем ϕ = 0 , убираем граничные
Проверка аппроксимации разностной схемы достаточно проста и условия и ищем его частные решения следующего вида:
сводится фактически к разложению решения в ряд Тейлора, поэтому
ykj = λ j eiωk .* (7.1)
основной интерес и основную трудность представляет исследование
устойчивости схем. Теорема 2.4 (спектральный признак). Для устойчивости по на-
Для гиперболических дифференциальных уравнений (частным слу- чальным данным линейной схемы необходимо выполнение следующего
чаем которых выступает линейное уравнение переноса) Курантом была неравенства
доказана следующая λ (ω ) ≤ 1 + Cτ , 0 < ω < 2π , (7.2)
Теорема 2.2 (Курант). Необходимым условием того, что явная схе- где C не зависит от шага интегрирования по времени τ .
ма, аппроксимирующая (4.1) – (4.2), будет устойчивой, выступает сле- Доказательство теоремы приводится в приложении.
дующее условие для временного шага: Строго говоря, спектральный признак является необходимым усло-
h вием устойчивости, однако его часто используют как практическое дос-
τ = min i . (6.4) таточное условие устойчивости.
0≤i ≤ N ξ
Рассмотрим применение спектрального признака на «левом уголке».
Условие (6.4) называется условием Куранта.
Подставив (7.1) в (5.1), после тривиальных преобразований получим
Доказательство теоремы опускается.
Следует подчеркнуть, что теорема Куранта задает лишь необходи- λ −1 1 − e − iω
+ξ = 0,
мое условие того, что схема будет устойчивой, не обещая такового. К τ h
примеру, схема (5.2) даже при удовлетворении условия Куранта неус- или
тойчива, поскольку является абсолютно неустойчивой. Она расходится λ (ω ) = 1 − γ + γ e−iω = 1 − γ + γ cos ω − iγ sin ω, где γ = ξτ / h .
при любом соотношении пространственных и временных шагов (упр. 3
В результате получим, что
главы 2). Можно записать достаточное условие устойчивости для слу- 2
чая линейных разностных схем. λ (ω ) = (1 − γ + γ cos ω ) 2 + γ 2 sin 2 ω = 1 − 4γ (1 − γ ) sin 2 (ω / 2) .
Теорема 2.3 (принцип максимума). Если для произвольной разно- Из этого выражения нетрудно получить, что λ ≤ 1 только при
стной функции y j , которую некоторая линейная схема переводит в
0 < γ ≤ 1 , т.е. если число Куранта γ = ξτ / h лежит вне этого интервала,
y j +1 , справедливо неравенство вида схема является неустойчивой. Итак, из спектрального признака мы по-
y j +1 ≤ (1 + Cτ ) y j , (6.5) лучили необходимое условие устойчивости:
0 < γ ≤1. (7.3)
где C не зависит от шага интегрирования по времени τ , то схема ус-
тойчива по начальным данным. Условие (7.3) является более строгим, чем соответствующее условие
Более частный случай (6.5) при C = 0 называют иногда строгим Куранта, поскольку ограничивает скорость ξ положительными значе-
принципом максимума. ниями.

*
В данном выражении верхний индекс означает разное для левой и правой
§ 7. Спектральный признак частей. В левой части он в соответствии с принятыми ранее обозначениями ин-
дексирует временной слой, а в правой части в соответствии с принятыми в ал-
Теорема Куранта зачастую дает слишком общее необходимое усло-
гебре обозначениями показывает степень. Кроме того, при обозначении индекса
вие устойчивости. В случае, если оператор Lh линеен, дополнительное узлов мы сменили привычное i на k, чтобы не спутать с мнимой единицей в
исследование устойчивости можно осуществить с помощью спектраль- правой части.
ного признака, который для уравнения с постоянными коэффициентами

21 22
Аналогичным образом можно показать, что схема «правый уголок»: e − x / 2 − e −9/ 2 , x ∈ [−3,3],
2

f i j +1 − f i j f j − fi j f ( x, 0) = 
+ ξ i +1 =0 (7.4) 
0, x ∈ (−∞,3) ∪ (3, ∞).
τ h
ξτ Проделать всё то же самое, что и в первой задаче.
устойчива при −1 ≤ <0. По итогам выполнения двух задач проанализировать влияние на по-
h грешность вычисления резких изменений функции в пространстве.
С помощью принципа максимума нетрудно доказать, что для данных
схем спектральный признак является и достаточным условием. III. Схема с центральной разностью
С помощью спектрального признака можно показать, что схема «не- С помощью спектрального признака исследовать на устойчивость
явный левый уголок» при ξ > 0 является безусловно устойчивой. Она схему с центральной разностью. Доказать, что она абсолютно неустой-
устойчива при любом соотношении шагов по пространству и времени. чива.

§ 8. Практическое занятие
I. «Прямоугольный импульс»
1. Вычислить с помощью «левого уголка» решение уравнения пере-
носа (4.1) со следующим начальным условием:
1, x ∈ [−3,3],
f ( x, 0) = 
0, x ∈ (−∞,3) ∪ (3, ∞).
Следует «обрезать» действительную ось, введя сетку на достаточно
большом, но конечном отрезке. Практично будет взять отрезок
[−20, 20] . Сетка в таком случае имеет следующий вид:
ωh = {xi = 20(i − n) / n, i = 0,..., 2n}
Граничное условие (5.4). Решение разумно искать на временах, не
больших, чем tкр = 17 / ξ (пока «прямоугольный импульс» не «коснул-
ся» границы), иначе решение «уйдет».
Отобразить графически вычисленное решение. Для наглядности по-
казать на том же графике точное решение, строящееся в соответствии с
(4.3). Используя точное решение, необходимо исследовать погрешность
вычисления в зависимости от
− числа Куранта (исследовать схему на сходимость),
− шага по пространству (определить порядок сходимости).
Итогом задания должны быть графики вычисленного и точного ре-
шений.
2. Проделать то же самое для схемы «неявный левый уголок».
II. «Колокол»
Начальное условие:

23 24
∂f ∂f
( xi , t j +1/2 ) + ξ ( xi , t j +1/2 ) = 0 .
∂t ∂x
Применяя правило «середины отрезка» как по отношению к времен-
ной производной, так и пространственной производной, получим
f ( xi , t j +1 ) − f ( xi , t j ) f ( xi +1/2 , t j +1/2 ) − f ( xi −1/2 , t j +1/2 )
ГЛАВА 3 +ξ = O (h 2 + τ 2 ). (9.2)
τ h
Здесь xi +1/2 = xi + h / 2 . Преобразовав в соответствии с (4.4) выражения
РАЗНОСТНЫЕ СХЕМЫ ВТОРОГО ПОРЯДКА f ( xi±1/2 , t j +1/2 ) = f ( xi±1/2 − ξτ / 2, t j ) ,
ТОЧНОСТИ перепишем (9.2):
С помощью спектрального признака нетрудно доказать, что явная f ( xi , t j +1 ) − f ( xi , t j ) f ( xi +1/ 2 − ξτ 2, t j )
схема (5.2) с центральной производной – абсолютно неустойчива (упр. 3 +ξ −
τ h
(9.3)
главы 2). Кроме того, она имеет первый порядок точности по временно- f ( xi −1/ 2 − ξτ 2 , t j ) 2 2
му шагу O(τ + h2 ) , что с учётом условия Куранта, линейно связываю- −ξ = O(h + τ ).
h
щего шаг по времени с шагом по пространству, делает схему фактиче- Запишем разложение решения в ряд Тейлора по пространственной
ски первого порядка точности. Однако можно модифицировать схему переменной:
таким образом, чтобы она стала устойчивой и с точностью порядка
± h − ξτ
O(τ 2 + h2 ) . Ниже мы проведём модификацию тремя различными спосо- f ( xi ±1/2 − ξτ / 2, t j ) = f ( xi + ,t j ) =
2
бами, записав три разностные схемы. 2
∂f ± h − ξτ 1 ∂ 2 f  ± h − ξτ 
= f ( xi , t j ) + ( xi , t j ) + ( xi , t j )  + O ( h3 + τ 3 ) =
∂x 2 2 ∂x 2  2 
§ 9. Явная четырехточечная схема Лакса–Вендроффа
f ( xi +1 , t j ) − f ( xi −1 , t j ) ± h − ξτ
Выпишем для начала правило «середины отрезка» для производной = f ( xi , t j ) + +
2h 2
произвольной функции ϕ ( y ) , которое будет применяться нами далее:
f ( xi +1 , t j ) + f ( xi −1 , t j ) − 2 f ( xi , t j )  ± h − ξτ 2
+  + O(h3 + τ 3 ).
2 
ϕ ( y0 + ∆ / 2) − ϕ ( y0 − ∆ / 2) 2h 2
ϕ '( y0 ) = + O(∆ 2 ) . (9.1) 

Подставляя последние выражения в (9.3), нетрудно получить оконча-
Его легко получить, разложив функцию ϕ ( y ) в ряд Тейлора около точ- тельное соотношение для значений точного решения уравнения перено-
ки y0 : са в узлах сетки:
1 f ( xi , t j +1 ) − f ( xi , t j ) f ( xi +1 , t j ) − f ( xi −1 , t j )
ϕ ( y ) = ϕ ( y0 ) + ϕ '( y0 )( y − y0 ) + ϕ ''( y0 )( y − y0 ) 2 + O (( y − y0 )3 ) . +ξ −
2 τ 2h
(9.4)
Подставив в него y1,2 = y0 ± ∆ / 2 , вычтя одно уравнение из другого и τξ 2 f ( xi +1 , t j ) + f ( xi −1 , t j ) − 2 f ( xi , t j ) 2 2
− = O ( h + τ ).
разделив полученное выражение на ∆ , придём к (9.1). На основе этого 2 h2
правила получается выражение для центральной производной (1.3). Аппроксимируем уравнение (9.4) для того, чтобы получить разност-
Перейдём к непосредственному построению схемы. Введя обозначе- ную схему. Для этого мы должны: а) отбросить малые члены в уравне-
ние для полуцелого временного слоя t j +1/2 = t j + τ / 2 , запишем уравне- нии и б) заменить проекцию точного решения f ( xi , t j ) разностной
ние переноса для точки ( xi , t j +1/2 ) : функцией fi j . Получающаяся явная четырехточечная схема имеет вид

25 26
f i j +1 − f i j
f i +j1 − f i −j1 τξ 2 f i +j1 + f i −j1 − 2 f i j ∂f f ( xi , t j +1 ) − f ( xi , t j )
+ξ − = 0, i = 1,..., N − 1 . (9.5) ( xi , t j +1/2 ) = + O (τ 2 ) .
τ 2h 2 h2 ∂t τ
Поскольку мы отбросили члены второго порядка малости, порядок С другой стороны, если разложить в ряд Тейлора по t возле точки
точности схемы O(τ 2 + h2 ) . Схема (9.5) устойчива при ξτ / h ≤ 1 (это t j +1/2 пространственную производную, легко получить, что
можно проверить с помощью спектрального признака). Пусть ξ > 0 , ∂f 1  ∂f ∂f 
( xi , t j +1/2 ) =  ( xi , t j ) + ( xi , t j +1 )  + O (τ 2 ) .
тогда в соответствии с (4.5) для левой стороны отрезка имеется гранич- ∂x 2  ∂x ∂x 
ное условие Подставив оба равенства в уравнение переноса, получим
f (0, t ) = g (t ) , f ( xi , t j +1 ) − f ( xi , t j ) ξ  ∂f ∂f 
которое при аппроксимации позволяет вычислить +  ( xi , t j ) + ( xi , t j +1 )  + O (τ 2 ) = 0 .
τ 2  ∂x ∂x 
f 0 j +1 = g (t j +1 ) . Запишем разностную схему, аппроксимировав пространственные
В таком случае для вычисления f Nj +1 требуется доопределить (9.5) производные со вторым порядком:
«левым уголком»: f i j +1 − f i j ξ  f i +j 1 − f i −j 1 f i +j 1+1 − f i −j 1+1 
+  +  = 0, i = 1, 2,..., N − 1. (10.1)
f Nj +1 − f Nj f j − f Nj−1 τ 2  2h 2h 
+ξ N = 0. (9.6)
τ h Полученная схема носит название неявная шеститочечная схема
Аналогично, если ξ < 0 , граничное условие задает значение f Nj +1 , а (см. рис. 3.1). Она имеет порядок точности O(τ 2 + h2 ) и устойчива при
значение f0j +1 определяется правым уголком. Применение на границе любых соотношениях между шагами сетки h и τ . Аналогично (9.6) для
схем первого порядка понижает степень точности вычисления лишь вычисления одной из граничных точек можно использовать неявные
локально и не понижает общую точность. схемы первого порядка. Например «неявный левый уголок»:
В заключение приведём уравнение (9.5), преобразованное для прак- f Nj +1 − f Nj f j +1 − f Nj−+11
+ξ N = 0. (10.2)
тического применения: τ h
γ γ Как мы уже упоминали ранее, использование неявных разностных
f i j +1 = (1 + γ ) fi −j1 + (1 − γ 2 ) fi j − (1 − γ ) f i +j1 ,
2 2 (9.7) схем приводит к необходимости решать системы алгебраических урав-
i = 1, 2,..., N − 1, γ = ξτ / h. нений. Важным частным случаем являются
системы так называемых «трёхточечных» i − 1, j + 1 i + 1, j + 1
разностных уравнений, которые связывают
§ 10. Неявная шеститочечная схема. Метод прогонки неизвестные значения сеточных функций в
трёх соседних узлах сетки. Именно таким
Следующий способ решить проблему устойчивости схемы с цен-
является уравнение (10.1). Решать такие
тральной разностью – записать ее в неявном виде: i − 1, j i, j i + 1, j
системы позволяет известный метод про-
f i j +1 − f i j f j +1 − f i −j1+1 гонки, который мы здесь кратко изложим.
+ ξ i +1 = 0. Рис. 3.1
τ 2h
В отличие от явной схемы эта схема устойчива при любом соотно- Метод прогонки
шении пространственных и временных шагов. Однако она также имеет Система трёхточечных линейных уравнений для сеточной функции
первый порядок точности по времени. Модифицируем ее, чтобы полу- y = { y0 , y1 ,..., yN } в общем случае может быть записана в виде
чить точность O(τ 2 + h2 ) . В соответствии с правилом середины отрезка Ai yi −1 + Bi yi + Ci yi +1 = Di , i = 1, 2,..., N − 1 . (10.3)

27 28
Граничные условия для достаточно широкого класса задач могут ( α N и β N уже вычислены в ходе прямой прогонки). После несложных
быть приведены к форме преобразований получим
y0 = λ1 y1 + ν 1 , yN = λ2 y N −1 + ν 2 . (10.4) y N = (ν 2 + λ2 β N ) / (1 − λ2α N ) . (10.8)
К примеру, в граничном условии, аналогичном (10.2), Проиллюстрируем метод прогонки на примере шеститочечной неяв-
ξτ h ной схемы (10.1). Приведём ее к виду (10.3):
λ2 = , ν2 = yɶ N
h + ξτ h + ξτ γ γ γ
− fi −j 1+1 + fi j +1 + f i +j 1+1 = fi j −
( f i +j 1 − fi −j 1 ),
(волной обозначено, что yɶ N взято из предыдущего временного слоя). 4 4 4 (10.9)
Решение задачи (10.3) – (10.4) в методе прогонки ищется в виде i = 1, 2,..., N − 1, γ = ξτ / h.
yi = α i +1 yi +1 + β i +1 , i = 0,1,..., N − 1 , (10.5) Здесь искомой разностной функцией выступает функции распреде-
где α i , βi (i = 1, 2,..., N ) – неизвестные пока коэффициенты прогонки. ления на верхнем временном слое f j +1 , в свою очередь коэффициенты в
Исключая с помощью (10.5) из (10.3) последовательно значения yi −1 и (10.3) принимают значения
yi , приходим к равенству γ γ γ
Ai = − , Bi = 1, Ci = , Di = f i j − ( f i +j 1 − f i −j1 ) .
[α i +1 ( Aiα i + Bi ) + Ci ] yi +1 + ( Aiα i + Bi ) β i +1 + Ai β i − Di = 0. 4 4 4
Граничные условия возьмём тривиальными:
Это равенство, а следовательно, и уравнение (10.3), из которого оно по-
f0j = 0, f Nj = 0
лучено, автоматически удовлетворяются, если коэффициенты при yi (а с
(считаем, что решение не доходит до границ). В результате
ними и свободная часть) будут тождественно равны нулю:
1
α i +1 ( Aiα i + Bi ) + Ci = 0, ( Aiα i + Bi ) βi +1 + Ai βi − Di = 0 . α1 = 0, β1 = 0, α i +1 = ,
αi − 4 / γ
Из двух последних равенств следуют рекуррентные формулы для ко- (10.10)
эффициентов прогонки: βi + 4 Di / γ
βi +1 = − , i = 1, 2,..., N − 1.
α i+1 = −Ci / ( Aiα i + Bi ), αi − 4 / γ
βi +1 = ( Di − Ai β i ) / ( Aiα i + Bi ), (10.6) После чего применяем (10.5), начиная с f Nj +1 = 0 .
i = 1, 2,..., N − 1.
Чтобы вычислить по этим формулам значения α i и β i во всех узлах § 11. Трёхслойная разностная схема
сетки, т.е., как говорят, выполнить прямую прогонку, нужно знать зна-
чения α1 и β1 . Эти числа определяются с помощью левого краевого Используя разностный оператор центральной производной по вре-
мени
условия (10.4):
y j +1 − yij −1
α1 = λ1 , β1 = ν 1 . (10.7) yt = i , (11.1)

Обратная прогонка проводится по формуле (10.5). По найденным
имеющий второй порядок аппроксимации, приведём ещё одну разност-
значениям α i , β i определяются искомые значения сеточной функции
ную схему второго порядка для уравнения переноса:
yi , i = N − 1, N − 2,..., 0 . Исходное значение y N , с которого начинается f i j +1 − f i j −1 f j − f i −j 1
обратная прогонка, определяется на основании совместного решения + ξ i +1 = 0, i = 1, 2,..., N − 1 . (11.2)
2τ 2h
правого краевого условия в (10.4) и соотношения (10.5), записанного в
точке i = N : Схема имеет порядок точности O(h2 + τ 2 ) и устойчива при любых
y N −1 = α N yN + β N соотношениях между шагами сетки h и τ . Схемы, связывающие по-

29 30
добно (11.2) значения решения на трёх временных слоях, называются
трёхслойными.

§ 12. Практическое занятие


Применить к практическому заданию главы 2 («прямоугольный им- ГЛАВА 4
пульс», «колокол») три приведенные схемы: Лакса–Вендроффа, неяв-
ную шеститочечную и трёхслойную.
1. Убедиться, что для гладкого решения (начальное условие «коло- МОНОТОННЫЕ СХЕМЫ. TVD-СХЕМЫ
кол») все три схемы имеют второй порядок точности.
2. Убедиться, что шеститочечная и трёхслойная схемы безусловно § 13. Паразитические осцилляции. Понятие
устойчивы. монотонности схемы
3. Убедиться, что наличие разрывов в решении дает большое число
паразитических волн. Выполнив практическое задание предыдущей главы, мы могли убе-
4. Исследовать порядок ошибки вычисления гладкого решения при диться, что многие разностные схемы дают осцилляции даже в тех слу-
большом количестве узлов. Для наглядности отобразите на графике чаях, когда их в решении быть не должно. Поэтому такие осцилляции
ошибку вычисления. Объясните полученный результат. численных решений называют ложными или паразитическими. Пример
ложных осцилляций можно увидеть на рис. 4.1, где изображено реше-
ние (начальное условие «прямоугольный импульс»), вычисленное с по-
мощью неявной шеститочечной схемы.
Нетрудно заметить, что паразитические осцилляции появляются при
наличии резких градиентов в точном решении. Причина этого в том, что
величина погрешности аппроксимации уравнения переноса при резких
1.4

1.2

0.8

0.6

0.4

0.2

-0.2

-0.4
-20 -15 -10 -5 0 5 10 15 20

Рис. 4.1

31 32
изменениях функции распределения может стать немалой, в результате Они оба неотрицательны при 0 < ξτ / h ≤ 1 , т.е. если схема «левый
чего само понятие аппроксимации теряет смысл (см. главу 1). уголок» устойчива, то она и монотонна. Это наглядно видно при выпол-
В связи с этим мы приходим к понятию «живучести» схемы (в анг- нении задания главы 2: «прямоугольный импульс», вычисленный с по-
лийской литературе robust) – способности схемы адекватно отображать мощью «левого уголка», получается без ложных осцилляций (рис. 4.2).
поведение точного решения даже в такой жесткой постановке задачи
(при наличии сильных градиентов в точном решении). Критериями аде-
кватности выступает в том числе сохранение для численного решения 1

ряда важнейших свойств, которыми обладает или может обладать точ-


ное решение. 0.8
Первейшим таким свойством является свойство монотонности. На-
помним, что точное решение задачи (4.1) – (4.2) есть волна 0.6
f ( x, t ) = ϕ ( x − ξ t ) , откуда следует, что если начальная функция ϕ ( x)
монотонная, то и точное решение f ( x, t ) будет монотонной функцией. 0.4

Разумно требовать, чтобы и разностное решение обладало этим свойст-


вом. Представим разностную схему в виде 0.2

y j +1 = Sy j . (13.1)
Разностный оператор S называют оператором шага. 0

Определение 4.1. Разностная схема называется монотонной, если -20 -15 -10 -5 0 5 10 15 20
оператор шага переводит монотонную сеточную функцию y j в моно-
тонную сеточную функцию y j +1 с тем же направлением роста значе- Рис. 4.2

ний. Однако схемы первого порядка «размывают» решение со временем.


Свойство монотонности важно тем, что удовлетворяющая ему раз- Этот факт легко объясняется аппроксимационной (или схемной) вязко-
ностная схема не дает развиться паразитным осцилляциям, очевидно, стью. Нетрудно показать, что
нарушающим монотонность разностной функции. f i j +1 − f i j f j − f i −j1 ξh
+ξ i = ft + ξ f x − (1 − γ ) f xx + O (τ 2 + h 2 ) .
Теорема 4.1 (Годунов). Пусть дана разностная схема, которую τ h 2
можно представить в виде Таким образом, с точностью до членов второго порядка аппроксимиру-
p2
ется уравнение
yij +1 = ∑α k yij+k , (13.2) f t + ξ f x = α f xx , α > 0 ,
k =− p1

где p1 ≥ 0, p2 ≥ 0, p1 + p2 > 0 . Разностная схема (13.2) монотонна то- где α = O(h) выступает аналогом коэффициента теплопроводности
гда и только тогда, когда все коэффициенты α k неотрицательны. (или дуффузии). А, как известно, в отличие от уравнения переноса,
уравнение теплопроводности сглаживает решение со временем. Термин
Доказательство теоремы приводится в приложении. вязкость по отношению к разностной схеме возникает из физического
Можно привести ряд схем первого порядка точности, которые при смысла коэффициента при второй производной по координате в уравне-
определенном ограничении на число Куранта удовлетворяют (13.2) и нии Навье–Стокса.
являются монотонными. К примеру, легко видеть, что в схеме «левый Сложнее обстоит дело в случае разностных схем второго и более вы-
уголок», записанной в виде (5.3), коэффициенты имеют вид соких порядков аппроксимации.
ξτ ξτ
α 0 = 1 − , α −1 = .
h h
33 34
Теорема 4.2 (Годунов). Среди линейных схем, аппроксимирующих 1 3 5
уравнение переноса с порядком точности n > 1 , нет схемы, удовлетво- мерами , , ,…, а сами слои занумерованы целыми номерами 0, 1,
2 2 2
ряющей условию монотонности. 2,… Величину f ( x, t ) будем предполагать внутри каждого слоя линей-
Тем не менее на гладких решениях схемы высоких порядков аппрок-
ной:
симации имеют преимущество по точности по сравнению со схемами
первого порядка, позволяя получать приемлемые результаты даже на f ( x, t j ) = f i j + σ i j ( x − xi ) , (13.3)
грубых пространственных сетках (на которых и решается большинство где
реальных задач). В связи с этим был предложен ряд приемов монотони- 1 h
зации разностных схем высоких порядков аппроксимации: ( xi−1/ 2 + xi+1/2 ) = xi−1/2 + .
xi =
2 2
− введение членов с искусственной вязкостью, Выполним последовательно интегрирование для каждого слоя по
− применение различных операторов сглаживания или осреднения. пространству и временному шагу:
t j +1 x +1/2
 ∂f ∂f 
∫ ∫
1.2
 ∂t + ξ ∂x  dxdt = 0,
tj xi −1/ 2  
1
t j +1

0.8 (
h f i j +1 − f i j + ξ ) ∫ ( f (x i +1/2 , t ) − f ( xi −1/2 , t ) ) dt = 0.
tj

0.6 Теперь перенесем вдоль характеристик значение f ( x, t ) и используем


(13.3):
0.4 t j +1

0.2
( )
h f i j +1 − f i j + ξ ∫ ( f (x i +1/ 2 )
− ξ (t − t j ), t j ) − f ( xi −1/ 2 − ξ (t − t j ), t j ) dt = 0,
tj

t j +1
0  h 
( )
h fi j +1 − f i j + ξ ∫  f i
j
( )
− f i −j1 + σ i j − σ i j−1  − ξ (t − t j )   dt = 0.
 2 
-0.2 tj
-20 -15 -10 -5 0 5 10 15 20
В итоге получаем конечное выражение для fi j +1 :
Рис. 4.3 γ
К примеру, решение той же самой задачи с «прямоугольным им-
( )
f i j +1 = f i j − γ f i j − f i −j1 − (1 − γ ) h σ i j − σ i −j 1 .
2
(13.4) ( )
пульсом», вычисленное с помощью четырехточечной схемы Лакса– В иностранной литературе этот трёхшажный алгоритм называется
Вендроффа, имеет более приемлемый вид (рис. 4.3). REA (reconstruct-evolve-average).
Следует отметить, что эти приемы не обеспечивают наличие моно- Сразу заметим, что схема первого порядка соответствует нулевому
тонности, а лишь уменьшают амплитуду паразитических осцилляций. наклону функции внутри слоя:
Можно наглядно продемонстрировать причины нарушения моно- σ ij = 0.
тонности схемы, приводящие к столь печальным последствиям. Для
Впервые монотонную схему с такой кусочно-константной аппрок-
этого используем метод кусочно-линейной реконструкции. Представим
симацией описал в своей работе Годунов ещё в 1959 году, за что и по-
себе, что пространство, процессы в котором мы предполагаем рассчи-
лучил широкую известность за рубежом.
тывать, разделёно на ряд слоёв при помощи точек с «полуцелыми» но-
При использовании схемы Лакса–Вендроффа, для которой справед-
ливо

35 36

f i +j1 − f i j
σ ij = , TV( y ) = ∑ yi − yi −1 < ∞ . (14.1)
h −∞
паразитические осцилляции формируются, как показано на рис. 4.4. Он является разностным аналогом функционала, определенного на
Выходом в этой ситуации является введение определённых условий, непрерывных функциях (в том случае, если значение функционала на
ограничивающих значения угла наклона. Легко видеть, например, что этих функциях ограничено):
простые ограничения ∞
∂u
 j f i +j1 − f i j TV(u ( x)) = ∫ dx < ∞ , (14.2)
σ ≤ 2 , −∞ ∂x
 i h который также называется полной вариацией.
 j j
(13.5)
σ j ≤ 2 f i − f i −1 Определение 4.3. Назовем разностную схему TVD-схемой, если для


i
h неё выполняется TVD-условие:
для монотонной функции и тождество σ ij = 0 для экстремумов обеспе- ∀ y j : TV( y j +1 ) ≤ TV( y j ) . (14.3)
чивают свойство монотонности разностной схемы. В следующем пара- Пусть имеется схема вида
графе будет дан формальный вывод необходимых условий. yij +1 = yij + H ( yij− p1 ,..., yij ,..., yij+ p2 ), p1 ≥ 0, p2 ≥ 0, p1 + p2 > 0, (14.4)

fi j +1 где H – разностный оператор, в общем случае нелинейный. Иначе го-


fi j воря, пусть новое значение разностной функции в каком-либо узле
перенос
можно вычислить через старые значения в ограниченном числе сосед-
них узлов.*
Хартеном была доказана следующая теорема, которая устанавливает
связь между TVD- и монотонными схемами.
Рис. 4.4
Теорема 4.3 (Хартен). TVD-схема вида (14.4) является монотонной.
Доказательство теоремы приводится в приложении.
Перепишем схему (14.4) в виде
§ 14. Полная вариация. TVD-схемы yij +1 = yij − Ci ( yij − yij−1 ) + Di ( yij+1 − yij ) . (14.5)
При решении различных физических задач, зачастую, требуется Здесь
полная монотонность схемы. Например, когда решение должно обла- Ci = C ( yij− p1 ,..., yij ,..., yij+ p2 ), Di = D( yij− p1 ,..., yij ,..., yij+ p2 ) . (14.6)
дать свойством неотрицательности. Функция распределения в (4.1), по Теорема 4.4 (Хартен). Если для коэффициентов (14.6) неравенства
сути, представляет собой плотность газа, т.е. физическую величину, по
Ci ≥ 0, Di ≥ 0, Ci +1 + Di ≤ 1 (14.7)
определению не принимающую отрицательных значений. Но наличие
паразитических осцилляций может привести к тому, что численное ре- справедливы для всех узлов и при любых разностных функциях, то (14.5)
шение будет иметь и отрицательные значения (см. рис. 4.3), что в ряде является TVD-схемой.
ситуаций совершенно неприемлемо. Доказательство теоремы приводится в приложении.
Для создания монотонных схем высокого порядка точности Амирам
Хартен (Amiram Harten) предложил интересный класс разностных схем,
которые были названы TVD-схемами (Total Variation Diminishing
*
Scheme). Кратко опишем их. К примеру, схема «неявный левый уголок» не удовлетворяет этому усло-
Определение 4.2. Полной вариацией разностной функции y называ- вию: для вычисления нового значения решения в каком-либо узле требуются
ют функционал старые значения во всех узлах, находящихся слева.

37 38
Опираясь на эту теорему, начнем непосредственное построение
TVD-схемы второго порядка точности для уравнения переноса. Выпи- xi +1/2 − ξτ ξ >0
шем соотношение (9.3): xi −1 xi +2
xi xi +1
f ( xi , t j +1 ) − f ( xi , t j ) f ( xi +1/2 − ξτ / 2, t j )
+ξ −
τ h
f ( xi −1/2 − ξτ / 2, t j )
ξ <0
xi +1/2 − ξτ
−ξ = O(h 2 + τ 2 ).
h
xi −1 xi xi +1 xi +2
Аппроксимируем его, перейдя к разностной схеме. Для этого мы
должны:
− отбросить малые члены в уравнении, Рис. 4.5
− заменить проекцию точного решения разностной функцией fi j ,
Введём дополнительные ограничения на вид α , вытекающие из ли-
− заменить значение точного решения в точках вида нейности уравнения переноса. В соответствии с теоремой 4.2, для того
1 i, ξ > 0, чтобы схема (14.8) – (14.9) удовлетворяла TVD-условию, она должна
xi +1/ 2 − ξτ / 2 = xk + sgn(ξ )(1 − γ )h, γ = ξτ / h , k = 
2 i + 1, ξ < 0 быть нелинейной, т.е. в общем случае для произвольных чисел C1 , C2 и
ɶ j разностных функций y и w
некоторой комбинацией f i +1/2 значений разностной функции в соседних
(C1 y + C2 w) j +1 ≠ C1 y j +1 + C2 w j +1 .
с xi +1/2 − ξτ / 2 узлах:
Но в силу того, что изначальное уравнение переноса линейно, потре-
f i j +1 − f i j fɶ j − fɶi −j1/2 буем для схемы (14.8) – (14.9) выполнение ограниченного свойства ли-
+ ξ i +1/2 =0. (14.8)
τ h нейности:
Комбинацию fɶi +j1/2 мы будем искать в виде (Cf ) j +1 = Cf j +1 , ( f + C ) j +1 = f j +1 + C. (14.11)
1 В таком случае можно говорить о квазилинейной схеме. Нетрудно
fɶi +j 1/ 2 = f k j + sgn(ξ )(1 − γ )α ( f k j−1 , f k j , f k j+1 )( f i +j 1 − f i j ) (14.9) заметить, что из (14.11) сразу же вытекают условия для оператора α :
2
и α – неизвестный пока разностный оператор, вид которого нам пред- α (Cf k j−1 , Cf k j , Cf k j+1 ) = α ( f k j−1 , f k j , f k j+1 ),
(14.12)
стоит выяснить. Выбор числа k обусловлен тем, что при ξ < 0 сосед- α ( f k −j 1 + C , f k j + C , f k j+1 + C ) = α ( f k j−1 , f k j , f k j+1 ).
ними узлами для точки xi +1/2 − ξτ / 2 уже является тройка узлов Введём новую разностную функцию:
xi , xi +1 , xi +2 (см. рис. 4.5). Из самого вида (14.9) нетрудно понять, что  f i j − fi −j1
 j j
, ξ > 0,
оператор α – некоторый коэффициент, с которым мы берем правую j  f i +1 − f i
разностную производную, когда восстанавливаем значение решения в θi +1/2 =  j j
(14.13)
 f i +2 − f i +1 , ξ < 0.
точках xi +1/2 − ξτ / 2 .  fi +j1 − fi j

Лемма 4.1. Для того чтобы схема (14.8) – (14.9) аппроксимировала
уравнение переноса со вторым порядком точности, разностный опе- Условия (14.12) эквивалентны тому, что α можно представить как
ратор α должен удовлетворять условию функцию одной переменной:
∀ i, ∀ f ( x, t ) : α ( f ( xi −1 , t j ), f ( xi , t j ), f ( xi +1 , t j )) = 1 + O(h) . (14.10) α ( f k j−1 , f k j , f k j+1 ) = φ (θi +j 1/2 ), (14.14)
Доказательство леммы приводится в приложении. которая называется ограничителем (в английской литературе limiter).

39 40
Перепишем (14.10) по отношению к оператору φ (мы возьмём, для  f j − Ci ( f i j − fi −j1 ), ξ > 0,

примера, случай ξ > 0 , для противоположного случая все выводы ана- f i j +1 =  i j j j

 f i + Di ( fi +1 − f i ), ξ < 0,
логичны):
где
 f ( xi , t j ) − f ( xi −1 , t j ) 
φ   φ (θi −j 1/2 ) 
 f ( xi +1 , t j ) − f ( xi , t j ) 
= 1 + O ( h) . γ
 Di = γ + (1 − γ )  − φ (θi +j 1/2 )  ,
   2 j
 θi −1/2 
Пусть f '( xi , t j ) ≠ 0 , тогда для гладкой функции 
 γ  φ (θi +1/2 )
j

f ( xi , t j ) − f ( xi −1 , t j ) f '( xi , t j ) − (1 / 2) f ''( xi , t j )h + O (h 2 ) Ci = γ + 2 (1 − γ )  θ j − φ (θi −j 1/2 )  .
= =   i +1/2 
f ( xi +1 , t j ) − f ( xi , t j ) f '( xi , t j ) + (1 / 2) f ''( xi , t j )h + O(h 2 ) Здесь мы использовали (14.13) – определение θ . Далее мы рассмотрим
f ''( xi , t j ) случай ξ > 0 , поскольку для противоположного случая все рассуждения
=1− h + O( h 2 )
f '( xi , t j ) аналогичны. Итак,
(здесь штрихами обозначены пространственные производные), и (14.10) f i j +1 = f i j − Ci ( f i j − f i −j1 ),
принимает вид γ  φ (θi +j 1/2 )  (14.17)
φ (1 + Ah) = 1 + O (h). (14.15) Ci = γ +
(1 − γ )  j
− φ (θi −j 1/2 )  .
2  θi +1/2 
Здесь A = f ''( xi , t j ) / f '( xi , t j ) . Иначе говоря, если φ (1) = 1 и в окрестно- В соответствии с теоремой 4.4 схема (14.17) будет TVD-схемой, если
сти точки θ = 1 не терпит разрывов первого рода, то схема (14.8) – для произвольной разностной функции и любого узла выполняется не-
(14.9) имеет второй порядок точности на гладком решении. Однако в равенство
окрестностях точек экстремума решения (для которых f '( x, t j ) = 0 ) 0 ≤ Ci ≤ 1 . (14.18)
точность локально понижается до первого порядка. В формулах (14.5) – (14.7), составляющих формулировку теоремы,
Из теоремы 4.4 можно вывести такие ограничения на оператор φ , мы взяли частный случай Di = 0 .
при которых схема (14.8) – (14.9) будет удовлетворять TVD-условию. После несложных выкладок из (14.17), (14.18) и условия Куранта
Выпишем схему в соответствии с (14.14) и подставим (14.9) в (14.8): 0 ≤ γ ≤ 1 можно получить неравенство
γ φ (θi +j 1/2 )
f i j +1 = fi j − sgn(ξ )γ ( f k j − f k j−1 ) − (1 − γ ) × 2
− ≤
2
− φ (θi −j 1/2 ) ≤ . (14.19)
2 (14.16) 1− γ j
θi+1/2 γ
(
× φ (θ j
i +1/ 2 )( f j
i +1
j
− f i ) − φ (θ j
i −1/ 2
j j
)( f i − f ) .
i −1 ) Далее потребуем от ограничителя свойство неотрицательности для
Для наглядности запишем (14.16) подробно, выписав k : областей, где функция монотонна:
 j γ φ (θ ) ≥ 0, θ ≥ 0 . (14.20)
j j
 fi − γ ( f i − f i −1 ) − 2 (1 − γ ) × Смысл этого требования легко понять, рассматривая кусочно-линейную
 реконструкцию, описанную в предыдущем параграфе. Условие равенст-
 ( )
× φ (θ i +j 1/ 2 )( f i +j 1 − f i j ) − φ (θ i −j 1/ 2 )( f i j − fi −j 1 ) , ξ > 0, ва знаков
f i j +1 = 
 f j + γ ( f j − f j ) − γ (1 − γ ) × ( ) (
sgn σ i j = sgn f i +j1 − f i j ≡ sgn f i j − f i −j1 )
 i i +1 i
2 гарантирует правильный наклон по отношению к производной функции.

 × φ (θ ( j
i +1/ 2 )( )
f i +j 1 − f i j ) − φ (θ i −j 1/ 2 )( f i j − fi −j 1 ) , ξ < 0. Есть также и другая интерпретация этого требования. Поскольку
наша цель – улучшить схему первого порядка, то нам необходимо
Или
41 42
уменьшать коэффициент схемной вязкости (см. §13), т.е. вводить так φ superbee
называемые антидуффузионные потоки. Отрицательное значение огра- Второй
ничителя лишь усилит размытие решения. порядок MC
В случае экстремума θ < 0 можно также корректировать угол на-
van Leer
клона, однако это не даст выигрыша в точности для исследуемых нами
схем второго порядка (схем с кусочно-линейной реконструкцией), по-
minmod
скольку в точках экстремума функция аппроксимируется параболой, а
не прямой. Отрицательным последствием такой корректировки, соглас-
но (14.19), является сужение области для θ ≥ 0 , где справедливо усло- θ
вие TVD. Таким образом, положим
φ (θ ) = 0, θ < 0 . (14.21) Рис. 4.6
j j
Теперь, используя условие независимости φ (θ i +1/2 ) и φ (θ i −1/2 ) , можно minmod: φ (θ ) = max [ 0, min(1, θ ) ] ,
легко записать искомое нами TVD-условие:
 1 + θ 

 MC: φ (θ ) = max  0, min  2θ , , 2  ,
φ (θ ) = 0, θ < 0,  2 
 (15.1)
 2θ superbee: φ (θ ) = max [ 0, min(2θ ,1), min(θ , 2)] ,
φ (θ ) ≤ , θ ≥ 0, (14.22)
θ+θ
 γ
van Leer: φ (θ ) = .
 2 1+ θ
0 ≤ φ (θ ) ≤ .
 1 − γ На рис. 4.6 изображена так называемая диаграмма Свеби (Sweby), на
Часто это условие сужают требованием φ (θ , γ ) = φ (θ ) , тогда следует которой графически показаны эти ограничители. Серым цветом выде-
лена область, где справедливо условие TVD. После несложных преобра-
переписать (14.22) следующим образом:
зований с учётом (14.13) схема (14.8) – (14.9) приобретает вид
φ (θ ) = 0, θ < 0,
 f i j +1 − fi j fɶ j − fɶi −j1/2
φ (θ ) ≤ 2θ , θ ≥ 0, (14.23) + ξ i +1/2 = 0,
0 ≤ φ (θ ) ≤ 2.
τ h
  j 1− γ j
(15.2)
В заключение отметим, что TVD-схема сохраняет в том числе неот-  f i + 2 ∆f i , ξ > 0,
ɶf j
рицательность решения. Это сразу видно, если переписать (14.17): i +1/2 = 
 f j − 1 − γ ∆f j , ξ < 0.
fi j +1 = (1 − Ci ) fi j + Ci fi −j1 .  i +1 i +1
2
Ввиду (14.18) все коэффициенты неотрицательны. Если для любых уз- Для всех ограничителей справедливо
лов fi j ≥ 0 , то и fi j +1 ≥ 0 . j
∆f i = 0, ( fi +j1 − fi j )( f i j − f i −j1 ) ≤ 0,
а для ( fi+j1 − fi j )( fi j − fi−j1 ) > 0 :
§ 15. Примеры ограничителей. Практический вид а) в случае minmod* limiter:
TVD-схем
*
Ниже представлены распространенные ограничители, удовлетво- Minmod limiter назван по одноимённой функции, которая возвращает ми-
нимум абсолютных значений своих аргументов.
ряющие условиям (14.15) и (14.23):

43 44
( ) 1. Убедиться, что для гладкого решения (начальное условие «коло-
j
∆f i = min f i +j 1 − f i j , f i j − f i −j1 sgn( fi +j 1 − f i j ); (15.3)
кол») все описанные ограничители дают второй порядок точности.
б) в случае MС (monotonized central-difference) limiter: 2. Показать аналитически и проверить экспериментально третий
j  fj −fj  порядок точности ограничителя (15.7).
∆f i = min  i +1 i −1 ,2 f i +j 1 − fi j ,2 f i j − f i −j 1  sgn( f i +j 1 − f i j ); (15.4) 3. Убедиться, что наличие разрывов в решении (начальное условие
 2 
  «прямоугольный импульс») не дает паразитических волн для TVD-схем.
в) в случае superbee limiter: 4. Выяснить, какой из приведенных ограничителей дает более адек-
ватное (менее «размазанное») численное решение в случае разрывов в
j
( (
∆f i = max min 2 f i +j 1 − fi j , f i j − f i −j 1 , )
(15.5)
решении (начальное условие «прямоугольный импульс»).
При анализе сходимости численного решения к разрывному уже
(
min f i +j 1 − f i j ,2 f i j − f i −j1 )) ;
нельзя говорить о порядке аппроксимации, поскольку невозможно ис-
пользовать ряды Тейлора. Поэтому необходимо прибегать к экспери-
г) в случае van Leer limiter: ментальным оценкам порядка сходимости. И тут важным моментом
становится правильный выбор нормы.
j ( f i +j1 − fi j )( f i j − f i −j1 ) Например, при использовании кубической нормы (1.7) погрешность
∆f i = 2 . (15.6) не будет зависеть ни от мелкости разностной сетки, ни от вида ограни-
fi +j1 − f i −j1
чителя, а примет значение около половины высоты «прямоугольного
Кроме того, в предположении φ = φ (θ , γ ) можно, во-первых, исполь- импульса». Для евклидовой нормы (1.6) зависимость есть, но слабая, из-
зовать расширенное условие TVD (14.22), а во-вторых, построить схему за того что значения функции в узлах входит квадратично, в результате
третьего порядка точности как по времени, так и по координате: чего основной вклад в погрешность всё равно делают максимальные
  2θ (γ + 1)θ + (2 − γ ) 2   значения ошибки вычисления. Поэтому лучшим выбором является ок-
φ (θ ) = max  0, min  , ,  . (15.7) таэдрическая норма (1.5).
  γ 3 1 − γ  5. Показать, что в октаэдрической норме порядок сходимости схем
Третий порядок справедлив на протяжении всего центрального от- первого порядка к разрывному решению равен 1/2, а ограничитель su-
резка, а при γ = 0.5 этот ограничитель превращается в MC limiter. perbee позволяет достигнуть максимального порядка, равного 1, при
Граничные условия для TVD-схем более сложны, чем для обычных этом не «размывая» решение со временем.
схем второго порядка. К примеру, как видно из самой структуры огра- Кроме того, полезно визуально сравнить решения всех описанных
ничителей, при ξ > 0 схему (15.2) нельзя применить к трем точкам: схем, объединив все графики с аналитическим решением, и проследить
зависимость расплытия от времени и числа Куранта.
i = 0,1, N (в случае ξ < 0 к i = 0, N − 1, N ). В следующей главе мы рас-
скажем, как в таком случае вычислять в этих точках значение решения
на новом временном слое. Пока же ограничимся простым граничным
условием вида (5.4), приравнивая их значения к нулю.

§ 16. Практическое занятие


Применить к практическому заданию главы 2 («прямоугольный им-
пульс», «колокол») схему (15.2) при всех трёх приведенных ограничи-
телях.

45 46
собой плотность вещества, и (17.1), таким образом, выражает обыч-
ный закон сохранения массы.*
Разностный метод, очевидно, применим только к ограниченной об-
ласти, например, к некоторому отрезку [a, b] . Для него закон сохране-
ния вещества (17.1) принимает вид
ГЛАВА 5 ∂M ( t )
+ F (b, t ) − F ( a, t ) = 0 . (17.2)
∂t
КИНЕТИЧЕСКОЕ УРАВНЕНИЕ Здесь введены обозначения для массы вещества
b
БЕССТОЛКНОВИТЕЛЬНОГО ГАЗА M (t ) = ∫ f ( x, t )dx (17.3)
a

§ 17. Закон сохранения вещества. Консервативные и потока массы


F ( x, t ) = ξ f ( x, t ) . (17.4)
схемы
Итак, перед нами стоит задача описать класс схем второго порядка
Разностная схема должна отражать основные свойства непрерывной точности, для которых имеется разностный аналог (17.2) – (17.4). Мы
среды, поэтому естественно требовать, чтобы в схеме выполнялись раз- сделаем это так: сначала определим вид разностного закона сохранения,
ностные аналоги законов сохранения. Разностные схемы, обладающие а затем установим вид схем, которые ему удовлетворяют.
этим свойством, называются консервативными. Нас прежде всего будет Произведём разбиение отрезка [a, b] на совокупность N малых от-
интересовать консервативность по веществу. Стоит дополнительно от-
резков – ячеек:
метить, что для широкого класса задач условие консервативности схемы
по веществу является необходимым условием сходимости схемы. I i = [ si −1/ 2 , si +1/ 2 ]; i = 1,..., N ,
Легко заметить, что для решения уравнения переноса выполняется s1/ 2 = a, sN +1/ 2 = b, ∆si = si +1/ 2 − si −1/ 2 .
следующее условие: его интеграл по всему пространству (о котором, С учётом этих обозначений перепишем (17.3) в виде
разумеется, имеет смысл говорить, если он ограничен) не зависит от N
времени: M (t ) = ∑ mi (t ) , (17.5)
∞ i =1
M = ∫
−∞
f ( x, t )dx = const < ∞ . (17.1) где mi – масса вещества в i -й ячейке:
si +1/2
Действительно, проинтегрируем (4.1) по пространству: mi (t ) = ∫ f ( x, t )dx . (17.6)
∂ 
∞ ∞ ∞
∂f ∂f si −1/ 2
∫−∞ ∂t dx + ξ ∫−∞ ∂x ∂t  −∞∫ f ( x, t )dx  + ξ ( f (∞, t ) − f (−∞, t )) = 0 .
dx =  Введём разностную сетку (в общем случае неравномерную):
Из ограниченности функционала (17.1) следует, что *
Отметим, что условие, аналогичное (17.1), возникает для широкого класса
ξ ( f (∞, t ) = f (−∞, t )) = 0 и, как следствие, дифференциальных уравнений в том случае, если им можно придать дивергент-
∂  ный вид:

 ∫ f ( x, t )dx  = 0 , ∂f ∂G ( f , x )
∂t  −∞  + = 0,
∂t ∂x
что в свою очередь означает независимость интеграла от времени. Ус- где функция G удовлетворяет условию
ловие (17.1) не случайно: уравнение переноса возникает при решении G ( f = 0, x ) = 0 .
задач газо- или гидродинамики, в которых функция f ( x, t ) представляет

47 48
ωh = {xi +1 = xi + hi , i = 1,..., N } , Действительно, используя правило «середины отрезка», на основе
такую, что в каждой ячейке лежит только один узел. По временной пе- (17.2) можно записать:
ременной введём стандартную равномерную сетку с временным шагом M (t j +1 ) − M (t j )
+ F (b, t j +1/2 ) − F (a, t j +1/2 ) = O (τ 2 ) .
τ . Поскольку численное решение ищется со вторым порядком точно- τ
сти, разумно требовать, чтобы закон сохранения также аппроксими- С другой стороны, ошибка аппроксимации массы, – очевидно, не-
ровался разностным аналогом со вторым порядком точности. Иначе прерывная функция от времени и
говоря, искомая разностная масса должна аппроксимировать (17.5) со M (t j +1 ) − M (t j ) M j +1 + O(t j +1 , ∆s 2 ) − M j − O(t j , ∆s 2 )
вторым порядком точности. = =
Задав узлы сетки посередине ячеек τ τ
xi = ( si +1/2 + si −1/2 ) / 2 , (17.7) M j +1 − M j ∂ M j +1 − M j
= + O (t j , ∆s 2 ) = + O (∆s 2 ).
можно записать следующий разностный аналог массы: τ ∂t τ
N Подставив это в предыдущее выражение, получим
M j = ∑ fi j ∆si , (17.8) M j +1 − M j
i =1 + F (b, t j +1/2 ) − F (a, t j +1/2 ) = O (τ 2 ) + O(∆s 2 ) ,
аппроксимирующий (17.5) со вторым порядком точности. τ
Действительно, используя разложение Тейлора возле что в свою очередь приводит к (17.10) – (17.11).
Легко видеть, что (17.10) выполняется для схем, которые можно
xi = ( si +1/2 + si −1/2 ) / 2 , легко показать, что
представить в виде
m(t j ) = f ( xi , t j )∆si + O (∆si 3 ) . f i j +1 − f i j Fi +j 1/ 2 − Fi −j 1/ 2
Разностное решение аппроксимирует точное со вторым порядком + = 0, i = 1, 2,..., N (17.12)
τ ∆si
точности, поэтому
Чтобы в этом убедиться, достаточно умножить (17.12) на ∆si и про-
m(t j ) = [ f i j + O(∆si 2 )]∆si + O (∆si 3 ) = f i j ∆si + O (∆si 3 ) . (17.9)
суммировать уравнение по i . Здесь Fi+j1/2 – разностные потоки, аппрок-
Подставив (17.9) в (17.5), получим
N N симирующие (17.4) на границах ячеек si +1/2 , которые получаются из зна-
M (t j ) = ∑ [ f i j ∆si + O (∆si 3 )] = M j + ∑ O (∆si 3 ) = M j + O(∆si 2 ) . чений разностного решения при непосредственном построении схемы.
i =1 i =1
К примеру, в случае равномерной сетки
Здесь мы использовали достаточно очевидное утверждение, что
N ωh = {xi = a + h(i − 1 / 2), i = 1,..., N }, h = (b − a) / N (17.13)
∑ O ( ∆s
i =1
i
3
) = O(∆s 2 ) , где ∆s – некоторый средний размер ячеек. для TVD-схем (если i не являются граничными точками):
Для разностной массы (17.8) можно записать разностный аналог за- F j = ξ fɶ j ,
i +1/2 i +1/2 (17.14)
кона сохранения вещества: где fɶi +j1/2 , напоминаем, получаются с помощью ограничителей.
M j +1 − M j
+ FNj +1/ 2 − F1/j2 = 0, (17.10)
τ
§ 18. Проблема граничных точек для TVD-схем
причем для разностных граничных потоков должны быть верны сле-
дующие равенства: Итак, TVD-схемы, описанные в предыдущей главе, являются кон-
 F1/2j = F (a, t j +1/2 ) + O (∆s 2 + τ 2 ), сервативными. Однако формулы (15.2) позволяют вычислить разност-
 j 2 2
(17.11) ные потоки (17.14) не для всех i . К примеру, для положительных ско-
 FN +1/2 = F (b, t j +1/2 ) + O (∆s + τ ).

49 50
ростей ξ > 0 на сетке (17.13) с помощью (15.2) нельзя вычислить fɶ1/2j , На рис. 5.1 сплошной линией показано точное решение, точками –
разностное решение и пунктирной линией – наклон экстраполяции.
fɶ j и fɶ j . Необходимо доопределить схему.
3/2 N +1/2 Виртуальный узел изображен крестиком. Из рисунка ясно, что операция
1. Значение fɶ1/2j найти легко. В главе 2 говорилось, что для того, зануления повышает точность аппроксимации.
чтобы аналитически найти решение уравнения переноса в ограниченной Подставляя (18.2) в выбранный из (15.3) – (15.6) ограничитель, най-
области, необходимо задать граничное условие для одной из сторон дём fɶNj+1/2 . Легко показать, что получающееся при этом FNj+1/2 удовле-
области, как, например, (4.5): творяет условию (17.11). Рассмотрим 2 f Nj − f Nj−1 > 0 :
f ( a , t ) = g (t ) .
F (b, t j +1/ 2 ) = ξ f ( xN + h / 2, t j +1/ 2 ) = ξ f ( xN + (1 − γ )h / 2, t j ) =
ɶ j
В таком случае f получается аппроксимацией этого граничного
1/2 h ∂f
условия: ( xN , t j ) + O (h 2 ) =
= ξ f ( xN , t j ) + ξ (1 − γ )
2 ∂x
fɶ1/2j = g (t j +1/2 ) . (18.1) h f Nj − f Nj −1
Мы взяли такую аппроксимацию, чтобы (18.1) удовлетворяло (17.11). = ξ f Nj + ξ (1 − γ ) + O(h 2 ) = FNj +1/ 2 + O(h 2 ).
2 h
При выводе использовалось свойство точного решения (4.4), а также то,
f ( x, t )
что для любого ограничителя fɶNj+1/2 = f Nj + (1 − γ )( f Nj − f Nj−1 ) / 2 при
2 f Nj − f Nj−1 > 0 . В случае 2 f Nj − f Nj−1 < 0 аппроксимация более точная и
f Nj−1
(17.11) выполняется ещё точнее.
f Nj 3. Значение fɶ3/2j можно также найти с помощью (15.2), введя «вир-
f Nj+1 туальный» узел x0 (напоминаем, что сетка (17.13) определена для
i = 1, 2,..., N ) со значением разностной функции в нём, получающейся
xN − 2 xN −1 xN xN +1
путём экстраполяции граничного условия:
2 f Nj − f Nj−1 f 0 j = g (t j ) − ( f1 j − g (t j )) = 2 g (t j ) − f1 j .
Рис. 5.1
И окончательно, учитывая свойство неотрицательности решения:
f 0 j = max[0, 2 g (t j ) − f1 j ] . (18.3)
2. Значение fɶNj+1/2 можно найти с помощью (15.2), введя «виртуаль-
Подставляя (18.3) в выбранный из (15.3) – (15.6) ограничитель, най-
ный» узел xN +1 со значением разностной функции в нём, получающейся
дём fɶ3/2j .
путём экстраполяции:
Приведём все те же выводы для ξ < 0 . В таком случае нужно дооп-
f Nj+1 = f Nj + ( f Nj − f Nj−1 ) = 2 f Nj − f Nj−1 .
ределить fɶ j , fɶ j
1/2 N −1/2 и fɶ j . Пусть аналитическое граничное условие
N +1/2
По сути, мы восстанавливаем разностную функцию в узле xN +1 , если
для x = b :
бы он у нас был. Однако может случиться, что при этом f Nj+1 < 0 . По-
f (b, t ) = gɶ (t ) ,
скольку решение должно удовлетворять условию неотрицательности,
тогда
следует искусственно приравнять f Nj+1 к нулю:
fɶNj+1/2 = gɶ (t j +1/2 ) . (18.4)
f Nj+1 = max[0, 2 f Nj − f Nj−1 ] . (18.2)
Аналогично вводятся виртуальный узел x0 со значением разностной
функции в нём:
51 52
f 0j = max[0, 2 f1 j − f 2j ] , (18.5) Запишем (17.12) для узла x1 :
используя которое, можно получить fɶ1/2j , и виртуальный узел xN +1 : f1 j +1 = f1 j − γ f3/2j + γ f1/2j = f1 j − γ f 3/2j + γ g (t j +1/2 ) ≥
f Nj+1 = max[0, 2 gɶ (t j ) − f Nj ] , (18.6)  1− γ 
≥ f1 j − γ f 3/2j = f1 j − γ  f1 j + j
φ (θ3/2 )( f 2 j − f1 j )  =
ɶ j
необходимый для f N −1/2 .  2 
В завершении этого параграфа следует сказать несколько слов о вве-  j
1 − γ φ (θ3/2 ) j 
= f1 j − γ  f1 j + j
( f1 − f 0 j )  ≥
денном в предыдущей главе свойстве монотонности схемы. Оно вводи-  2 θ3/2 
лось в предположении, что мы решаем задачу (4.1) – (4.2), т.е. решение
ищется на всей числовой оси и, следовательно, без граничного условия.*  j
1 − γ φ (θ3/2 ) j
≥ f1 j − γ  f1 j + f =
В случае задачи (4.1), (4.2) и (4.5) (уравнение переноса в ограничен-  2 θ3/2 1 
j

ном пространстве) монотонность решения, очевидно, может нарушать-


 1 − γ φ (θ3/2j
)
ся. Это видно из аналитического решения (4.6): если начальное условие = f1 j 1 − γ − γ ≥
j
ϕ ( x) – монотонная функция, а граничное условие g (t ) – осциллирую-  2 θ 3/2 
щая функция от времени, рано или поздно решение станет осцилли-  1− γ 2 
рующей в пространстве функцией – произойдет нарушение монотонно- = f1 j  1 − γ − γ  = 0.
 2 γ
сти.
Но условие монотонности схемы требовалось для того, чтобы ис- Мы использовали условия TVD (14.22) и неотрицательности решения.
ключить паразитические осцилляции и не допускать отрицательные
значения решения. Схема (15.2) с левым граничным потоком, заданным § 19. Функция распределения
в (18.1), хотя и не является в общем случае монотонной, однако всё же
исключает паразитические осцилляции вдали от границ. Действительно, В первом параграфе этой главы мы договорились о следующей фи-
(15.2) является схемой вида (14.4): новые значения в каком-либо узле зической интерпретации уравнения переноса: его решение f ( x, t ) пред-
вычисляются через старые значения в ограниченном числе соседних ставляет собой плотность газа, молекулы которого перемещаются в
узлов, поэтому во всех узлах, кроме x1 , x2 и xN (в случае ξ > 0 ), схема пространстве со скоростью ξ . Разумеется, в одной и той же области
«не чувствует» граничных условий и по-прежнему не допускает парази- пространства могут находиться группы молекул с разными скоростями
тических осцилляций. (скажем больше: как правило, только так и бывает). В таком случае по-
Последнее, что необходимо выяснить, – сохранение условия неотри- ведение газа описывается функцией распределения f ( x, ξ , t ) , представ-
цательности решения в узле x1 . Действительно, эволюция решения в ляющей собой меру распределенности газа не только в обычном, но и в
остальных узлах x2 ,..., xN задается непосредственно схемой (15.2) на скоростном пространстве. Эволюция функции распределения определя-
сетке, доопределенной виртуальными узлами, с неотрицательными зна- ется кинетическим уравнением Больцмана, в одномерном случае при-
чениями решения в них. В предыдущей главе доказывалось, что в таком нимающим вид
случае решение в этих узлах сохраняет неотрицательность на верхнем ∂f ∂f
+ξ = J( f ) . (19.1)
временном слое. Покажем, что и f1 j +1 ≥ 0 . ∂t ∂x
Оно состоит из уравнения переноса и нелинейного интегрального
функционала J ( f ) , описывающего столкновение молекул с разными
*
В доказательстве теоремы 4.3 показано, как интерпретировать такую зада-
скоростями, – так называемого интеграла столкновений, описание ко-
чу в случае конечной сетки: из всех начальных условий рассматриваются только
функции, константные в некотором количестве узлов, соседних с граничными.
торого выходит за рамки данного курса. Здесь ограничимся случаем
отсутствия столкновений между молекулами, когда J ( f ) = 0. В таком

53 54
случае (19.1) редуцируется до уравнения переноса, которое описывает где ξкв2 = kT / m (здесь m – масса молекулы газа, k – константа Больц-
так называемые свободномолекулярные течения или бесстолкновитель-
мана, T – температура газа). Выбрав ξ cut ≈ (4 − 5)ξ кв , мы, по сути, пол-
ный газ. Физически такая ситуация реализуется в сильно разреженных
газах, когда средняя длина пробега молекул много больше характерных ностью опишем поведение газа, поскольку молекулы с большими ско-
размеров исследуемой системы – радиуса цилиндрической трубки, че- ростями практически не встречаются.
рез которую течет газ, расстояния между двумя пластинами, между ко- Дальше мы будем пользоваться равномерной сеткой
торыми он находится, и т.д. Тогда можно считать, что молекулы прак- ωξ = {ξα = −ξcut + ∆ξ (α − 1 / 2), α = 1,..., Nξ }, (19.2)
тически не сталкиваются друг с другом и движение групп молекул с где ∆ξ = 2ξcut / Nξ – шаг скоростной сетки. Количество скоростных уз-
разными скоростями происходит независимо в соответствии с уравне-
нием переноса. лов Nξ следует брать четным, чтобы не было узла с ξα = 0 (для этой
На конечно-разностном языке это означает, что мы вводим некото- скорости функция распределения не меняется и фактически выпадает из
рую сетку в пространстве скоростей (в общем случае с произвольным расчетов).
шагом): В заключение скажем о практическом применении функции распре-
ωξ = {ξα +1 = ξα + ∆ξα , α = 1,..., Nξ } . деления. Зная ее, можно вычислить все макроскопические характери-
стики газа. В газовой динамике пользуются функцией распределения,
После чего отдельно для каждой скорости численно решается свое
приведенной на массу молекулы, т.е. ее физическая интерпретация –
уравнение переноса
концентрация молекул, а не плотность газа.
∂fα ∂f Итак, концентрация газа:
+ ξα α = 0
∂t ∂x ∞

со своим начальным условием n ( x, t ) = ∫ f ( x, ξ , t )dξ , (19.3)


fα ( x, 0) = ϕα ( x) −∞

в соответствии с теми методами и техниками, которые были описаны его макроскопическая скорость (средняя скорость всех молекул):

ранее. В практическом плане это приводит к тому, что если раньше вы- 1
числения производились над одномерным массивом f i , обновлявшемся
ξ = ∫ ξ f ( x, ξ , t )dξ ,
n( x, t ) −∞
(19.4)

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

двухмерный массив fi ,α . m
n( x, t )k ∫0
T ( x, t ) = (ξ − ξ ) 2 f ( x, ξ , t )d ξ . (19.5)
Взаимодействие разных скоростей происходит только на границе в
том случае, если газ ограничен стенками в пределах исследуемой облас- Переход к разностным аналогам элементарен: интегрирование заме-
ти (см. §20). няется на суммирование по скоростям,– d ξ на ∆ξ .
В дальнейшем мы будем иметь дело не со всем пространством ско-
ростей, а с симметричным относительно нуля отрезком [−ξ cut , ξ cut ] , где
ξ cut – некоторая выбранная скорость обрезания. Это обусловлено тем, § 20. Диффузное отражение
что получающаяся в реальных расчетах функция распределения быстро В подавляющем большинстве задач газовой динамики на распро-
затухает с увеличением скорости, поскольку, как правило, она так или странение газа в пространстве накладываются определенные ограниче-
иначе напоминает распределение Максвелла для равномерно распреде- ния: он не может проникнуть за стенки сосуда, поверхность обтекаемо-
ленного газа: го тела и т.д. Это, очевидно, приводит к тому, что все молекулы, нале-
 ξ2  тающие на препятствующую поверхность, должны так или иначе вер-
f ∝ exp  − 2  , нуться обратно. Мы не рассматриваем случай наличия абсорбции (по-
 2ξ кв  глощения) газа на поверхности.
55 56
Иначе говоря, потоки молекул, падающих на поверхность и возвра- Nξ / 2

щающихся от неё, равны. В одномерном случае поверхностью выступа- ∑ ξβ fɶ1/j2, β


β
=1  mξα2  Nξ
ет какая-либо граница (например, x = a ), и для неё равенство потоков fɶ1/j2,α = exp − , α = + 1,..., Nξ . (20.5)
выглядит следующим образом:

 mξ β 2
 2kTст  2
∞ 0 ∑ ξ β exp  − 2kT 
β = Nξ / 2 +1  ст 
∫ ξ f (a , ξ , t )dξ =
0
∫ξ
−∞
f (a , ξ , t )d ξ . (20.1)
Легко увидеть, что (20.5) с точностью до членов второго порядка
Распределение отраженных молекул по скоростям зависит, очевид- совпадет с (18.1) (напомним, что fɶi+j1/2 = f ( xi , t j +1/2 ) + O(h2 + τ 2 ) , см. гла-
но, от свойств поверхности. Например, в случае зеркального отражения ву 4), а значит, также удовлетворяет (17.11).
молекулы меняют только знак своих скоростей, не меняя их значений.
Условие зеркального отражения возможно только при очень гладких Чтобы получить gα (t j ) для (18.3) вместо fɶ1/2,
j
β , стоящего в (20.5),

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


отражение: все отраженные от стенки молекулы имеют максвеллов- j
f1/2, j j
β = ( f 0, β + f1, β ) / 2 . (20.6)
ское распределение с температурой, равной температуре стенки в точке
Напомним, что для отрицательных скоростей мы имеем значение функ-
отражения:
ции распределения в виртуальном узле x0 , получаемое с помощью
 mξ 2 
f (a , ξ , t ) = h(t ) exp  − , ξ > 0 , (20.2) формулы (18.5).
 2kTст 
где Tст – температура стенки, а коэффициент h(t ) получается из усло- § 21. Суммарное описание алгоритма
вия равенства потоков (20.1), для чего, очевидно, необходимо знать
функцию распределения для отрицательных скоростей в этой точке. В заключение выпишем логическое резюме описанных выше мето-
Произведём дискретизацию по скоростному пространству. Условия дик. В случае диффузного отражения на границах решение кинетиче-
(20.1) – (20.2) примут вид ского уравнения находится по следующей схеме.
 mξα2  Nξ I. Строятся сетки (17.13) и (19.2) в обычном и скоростном про-
fα (a , t ) = h(t ) exp  − , + 1 < α ≤ Nξ , (20.3) странствах соответственно, на них строится двумерная (не считая вре-
 2kTст  2
менной переменной) разностная функция распределения fi ,α .
где коэффициент h(t ) имеет вид
Nξ /2 II. Выбирается временной шаг на основе максимальной скорости

β
ξβ
=1
fβ (a , t ) τ = h / ξ cut , чтобы условие Куранта (см. главу 2) соблюдалось для всех
h (t ) = . (20.4) скоростей.

 mξ β2 
∑ ξ β exp  − 2kT  III. Путём аппроксимации задается разностное начальное условие
β = Nξ /2 +1  ст 
f i ,0α = ϕi ,α .
При суммировании мы поменяли обозначение индекса скорости для
того, чтобы обозначить, что это индекс суммирования, и не путать его с IV. Для каждой скорости отдельно (т.е. при фиксированном скорост-
фиксированным индексом α . Итак, мы нашли вид функции gα (t ) , не- ном индексе) ищется эволюция разностной функции распределения на
обходимый в граничном условии (18.1) и (18.3). Однако мы не обладаем основе схемы (15.2), которая доопределяется в следующем порядке.
знанием точных функций fβ (x , t ) , поэтому необходимо сделать оконча- V. Для положительных скоростей с помощью (18.2) восстанавлива-
тельный переход к разностным функциям: ется значения разностной функции распределения в виртуальном узле

57 58
xN +1 , что даёт нам fɶNj+1/2,α , α > Nξ / 2 . Для отрицательных скоростей с Будем считать, что исследуемая область пространства – отрезок
[0, L] . На границах примем диффузное отражение. Для стенки x = 0
помощью (18.5) получаем функцию распределения в виртуальном узле
возьмём температуру T1 и T2 – для второй стенки x = L . Для опреде-
x0 для вычисления fɶ1/2,j
α , α ≤ Nξ / 2 .
ленности считаем, что T1 > T2 . Скорость обрезания положим:
VI. Значения fɶ1/2,
j
α , α ≤ Nξ / 2 подставляются в (20.5), после чего на- kT1
ξ cut = 4.8ξ1 = 4.8 , (22.1)
ходятся fɶ1/2,
j ɶj
α , α > Nξ / 2 . Аналогично получаются f N +1/2,α , α ≤ Nξ / 2 с
m
где ξ1 – среднеквадратичная скорость для T1 . Скорость обрезания, оче-
помощью найденных ранее вычисленных значений fɶ j , α > N /2.
N +1/2,α ξ
видно, нужно выбирать, ориентируясь на максимальную температуру.
Считаем, что сначала между стенками находится однородный газ с
VII. Путём подстановки (20.6) в (20.5) вместо fɶ1/2,
j
α , α ≤ Nξ / 2 с точ- максвелловским распределением с температурой холодной стенки и с
ностью до членов второго порядка находится gα (t j ), α > Nξ / 2 . Под- некоторой концентрацией n0 :
ставляя далее его в (18.3), придём к f 0,α , α > Nξ / 2 , что позволяет вы-  mξ 2  ∞
−1
 mξ 2  
числить fɶ3/j 2,α , α > Nξ / 2 . Аналогично с помощью (18.6) находится
f (ξ , t ) = C exp  −  , C = n0  ∫ exp  −  d ξ  .
 2kT2   −∞  2kT2  
fɶ j , α ≤ N /2.
N −1/ 2,α ξ
Начальное условие для разностной функции получается соответст-
вующей аппроксимацией:
VIII. Вычисление прекращается в нужный нам момент времени. −1
 mξ 2  n  ξ  mξ 2  
N

f = C exp  − α  , C = 0  ∑ exp  − α   .
0
(22.2)
∆ξ  α =1 
i ,α
 2kT2   2kT2  
§ 22. Практическое задание
Следующий важный момент – переход к безразмерной скорости. По-
Задача о термосе смотрим внимательно на схему (15.2), граничные (20.5) и начальные
условия (22.2). Всюду требуется не само значение скорости, а ее отно-
Ставится задача переноса тепла между двумя бесконечно большими
пластинами с разной температурой T1 и T2 в случае, если столкновения шение к ξ1 : в числе Куранта
между молекулами газа отсутствуют. Пластины находятся на расстоя- ξατ ξα h 1  ξα 
= =  ,
нии L друг от друга. Это неплохая модель теплопроводности обычно- h h 5ξ1 5  ξ1 
го термоса. Напомним факт, известный из курса общей физики: тепло-
в граничных и начальных условиях
проводность газа не зависит от его разреженности до тех пор, пока дли-
на пробега молекул λ не станет сравнимой с характерными размерами  mξ 2   1  ξ 2 
exp  − α  = exp  −  α   ,
системы. Поэтому при производстве термоса воздух между его стенка-  2kT1   2  ξ1  
ми откачивают так, чтобы λ была много больше расстояния между  
стенками термоса, т.е. столкновения молекул практически отсутствуют.  mξα 
2
 mξα T1 
2  T1  ξα  
2

С другой стороны, в некотором приближении можно считать, что раз- exp  −  = exp  −  = exp  −   .
 2kT2   2kT1 T2   2T2  ξ1  
мер самих стенок термоса много больше расстояния между ними, и их  
можно считать бесконечно большими. Поэтому при вычислениях будет удобней использовать безразмер-
Формально эта задача трёхмерна. В действительности же начальные ные скорости, выбрав за единицу скорости ξ1 , т.е. всюду заменить
и граничные условия не зависят от двух поперечных переменных, и за- ξα / ξ1 → ξα . Учитывая квазилинейность схемы, разумно перейти к без-
дача редуцируется до одномерной.

59 60
размерной функции распределения, разделив начальное условие (22.2) Входные данные программы – температуры T1 и T2 . Конечный итог
на C. В конце расчетов ее надо умножать обратно на C. выполнения задания – графики концентрации, температуры и значение
Конечным результатом вычислений на некотором временном шаге потока. Исследуйте зависимость теплового потока от разницы темпера-
j0 является некоторая установившаяся функция распределения, на ос- тур стенок.
нове которой нужно посчитать установившееся распределение концен- Для оценки правильности полученных результатов приведём точное
трации, температуры газа и поток теплопередачи. В соответствии с распределение температуры в установившееся режиме:*
формулой (19.3) разностный аналог для концентрации газа T ( x) = T1T2 . (22.6)
−1
 Nξ   Nξ  T  В завершение следует подчеркнуть важность консервативности схе-
ni = n0  ∑ f i ,αj0   ∑ exp  −ξα2 1   (22.3)
 2T2   мы (15.2) для задач такого типа. Действительно, неконсервативные схе-
 α =1   α =1 
мы дают некоторые колебания разностной массы δ M на каждом вре-
и с формулой (19.5) разностный аналог для температуры газа менном шаге. Из линейности (по крайней мере, квазилинейности) схе-
−1 −1
mξ12  ξ 2 j0   ξ j0   Nξ 2 j0   Nξ j0 
N N
мы очевидно, что величина δ M пропорциональна массе газа:
Ti =  ∑ α i ,α   ∑ i ,α 
ξ f f = T  ∑ ξα f i ,α   ∑ f i ,α  . (22.4)
k  α =1
1 δ M ∼ M . А это в свою очередь означает, что разностная масса M (а с
  α =1   α =1   α =1 
ней и характерное значение разностной функции) будет экспоненциаль-
Сразу учтено, что в установившемся режиме у газа нет макроскопиче-
но меняться во времени и решение достаточно быстро (по сравнению со
ской скорости.
временами, требуемыми для того, чтобы режим стал установившимся)
В непрерывном случае поток тепла равен

перестанет как-либо соответствовать действительности. В таком случае
m говорят, что решение разваливается.
q ( x, t ) = ∫ ξ 3 f ( x, ξ , t ) d ξ ,
2 0
его разностный аналог
−1
kn T ξ  ξ
N
  Nξ  2 T 
qi = 0 1 1  ∑ ξα3 fi ,jα0
  ∑ exp  −ξα 1   . (22.5)
2  α =1   α =1  2T2  
Узел i возьмите произвольным – в установившемся режиме поток
не зависит от координаты. Во всех трёх формулах используются без-
размерные скорости и функции распределения, переход к обычным
единицам совершен.
Шаг j0 , на котором вычисления прекращаются, определяется сле-
дующим образом. Считаем, что установившийся режим наступает, ко- *
Простейшая практическая рекомендация к выполнению задания. В отличие
гда относительное изменение за один временной шаг какой-либо макро- от предыдущих заданий программа к этой задаче может потребовать некоторое
скопической величины становится меньше некоторого заданного значе- вычислительное время, поэтому временной цикл должен быть оптимизирован
ния δ . Возьмём в качестве таких величин концентрацию и температуру:  mξα 
2

 Ti j0 − Ti j0 −1 nij0 − nij0 −1  по вычислениям. Например, неразумно вычислять массив exp  −  или


N ⋅ max  , <δ .  2kTст 
 Ti j0 nij0  Nξ
 mξ β2 
 
число ∑ ξ β exp  −
 2kT  каждый временной шаг. Их значения подсчиты-
Значение δ устанавливается из опыта, разумно брать δ = 10−6 − 10−7 . β = Nξ / 2 +1  ст 
Итак, если раньше мы использовали цикл с заданным количеством ите- ваются до временного цикла, а затем вызываются из оперативной памяти.
раций, то теперь выполняется цикл с условием.
61 62
схемы, аппроксимирующей со вторым порядком точности дифферен-
циальное уравнение
∂u
+ Pu = 0 (23.4)
∂t
на временной сетке с шагом τ , а S1 – оператор шага некоторой схе-
ГЛАВА 6 мы, аппроксимирующей со вторым порядком точности дифференци-
альное уравнение
УРАВНЕНИЕ БОЛЬЦМАНА В ПРИСУТСТВИИ ∂u
+ Lu = 0 (23.5)
ВНЕШНИХ СИЛ ∂t
на временной сетке с шагом τ / 2 . В таком случае схема с оператором
шага
§ 23. Расщепление сложного уравнения S = S1 S2 S1 (23.6)
В том случае, если на газ действуют внешние силы, одномерное ки- аппроксимирует уравнение (23.3) со вторым порядком точности.
нетическое уравнение Больцмана (без интеграла столкновений) прини- Доказательство теоремы приводится в приложении.
мает следующий вид: Применительно к случаю уравнения (23.1) это дает схему вида
∂f ∂f F ( x) ∂f f i ,(1)
α − f i ,α
j
fɶ j − fɶi −j1/2,α
+ξ + =0. (23.1) + ξα i +1/2,α = 0,
∂t ∂x m ∂ξ τ /2 h
Здесь F ( x) – сила, действующая на одну молекулу газа, m – масса f i ,(2) (1)
F ( xi ) fɶi ,α +1/2 − fɶi ,α −1/2
(1) (1)
α − f i ,α
одной молекулы. Введём разностные сетки (17.13), (19.2) и сетку по + = 0, (23.7)
τ m ∆ξ
временной переменной с шагом τ . По аналогии со схемой (15.2) для
разностной аппроксимации (23.1) можно записать f i ,αj +1 − f i ,(2)
α fɶ (2) − fɶi −(2)
+ ξα i +1/2,α 1/2,α
= 0,
f i ,αj +1 − fi ,αj +1 fɶ j − fɶi −j1/2,α F ( xi ) fɶi ,αj +1/2 − fɶi ,αj −1/2 τ /2 h
+ ξα i +1/2,α + = 0 , (23.2) где значения в полуцелых точках получаются так, как это делается в
τ h m ∆ξ
схеме (15.2). Каждое из уравнений в цепочке аналогично схеме (15.2), и
где значения в полуцелых точках получаются так, как это делается в проблем теоретического плана не возникает. Поясним, почему мы по-
схеме (15.2). ставили скоростное разностное уравнение посередине: из симметрично-
Однако необходимо поднять вопрос теоретического обоснования сти (23.3) относительно перестановки операторов L и P ясно, что за
схемы (23.2): условия ее устойчивости, монотонности, неотрицательно- оператор P можно принять любой из дифференциальных операторов в
сти ее решения и т.д. В принципе эта работа не сложна, но проще (а за- (23.1). Этот вопрос касается экономии времени вычислений. Простоты
частую и выгоднее – с точки зрения экономии вычислений) расщепить ради считаем, что сила F = const . Из (23.7) ясно, что для того, чтобы
(23.2) на цепочку более простых схем.
любая из схем была устойчивой, временной шаг нужно взять равным
Теорема 6.1. Пусть имеется дифференциальное уравнение в част-
ных производных вида  2h m∆ξ  2h  N 2mξ cut 2 
τ = min  ,  = min 
 Nξ FL 
1, . (23.8)
∂u  ξ cut F  ξ cut  
+ Lu + Pu = 0 , (23.3)
∂t Дальше мы будем рассматривать только случай
где L и P – некоторые линейные дифференциальные операторы, в об- L

∫ F ( x)dx << mξ
2
щем случае некоммутативные. Пусть S 2 – оператор шага некоторой cut /2 (23.9)
0

63 64
(объяснение этому дано ниже), который при F = const принимает вид тановим, при каких полях выполняется это условие. Из курса общей
2
FL << mξcut / 2, физики известно, что в равновесии функция распределения газа, нахо-
дящегося в поле сил, имеет вид
поэтому при Nξ ∼ N выбор τ идет за счет первого пространственного
 mξ 2 U ( x)   mξ 2 1 
члена: f равн ( x, ξ ) ∼ exp  −
 2kT
+
kT 
 = exp − +
 2kT kT
∫ F ( x)dx  .

(24.2)
τ = 2h / ξ cut . (23.10)
Но это значит, что если бы мы поставили в середине пространственное Здесь T – температура газа, U ( x) – потенциальная энергия внешних
уравнение, то шаг τ пришлось бы выбирать вдвое меньшим: сил (мы предполагаем, что они потенциальны). Даже если газ не нахо-
τ = h / ξ cut . дится в равновесии, на (24.2) можно ориентироваться оценочно. Но из
В результате, чтобы узнать решение в какой-либо момент времени, (24.2) сразу следует (23.9) как условие того, что в любой точке при
потребовалось бы выполнить вдвое больше временных шагов и, следо- ξ ≈ ξ cut функция распределения практически равна нулю. Причем ус-
вательно, затратить вдвое больше вычислительных ресурсов. ловие (23.9) необязательно должно быть жестким, достаточно, чтобы
Для случая пространственно неоднородного F ( x) рассуждения ана- 2
mξcut / 2 превосходило интеграл силы по пространству только в два-три
логичны. Требуется только, чтобы интеграл силы по пространству не во раза.
много раз отличался от Fmax L , где Fmax – максимальное значение силы В соответствии с (24.1) во втором уравнении цепочки (23.7)
на отрезке [0, L] . ∀ i : fɶi ,1/ 2 = fɶi , Nξ +1/ 2 = 0 . (24.3)
Кроме того, следует приравнять к нулю значения разностной функ-
§ 24. Проблема граничных условий в скоростном ции распределения в виртуальных скоростных узлах:
пространстве ∀ i : f i ,0 = fi , Nξ +1 = 0 , (24.4)

Для каждого из уравнений цепочки (23.7) требуются граничные ус- необходимые для того, чтобы найти fi ,3/2 или f i , Nξ −1/2 (в зависимости от
ловия. Граничные условия пространственного уравнения были подроб- знака силы).
но освещены в предыдущей главе, поэтому здесь мы рассмотрим только
граничные условия скоростного уравнения. Основная проблема этого
вопроса заключается в том, что для граничных условий в скоростном § 25. Случай пространственной симметрии
пространстве нет физических обоснований: обрезание скоростного про- Во многих задачах может присутствовать пространственная симмет-
странства было искусственным. Это не приводило к серьезному нару- рия. Ради удобства поместим начало координат в середину рассматри-
шению физической картины, поскольку ξ cut выбиралось таким, чтобы ваемого отрезка. Пусть сила F ( x) , начальные и граничные условия об-
значение функции распределения при таких скоростях было пренебре- ладают следующей симметрией:
жимо малым. F (− x) = − F ( x), ϕ (− x, −ξ ) = ϕ ( x, ξ ), T1 = T2 . (25.1)
Руководствуясь соображениями такого рода, сделаем следующее фи-
В таком случае решение в любой момент времени также обладает опре-
зическое приближение: задача ищется в предположении, что
деленной симметрией:
f ( x, ξ , t ) = 0, ξ ≥ ξ cut . (24.1) f (− x, −ξ , t ) = f ( x, ξ , t ) . (25.2)
Нам не важно, какими физическими причинами обусловлено такое ог- Действительно, дифференциальная задача (23.1), (25.1) инвариантна
раничение, главное, что точное решение такой задачи практически пол- к инверсии координат x и ξ , как следствие, инвариантно и ее решение.
ностью соответствует точному решению истинной задачи без (24.1) при
Из (25.2) сразу же следует то, что нам нет смысла просчитывать весь
условии, что функция распределения близка к нулю возле ξ ≈ ξ cut . Ус-
отрезок [− L 2, L 2] , достаточно просчитать решение на одной его по-

65 66
ловине, например [0, L 2] , и восстановить по ней решение на другой, Получите графики концентрации и температуры. При T1 = T2 срав-
т.е. при одной и той же дискретизации пространства нужно совершить ните распределение концентрации с законом Больцмана:
вдвое меньше вычислений. Из (25.2) ясно, что при нахождении решения  gx 
на отрезке [0, L 2] граничное условие в точке x = 0 – это условие зер- n( x) ∼ exp  − 2  .
 ξ0 
кального отражения:
f (0, −ξ , t ) = f (0, ξ , t ) . (25.3) II. Решение кинетического уравнения в поле сил
гармонического осциллятора
В соответствии с (25.2) при нахождении fɶ 1/2,α
j
и fɶ
3/2,α
j
с помощью
Ищем решение (23.1) на отрезке [− L 2, L 2] в случае гармоническо-
схемы (15.2) в виртуальных узлах x0 и x−1 , которые для этого необхо-
го осциллятора:
димы, значения решения принимаются равными: F ( x) = − χ x . (26.3)
f 0,jα = f1,jNξ +1−α , f −j1,α = f 2,jNξ +1−α . (25.4) Когда температуры на границах равны и начальное условие – максвел-
лоское распределение, возникает симметрия (25.1), и решение ищется в
соответствии с тем, как это было описано в предыдущем параграфе.
§ 26. Практическое задание В безразмерных единицах (26.3) имеет вид
I. Решение кинетического уравнения в поле тяжести χ L2
F = 2 x2 .
Граничные условия при x = 0 и x = L , как в задании к предыдущей ξ0
главе: диффузное отражение с температурой T1 и T2 . Единица скорости
Соответственно χ и L выбираются такими, чтобы F была не больше
ξ 0 = max(ξ1 , ξ 2 ) , 1–2.
где ξ1 , ξ1 – среднеквадратичные скорости при этих температурах. Получите график концентрации. Сравните распределение концен-
В безразмерных единицах трации с точным:
ξ = ξ / ξ0 , x = x / L, t = tξ0 / L (26.1)  χ x2 
n( x) ∼ exp  − 2  .
уравнение (23.1) принимает вид  2ξ 0 
∂f ∂f ∂f F ( x) L
+ξ + F ( x) = 0, F ( x) = . (26.2)
∂t ∂x ∂ξ mξ 02
Скорость обрезания
ξcut = 5 .
Начальное условие – максвелловское распределение при одной из тем-
ператур.
Численное решение происходит в этих единицах, переход к обыч-
ным единицам осуществляется в конце расчетов. Безразмерная сила в
случае силы тяжести имеет вид
gL
F= 2 .
ξ0
Длина L выбирается такой, чтобы F была не больше 1–2, чтобы вы-
полнялось (23.9).

67 68
ЗАКЛЮЧЕНИЕ ПРИЛОЖЕНИЯ
Данное пособие можно считать кратким экскурсом в конечно-
разностные методы, применяемые для решения левой части сложного § 27. К главе 2
интегро-дифференциального кинетического уравнения Больцмана [3]. В
общем случае, это уравнение переноса под действием внешних сил. Бы- Теорема 2.1. Из устойчивости и аппроксимации схемы вытекает ее
ли рассмотрены простейшие одномерные задачи с равномерными пря- сходимость.
моугольными сетками. Но даже при их решении мы столкнулись со Для начала напомним два свойства нормы, которые мы будем ис-
множеством различных проблем. Во-первых, разностная схема должна пользовать в дальнейшем:
обладать кроме сходимости еще двумя важными свойствами. Консерва- ∀ y : ay = a y ,
тивность по всем интегралам движения уберегает численное решение от ∀ y, ∀ x : x + y ≤ x + y .
"разваливания" со временем. Монотонность в свою очередь исключает
возникновение паразитических нефизичных решений. Во-вторых, огра- Перепишем разностную задачу (6.2) в следующем виде:
ниченность вычислительных ресурсов заставляет нас искать схемы вы-  L 'h y = yt − Lh y = ϕ ,
сокого порядка точности. Для этого они должны быть нелинейны (со- 
lh y = ν , (27.1)
гласно теореме Годунова), и в самом простом случае их можно постро-  0
ить только на пятиточечном шаблоне. Кроме того, для таких разностных  y = ϑ0 .
схем нетривиально выписать граничные условия. Эти проблемы реше- Рассмотрим выражения
ны в рамках TVD-схем, подробнее о которых можно прочесть в [4]. φ1 = L 'h uh − L 'h y = L 'h uh − ϕ ,
Описанная методика на прямоугольных сетках хорошо подходит для
решения в том числе многомерных задач, поскольку уравнение перено-
φ2 = lh uh − lh y = lh uh − ν , (27.2)
0
са легко расщепляется по перпендикулярным направлениям. Однако для φ3 = u ( x, 0)h − y = u ( x, 0) h − ϑ0 .
моделирования сложных геометрий приходится прибегать к неравно- Выразим отсюда
мерным и даже неструктурным координатным сеткам, использование  L 'h uh = ϕ + φ1 ,
которых в значительной степени затрудняет написание схем даже вто- 
рого порядка точности. И всё же в отличие от классических методов lh uh = ν + φ2 , (27.3)
решения задач гидрогазодинимики на основе уравнений Эйлера и На- u ( x, 0) = ϑ + φ .
 h 0 3
вье–Стокса, где приходится иметь дело с вектором макропараметров, в Это означает, что uh является решением разностной задачи при но-
кинетической теории эволюционирует скалярная функция распределе-
ния, что немалым образом упрощает конечно-разностную аппроксима- вых входных данных ϕɶ = ϕ + φ1 , νɶ = ν + φ2 , ϑɶ0 = ϑ0 + φ3 , отвечающих за
цию дифференциальной части уравнения Больцмана. Поэтому следует неоднородность, граничные и начальные условия соответственно. В
сказать, что наибольшую трудность представляет именно вычисление силу определения устойчивости (6.3), исходя из (27.1), имеем
нелинейного пятимерного интеграла столкновений, а эта задача уже
uh − y ≤ C1 νɶ − ν + C2 ϑɶ0 − ϑ0 + C3 ϕɶ − ϕ =
выходит за рамки "Введения в численные методы в динимике разре- (27.4)
женных газов". = C1 φ1 + C2 φ2 + C3 φ3 .

69 70
С другой стороны, добавим к правой стороне первых двух равенств в можно переписать: w j ≤ C θ = C w0 . Поскольку функции y, yɶ в
(27.2) слагаемые ( f − L ' u ) h , ( µ − lu ) h , которые тождественно равны
(27.7) взяты произвольными, функция w также произвольна. Осталось
нулю (см. (6.1)), а в третьем учтем, что u ( x, 0) h = (u0 ) h . Получим, что лишь сменить обозначения и получить (27.8).
φ1 = L 'h uh − ϕ + ( f − L ' u )h = ( f h − ϕ ) + ( L 'h uh − ( L ' u )h ), Запишем (27.6):
φ2 = lh uh − ν + ( µ − lu )h = ( µh − ν ) + (lh uh − (lu ) h ), (27.5) y j +1 ≤ (1 + Cτ ) y j ≤ eCτ y j . (27.9)
φ3 = (u0 ) h − ϑ0 . Последовательно применяя (27.9), получим, в итоге, неравенство вида
С учётом этого условие устойчивости (27.4) приобретает вид (27.8):
uh − y ≤ C1 φ1 + C2 φ2 + C3 φ3 = y j ≤ Cɶ y 0 , где Cɶ = eCt0 , t0 = τ j .
= C1 ( f h − ϕ ) + ( L 'h uh − ( L ' u ) h ) + Теорема 2.3 (спектральный признак). Для устойчивости по на-
чальным данным линейной схемы необходимо выполнение следующего
+C2 ( µh − ν ) + (lh uh − (lu ) h ) + C3 (u0 ) h − ϑ0 ≤ неравенства:
≤ C1 f h − ϕ + C1 L 'h uh − ( L ' u ) h + λ (ω ) ≤ 1 + Cτ , 0 < ω < 2π .
+C2 µ h − ν + C2 lh uh − (lu ) h + C3 (u0 ) h − ϑ0 . Доказательство элементарно. Действительно, по определению ус-
тойчивости нам достаточно найти одну функцию, не удовлетворяющую
Таким образом, при аппроксимации, когда каждый из слагаемых в
(27.7) (или в нашем случае эквивалентного ему (27.8)), чтобы схема бы-
последнем неравенстве стремится к нулю, имеется сходимость схемы
ла неустойчивой. Ищем такие функции в виде (7.1). Пусть
uh − y → 0 .
λ (ω ) = 1 + q ,
Теорема 2.4 (принцип максимума). Если для произвольной разно-
где q > 0 . Используем октаэдрическую норму yi = max yi :
стной функции y j , которую некоторая линейная схема переводит в 1≤i ≤ N
j j iω k j j
y j +1
, справедливо неравенство вида y k =λ e = λ = (1 + q ) .
y j +1 ≤ (1 + Cτ ) y j , (27.6) Взяв временной шаг достаточно малым, можно сделать норму сколь
угодно большой, что нарушает (27.8) – условие устойчивости по на-
где C не зависит от шага интегрирования по времени τ , то схема ус- чальным данным для линейных разностных схем.
тойчива по начальным данным.
Вначале заметим, что в случае линейных операторов Lh и lh в (6.2)
условие устойчивости по начальным данным, которое ранее формули- § 28. К главе 4
ровалось следующим образом: Теорема 4.1. Разностная схема
∃C < ∞, ∀ϑɶ , ∀ϑ : yɶ − y ≤ C ϑɶ − ϑ (27.7) p2
0 0 0 0
yij +1 = ∑α k yij+k (28.1)
(где yɶ , y – решение (6.1) с соответствующими начальными условиями), k =− p1

можно записать так: монотонна тогда и только тогда, когда все коэффициенты α k неот-
∃C < ∞ , ∀ y , ∀ j : y j ≤ C y 0 . (27.8) рицательны.
Докажем достаточность условия. Пусть для определенности на ниж-
Действительно, разностная задача (6.2) при новом начальном усло- нем слое разностная функция является неубывающей. Запишем условие
вии θ = ϑɶ0 − ϑ0 в силу указанной линейности разностных операторов неубывания функции в виде
будет иметь соответствующее решение: w = yɶ − y . С учётом этого (27.7) ∀ i : yij+1 − yij ≥ 0 .

71 72
Отсюда и из неотрицательности α k легко следует, что и функция на C1 , i ≤ i1 ,
новом временном слое является неубывающей: 
yi = φi , i1 < i < i2 ,
p2
C , i ≥ i .
∀ i : yij++11 − yij +1 = ∑α k ( yij+ k +1 − yij+ k ) ≥ 0 , (28.2)  2 2
k =− p1 В результате полная вариация сводится к
поскольку каждое из слагаемых функций неотрицательно. ∞ q2

Необходимость легко доказывается простым примером. Пусть один TV( y ) = ∑ yi − yi −1 = ∑ yi − yi −1 ,


−∞ i = q1
из коэффициентов является отрицательным: α k0 < 0 . Возьмём в качест-
где q1 ≤ i1 + 1, q2 ≥ i2 . Возьмём узлы q1 , q2 такими, чтобы после узлов
ве неубывающей функции ступенчатую функцию
i1 , i2 имелось достаточное количество точек, на которых функция y
0, i < s + 1,
yij =  постоянна. После чего обрежем сетку, определив узлы: q1 = 1 , q2 = N .
1, i ≥ s + 1.
Окончательно полная вариация – это функционал
В таком случае N
yij+1 − yij = δ i ,s , TV( y ) = ∑ yi − yi −1 ,
i =1
где δ i ,k – символ Кронекера: определенный на разностных функциях, константных в некотором ко-
1, i = k , личестве узлов, соседних с граничными.
δ i ,k =  Итак, рассмотрим для определенности неубывающую функцию на
0, i ≠ k .
нижнем временном слое:
Подставив это выражение в (28.2), получим
p2 p2 ∀ i : yij − yij−1 ≥ 0 .
yij++11 − yij +1 = ∑ α k ( yij+k +1 − yij+ k ) = ∑αδ k i + k ,s = α s −i . Отсюда сразу следует, что
k =− p1 k =− p1
∀ i : yij − yij−1 = yij − yij−1 .
Взяв i0 = s − k0 , получим, что
В результате для полной вариации получаем
yi0j ++11 − yi0j +1 = α s −i0 = α k0 < 0 , N N
TV( y j ) = ∑ yij − yij−1 = ∑ yij − yij−1 = y Nj − y0j . (28.3)
т.е. условие неубывания нарушено в узле i0 = s − k0 , и схема в общем i =1 i =1
случае не является монотонной. Поскольку схема удовлетворяет TVD-условию, то
Теорема 4.3. TVD-схема вида (14.4) является монотонной. TV( y j +1 ) ≤ TV( y j ) = yNj − y0j . (28.4)
Определение 4.2 неявно подразумевает, что мы имеем дело с беско-
Для того чтобы схема (14.4) удовлетворяла TVD-условию, на опера-
нечной сеткой. Перед доказательством теоремы разберемся с понятием
тор H должно быть наложено условие
полной вариации в случае, когда количество узлов ограничено. В силу
того, что полная вариация по определению – величина ограниченная, ∀ a : H (a,..., a,..., a ) = 0 , (28.5)
очевидно, что функционал полной вариации определен на функциях, где a – произвольное число. Это условие необходимо для того, чтобы в
которые стремятся к ограниченным пределам: случае постоянной начальной функции разностное решение y j также
lim yi = C1 < ∞, lim yi = C2 < ∞ . было постоянным, а это в свою очередь необходимо для того, чтобы
i→−∞ i→∞
В этом классе разностных функций ограничимся рассмотрением схема была TVD. Но у границ функция y j является константой в неко-
функций, представляющих собой константу начиная с некоторых узлов: тором количестве точек, и, таким образом:
y0j +1 = y0j , yNj +1 = yNj . (28.6)

73 74
Объединив (28.4) и (28.6), получим TV( y j +1 ) ≤ TV( y j ) .
TV( y j +1 ) ≤ yNj +1 − y0j +1 . (28.7) Лемма 4.1. Для того чтобы схема (14.8) – (14.9) аппроксимировала
С другой стороны, если в каком-то узле i0 имеется нарушение моно- уравнение переноса со вторым порядком точности, разностный опе-
тонности: ратор α должен удовлетворять условию
y ji0+1 − yi0j +−11 < 0 , ∀ i, ∀ f ( x, t ) : α ( f ( xi −1 , t j ), f ( xi , t j ), f ( xi +1 , t j ) ) = 1 + O(h) . (28.9)
то очевидно, что Введём для краткости написания следующие обозначения:
N N ∂f ∂2 f
∑(y j +1
− yij−+11 ) < ∑ yij +1 − yij−+11 , f ( xi , t j ) = Fi , ( xi , t j ) = Fi ′, ( xi , t j ) = Fi ′′,
i =1
i
i =1
∂x ∂x 2
Или, что то же самое, α ( f ( xi−1 , t j ), f ( xi , t j ), f ( xi +1 , t j )) = α i .
yNj +1 − y0j +1 < TV( y j +1 ) . Для аппроксимации (9.3) со вторым порядком точности должно вы-
j +1 полняться соотношение
Но это невозможно в силу (28.7). Итак, y также монотонна, причем
f ( xi +1/ 2 − ξτ / 2, t j ) − f ( xi −1/ 2 − ξτ / 2, t j )
TV( y ) = y − y0j +1 ,
j +1 j +1
N
=
h
т.е. полная вариация не изменилась. f ( xk , t j ) − f ( xk −1 , t j ) sgn(ξ )
Теорема 4.4 (Хартен). Если для коэффициентов (14.6) неравенства = + (1 − γ ) × (28.10)
Ci ≥ 0, Di ≥ 0, Ci +1 + Di ≤ 1 (28.8) h 2h
справедливы для всех узлов и при любых разностных функциях, то схема { ( ) ( )}
× α k f ( xi +1 , t j ) − f ( xi , t j ) −α k −1 f ( xi , t j ) − f ( xi −1 , t j ) + O (h 2 ).
(14.5) является TVD-схемой. Тогда при замене проекции точного решения на разностную функцию
Заметим, что мы допустим ошибку второго порядка малости. Запишем разложение в
yij++11 − yij +1 = (1 − Ci+1 − Di )( yij+1 − yij ) + Di+1 ( yij+2 − yij+1 ) + Ci ( yij − yij−1 ). ряд Тейлора:
Отсюда в соответствии с правилом для модуля суммы и с учётом (28.8): f ( xi +1/ 2 − ξτ / 2, t j ) = f ( xi + h / 2 − ξτ / 2, t j ) =
yij++11 − yij +1 ≤ (1 − Ci +1 − Di )( yij+1 − yij ) + Di +1 ( yij+ 2 − yij+1 ) + Ci ( yij − yij−1 ) = h h
= f ( xk + sgn(ξ ) − ξτ / 2, t j ) = f ( xk + sgn(ξ ) (1 − γ ), t j ) = (28.11)
= (1 − Ci +1 − Di ) y j j
− yi + Di +1 y j
−yj
+ Ci yi − yj j
. 2 2
i +1 i+2 i +1 i −1
h h2
Просуммировав по узлам, получим = Fi + sgn(ξ )(1 − γ ) Fi ′+ (1 − γ ) 2 Fi ′′.
∞ 2 8
TV( y j +1 ) = ∑ yij++11 − yij +1 ≤ Несущественный в данном случае временной индекс опущен. Подста-
i =−∞
вив (28.11) в (28.10), после несложных преобразований получим
∞ ∞ ∞
1
≤ ∑ (1 − C i +1 − Di ) yij+1 − yij + ∑D i +1 yij+ 2 − yij+1 + ∑C i yij − yij−1 = Fk′ − Fk′−1 + sgn(ξ )(1 − γ )h( Fk′′ − Fk′′−1 ) =
i =−∞ i =−∞ i =−∞ 4

(28.12)
1
= (1 − Ci +1 − Di + Ci +1 + Di ) ∑ yij+1 − yij = TV( y j ). = (α k ( Fi +1 − Fi ) − α k −1 ( Fi − Fi −1) ) + O (h 2 ).
i =−∞ h
Здесь мы учли, что поскольку суммирование идет от −∞ до +∞ , то Применив «правило середины отрезка» по отношению ко второй
индекс суммирования в определении полной вариации можно произ- пространственной производной точного решения:
вольно сдвигать. h h2 ∂3 f
Таким образом, для схемы (14.5) выполняется TVD-условие: sgn(ξ )(1 − γ )( Fk′′ − Fk′′−1 ) = sgn(ξ )(1 − γ ) 3 ( xk +1/ 2 , t j ) = O(h 2 ) ,
4 4 ∂x

75 76
упростим (28.12) до S = S1 S2 S1 (29.4)
1 аппроксимирует уравнение (29.1) со вторым порядком точности.
Fk′ − Fk′−1 = (α k ( Fi +1 − Fi ) − α k −1 ( Fi − Fi −1) ) + O(h 2 ) . (28.13)
h Запишем определение оператора эволюции точного решения урав-
Заново разложим решение в ряд Тейлора, а также его производную: нения (29.1) за время τ :
 h2 u( x, t j +1 ) = SL+ Pu ( x, t j ) . (29.5)
 Fi ±1 = Fi ± Fi ′h + Fi ′′+ O(h3 ),
 2 Здесь x обозначает все остальные переменные, от которых зависит u .
 2 2
Запишем уравнение (29.1) в другой форме:
 Fk′−1 = Fk′ − Fk′′h + O(h ) = Fk′ − Fi ′′h + O (h ).
Подставив эти соотношения в (28.13), получим после несложных вы- ∂
= −( L + P ) . (29.6)
кладок: ∂t
h Применим разложение Тейлора по временной переменной, исполь-
(α k − α k −1 ) Fi ′ + (α k + α k −1 − 2) Fi ′′= O(h 2 ) . (28.14) зуя (29.6):
2
Отсюда ∂u τ 2 ∂ 2u
u ( x, t j +1 ) = u ( x, t j ) + τ ( x, t j ) + ( x, t j ) + O (τ 3 ) =
h ∂t 2 ∂t 2
(α k − α k −1 ) Fi ′ + (α k + α k −1 − 2) Fi ′′= O(h 2 ) ,
2 = SɶL+ P u ( x, t j ) + O(τ 3 ),
или где
α k = 1 + O ( h) . 2
τ
SɶL+ P = 1 − τ ( L + P) + ( L + P) 2 ,
2
§ 29. К главе 6 откуда
Теорема 6.1. Пусть имеется дифференциальное уравнение в част- S L+ P = SɶL+ P + O (τ 3 ) .
(29.7)
ных производных вида ɶ
Попытаемся придать более удобную форму оператору S L+ P . Введём
∂u оператор
+ Lu + Pu = 0 , (29.1)
∂t τ τ2 2
где L и P – некоторые линейные дифференциальные операторы, в об- SɶL /2 = 1 − L + L ,
2 8
щем случае некоммутативные. Пусть S 2 – оператор шага некоторой используя который, можно записать:
схемы, аппроксимирующей со вторым порядком точности дифферен- SɶL+ P = SɶL /2 SɶP SɶL /2 + O (τ 3 ) . (29.8)
циальное уравнение
∂u Действительно,
+ Pu = 0 (29.2) 2
τ 2
τ L2 + P 2 + LP + LP .
∂t SɶL+ P = 1 − τ ( L + P) + ( L + P ) 2 = 1 − τ ( L + P) +
2 2
( )
на временной сетке с шагом τ , а S1 – оператор шага некоторой схе-
С другой стороны,
мы, аппроксимирующей со вторым порядком точности дифференци-
альное уравнение  τ τ 2  τ 2  τ τ2 
SɶL / 2 SɶP SɶL / 2 =  1 − L + L2  1 − τ P + P 2  1 − L + L2  =
∂u  2 8  2  2 8 
+ Lu = 0 (29.3)
∂t τ 2 ( L2 + P 2 + LP + LP ) + O (τ 3 ).
на временной сетке с шагом τ / 2 . В таком случае схема с оператором = 1 − τ ( L + P) +
2
шага Используя (29.7), перепишем (29.8):

77 78
SɶL+ P = SɶL /2 SɶP SɶL /2 + O (τ 3 ) , (29.9)
ɶ
где S P – оператор эволюции решения (29.2) за время τ , S L /2 – оператор ɶ
эволюции решения (29.3) за время τ 2 . Используя определение опера-
тора эволюции (29.5), запишем
u ( xi , t j +1 ) = S L /2 S P S L/2 u ( xi , t j ) + O (τ 3 ) . (29.10) Литература
Применяя (29.10) с нулевого момента времени j -е количество раз, 1. Самарский А.А., Попов Ю.П. Разностные методы решения задач
можно записать: газовой механики. — М.: Физматлит, 1992. — 424 с.
u ( xi , t j ) = ( S L /2 S P S L /2 ) j u ( xi ,0 ) + O ( τ 2 ) . (29.11) 2. Рябенький В.С. Введение в вычислительную математику. — М.:
Физматлит, 2000. — 296 с.
Мы использовали утверждение, что
3. Коган М.Н. Динамика разреженного газа. — М.: Наука, 1967. —
j t 440 с.
∑ Ok (τ 3 ) = jO(τ 3 ) = j O (τ 3 ) = t j O(τ 2 ) = O(τ 2 ) .
k =1 τ 4. Randall J. Leveque. Finite volume methods for hyperbolic prob-
Пусть для уравнений (29.3) и (29.4) имеются соответствующие схе- lems. — Cambridge: Cambridge University Press, 2002. — 558 p.
мы второго порядка точности. В таком случае для их операторов шагов 5. Ландау Л.Д., Лифшиц Е.М. Теоретическая физика. Т. 10 / Лиф-
верны следующие соотношения: шиц Е. М., Питаевский Л. П. Физическая кинетика. — М.: Физматлит,
SL /2 = S1 + O(h3 + τ 3 ), SP = S2 + O(h3 + τ 3 ) . 2002. — 536 с.
Дело в том, что когда мы переходим от самой схемы к ее оператору ша-
га, то нам приходится производить умножение на τ , и ошибка аппрок-
симации схемы O(h2 + τ 2 ) заменяется на O(h3 + τ 3 ) . В соответствии с
этим перепишем (29.11):
u ( xi , t j ) = ( S1S 2 S1 ) j u ( xi ,0 ) + O( τ 2 + h 2 ) .
Разностное начальное условие аппроксимируется со вторым поряд-
ком точности, поэтому
u ( xi , t j ) = ( S1 S2 S1 ) j ( y 0 + O( τ 2 + h 2 )) + O( τ 2 + h 2 ) =
= ( S1 S 2 S1 ) j y 0 + O( τ 2 + h 2 ) = y j + O( τ 2 + h 2 ),
т.е. схема с оператором шага (29.4) аппроксимирует (29.1) со вторым
порядком точности.

79 80

Вам также может понравиться