Открыть Электронные книги
Категории
Открыть Аудиокниги
Категории
Открыть Журналы
Категории
Открыть Документы
Категории
КОВЕНЯ
Д. В. ЧИРКОВ
В. М. Ковеня
Д. В. Чирков
Учебное пособие
Новосибирск
2013
Аннотация.
В учебном пособии излагаются и анализируются современные методы и подходы для
численного решения систем уравнений в частных производных. Основное внимание
уделяется построению экономичных алгоритмов для решения многомерных задач.
Излагаются основы метода конечных объемов, как основного подхода к построению
консервативных разностных схем. Обсуждаются особенности исследования
аппроксимации, устойчивости и реализации вычислительных алгоритмов. Рассмотрены
схемы конечных объемов для решения уравнений газовой динамики и уравнений Навье-
Стокса движения несжимаемой жидкости, лежащие в основе современных программных
пакетов. Пособие разработано в рамках выполнения Программы развития НГУ как
национального исследовательского университета.
2
Содержание
Введение ......................................................................................................................................... 5
1. Уравнения математической физики .................................................................................... 7
1.1. Уравнения Навье-Стокса сжимаемого газа в 3D случае ................................................ 7
1.2. Уравнения Навье-Стокса несжимаемой жидкости в 3D случае .................................... 8
1.3. Уравнения мелкой воды..................................................................................................... 9
2. Основные понятия и подходы к исследованию разностных схем.................................. 10
2.1. Сетки и сеточные функции .............................................................................................. 10
2.2. Аппроксимация дифференциальных операторов.......................................................... 11
2.3. Аппроксимация дифференциальной задачи разностной схемой ................................. 12
2.3.1. Определения............................................................................................................... 12
2.3.2. Замечание о выборе базовой точки.......................................................................... 13
2.3.3. Пример исследования аппроксимации .................................................................... 13
2.3.4. Замечание о регулярности схемы ............................................................................ 15
2.4. Теорема о сходимости ...................................................................................................... 16
2.5. Исследование устойчивости ............................................................................................ 16
2.5.1. Понятие линейной разностной схемы ..................................................................... 17
2.5.2. Необходимый спектральный признак Неймана ..................................................... 17
2.6. Скалярная, векторная и матричная прогонка ................................................................ 19
2.7. Экономичность ................................................................................................................. 20
2.8. Метод установления ......................................................................................................... 22
3. Явные схемы ........................................................................................................................ 24
3.1. Определение и примеры .................................................................................................. 24
3.2. Схемы Рунге-Кутты.......................................................................................................... 26
3.3. Достоинства и недостатки явных схем........................................................................... 27
4. Консервативность ................................................................................................................ 28
4.1. Дивергентный вид системы уравнений .......................................................................... 28
4.2. Консервативные схемы .................................................................................................... 28
5. Противопотоковые схемы................................................................................................... 32
5.1. Схема для скалярного уравнения .................................................................................... 32
5.2. Схема для системы уравнений с постоянными коэффициентами ............................... 33
5.3. Схема для нелинейной гиперболической системы ....................................................... 35
5.4. Метод Годунова ................................................................................................................ 36
5.4.1. Задача о распаде произвольного разрыва ............................................................... 36
5.4.2. Схема Годунова ......................................................................................................... 38
5.4.3. Частный случай: схема Годунова для A=const ....................................................... 40
5.5. Схемы, основанные на приближенном решении задачи о распаде разрыва .............. 41
5.5.1. Простые схемы........................................................................................................... 41
5.5.2. Схема Роу ................................................................................................................... 42
6. Неявные схемы .................................................................................................................... 43
6.1. Схема с весами .................................................................................................................. 43
6.2. Метод линеаризации неявных схем ................................................................................ 44
6.3. Метод предиктор-корректор............................................................................................ 45
6.4. Неявные схемы в многомерном случае .......................................................................... 47
7. Экономичные неявные схемы для многомерных уравнений .......................................... 50
7.1. Метод расщепления Яненко (метод дробных шагов) ................................................... 50
7.2. Метод приближенной факторизации.............................................................................. 54
7.3. Метод предиктор-корректор............................................................................................ 58
7.4. Метод релаксаций Гаусса-Зейделя и его частный случай – приближенная LU-
факторизация ........................................................................................................................... 60
3
7.5. Сравнение методов ........................................................................................................... 62
8. Разностные методы решения одномерных уравнений газовой динамики..................... 63
8.1. Схемы с весами ................................................................................................................. 63
8.2. Схемы приближенной факторизации ............................................................................. 66
9. Метод конечных объемов ................................................................................................... 70
9.1. Интегральный закон сохранения .................................................................................... 70
9.2. Дискретизация интегрального закона сохранения ........................................................ 70
9.3. МКО для уравнения диффузии ....................................................................................... 72
9.4. Аппроксимация потоков через грани ячейки ................................................................ 72
9.4.1. Симметричная аппроксимация ................................................................................ 73
9.4.2. Противопотоковая аппроксимация 1-го порядка ................................................... 73
9.5. Связь метода конечных объемов и метода конечных разностей ................................. 74
9.6. Вычисление геометрических величин ............................................................................ 76
9.6.1. 2D случай.................................................................................................................... 76
9.6.2. 3D случай.................................................................................................................... 76
10. Схема конечных объемов для уравнений газовой динамики....................................... 78
11. Решение уравнений движения несжимаемой жидкости............................................... 82
11.1. Метод искусственной сжимаемости ............................................................................. 82
11.2. Схема конечных объемов .............................................................................................. 82
11.3. Распространение схемы на нестационарный случай .................................................. 84
Приложение.................................................................................................................................. 85
Матрица Якоби А для уравнений газовой динамики........................................................... 85
Матрица Якоби А для уравнений движения несжимаемой жидкости ............................... 85
Литература ................................................................................................................................... 86
4
Введение
5
универсальными и не затрагиваются в данном пособии. В пособии рассмотрены
универсальные методы и подходы, применимые для широкого круга задач
математической физики и легко распространяемые на многомерный случай.
При изложении теоретического материала авторы предполагали, что читатель
знаком с основами численных методов для уравнений в частных производных, см.,
например, [4, 5, 6]. При написании пособия авторы старались более детально рассмотреть
те вопросы, которые часто ускользают от внимания студентов. Это относится к понятиям
консервативности, экономичности алгоритмов, к методам исследования устойчивости
схем для многомерных уравнений и систем.
В первой части пособия дается краткое напоминание основных понятий
разностных схем. Обсуждаются способы исследования аппроксимации и устойчивости.
Излагаются современные подходы к построению явных и неявных схем. Анализируются
их достоинства и недостатки. Вводится понятие консервативности. Большое внимание
уделяется построению противопотоковых разностных схем. Изложение этих вопросов
ведется в предположении равномерной декартовой сетки. Анализ свойств разностных
алгоритмов проводится на модельных (как правило, линейных) уравнениях
гиперболического и параболического типа.
Далее обсуждаются особенности реализации неявных вычислительных алгоритмов
в многомерном случае. Рассмотрены основные подходы построения неявных методов:
метод расщепления, метод приближенной факторизации, метод Гаусса-Зейделя. Для всех
рассмотренных алгоритмов указываются пути исследования аппроксимации и
устойчивости. Отдельная проблема вычислительных методов – обобщение алгоритмов на
случай решения задач в областях сложной формы с криволинейными границами. Как
правило, расчет в таких областях осуществляется на криволинейных сетках,
согласованных с границами расчетной области. Распространение численных алгоритмов,
построенных для декартовой сетки, на такие задачи ведется либо переходом в
криволинейную систему координат, либо методом конечных объемов, описанным в главе
9. В настоящее время метод конечных объемов является основным подходом к
построению консервативных разностных схем на неравномерных, в том числе
неструктурированных, сетках.
В последней части пособия приводятся примеры эффективных разностных схем
для решения уравнений газовой динамики, уравнений Навье-Стокса вязкого
теплопроводного газа и несжимаемой жидкости. Некоторые из этих алгоритмов стали
классическими и легли в основу мощных коммерческих программных пакетов, таких как
ANSYS CFX, Fluent, Numeca FINE Turbo. Понимание сути этих подходов важно для
эффективного использования этих программных пакетов.
Авторы выражают благодарность С.Г. Черному за ценные замечания и полезные
обсуждения отдельных теоретических вопросов.
6
1. Уравнения математической физики
Уравнения математической физики выводятся из фундаментальных законов сохранения
массы, импульса, энергии, и т.д. Использование тех или иных упрощений, пренебрежение
несущественными физическими процессами порождает многообразие уравнений,
применимых для тех или иных задач. В дифференциальной форме уравнения
математической физики представляют собой многомерные нелинейные системы
уравнений в частных производных.
В общем случае будем обозначать их
Lu = f .
где u = (u1 ,… , um ) – искомая вектор-функция, определенная в расчетной области Ω , L –
дифференциальный оператор, f = f (u) – правая часть.
Ниже в качестве примера и рассмотрим уравнения Навье-Стокса, описывающие
движение вязкого теплопроводного газа, уравнения Навье-Стокса несжимаемой вязкой
жидкости и уравнения мелкой воды.
U = ρ u2 , F1 = ρ u1u2 − τ 12 , F2 = ρ u2 + p − τ 22 , F3 = ρ u2u3 − τ 23 .
2
2
ρ u3 ρ u1u3 − τ 13 ρ u2u3 − τ 23 ρ u3 + p − τ 33
e (e + p )u − q (e + p )u − q (e + p )u − q
1 1 2 2 3 3
3
Здесь ρ – плотность [кг/м ], u = (u1 , u2 , u3 ) – вектор скорости [м/с], p – давление [Па], e –
u2
полная энергия единицы объема [Дж/м3], равная e = ρε + ρ , где ε [Дж/кг] –
2
внутренняя энергия единицы массы. Уравнение состояния в случае идеального
политропного газа с показателем адиабаты γ = const имеет вид
p
ε= .
(γ − 1) ρ
Компоненты тензора вязких напряжений выражаются в виде линейной комбинации
производных от компонент вектора скорости:
∂u ∂u
τ ij = µ i + j + λδ ij divu , (1.2)
∂x
j ∂xi
2
где λ = µ ′ − µ , а µ и µ ′ – коэффициенты первый и второй вязкости, соответственно. В
3
уравнении сохранения энергии члены qi имеют вид
3
∂T
qi = ∑τ ij u j + k , (1.3)
j =1 ∂xi
7
где T – температура [К], k – коэффициент теплопроводности. В общем случае
µ = µ ( ρ , T ) , k = k (T ) .
Система (1.1) выражает закон сохранения массы (первое уравнение системы),
импульса (2-4 уравнения) и энергии (последнее уравнение системы).
В случае, если µ ≡ 0 и k ≡ 0 , т.е. вязкость и теплопроводность не учитываются, мы
получаем уравнения газовой динамики. Для случая N пространственных направлений
уравнения газовой динамики можно записать в виде
∂U N ∂Fi (U)
+∑ =0, (1.4)
∂t i =1 ∂xi
где
ρ ρ ui
ρ u1 ρ u1ui + δ1i p 1, если i = j ,
U = , Fi (U) = , δ ij =
0, если i ≠ j.
ρ uN ρ u N ui + δ Ni p
e (e + p )u
i
Уравнения газовой динамики являются гиперболической системой уравнений.
8
1.3. Уравнения мелкой воды
Рассмотрим движение жидкости со свободной поверхностью в водоеме. В общем случае
такое движение описывается трехмерной системой уравнений Навье-Стокса несжимаемой
жидкости (1.5). Однако, в ряде практически важных задач – например, в задаче о
разрушении плотины, в задаче о распространении волн цунами в океане – глубина
водоема hd много меньше его горизонтальных масштабов. В этом случае можно сделать
следующие предположения.
1. Горизонтальные компоненты скорости (u , v) не зависят от глубины.
2. В любой момент времени давление распределено по глубине гидростатически, т.е.
∂p ( x, y, z , t )
= − ρ 0 g , где g – ускорение свободного падения.
∂z
3. Давление на свободной поверхности постоянно.
4. Вязкостью потока можно пренебречь: µ ≡ 0 .
С учетом сделанных предположений система уравнений Навье-Стокса (1.5) упрощается. А
именно, уравнение неразрывности интегрируется по высоте, в результате чего
вертикальная скорость w (не равная нулю!) уходит из системы. В уравнениях сохранения
импульса переходят от давления p к высоте свободной поверхности η . В результате мы
получаем двумерную систему уравнений мелкой воды:
∂η ∂ (η + hd )u ∂ (η + hd )v
∂t + ∂x
+
∂y
= 0,
∂u ∂u ∂u ∂η
+u +v + g = 0, (1.6)
∂t ∂ x ∂y ∂x
∂v ∂v ∂v ∂η
+u +v + g = 0,
∂t ∂x ∂y ∂y
Неизвестные здесь η – возвышение свободной поверхности, (u , v) – горизонтальные
компоненты скорости. Глубина дна hd = hd ( x, y ) ≥ 0 предполагается известной функцией
горизонтальных координат x, y (рис. 1). Необходимо отметить, что в случае произвольной
функции hd ( x, y ) уравнения мелкой воды не приводятся к дивергентному виду (см. п. 4.1).
Уравнения мелкой воды имеют гиперболический тип.
9
2. Основные понятия и подходы к исследованию разностных
схем
В данном параграфе дается краткое напоминание основных понятий разностных схем.
Более детально эти вопросы изложены, например, в пособиях [4–6] и монографиях [7–8].
а б в
Рис. 2. Примеры сеток: a, б – структурированные декартова и криволинейная сетки;
10
в – неструктурированная сетка.
11
u j +1 − u j h h2
Λ+ Λ+u j = = (ux ) j + ( uxx ) j + ( uxxx ) j + O(h3 ) O ( h)
h 2 6
u j +1 − u j −1 h 2
Λu j = = ( u x ) j + ( u xxx ) j + O (h 4 )
Λ 2h 6 O(h2 )
3u j − 4u j −1 + u j − 2 h2
Λ 2− Λ 2 −u j = = (ux ) j − ( uxxx ) j + O(h3 ) O(h2 )
2h 3
−3u j + 4u j +1 − u j + 2 h2
Λ 2+ Λ 2+u j = = ( u x ) j − ( u xxx ) j + O (h3 ) O(h2 )
2h 3
2.3.1. Определения
Пусть для дифференциальной задачи
Lu = f (2.1)
построена разностная схема
Lh uh = f h . (2.2)
Определение. Разностная схема Lh uh = f h аппроксимирует дифференциальную задачу
Lu = f на произвольной гладкой функции v , если
12
на сетку. Далее разлагаем в ряд Тейлора все входящие в шаблон разностной схемы
значения относительно какого-нибудь точки (назовем эту точку базовой). Собираем
вместе все члены и получаем выражение для погрешности аппроксимации ψ h . Отметим
здесь лишь несколько нюансов, касающихся исследования аппроксимации.
В случае исследования аппроксимации на решении (а именно ее и достаточно
показать для обеспечения сходимости) можно использовать не только само уравнение
Lu = f , но и дифференциальные следствия из него.
13
Рис. 3. Шаблон схемы (2.3).
14
1 1 τ τ 2
( + j
Λ u n +1
− Λ − j )
u n
= ( + j − j) h + t j h =
Λ u n
− Λ u n
+ Λ (u ) n
+ O
h h
Λ11u nj
τ h τ 2
= (u xx ) nj + O(h 2 ) + (ut x ) nj + (ut xx )nj + O(h 2 ) + O =
h 2 h
τ τ 2 τ
= (u ) + (u ) + (u ) + O + h 2 ,
n
xx j
n
tx j
n
t xx j
h 2 h
что совпадает с (2.5). Окончательно, как и в случае первого подхода, получаем, что
τ
порядок аппроксимации схемы (2.3) на решении равен ψ = O τ 2 + + h 2 .
h
Заметим, что схема (2.3) является схемой с условной аппроксимацией. Если τ ∼ h ,
то погрешность аппроксимации ψ = O (1) , то есть схема (2.3) не аппроксимирует исходное
уравнение ut = u xx . Аппроксимация будет иметь место лишь в случае, когда τ h ,
например, τ ∼ h 2 .
( n
)
ψ = ( Lh (u )h − f h ) − ( ( Lu ) h − ( f ) h ) = τ ( ut ) j + O(τ 2 ) + τ a ( ux ) j + O(h) − ( ut + au x ) j .
n
n
15
В выражении для погрешности аппроксимации ничего не сокращается. Аппроксимации
нет.
16
оценки устойчивости разностных схем, полученные для системы линейных уравнений,
справедливы также для систем нелинейных уравнений в широком диапазоне изменения
параметров схемы. Именно этот подход будет использоваться в дальнейшем. Для
исследования устойчивости линейных разностных схем мы будем использовать
необходимый спектральный признак Неймана, (см. ниже, п.2.5.2).
17
ϕ = ω h . Очевидно, функция u nj = u0 λ n eijϕ по переменной ϕ имеет период 2π . После
подстановки (2.10) в разностную схему (2.9) получаем уравнение на λ , которое
называется характеристическим уравнением разностной схемы. Из этого уравнения
находим λ = λ (ϕ ,τ , h) . Для устойчивости схемы при заданных τ и h необходимо, чтобы
для любого ϕ ∈ [0, 2π ] выполнялось
| λ (ϕ ,τ , h) | ≤ 1 . (2.11)
Замечание 1. Чтобы решение оставалось ограниченным при t ∈ [0, T ] , достаточно
выполнения неравенства
| λ | ≤ 1 + Cτ , (2.12)
где C > 0 – некоторая константа, не зависящая от τ и h . Поэтому в ряде случаев, см.
например, [3,6,7], схему считают устойчивой, если выполнено неравенство (2.12). Однако,
часто схемы используются для решения задач методом установления. В этом случае
T → ∞ , и чтобы решение оставалось ограниченным, необходимо потребовать | λ |≤ 1 .
Поэтому в настоящем пособии мы будем считать разностную схему устойчивой, если
выполняется неравенство (2.11).
Замечание 2. В случае, если исходное уравнение и разностная схема нелинейны,
проверяется выполнение признака Неймана для линеаризованной схемы. Например, для
уравнения ut + f (u ) x = 0 построена схема
u nj +1 − u nj f (u nj ) − f (u nj −1 )
+ = 0.
τ h
Ее устойчивость проверяется в линейном случае f (u ) = a u , a = const .
Замечание 3. Если разностная схема построена для системы m дифференциальных
уравнений, то характеристическое уравнение схемы имеет вид:
det M (λ , ϕ ) = 0 ,
где M (λ , ϕ ) – матрица размера m × m . В этом случае для устойчивости условие (2.11)
должно выполняться для всех корней характеристического уравнения.
Замечание 4. В случае N пространственных направлений элементарная гармоника
имеет вид
u nj1 ,..., jN = u0 λ n ei ( j1ω1h1 +....+ jN ωN hN ) , (2.13)
j1 ,… , jN – индексы узла сетки, hk – шаг сетки по k-му пространственному направлению,
ωk – волновое число для k-го пространственного направления. Примеры исследования
устойчивости разностных схем для двумерных гиперболических и параболических
уравнений см. в п. 3.1, 6.4, 7.1, 7.2.
a + ib
При анализе устойчивости часто помогает следующее. Если λ = , где
c + id
a, b, c, d ∈ , то
a + ib a 2 + b 2
| λ |2 = = . (2.14)
c + id c 2 + d 2
Для большинства реальных задач (многомерный случай, система уравнений)
характеристическое уравнение на λ сложное. В этом случае исследование устойчивости
методом Неймана представляет отдельную задачу, решение которой может быть найдено
с помощь ЭВМ.
Спектральный признак Неймана – всего лишь необходимый признак устойчивости.
Его следует рассматривать как хороший способ отсеивания заведомо неустойчивых схем.
18
2.6. Скалярная, векторная и матричная прогонка
Как правило, нахождение решения разностных схем сводится к решению системы
линейных алгебраических уравнений
Ax = b (2.15)
Особенностью конечно-разностных методов является то, что матрица А в (2.15) сильно
разрежена, то есть в каждой ее строке имеется лишь несколько ненулевых элементов. Их
число и положение определяется шаблоном схемы на слое n+1. Для большого числа
используемых на практике разностных схем матрица А является блочно-
трехдиагональной, то есть имеет вид
B1 C1
A 2 B 2 C2
A3 B 3 C3
A= ⋅ ⋅ ⋅
⋅ ⋅ ⋅
A M −1 B M −1 CM −1
AM B M
где A i , Bi , Ci – матрицы размера m × m . Как правило, размерность M блочно-
трехдиагональной матрицы равна числу узлов в одном из пространственных направлений.
Рассмотрим подходы к решению таких систем уравнений. Итак, пусть имеется
система линейных алгебраических уравнений с блочно-трехдиагональной матрицей
B1X1 + C1X2 = F1
........
Ai Xi −1 + B i Xi + Ci Xi +1 = Fi i = 2,...., M − 1
........
A M X M −1 + B M X M = FM
где A i , Bi , Ci – матрицы размера m × m , Xi , Fi – векторы размера m. Ее решение может
быть найдено с использованием алгоритма прогонки.
Прямой ход
α1 = −B1−1C1
β1 = B1−1F1
Цикл i = 2, M
α i = −(Bi + Aiα i −1 ) −1 Ci
β i = (B i + Aiα i −1 ) −1 (Fi − Ai β i −1 )
конец цикла
Обратный ход
XM = β M ,
Цикл i = M −1, 1
Xi = α i Xi +1 + β i
конец цикла
где α i – матрицы размера m × m , β i – векторы размера m. Как видно, на этапе прямого
хода прогонки требуется M обращений матрицы размера m × m .
19
Скалярная прогонка. Назовем прогонку скалярной, если размер блока
трехдиагональной матрицы m=1. Скалярная прогонка требует всего 8M арифметических
операций, т.е. пропорционально размерности матрицы.
Векторная прогонка. Если m >1, но не зависит от шагов τ и h, например, m равно
числу уравнений в исходной дифференциальной системе, то прогонка – векторная. Число
арифметических операций для векторной прогонки также O( M ) .
Матричная прогонка. Если размер блока m имеет порядок числа узлов по какому-
либо пространственному направлению (можно считать, что m ~ M ), то прогонку с такой
матрицей назовем матричной. Число арифметических операций в методе матричной
прогонки составляет порядка O(m3 M ) = O( M 4 ) . Пример разностной схемы, реализуемой
матричной прогонкой, см. в п. 2.7.
2.7. Экономичность
Существует два подхода к определению понятия экономичности схемы. Пусть N – число
пространственных направлений в задаче, M k – число узлов конечно-разностной сетки по
k-му пространственному направлению.
Подход 1. Разностная схема называется экономичной, если общее число
арифметических операций при переходе с временного слоя n на слой n+1 прямо
пропорционально числу узлов сетки по пространству, то есть
Q1 ∼ M 1 ⋅ M 2 ⋅… ⋅ M N .
В рамках этого определения все явные схемы – заведомо экономичные для любого числа
пространственных направлений N.
Известно, что решение СЛАУ
Ax = b
с трехдиагональной матрицей А размера n × n методом прогонки требует 8n операций.
Поэтому, если реализацию схемы, т.е. нахождение ее решения, удается свести к
скалярным или векторным прогонкам, то она экономична. Поэтому в 1D случае даже для
неявных схем проблем с экономичностью не возникает. Проблемы начинаются, если мы
рассматриваем многомерную неявную схему.
В качестве примера рассмотрим полностью неявную схему для двумерного
уравнения теплопроводности ut = u xx + u yy .
u njk+1 − u njk u nj ++1,1 k − 2u njk+1 + u nj −+1,1 k u nj ,+k1+1 − 2u njk+1 + u nj ,+k1−1
= + j = 2,..., J −1; k = 2,..., K −1. (2.16)
τ h12 h22
Пусть для определенности на границах заданы условия Дирихле, то есть значения при j=1,
j=J, k=1, k=K – известны. Тогда
u1,n k+1 = ϕ1 (t n +1 , yk ), k = 1,..., K
n +1 n +1
u J , k = ϕ 2 (t , yk ), k = 1,..., K
n +1 n +1
(2.17)
u j ,1 = ψ 1 (t , x j ), j = 1,..., J
n +1 n +1
u j , K = ψ 2 (t , x j ), j = 1,..., J
Схема (2.16) имеет шаблон, показанный на рис. 4. Видно, что на слое n+1 «завязаны»
значения в 5 узлах сетки. Как найти решение u n +1 схемы (2.16) с граничными условиями
(2.17)?
20
Рис. 4. Шаблон неявной схемы для уравнения Рис. 5. Порядок нумерации неизвестных
теплопроводности. значений на слое n+1.
Здесь существует несколько подходов. Для начала заметим, что совокупность всех
уравнений (2.16) и (2.17) представляет собой систему линейных алгебраических
уравнений. Чтобы конкретизировать вид системы, нужно ввести какой-нибудь способ
нумерации (линейного упорядочивания) всех неизвестных на слое n+1. Например, можно
перенумеровать неизвестные как на рис. 5. Такая нумерация соответствует замене
v j + J ⋅( k −1) = u nj ,+k1
В этом случае каждое уравнение системы будет иметь вид
am vm − J + bm vm −1 + cm vm + d m vm +1 + em vm + J = f m ,
где
τ τ 2τ 2τ
am ≡ a = − 2 , bm ≡ b = − 2 , cm ≡ c = 1 + 2 + 2 , d m ≡ d = b, em ≡ e = a, f m = u nj ,k
h2 h1 h1 h2
Таким образом, СЛАУ будет иметь вид
Av = f , (2.18)
где v = (v1 ,..., vM ) , M = J ⋅ K , матрица А является 5-диагональной матрицей, структура
T
21
Итак, нахождение u n +1 эквивалентно решению СЛАУ (2.18) с сильно разреженной
матрицей А. Решение системы (2.18) может быть найдено либо прямым, либо
итерационным методом. Заметим, что пятиточечная скалярная прогонка не подходит, так
как для ее применения необходимо, чтобы две верхних и две нижних диагонали лежали по
соседству с главной, а не отстояли от нее. Одним из возможных методов решения данной
задачи будет метод матричной прогонки. Действительно, матрицу А можно рассматривать
как блочно-трехдиагональную, составленную из K × K блоков, размер каждого из которых
J × J (см. рис. 6). В этом случае число арифметических операций для нахождения
решения будет равно
Q1 = O( J 3 K ) ∼ O( M 2 ) .
Число арифметических операций растет как квадрат числа узлов по пространству.
Поэтому неявная схема (2.16), реализуемая матричной прогонкой, не является
экономичной.
Для решения системы (2.18) могут быть применены другие прямые и
итерационные методы, см. например [11], однако число операций для нахождения
решения в этих методах все равно оказывается порядка O( M 2 ) .
22
где Λ11 , Λ 22 – центральные разности, аппроксимирующие ∂ / ∂x 2 и ∂ / ∂y 2 ,
соответственно. Нахождение решения u jk разностной схемы (2.19) эквивалентно
нахождению решения на слое n+1 неявной схемы (2.16). Как показано в п. 2.7, это требует
решения СЛАУ большой размерности, которое достигается примерно за O( M 2 )
арифметических операций, где M – число узлов сетки по пространству.
В ряде случаев решение схемы (2.19) проще отыскивать как предельное решение
«нестационарной» разностной схемы, аппроксимирующей уравнение
ut = (u xx + u yy ) − f ( x, y ) , например, такой
u njk+1 − u njk
= ( Λ11 + Λ 22 ) u njk − f jk . (2.20)
τ
Таким образом мы получаем итерационный процесс нахождения решения схемы (2.19).
Необходимо отметить, что схема (2.20) далеко не самая эффективная для этих целей.
К преимуществам метода установления перед другими итерационными методами
решения СЛАУ нужно отнести отсутствие необходимости хранить всю СЛАУ A в
памяти ЭВМ.
Определение. Разностная схема обладает свойством полной аппроксимации, если
ее предельное решение (т.е. решение при n → ∞ ) не зависит от шага τ .
Очевидно, в методе установления желательно использовать схемы, обладающие
свойством полной аппроксимации.
23
3. Явные схемы
3.1. Определение и примеры
В общем случае двухслойную разностную схему можно записать в виде
Ch u n +1 = Bh u n (3.1)
где Ch и Bh – некоторые разностные операторы с конечным шаблоном. Обычно явные
схемы определяют как схемы, которые можно представить в виде (3.1), где Ch = I , I –
тождественный оператор. В противном случае схему считают неявной. Дадим более
строгое определение явных схем.
Определение. Двухслойная разностная схема называется явной, если её можно
представить в виде
u nj +1 = L0hu nj ≡ F (u nj −l ,..., u nj −1 , u nj , u nj +1 ,..., u nj + m ) , где l , m ≥ 0 .
Таким образом, значение u в любом узле j на слое n+1 может быть найдено независимо от
других узлов.
Явные схемы просты в реализации, однако, как мы увидим далее, являются
условно устойчивыми, то есть допустимый шаг по времени τ ограничен сверху
величиной порядка O(h) или даже O(h 2 ) . Поэтому долгое время (в эпоху
однопроцессорных ЭВМ) использование явных схем не было широко распространенно.
В последнее время благодаря развитию многопроцессорных ЭВМ (вычислитель-
ных кластеров) явные схемы приобретают популярность. Расчет значений на слое u n +1
ведется параллельно на нескольких вычислительных процессорах (ядрах). Для этого
расчетная область (сетка) разбивается на подобласти. Расчет в каждой подобласти ведется
на своем процессоре, на границах подобластей производится обмен параметрами.
Исследуем аппроксимацию и устойчивость типичных явных схем для
гиперболических и параболических уравнений. Рассмотрим явную схему для модельного
гиперболического уравнения переноса
ut + au x = 0 ,
u nj +1 − u nj u nj − u nj −1
+a
= 0, (3.2)
τ h
порядок аппроксимации которой O(τ + h) . Исследуем устойчивость методом Неймана.
Ищем решение разностной схемы в виде u nj = u0 λ n eijω h . Обозначим для удобства ϕ = ω h .
λ − 1 1 − cos ϕ + i sin ϕ
+a = 0,
τ h
τa τa
λ = 1 − (1 − cos ϕ ) − i sin ϕ
h h
Обозначим r = τ a / h .
| λ |2 = 1 − 2r (1 − cos ϕ ) + r 2 (1 − cos ϕ ) 2 + r 2 sin 2 ϕ = 1 − 2r (1 − cos ϕ ) + 2r 2 (1 − cos ϕ )
Условие | λ |2 ≤ 1 выполняется тогда и только тогда, когда
−1 ≤ − r (1 − r )(1 − cos ϕ ) ≤ 0 ,
0 ≤ r (1 − r )(1 − cos ϕ ) ≤ 1 . (3.3)
Необходимо рассмотреть несколько случаев.
1) Пусть r < 0 . Тогда, очевидно, левая часть неравенства (3.3) заведомо не
выполнена. Следовательно, при a < 0 схема (3.2) неустойчива.
2) Пусть 0 ≤ r ≤ 1 , тогда левая часть неравенства (3.3) заведомо выполнено. Легко
показать, что в этом случае для всех ϕ выполняется и правая часть.
24
3) Пусть r > 1 . Тогда 1 − r < 0 , следовательно, левая часть неравенства (3.3)
заведомо не выполнена.
Окончательно получаем, что схема с направленной разностью (3.2) неустойчива при a < 0
и условно устойчива при a ≥ 0 , причем условие устойчивости имеет вид:
τa
≤ 1.
h
τa
Отношение называется числом Куранта (в зарубежной литературе обозначается CFL
h
(Курант – Фридрихс – Леви)).
Для получения устойчивой схемы в случае a < 0 в схеме (3.2) достаточно разность
назад заменить на разность вперед:
u nj +1 − u nj u nj +1 − u nj
+a = 0.
τ h
Наконец, рассмотрим для уравнения переноса схему с центральной разностью
u nj +1 − u nj u nj +1 − u nj −1
+a = 0. (3.4)
τ 2h
Порядок ее аппроксимации O(τ + h 2 ) . Характеристическое уравнение имеет вид
λ −1 i sin ϕ
+a = 0,
τ h
2
τa
откуда | λ | = 1 + sin 2ϕ > 1 . Таким образом, схема (3.4) абсолютно неустойчива.
2
h
25
Очевидно, правое неравенство заведомо выполняется для любых τ > 0 , h > 0 , ϕ , θ . Левое
приобретает вид
2τν (1 − cos ϕ ) 2τν (1 − cos θ )
+ ≤ 2.
h12 h22
Условие устойчивости обычно записывается в виде ограничения на шаг по времени τ .
1
τ≤
(1 − cos ϕ ) (1 − cos θ )
ν +
h12 h22
Согласно определению, для устойчивости необходимо, чтобы | λ (ϕ , θ ) |≤ 1 для всех ϕ и θ .
Поэтому мы обязаны найти самые «плохие» ϕ и θ , дающие минимум правой части.
Очевидно, минимум достигается при ϕ = θ = π . Окончательно получаем следующее
условие устойчивости
1 h2 1
τ≤ = 1 .
2ν 2ν 2ν h
2
+ 1+ 1
h12 h22
h2
Мы видим, что явная схема (3.5) для параболического уравнения имеет очень жесткое
Ch 2
условие устойчивости: τ ≤ . Поэтому на практике явные схемы для параболических
ν
уравнений, как правило, не применяются. А если и применяются, то только в случае
малых ν , см. [12]. По этой же причине практически не применяется явная аппроксимация
вторых производных в уравнениях конвекции-диффузии.
26
Для классического четырехстадийного метода Рунге-Кутты коэффициенты
следующие: a21 = a32 = 1/ 2 , a31 = a41 = a42 = 0 , a43 = 1 , b1 = b4 = 1/ 6 , b2 = b3 = 1/ 3 . Схема
имеет порядок по времени O(τ 4 ) . Условие устойчивости схемы для модельного
уравнения ut + au x = 0 , где производная ∂ / ∂x аппроксимируется центральной разностью,
следующее (см. [13])
τa
≤2 2 .
h
Таким образом, применение метода Рунге-Кутты для перехода со слоя n на слой n+1
позволяют повысить порядок аппроксимации по времени, ослабить ограничение сверху на
шаг по времени, а при решении задачи методом установления – увеличить скорость
сходимости к стационарному решению. Построению и исследованию схем Рунге-Кутты
высоких порядков посвящены работы [12], [14].
27
4. Консервативность
4.1. Дивергентный вид системы уравнений
Определение. Говорят, что система уравнений может быть записана в дивергентном виде,
если её можно представить в виде
Div(F (u )) = g (u ) , (4.1)
где F (u ) = ( f 0 (u ), f1 (u ),..., f N (u )) , а оператор дивергенции есть
T
∂f 0 N ∂f i
Div(F ) = +∑ ,
∂t i =1 ∂xi
Законы сохранения массы, импульса, энергии представимы в дивергентном виде. Если
существует запись дифференциальных уравнений в дивергентной форме, то можно
получить и различные недивергентные формы записи. Например, распишем входящие в
(4.1) производные как производные сложной функции:
∂f i ∂f i (u ) ∂u ∂u ∂f
= ⋅ = ai (u ) , где ai (u ) = i , i = 0, 1, ..., N .
∂xi ∂u ∂xi ∂xi ∂u
В результате получим
∂u ∂u ∂u
a0 (u ) + a1 (u ) + ... + aN (u ) = g (u ) ,
∂t ∂x ∂x
Необходимо отметить, что не все уравнения математической физики
представляются в дивергентном виде. Например, система уравнений мелкой воды (1.6)
для случая произвольной формы дна hd ( x, y ) не представляется в виде (4.1).
Если система может быть записана в дивергентном виде, значит, для нее
существует более общий интегральный закон сохранения
d
dt V∫
udV + ∫ f (u ) ⋅ ndS = ∫ g (u )dV , (4.2)
∂V V
4.2.Консервативные схемы
При построении разностной схемы для уравнений и систем, допускающих представление
в дивергентном виде, хочется, чтобы схема могла находить и разрывные решения, по
крайней мере, корректно предсказывать положение разрывов и параметры решения по обе
стороны от разрыва. Оказывается, для этого необходимо, чтобы схема обладала, помимо
аппроксимации, дополнительным свойством – консервативностью.
Строгое определение консервативных схем дать затруднительно. А. А. Самарский
[8] определят консервативные схемы как схемы, для которых из выполнения дискретного
аналога закона сохранения для элементарного объема следует выполнение этого аналога
для всей расчетной области, составленной из элементарных объемов.
28
Дадим более строгое определение на примере одномерного скалярного уравнения.
Распространение его на случай многомерной системы очевидно.
Определение. Схему для уравнения
∂u ∂f
+ = 0, (4.3)
∂t ∂x
назовем консервативной, если её удается представить в виде
u nj +1 − u nj f j +1/ 2 − f j −1/ 2
+ =0, (4.4)
τ h
где
f j −1/ 2 = F (u j −l , u j −l +1 ,..., u j , u j +1 ,..., u j + m ),
(4.5)
f j +1/ 2 = F (u j −l +1 , u j −l + 2 ,..., u j , u j +1 ,..., u j + m +1 ).
Таким образом, расчет величины f j +1/ 2 ведётся по той же формуле, что и f j −1/ 2 , но на
сдвинутом шаблоне. Величины f j +1/ 2 , f j −1/ 2 называются численными потоками,
аппроксимирующими физические потоки f (u ) . Покажем в чем достоинство вида (4.4) и
как он связан с определением консервативности по А.А. Самарскому. Выражение (4.4)
можно рассматривать как аппроксимацию интегрального закона сохранения
1 d
∫ udV + f (u ( x j +1/ 2 , t n )) − f (u ( x j −1/ 2 , t n )) = 0 , (4.6)
V j dt V j
для контрольного объема V j = x j +1/ 2 − x j −1/ 2 = h , заключенного между точками x j −1/ 2 и
x j +1/ 2 . Действительно, величины u nj в разностной схеме (4.4) можно рассматривать как
усредненное значение функции u ( x, t n ) по объему Vj:
x j +1/ 2
1 1
u = ∫ udV =
( x j +1/ 2 − x j −1/ 2 ) x j−∫1/ 2
n
j u ( x, t n ) dx . (4.7)
Vj Vj
Агрегаты f j +1/ 2 и f j −1/ 2 можно рассматривать как аппроксимацию потоков f (u ( x j +1/ 2 , t n )) и
f (u ( x j −1/ 2 , t n )) , соответственно. При этом порядок аппроксимации зависит от вида
функции F в (4.5). Например, если взять
f (u nj −1 ) + f (u nj ) f (u nj ) + f (u nj +1 )
f j −1/ 2 = F (u j −1 , u j ) = , f j +1/ 2 = F (u j , u j +1 ) = ,
2 2
то, очевидно, схема (4.7) будет аппроксимировать интегральный закон сохранения (4.6) с
порядком O(τ + h 2 ) .
Теперь рассмотрим расширенный контрольный объем V, составленный из
j2 j2
нескольких элементарных объемов: V = ∑ V j = ∑ ( x j +1/ 2 − x j −1/ 2 ) = x j2 +1/ 2 −x j1 −1/ 2 .
j = j1 j = j1
29
1d
∫ udV + f (u ( x j2 +1/ 2 , t )) − f (u ( x j1 −1/ 2 , t )) = 0 .
n n
h dt V
Таким образом, из аппроксимации закона сохранения для элементарного объема следует
аппроксимация закона сохранения для любого объема V, составленного из элементарных
объемов, то есть, выполнено определение консервативности по А. А. Самарскому.
Проверить, является ли схема, записанная в виде, отличном от (4.4),
консервативной, достаточно легко. Действительно, если схема консервативна, то при
сложении разностных уравнений для нескольких соседних ячеек сетки потоки через
внутренние грани должны взаимно уничтожиться. Если такого не происходит, то схема
неконсервативна.
Понятие консервативной схемы и введенное определение консервативности тесно
связаны с методом конечных объемов, рассмотренном ниже в п. 9.
30
При сложении разностных уравнений потоки f (u nj0 ) и f (u nj0 +1 ) не сократятся. В п. 5.3 мы
покажем, как можно модифицировать схему (4.11) так, чтобы она стала консервативной.
Рис. 7 иллюстрирует поведение неконсервативных и консервативных схем 1-го
порядка аппроксимации по пространству при расчете двух модельных задач, имеющих
разрывные решения. Видно, что в неконсервативной схеме (а, б) положение ударной
волны предсказывается с ошибкой. Параметры газа за ударной волной также
определяются с погрешностью. Консервативная схема (в, г) точнее предсказывает и
положение разрыва, и параметры потока за ним.
a б
в г
Рис. 7. Распределение плотности в задаче о распаде разрыва (а, в) и задаче о течении газа в
сопле Лаваля (б, г). Расчет по неконсервативной схеме (а, б) и по консервативной схеме
(в, г). Сплошная линия – точное решение, символы – численное.
31
5. Противопотоковые схемы
В задачах газовой динамики, динамики несжимаемой жидкости при больших числах
Рейнольдса и т. д. преобладают конвективные процессы. То есть изменение параметров
среды в выбранной точке потока происходит в основном за счет переноса массы,
импульса, энергии, а не за счет диссипации этих величин.
Центрально-разностная аппроксимация конвективных членов, т.е. первых
производных по пространственной координате,
∂u u j +1 − u j −1
= + O(h 2 )
j
∂ x 2 h
дает второй порядок аппроксимации на компактном трехточечном шаблоне. Однако, как
мы видели на примере скалярного уравнения переноса, в явном случае центрально-
разностная схема
u nj +1 − u nj u nj +1 − u nj −1
+a =0
τ 2h
абсолютно неустойчива (см. п. 3.1). Как будет показано в п. 6.1, переход к неявной схеме
u nj +1 − u nj u nj ++11 − u nj −+11
+a =0, (5.1)
τ 2h
делает схему абсолютно устойчивой по спектральному признаку. Однако для схемы (5.1)
возникает дополнительное условие – условие хорошей обусловленности прогонки. Это
условие ограничивает допустимый шаг по времени, причем оценка получается как в
явных схемах: τ < Ch . Кроме этого, схема (5.1) не является монотонной, что приводит к
образованию осцилляций в областях больших градиентов в решении.
Поэтому для аппроксимации конвективных членов большое развитие получили
схемы с разностями, направленными против потока, то есть противопотоковые схемы.
Ниже мы изложим идею построения противопотоковых схем, постепенно переходя от
простейшего уравнения переноса к системе нелинейных гиперболических уравнений.
32
u nj +1 − u nj u j +1 − u j
∂u
+ aΛ + u nj = 0 , где Λ + u j = = + O ( h) .
τ h ∂x j
Правило выбора направления разностного дифференцирования (назад или вперед) можно
интерпретировать следующим образом. Исходное уравнение (5.2) имеет характеристики –
dx
линии на плоскости ( x, t ) , заданные уравнением = a . Вдоль характеристик решение
dt
du
сохраняется, т.е. = 0 . Знак a определяет направление потока. При a > 0 информация о
dt
решении в точку ( x j , t n +1 ) со слоя n приходит слева, а при a < 0 – справа (рис. 8).
Устойчивая схема получается лишь в том случае, когда конечная разность,
∂u
аппроксимирующая , направлена в ту сторону, откуда характеристика, т.е.
∂x
информация, приходит в точку ( x j , t n +1 ) .
a б
Рис. 8. Характеристики и шаблоны схем с направленными разностями.
a) a > 0 , б) a < 0 .
Универсальная противопотоковая схема для случая произвольного a = const может
быть записана следующим образом
u nj +1 − u nj
+ a + Λ −u nj + a − Λ + u nj = 0 , (5.4)
τ
1 1
где введены обозначения a + = max(0, a ) = (a + | a |) =, a − = min(0, a ) = (a − | a |) .
2 2
33
где D = diag (λ1 ,...., λm ) , R = L−1 . Столбцы матрицы R являются правыми собственными
векторами матрицы A , строки матрицы L являются левыми собственными векторами
матрицы A . С учетом разложения матрицы A , исходная система (5.5) может быть
переписана в виде
∂U ∂U
+ L−1DL =0.
∂t ∂x
Умножим систему слева на матрицу L , и, пользуясь тем, что L = const , внесем ее под
знак дифференцирования. Обозначим W = LU = ( w1 ,...., wm )T . Тогда
∂W ∂W
+D = 0.
∂t ∂x
Переменные W , в которых система имеет диагональный вид, называются
характеристическими переменными. Очевидно, полученная система представляет собой
совокупность m независящих друг от друга уравнений
∂wi ∂w
+ λi i = 0 , i = 1,...., m .
∂t ∂x
Каждое из уравнений аппроксимируем противопротоковой схемой (5.4)
( wi ) nj +1 − ( wi ) nj
+ λi+ Λ − ( wi ) nj + λi− Λ + ( wi ) nj = 0
τ
где λ = max(0, λi ) , λi− = min(0, λi ) . Очевидно, λi± = (λi ± | λi |) / 2 . В векторном виде будем
i
+
иметь
W jn +1 − W jn
+ D+ Λ − W jn + D− Λ + W jn = 0 ,
τ
где D = diag (λ1± ,...., λm± ) = (D± | D |) / 2 , | D |= diag (| λ1 |,....,| λm |) , D+ + D− = D . Матрица D+
±
34
µ −1 (1 − cos ϕ ) + i sin ϕ (cos ϕ − 1) + i sin ϕ
det I + A+ + A− = 0,
τ h h
µ −1 (1 − cos ϕ ) + i sin ϕ (cos ϕ − 1) + i sin ϕ
det RL + RD+ L + RD− L =0,
τ h h
µ −1 (1 − cos ϕ ) + i sin ϕ (cos ϕ − 1) + i sin ϕ
det I + D+ + D− =0,
τ h h
m
τ τ
∏ µ − 1 + λk+ ( (1 − cos ϕ ) + i sin ϕ ) + λk− ( (cos ϕ − 1) + i sin ϕ ) = 0 .
k =1 h h
Откуда получаем
τ τ
µk = 1 − λk+ ( (1 − cos ϕ ) + i sin ϕ ) − λk− ( (cos ϕ − 1) + i sin ϕ ) .
h h
Так как для любого k , либо λk = 0 , либо λk− = 0 . В случае { λk+ ≥ 0 , λk− = 0 } получаем
+
τ
µk = 1 − λk+ ( (1 − cos ϕ ) + i sin ϕ ) ,
h
Это уравнение полностью совпадает с характеристическим уравнением рассмотренной
выше схемы (3.2) для скалярного уравнения переноса (см. п. 3.1). Используя решение из
п. 3.1, сразу получаем: | µ k |≤ 1 , тогда и только тогда, когда
τλk+ h
≤ 1, или τ ≤
h λk+
Аналогичное рассмотрение второго случая { λk+ = 0 , λk− < 0 } дает:
h
| µ k |≤ 1 ⇔ τ ≤ − .
| λk |
Окончательно получаем условие устойчивости всей схемы:
h
τ≤ .
max | λk |
k =1,..., m
35
Локально «заморозим» матрицу A(U) . То есть, будем считать, что в некоторой
окрестности узла (n,j) A(U) =const. Тогда формальное применение схемы (5.6) дает
следующую противопотоковую схему, аппроксимирующую (5.8) с порядком O(τ + h) :
U nj +1 − U nj
+ A +j Λ − U nj + A −j Λ + U nj = 0 , (5.9)
τ
где
1
A +j = R j ⋅ D+j ⋅ L j , A −j = R j ⋅ D−j ⋅ L j , D±j =
(D j ± | D j |) .
2
Матрицы R j , L j , D j вычисляются через значение вектора U nj .
Существенный недостаток построенной схемы – она не является консервативной.
Действительно, при суммировании разностных соотношений (5.9) по j никакие слагаемые
не сократятся, т.к., вообще говоря, A j ≠ A j +1 .
Консервативную противопотоковую схему для системы (5.8) можно получить, если
в (5.7) вычислять матрицы A + и A − в полуцелых узлах:
U nj +1 − U nj F j +1/ 2 − F j −1/ 2
+ =0, (5.10)
τ h
где
Fj +1/ 2 = A +j +1/ 2 U nj + A −j +1/ 2 U nj +1 ,
Fj −1/ 2 = A +j −1/ 2 U nj −1 + A −j −1/ 2 U nj ,
(5.11)
1
A ±j +1/ 2 = R j +1/ 2 ⋅ D±j +1/ 2⋅ L j +1/ 2 , D±j +1/ 2 = (D j +1/ 2 ± | D j +1/ 2 |) .
2
Матрицы R j +1/ 2 , L j +1/ 2 , D j +1/ 2 вычисляются через значение вектора U nj +1/ 2 = (U nj + U nj +1 ) / 2 .
Аналогично с использованием U nj −1 и U nj вычисляются матрицы A ±j −1/ 2 .
36
ξ = x / t , точное решение задачи о распаде разрыва с состояниями U L и U R . Для многих
уравнений математической физики решение задачи о распаде произвольного разрыва
может быть найдено аналитически.
Для уравнений газовой динамики решение задачи о распаде разрыва дано в [9]. В
общем случае оно представляет собой совокупность волн разрежения, ударных волн и
контактного разрыва, выходящих с конечной скоростью из точки ( x = 0, t = 0) . Одна из 10
возможных конфигураций решения показана на рис. 9.
37
w , если x − λi t < 0,
wi ( x, t ) = iL
wiR , если x − λi t ≥ 0.
Введем в рассмотрение диагональные матрицы I + и I − , определенные следующим
образом
I + ( x, t ) = diag (δ1+ , . . . , δ m+ ) , I − ( x, t ) = diag (δ1− , . . . , δ m− ) ,
где
1, если x − λit < 0, 0, если x − λi t < 0,
δ i+ ( x, t ) = δ i− ( x, t ) =
0, если x − λi t ≥ 0, 1, если x − λi t ≥ 0.
Очевидно, δ i+ ( x, t ) + δ i− ( x, t ) ≡ 1 , и, следовательно, I + ( x, t ) + I − ( x, t ) ≡ I – единичная матрица.
Тогда решение в терминах инвариантов Римана будет иметь вид
w10 ( x − λ1t )
+ −
W ( x, t ) = = I ( x, t ) WL + I ( x, t ) WR .
w0 ( x − λ t )
m m
38
x
1
j
x − x j −1/ 2 n n
h x j −∫1/ 2
U nj +1 = ω RP n +1 n
, U j −1 , U j dx +
t − t
x j +1/ 2
(5.15)
1 x−x
+
h ∫
xj
ωRP n +1 j +1/n2 , U nj , U nj +1 dx
t −t
Здесь предполагается, что следующий слой по времени n+1 настолько близок к t n , что
волны, выходящие из соседних полуцелых узлов не успевают провзаимодействовать друг
( x, t ) – точное решение системы
с другом. Формулу (5.15) можно записать короче. Пусть U
задач о распаде разрыва на момент времени t ≥ t n . Тогда выражение (5.15) приобретает
вид
x j +1/ 2
1 ( x, t n +1 ) dx .
∫
n +1
U j = U (5.16)
h x j−1/ 2
Таким образом, мы формально получаем некоторый алгоритм, который позволяет по
известным значениям сеточной функции на временном слое t n найти значения на новом
слое t n +1 .
Покажем, что без вычисления интеграла, стоящего в правой части (5.16), можно обойтись.
( x, t ) – точное решение системы (5.14) с кусочно-постоянными
Действительно, так как U
начальными данными, то для него выполняется интегральный закон сохранения
∂F (U
∂U )
∫∫G ∂t ∂x dxdt = 0 ,
+
39
где G – произвольная область на плоскости (x,t). По теореме Остроградского-Гаусса,
интеграл по области G равен интегралу по границе области ∂G , откуда получаем
∫ (U dx + (−F)dt ) =0 .
∂G
Возьмем в качестве области G прямоугольник ABCD (см. рис. 11). Тогда
D C B A
Можно показать, что схема Годунова имеет порядок аппроксимации O(τ + h) . Условие
устойчивости в данном случае совпадает с условием «невзаимодействия» двух соседних
задач о распаде разрыва:
h
τ≤ ,
2 max | λk |
k
40
Fj −1/ 2 = F(ωRP (0, U nj −1 , U nj )) = AωRP (0, U nj −1 , U nj ) =
= R D R −1 ( R I + (0, t )R −1U nj −1 + R I − (0, t )R −1U nj ) =
= R D I + (0, t )R −1U nj −1 + R D I − (0, t )R −1U nj .
Заметим, что D I + (0, t ) = D+ , D I − (0, t ) = D− , где D+ = diag (λ1+ ,...., λm+ ) , D+ = diag (λ1− ,...., λm− )
– матрицы, определенные в п. 5.2. Тогда численный поток Fj −1/ 2 в схеме Годунова равен
Fj −1/ 2 = R D+ R −1U nj −1 + R D− R −1U nj = A + U nj −1 + A − U nj .
Аналогично,
Fj +1/ 2 = A + U nj + A − U nj +1.
Легко видеть, что полученные численные потоки, найденные с помощью метода
Годунова, в случае A = const дают разностную схему, в точности совпадающую с ранее
построенной схемой (5.7). Таким образом, метод Годунова, основанный на идее решения
задачи о распаде разрыва на гранях контрольного объема, можно рассматривать как
универсальный способ построения противопотоквых схем.
∂U ˆ ∂U
+ A j +1/ 2 = 0,
∂t ∂x
а на грани j − 1 / 2 – система
∂U ˆ ∂U
+ A j −1/ 2 =0
∂t ∂x
Применение подхода Годунова дает консервативную разностную схему
U nj +1 − U nj F j +1/ 2 − F j −1/ 2
+ =0,
τ h
с численными потоками
Fj +1/ 2 = A +j +1/ 2 U nj + A −j +1/ 2 U nj +1 ,
Fj −1/ 2 = A +j −1/ 2 U nj −1 + A −j −1/ 2 U nj ,
1
A ±j +1/ 2 = R j +1/ 2 D±j +1/ 2 L j +1/ 2 , D±j +1/ 2 = (D j +1/ 2 ± | D j +1/ 2 |) ,
2
ˆ
A +j +1/ 2 + A −j +1/ 2 = A j +1/ 2 .
ˆ
Существует большой произвол в выборе матрицы A j+1/ 2 . Например, можно положить
1 U j + U j +1
ˆ
A j +1/ 2 =
2
( A(U j ) + A(U j +1 ) ) или A
ˆ
j +1/ 2 = A
2
. В последнем случае полученная
схема совпадает со схемой (5.10)-(5.11).
41
5.5.2. Схема Роу
В задачах аэродинамики наибольшее распространение получила схема Роу [15], в которой
матрица A ˆ ˆ
j +1/ 2 = A ( U j , U j +1 ) на грани j + 1/ 2 конструируется специальным образом. А
42
6. Неявные схемы
Как мы увидели, единственным недостатком явных схем является их условная
устойчивость, то есть невозможность проводить расчет с произвольным шагом по
времени τ . Для решения этой проблемы используются неявные схемы, то есть схемы,
шаблон которых содержит несколько точек на слое n+1.
6.1.Схема с весами
В качестве типичного примера неявных схем рассмотрим схему с весами. Для модельного
одномерного гиперболического уравнения ut + au x = 0 схема с весами имеет вид
u nj +1 − u nj
+ aΛ α u nj +1 + (1 − α )u nj = 0 , (6.1)
τ
где α = const – вес, обычно α ∈ [0,1] . При α = 0 получаем чисто явную схему, при α = 1 –
чисто неявную схему. При α = 1/ 2 получаем схему Кранка-Николсон. В качестве
оператора Λ может быть взят любой разностный оператор, аппроксимирующий
производную ∂ / ∂x с порядком O(h k ) .
Легко показать, что порядок аппроксимации схемы O(τ m + h k ) , где m=2 при
α = 1/ 2 , m=1, иначе. Пусть для определенности Λ – центральная разность. Шаблон
схемы показан на рис. 12.
43
Схема с весами для модельного параболического уравнения ut = u xx
u nj +1 − u nj
= Λ11 α u nj +1 + (1 − α )u nj . (6.3)
τ
аппроксимирует уравнение с порядком O(τ m + h k ) , где, как и выше, m=2 при α = 1/ 2 и
m=1, иначе. Схема (6.3) реализуется скалярной трехточечной прогонкой, которая хорошо
обусловлена для любого соотношения τ и h. Она безусловно устойчива при α ≥ 1/ 2 , что
следует из характеристического уравнения
2τ
det λ − 1 + 2 (αλ + 1 − α )(1 − cos (ϕ )) = 0 .
h
1 − (1 − α )r 2 4τ ϕ
Его корень λ = 2
, где r 2 = 2 sin 2 . Очевидно, что при α ≥ 1/ 2 , λ ≤ 1 , т.е.
1+αr h 2
схема абсолютно устойчива. Заметим, что при α < 1/ 2 схема также будет устойчива, но
4τ ϕ 2
лишь условно, при выполнении условия r ≡ 2 sin 2 ≤ . Для устойчивости это
h 2 1 − 2α
условие должно выполняться для всех ϕ . Откуда получаем условие устойчивости
h2
τ≤ .
2(1 − 2α )
∂u j
Тогда
u nj +1 − u nj
n +1 n n
f (u j ) = f (u j ) + τ a j + O (τ 2 ) (6.5)
τ
Подставим разложение (6.5) в схему (6.4) и пренебрежем членом O(τ 2 ) . В результате
получим линейную относительно u n +1 схему,
44
u nj +1 − u nj
+ Λ α a nj (u nj +1 − u nj ) + f (u nj ) = 0 ,
τ
u nj +1 − u nj
( I + ταΛa ) n
j
τ
= −Λf (u nj ) ,
которая не эквивалентна (6.4), но, как и (6.4) аппроксимирует исходное уравнение также с
порядком O(τ m + h 2 ) .
Рассмотрим более общий случай. Пусть в исходном уравнении и схеме (6.4)
f = f (u , u x ) . Тогда линеаризация схемы осуществляется путем разложения в ряд Тейлора
функции f jn +1 как функции двух аргументов:
n
∂f
f j
n +1
= f u( n +1
j , (ux ) j
n +1
) = f (u , (u ) )
n
j x
n
j
+ (u nj +1 − u nj ) +
∂u j
n
∂f
+
∂u
x j
( )
( u x ) j − ( u x ) j + O (τ )
n +1 n 2
n n
∂f (u , u x ) ∂f (u , u x )
Введем обозначения a = n
, bj =
n
j и аппроксимируем производную
∂u j ∂u x j
( u x ) j = Λu j + O(h2 ) . Тогда получим следующее представление для f jn +1
u nj +1 − u nj u nj +1 − u nj
f j
n +1
j
n
= f + τa n
j +τb Λ n
j + O (τ 2 ) .
τ τ
Пренебрегая членом O(τ 2 ) и подставляя f jn +1 в схему, получим следующую линейную
разностную схему:
u nj +1 − u nj
( I + ταΛ(a j + b j Λ) )
n n
= −Λf jn
τ
(6.6)
b (u j + 2 − u j ) − b nj −1 (u j − u j − 2 )
n
j +1
Формально Λb nj Λu j = , поэтому шаблон схемы становится
h2
пятиточечным, что требует использования для реализации схемы (6.6) пятиточечной
прогонки. Однако, на практике сложный оператор Λb nj Λ заменяют компактным
трехточечным оператором Λb nj Λ , также имеющим второй порядок аппроксимации:
n
b nj +1/ 2 (u j +1 − u j ) − b nj −1/ 2 (u j − u j −1 ) ∂ ∂u
n
Λb Λu j =
j = b + O(h 2 ) ,
h2 ∂x ∂x j
u nj + u nj +1
где b n
= (b + b ) / 2 или b
n n
= b . При таком подходе шаблон схемы
n
j +1/ 2 j
j +1
2
j +1/ 2
остается трехточечным, и схема реализуется обычной трехточечной скалярной прогонкой.
45
∂u ∂u ∂f
+ a (u ) = 0 , где a (u ) = .
∂t ∂x ∂u
Построим следующую схему, состоящую из двух шагов:
u nj +1/ 2 − u nj
+ a nj Λu nj +1/ 2 = 0 предиктор
τα
n +1 n (6.7)
u j − u j
τ + Λf (u nj +1/ 2 ) = 0 корректор
46
δ u = −τα a nj Λu n+1/ 2 = −τα a nj Λu n + O(τ 2 ) .
Подставляя δ u в (6.8), получаем
f (u n +1/ 2 ) = f (u n ) − τα (a nj ) 2 Λu n + O (τ 2 ) .
Тогда
Λf (u nj +1/ 2 ) = ( f x ) j − ταΛ ( (a nj ) 2 Λu nj ) + O (τ 2 ) + O ( h 2 ) .
n
Преобразуем
( ) (
n
n
Λ ( (a nj )2 Λu nj ) = Λ ( a 2u x ) + O(h 2 ) = ( a 2u x )
j x
) j
n
+ O(h 2 ) = ( 2aa xu x + a 2u xx ) + O(h 2 ) .
j
2
(u tt − 2aax u x − a 2u xx )
j
1 − τα ∑
l =1
Λ ll
(u − u ) = τ ∑
l =1
Λ ll u n . (6.10)
47
Ищем решение схемы в виде
u nj , k = u0 λ n ei ( jω1h1 + kω2 h2 )
Обозначим для удобства ϕ = ω1h1 , θ = ω2 h2 .
Имеем
eiϕ − 2 + e− iϕ n 4τ ϕ
τ Λ11u njk = τ 2
u jk = − 2 sin 2 u njk .
h1 h1 2
Аналогично
eiθ − 2 + e − iθ n 4τ θ
τ Λ 22u njk = τ 2
u jk = − 2 sin 2 u njk .
h2 h2 2
Обозначим
4τ ϕ 4τ θ
r1 = 2 sin 2 , r2 = 2 sin 2 . (6.11)
h1 2 h2 2
Очевидно, r1 , r2 ≥ 0 . После подстановки в (6.10) получаем следующее характеристическое
уравнение на λ
(1 + α r ) (λ − 1) = −r ,
где r = r1 + r2 . Находим λ
1 − (1 − α )r
λ= .
1+ αr
Условие устойчивости | λ |≤ 1 равносильно выполнению двойного неравенства
−(1 + α r ) ≤ 1 − (1 − α r ) ≤ (1 + α r ) .
Правое неравенство выполнено всегда. Левое приводится к виду
(1 − 2α )r ≤ 2 .
Если 1 − 2α ≤ 0 , то неравенство выполняется для всех r . Следовательно, схема (6.9)
абсолютно устойчива при α ≥ 1/ 2 . При α < 1/ 2 устойчивость также будет, но лишь
условная.
48
Исследуем устойчивость схемы с весами (6.12) или (6.13) на примере линейного
уравнения переноса
∂u ∂u ∂u
+ a1 + a2 =0
∂t ∂x1 ∂x2
Перепишем схему (6.13) в виде
2
n +1 n 2
1 + τα ∑l =1
a Λ
l l
(u − u ) = −τ ∑
l =1
al Λ l u n .
1 + iα ∑
m =1
d m
( λ − 1) = − i ∑
m =1
dm ,
откуда
2
1 − iβ ∑ dm
m =1
λ= 2
, β = 1−α .
1 + iα ∑ d m
m =1
Пользуясь формулой (2.14), находим
1 + β 2 ( ∑ dm )
2
2
|λ | = .
1 + α 2 ( ∑ dm )
2
49
7. Экономичные неявные схемы для многомерных уравнений
Как было показано выше, простые неявные схемы вроде схемы с весами являются
неэкономичными при решении многомерных уравнений (число пространственных
направлений N ≥ 2 ). Для решения этой проблемы применяются специальные подходы,
описанные ниже.
50
1 u n +1/ m − u n
+ L1h [α u n +1/ m + (1 − α )u n ] = f (u n ),
m τ / m
1 u n + 2 / m − u n +1/ m
+ L2 h [α u n + 2 / m + (1 − α )u n +1/ m ] = 0,
m τ /m (7.3)
....
1 u n +1 − u n + ( m −1) / m
m + Lmh [α u n +1 + (1 − α )u n + ( m −1) / m ] = 0,
τ /m
Реализация схемы следующая. Сначала на 1-м дробном шаге находим значение u n +1/ m во
всей расчетной области. Затем на 2-м дробном шаге находим значение u n + 2 / m во всей
расчетной области, и так далее. На m-м дробном шаге находим u n +1 . Преимущество схемы
(7.3) состоит в том, что на каждом дробном шаге решается более простая разностная
задача, как правило, одномерная, решение которой часто может быть получено
экономичным образом. Более подробно см. [1,2].
Запись схемы в дробных шагах удобна лишь для понимания способа реализации
схемы, это отправная точка при ее программировании. Для исследования же
аппроксимации и устойчивости необходимо исключить все дробные шаги, то есть
исключить значения u n +1/ m , u n + 2 / m , …, u n + ( m −1) / m .
Делать выводы об аппроксимации и устойчивости всей схемы на основе анализа
аппроксимации и устойчивости каждого дробного шага нельзя! Известны примеры, когда
каждый шаг по отдельности не аппроксимирует дифференциальную задачу или не
устойчив по Нейману, но результирующая схема аппроксимирует и устойчива. В качестве
примера можно привести схему предиктор-корректор (6.7). На шаге корректора в ней
используется явная схема «крест», которая абсолютно неустойчива. В то же время вся
схема (6.7) после исключения дробного шага оказывается абсолютно устойчивой при
α ≥ 1/ 2 , как было показано в п. 6.3.
Итак, исключим дробные шаги в (7.3). Оказывается, в случае, если для любых j , k
разностные операторы L jh и Lkh перестановочны, это легко сделать с использованием
стандартного приема, суть которого изложена ниже. Пусть для простоты f (u ) = 0 .
Сначала перепишем схему в операторном виде, где все неизвестные собраны слева, а все
известные – справа.
[ I + τα L1h ]u n +1/ m = [ I − τ (1 − α ) L1h ]u n ,
n+ 2 / m
[ I + τα L2 h ]u = [ I − τ (1 − α ) L2 h ]u n +1/ m ,
(7.4)
....
[ I + τα L ]u n +1 = [ I − τ (1 − α ) L ]u n + ( m −1) / m .
mh mh
51
m n +1 m
∏ [ I + τα L ]
kh u = ∏ [ I − τ (1 − α ) Lkh ] u n . (7.6)
k =1 k =1
Заметим, что запись схемы с исключенными дробными шагами (7.6) не является
регулярной в смысле п. 2.3.4. Чтобы сделать ее регулярной, нужно разделить обе части
на τ .
Исследуем устойчивость схемы расщепления по пространственным направлениям
для N-мерного уравнения теплопроводности
∂u ∂ 2u ∂ 2u
− 2 − ... − 2 = 0 . (7.7)
∂t ∂x1 ∂xN
В этом случае дифференциальный оператор представим в виде
N N
∂2
L = −∑ L j = −∑ 2 .
j =1 j =1 ∂x j
Теперь можно применить спектральный метод Неймана. Для начала заметим, что если
сеточная функция имеет вид элементарной гармоники u nj1 ,..., jN = u0 λ n ei ( j1ω1h1 +....+ jN ωN hN ) , то
4τ ωh
τ Λ kk u nj ,..., j = −
2
sin 2 k k ⋅ u nj1 ,..., jN = −rk ⋅ u nj1 ,..., jN , где rk ≥ 0 .
1 N
hk 2
Тогда, после подстановки элементарной гармоники в (7.9), получим
N N
∏ [1 + α r ]
k λ = ∏ [1 − (1 − α )rk ] ,
k =1 k =1
откуда
N
1 − (1 − α )rk N
λ = ∏ = ∏ µk
k =1 1 + α rk k =1
Очевидно, для того чтобы | λ |≤ 1 , достаточно, чтобы ∀k | µk |≤ 1 . В данном случае все
µk ∈ R , поэтому условие | µ k |≤ 1 равносильно условию −1 ≤ µk ≤ 1 . Найдем, в каких
случаях это двойное неравенство выполнено.
1 − (1 − α )rk
−1 ≤ ≤1
1 + α rk
−1 − α rk ≤ 1 − rk + α rk ≤ 1 + α rk
Очевидно, так как rk ≥ 0 , правая часть неравенства выполнена всегда. Левая часть
неравенства преобразуется к виду (1 − 2α )rk ≤ 2 , при α ≥ 1/ 2 это неравенство всегда
52
выполнено. Поэтому при α ≥ 1/ 2 схема (7.9) и эквивалентная ей схема в дробных шагах
(7.8) абсолютно устойчива. Если α < 1/ 2 , то схема будет условно устойчивой.
Исследуем устойчивость схемы расщепления по пространственным направлениям
для N-мерного уравнения переноса
∂u ∂u ∂u
+ a1 + ... + aN =0. (7.10)
∂t ∂x1 ∂xN
Каждое L j из N-мерного дифференциального оператора
N N
∂
L = −∑ L j = −∑ a j
j =1 j =1 ∂x j
аппроксимируем разностным оператором с порядком O(hks ) :
∂u
ak = ak Λ k u + O(hks ) .
∂xk
Пока конкретизировать оператор Λ k не будем. Тогда схема расщепления по
пространственным направлениям для уравнения (7.10) представляется в следующем виде
u n +1/ N − u n
+ a1Λ1[α u n +1/ N + (1 − α )u n ] = 0,
τ
.... . (7.11)
u n +1 − u n + ( N −1) / N
+ a1Λ N [α u n +1 + (1 − α )u n + ( N −1) / N ] = 0.
τ
или, после исключения дробных шагов, в виде
N n +1 N
∏ [ I + τα a Λ
k k u ] = ∏ [ I − τ (1 − α )ak Λ k ] u n . (7.12)
k =1 k =1
Теперь подставим в (7.12) элементарную гармонику. Пусть d k ∈ C - собственное значение
разностного оператора τ ak Λ k , то есть
τ ak Λ k u nj ,..., j = d k ⋅ u nj ,..., j .
1 N 1 N
Тогда
N N
∏ [1 + α d ]
k λ = ∏ [1 − (1 − α )d k ]
k =1 k =1
Откуда получаем
N
1 − (1 − α )d k N
λ = ∏ = ∏ µk
k =1 1 + α d k k =1
Заметим, что для устойчивости схемы по Нейману достаточно, чтобы ∀k | µk |≤ 1 .
Обозначим d k = r + is . Тогда
(1 − (1 − α )r ) − i (1 − α ) s
µk = .
(1 + α r ) + iα s
Условие | µ k |≤ 1 , с учетом формулы (2.14), равносильно следующему:
(1 − (1 − α )r ) 2 + (1 − α ) 2 s 2
| µk |2 = ≤1.
(1 + α r ) 2 + α 2 s 2
После элементарных преобразований получим
−2r + (1 − 2α )(r 2 + s 2 ) ≤ 0 . (7.13)
Для дальнейшего исследования необходимо конкретизировать оператор Λ k .
53
Пусть Λ k – центральная разность. Тогда r = 0 . В этом случае при α ≥ 1/ 2
неравенство (7.13) оказывается заведомо выполнено, то есть схема (7.11) – абсолютно
устойчива.
Пусть Λ k – направленная против потока разность первого порядка аппроксимации,
то есть
u..., jk ,... − u..., jk −1,...
, если ak > 0;
hk
Λ k u j1 ,..., jN =
u..., jk +1,... − u..., jk ,... , если a < 0,
hk
k
то
1 − e− iϕ τ ak
τ
k h a = (1 − cos ϕ + i sin ϕ ), если ak > 0;
k hk
dk = iϕ
τ a e − 1 = τ ak (cos ϕ − 1 + i sin ϕ ), если a < 0,
k hk hk
k
Заметим, что вне зависимости от знака ak , r ≡ Re(d k ) > 0 . Значит, и в этом случае при
α ≥ 1/ 2 неравенство (7.13) заведомо выполнено и схема (7.11) – абсолютно устойчива по
Нейману.
Недостатки:
- отсутствие полной аппроксимации при N ≠ 2 . Для N > 2 при использовании схемы
расщепления для нахождения стационарного решения методом установления по
времени, предельное (при t → ∞ ) решение будет зависеть от шага τ ;
- порядок аппроксимации по времени составляет O(τ 2 ) только в случае {N=2, α = 1/ 2 };
в остальных случаях порядок аппроксимации по времени O(τ ) ;
- схема лишь предельно консервативна.
54
Ax = b (7.16)
с матрицей А, соответствующей оператору M h . Как мы уже видели, для многомерных
задач матрица А, хоть и является сильно разреженной (имеет несколько отстоящих друг
от друга диагоналей), не позволяет получить решение системы (7.16) за O(q ) операций,
где q – общее число узлов сетки по пространству. Таким образом, исходная схема (7.14)
или (7.15) не является экономичной. Для построения экономичной разностной схемы
приближенно представим оператор M h в виде суперпозиции, то есть произведения,
нескольких разностных операторов
M h ≈ M 1h ⋅ .... ⋅ M mh
Разностный оператор Ψ = M 1h ⋅ .... ⋅ M mh − M h называется погрешностью факторизации. В
большинстве реальных задач точно факторизовать не представляется возможным,
поэтому метод называется методом приближенной факторизации. Пренебрежем
погрешностью факторизации, тогда вместо схемы (7.15) получим схему
u n +1 − u n n
M 1h ⋅ .... ⋅ M mh = Rh u . (7.17)
τ
Решение этой модифицированной разностной схемы может быть получено за m+1
дробных шагов
M 1hξ n +1/ m = R h u n
n+ 2 / m
M 2 hξ = ξ n +1/ m
.....
n +1 n + ( m −1) / m
M mhξ = ξ
u n +1 = u n + τξ n +1
Операторы M 1h , …, M mh выбираются так, чтобы их было легко обратить (желательно
скалярной или векторной прогонкой) и чтобы погрешность факторизации была меньшей
или минимальной. Чаще всего используется факторизация по пространственным
направлениям. В этом случае каждый из операторов M ih выбирается одномерным.
В качестве примера рассмотрим схему приближенной факторизации по
направлениям для N-мерного уравнения теплопроводности (7.7). Для его
аппроксимации рассмотрим разностную схему с весами
u n +1 − u n N
− ∑ Λ ll α u n +1 + (1 − α )u n = 0 ,
τ l =1
∂ 2u
где Λ ll – центральные разности, Λ ll u = 2
+ O(hl2 ) . Порядок ее аппроксимации
∂xl
O(τ m + h 2 ) , где m = 2 при α = 1/ 2 и m = 1, иначе; h = max hl . Схема абсолютно устойчива
l =1,... N
1 − τα ∑
l =1
Λ ll
τ
= ∑
l =1
Λ ll u n . (7.18)
55
N
u n +1 − u n N
∏ (1 − ταΛll ) = ∑ Λ ll u n . (7.19)
l =1 τ l =1
∏ (1 + α rl )(λ − 1) = −∑ rl
l =1 l =1
∑r
l =1
l
λ = 1− N
∏ (1 + α r )
l =1
l
Очевидно, при α ≥ 1/ 2 это условие выполнено для любых rl . Таким образом, схема
приближенной факторизации (7.19) абсолютно устойчива при α ≥ 1/ 2 .
Схема (7.19) эквивалентна схеме в дробных шагах
56
N
(1 − τα Λ11 )ξ n +1/ N
= ∑ Λ ll u n
l =1
∂
где Λl = + O(hlpl ) , аппроксимирует исходное уравнение с порядком
∂xl
O(τ m + h1p1 + .... + hNpN ) , где m = 2 при α = 1/ 2 , m = 1 при α ≠ 1/ 2 . Пусть для определенности
Λ l – центрально-разностный оператор. В п. 6.4 было показано, что в этом случае схема
(7.20) абсолютно устойчива при α ≥ 1/ 2 , но не является экономичной. Для построения
схемы приближенной факторизации перепишем (7.20) в каноническом виде:
N
u n +1 − u n N
1 + τα ∑l =1
al Λ l
τ
= − ∑
l =1
a l Λl u n
l =1
В результате получим схему приближенной факторизации
N
u n +1 − u n N
∏l =1
(1 + τα a Λ
l l )
τ
= − ∑ al Λl u n .
l =1
(7.21)
∏ (1 + iα dl )(λ − 1) = −i∑ dl ,
l =1 l =1
τ al
где, по аналогии с (6.14), d l = sin ωl hl . В данном случае его решением является
hl
комплексное число
N N
∏ (1 + iα dl ) − i∑ dl
l =1 l =1
λ= N
.
∏ (1 + iα d )
l =1
l
В случае N=2
57
1 − α 2 d1d 2 − i β (d1 + d 2 )
λ= , где β = 1 − α .
1 − α 2 d1d 2 + iα (d1 + d 2 )
(1 − α 2 d1d 2 ) 2 + β 2 (d1 + d 2 ) 2
| λ |2 = .
(1 − α 2 d1d 2 )2 + α 2 (d1 + d 2 ) 2
Очевидно, при α ≥ 1/ 2 условие | λ |≤ 1 выполнено для любых d l . Следовательно, схема
(7.21) в случае N=2 абсолютно устойчива. Иная ситуация имеет место в случае N > 2 .
Покажем, что уже в трехмерном случае схема (7.21) условно устойчива при любых
α . Пусть d1 = d 2 = d3 = d . Это может быть достигнуто за счет варьирования волнового
числа ωl . Тогда
3
λ=
(1 + iα d ) − 3id =
A + i ( B − 3d )
,
3
(1 + iα d ) A + iB
где A = 1 − 3α 2 d 2 , B = α d (3 − α 2 d 2 ) . Пользуясь формулой (2.14), находим
A2 + ( B − 3d ) 2 A2 + B 2 − 6 Bd + 9d 2
| λ |2 = = .
A2 + B 2 A2 + B 2
Для выполнения условия устойчивости | λ |2 ≤ 1 необходимо выполнение неравенства
3d 2 ≤ 2 Bd = 2α d 2 (3 − α 2 d 2 ) ,
что эквивалентно
τa 3(2α − 1)
| d |= l sin ωl hl ≤
hl 2α 3
Отсюда следует ограничение на шаг по времени τ
h 3(2α − 1)
τ ≤ min l 3
.
l =1,..., N | a |
l 2α
Таким образом, схема условно устойчива для всех α . Максимальное значение τ
принимает при α = 3 / 4 . В этом случае условие устойчивости имеет вид
4 h
τ ≤ min l ,
3 l | al |
то есть близко к устойчивости явных схем. При замене в (7.21) симметричной
аппроксимации на несимметричную (левостороннюю при al > 0 и правостороннюю при
al < 0 ) оценки устойчивости не меняются.
7.3.Метод предиктор-корректор
Идея метода предиктор-корректор дана в п. 6.3. Там метод рассматривался как способ
построения неявной консервативной схемы для нелинейного уравнения. Оказывается,
такой подход позволяет строить экономичные схемы для многомерных уравнений.
Изложение метода предиктор-корректор дадим на примере многомерной
гиперболической системы уравнений, которая может быть записана в дивергентной
58
∂U N ∂Wi (U)
+∑ =0 (7.22)
∂t i =1 ∂xi
и недивергентной форме
∂U N ∂U ∂Wi (U)
+ ∑ Ai (U) = 0, где Ai (U) = . (7.23)
∂t i =1 ∂xi ∂U
В ряде задач бывает удобно вместо вектора консервативных переменных U рассмотреть
другой вектор зависимых переменных f , то есть сделать замену переменных U = U(f ) .
∂U
Пусть матрица S = . Тогда вместо (7.23) запишем следующую общую запись исходной
∂f
системы уравнений (7.22) в недивергентом виде
∂f N ∂f
+ ∑ Ci = 0, где Сi = S −1Ai S . (7.24)
∂t i =1 ∂xi
При U ≡ f система (7.24) совпадает (7.23). Схема предиктор-корректор для решения
системы (7.22) имеет вид
f n +1/ 2 N − f n
+ C1n Λ1f n +1/ 2 N = 0,
τα
f n + 2 / 2 N − f n +1/ 2 N
+ C2n Λ 2f n + 2 / 2 N = 0,
τα предиктор
(7.25)
n +1/ 2 n + ( N −1) / 2 N
f −f
+ CnN Λ N f n +1/ 2 = 0,
τα
U n +1 − U n N
+ ∑ Λ i Wi n +1/ 2 = 0. корректор
τ i =1
∂
где Λ i = + O(hik ) . Схема (7.25) аппроксимирует систему уравнений (7.22) с порядком
∂xi
O(τ m + h k ) , где h = max hi , m = 2 при α = 1/ 2 и m = 1 при α ≠ 1/ 2 . На этапе предиктора
1≤i ≤ N
разностные уравнения на дробных шагах аппроксимируют уравнения в недивергентной
форме, причем на каждом дробном шаге задействовано лишь одно из пространственных
направлений, как в схеме расщепления. Благодаря этому решение каждого из разностных
уравнений предиктора находится с помощью скалярной или векторной прогонки. На этапе
корректора исходные уравнения аппроксимируются в дивергентном виде. Новые значения
находятся по явным формулам по схеме типа «крест», где значения Win +1/ 2 = Wi (f n +1/ 2 )
получены из решения уравнений на этапе предиктора.
В случае линейной системы с постоянными коэффициентами, W j = A j U , где
A j = const , в схеме предиктор-корректор легко исключить промежуточные шаги. После
исключения схема (7.25) приобретает вид:
N
f n +1 − f n N
∏ (
l =1
1 + τα C Λ
i i )
τ
=
l =1
− ∑ Ci Λif n
Легко видеть, что в этом, линейном, случае схема предиктор-корректор совпадает со
схемой приближенной факторизации по направлениям (7.21). Поэтому спектральный
анализ устойчивости, поскольку проводится для линейного уравнения, полностью
совпадает с анализом схемы приближенной факторизации. То есть, при N ≤ 2 схема (7.25)
абсолютно устойчива при α ≥ 1/ 2 , при N > 2 схема условно устойчива для любых α .
59
Благодаря консервативной аппроксимации на этапе корректора схема предиктор-
корректор (7.25) является консервативной для нестационарных задач. В то время как
схема приближенной факторизации, также как и схема расщепления, лишь предельно
консервативны.
Недостатки схемы предиктор-корректор те же, что и в схеме приближенной
факторизации. Основной из них – условная устойчивость для гиперболических уравнений
при N > 2.
60
R h u n = 0
Если нас интересует стационарное решение разностной схемы (7.26), то в методе Гаусса-
Зейделя (7.27) нет нужды делать много внутренних итераций, достаточно взять p=1. В
этом случае метод Гаусса-Зейделя часто называют методом приближенной LU-
факторизации. В схеме (7.27) при p=1 легко исключается промежуточный шаг
u n +1 − u n n
( D + L) D −1 ( D + U ) = Rh u . (7.30)
τ
Таким образом, схема Гаусса-Зейделя при p=1 является по сути разновидностью схемы
приближенной факторизации.
Проиллюстрируем применение метода на примере решения нелинейного
гиперболического уравнения
∂u ∂f (u ) ∂g (u )
+ + =0
∂t ∂x ∂y
Строим полностью неявную консервативную схему в общем виде
n +1 n +1
u n +1 − u n f j +1/ 2 − f j −1/ 2 g kn++1/1 2 − g kn−+1/1 2
+ + = 0. (7.31)
τ h1 h2
Порядок ее аппроксимации по пространству определяется способом вычисления
численных потоков f jn±+1/1 2 , g kn±+1/1 2 . Возьмем противопотоковую аппроксимацию 1-го
порядка, записанную в виде схемы Роу (см. п. 5.5.2):
1 n +1
f jn++1/1 2 = f j + f j +1 − | a j +1/ 2| (u j +1 − u j ) , (7.32)
2
u j + u j +1 ∂f (u )
где a j +1/ 2 = a , a (u ) = . Аналогично вычисляются g kn±+1/1 2 . Схема (7.31) с
2 ∂u
потоками (7.32) нелинейна. Линеаризуем ее. Для начала заметим, что
∂f ∂f
f (u j +1 ) = f (u j ) + (u j +1 − u j ) + O(h 2 ) = f j + (u j +1 − u j ) + O(h 2 ) .
∂u j ∂u j + 1
2
Тогда
a−|a|
f j +1/ 2 = f (u j ) + a −j +1/ 2 (u j +1 − u j ) + O(h 2 ) , где a − = .
2
Аналогично,
a+|a|
f j −1/ 2 = f (u j ) − a +j −1/ 2 (u j − u j −1 ) + O(h 2 ) , где a + = .
2
Тогда
n +1
f j +1/ 2 − f j −1/ 2 1 − n +1
= a j +1/ 2 (u j +1 − u j ) + a j +1/ 2 (u j − u j −1 ) + O(h) .
+
h1 h1
Теперь, собственно, делаем линеаризацию (замораживаем коэффициенты)
n +1 n
f j +1/ 2 − f j −1/ 2 f j +1/ 2 − f j −1/ 2 − n + n ( j)
+ ( a ) j +1/ 2 Λ + + ( a ) j −1/ 2 Λ − (u j − u j ) .
( j) n +1 n
≈
h1 h1
В результате получаем следующую линейную относительно u n +1 схему
u n +1 − u n
1 + τ ( a −j +1/ 2 Λ (+j ) + a +j −1/ 2 Λ (−j ) + ak−+1/ 2 Λ (+k ) + ak+−1/ 2 Λ (−k ) ) =
τ
n
f j +1/ 2 − f j −1/ 2 g k +1/ 2 − g k −1/ 2
≡ R h u .
n
= − +
h1 h 2
61
τ τ
Обозначим aˆ ∓j ±1/ 2 = (a ∓j ±1/ 2 ) n , aˆk∓±1/ 2 = (ak∓±1/ 2 ) n и перепишем схему в виде
h1 h2
u n +1 − u n
( D jk + aˆ −j +1/ 2T j +1 − aˆ +j −1/ 2T j −1 + aˆk−+1/ 2Tk +1 − aˆk+−1/ 2Tk −1 ) τ
= R hu n ,
− + − +
где D jk = 1 + aˆ − aˆ
j +1/ 2 + aˆ
j −1/ 2 − aˆ
k +1/ 2 , а Tm ±1 – операторы сдвига на узел вперед или назад
k −1/ 2
по направлению m.
Теперь, собственно, можно применить приближенную LU-факторизацию (7.30):
u n +1 − u n n
( D jk − a j −1/ 2Tj −1 − ak −1/ 2Tk −1 ) D jk ( D jk + a j +1/ 2T j +1 + ak +1/ 2Tk +1 )
ˆ +
ˆ + −1
ˆ −
ˆ −
= Rh u .
τ
Решение схемы находится в два этапа. На первом этапе по формулам бегущего счета
вычисляется вспомогательная величина
(
∆ψ *jk = D −jk1 R h u n − aˆ +j −1/ 2 ∆ψ *j −1,k − aˆk+−1/ 2 ∆ψ *j ,k −1 . )
На втором, также по формулам бегущего счета, но в обратном направлении, вычисляется
приращение ∆ψ :
∆ψ jk = ∆ψ *jk − D −jk1 ( aˆ −j +1/ 2 ∆ψ *j +1, k + aˆk−+1/ 2 ∆ψ *j ,k +1 ) .
После этого по явным формулам находится u n +1
u n +1 = u n + τ ∆ψ .
Как видно, алгоритм не требует прогонок. Можно показать, что при p = 1 метод Гаусса-
Зейделя сохраняет свойство абсолютной устойчивости для любого числа
пространственных направлений.
62
8. Разностные методы решения одномерных уравнений газовой
динамики
В настоящей главе рассматриваются разностные схемы для численного решения
уравнений газовой динамики. Основное внимание уделено методологии построения
экономичных неявных разностных схем. Другие подходы построения схем, такие как схемы
повышенного порядка на расширенном шаблоне и компактные разностные схемы
рассмотрены в различных работах (см., например, [2]).
63
= ∂W . Для однородных
, где B
первой степени, если справедливо соотношение W = BU
∂U
систем первой степени дивергентная (8.1) и недивергентная
∂U ∂U = ∂W
+B = 0, B
∂t ∂x ∂U
формы записи уравнений эквивалентны, т. е.
∂U ∂W ∂ ∂U , B
= ∂W .
=− = − BU = −B
∂t ∂x ∂x ∂x ∂U
Нетрудно убедиться, что уравнения газовой динамики являются однородной системой
. Тогда и разностная схема
первой степени, так как W = BU
n+1
n Λ) U − Un
( I + τα B = − Whn
τ
обладает теми же свойствами, что и базовая схема (8.2).
Выберем в качестве искомых функций вектор f ≠ U и линеаризуем векторы U, W
относительно вектора f (см., также [2]):
n n n +1
n +1 n +1 n +1 ∂U ∂f 2 n f −fn
U = U (f )=U +τ n
+ O (τ ) = Wh + τ A + O (τ 2 )
∂f ∂t τ
,
n n n +1 n
∂W ∂f f − f + O (τ 2 ) n
Whn+1 = Wh (f n+1 ) = Whn + τ 2 n
+ O (τ ) = Wh + τ B
∂f ∂t τ
∂U ∂W ∂W ∂U
где A = ,B= = ⋅ = BA . Например, для вектора f = ( ρ , v, ε )T эти
∂f ∂f ∂U ∂f
матрицы равны
1 0 0 v ρ 0
2
A= v ρ 0 , B = v + (γ − 1)ε 2ρ v (γ − 1) ρ .
2 2
ε + v 2 ρv ρ ρ v(γε + v 2) ρ (γε + 3v 2 2) γρ v
Разностная схема
n +1
n n) f −fn
( A + ταΛ B = − Whn , (8.3)
τ
аппроксимирует уравнения газовой динамики (8.1) с порядком O (τ + h k ) при всех
значениях параметра α и реализуется векторной прогонкой. Например, для k = 2
разностная схема (8.3) может быть представлена в виде системы трехточечных линейных
уравнений
n +1 n +1 n +1
aifi −1 + b ifi + cifi +1 = d in ,
где при симметричной аппроксимации первых производных
in−1 , b = A n , c = τα B
ai = −τα B in+1 , d n = A nf n − τβ (B
in+1f n − B
in−1f n ) ,
i i i i i i +1 i i −1
где a , b , c – матрицы размерности 3 × 3 . Решение разностной схемы находится векторной
прогонкой.
При несимметричной аппроксимации пространственных производных со вторым
порядком разностная схема (8.3) представляется в виде системы пятиточечных уравнений
n +1 n +1 n +1 n +1 n +1
ai fi −2 + bi fi −1 + ci fi + di fi +1 + ei fi + 2 = din
64
и реализуется пятиточечной векторной прогонкой. Для линеаризованных уравнений
газовой динамики разностные схемы (8.2), (8.3) безусловно устойчивы при α ≥ 0.5 , как
схемы с весами.
Наряду с дивергентной формой (8.1) рассмотрим уравнения газовой динамики в
недивергентной форме
∂f ∂f , A = ∂U ,
+B = 0, B = A −1 BA (8.4)
∂t ∂x ∂f
Матрица B = B(f ) при различном выборе искомых функций f может содержать различное
число ненулевых членов, что позволяет рассматривать различные разностные схемы,
требующие меньшего числа операций при их реализации. Например, для вектора
f = ( ρ , v, ε )T оператор
v ρ 0
1 ∂p 1 ∂p p
B = a 2 v b 2 , где a 2 = , b2 = , c2 = . (8.5)
ρ ∂ρ ρ ∂ε ρ
0 c2 v
Еще более простой вид уравнения газовой динамики (8.4) принимают в переменных
плотность, скорость и давление
ρ v ρ 0
1
f = v , B = 0 v b 2 , b2 = , c 2 = γ p . (8.6)
2 ρ
p 0 c v
Введем аппроксимации первых производных несимметричными операторами
Λ k = ∂ ∂x + O(hk ) с учетом знака скорости v по формулам:
k k
Λ k = Λ k∓ , Λ = Λ k± , если v ≥ 0 и Λ k = Λ k± , Λ = Λ k∓ , если v ≤ 0 ,
или по формуле
Λ k = Λ 2 = (Λ1+ + Λ1− ) 2
− при симметричной аппроксимации. Аппроксимируем матричные операторы B ⋅ ∂ ∂x в
(8.5), (8.6) подобно [1,2] по формулам
vn Λ k ρΛ k 0 vn Λ k ρΛ k 0
n k
B Λ = 0 n
v Λ k 2 n k n k
(b ) Λ , B Λ = 0 n
v Λ k 2 n k
(b ) Λ ,
0 (c 2 )n Λ k vn Λk 0 (c 2 )n Λ k vn Λk
k
с порядком O ( h ) , причем первые производные при конвективных членах в уравнениях
аппроксимируем операторами Λ k , а член с давлением в уравнении движения −
k
сопряженным операторам Λ . Разностная схема с весами
f n+1 − f n
+ B n Λ k (α f n+1 + β f n ) = 0
τ
является линейной, аппроксимирует систему уравнений (8.1) с порядком O (τ + h k ) при
всех значениях α и также реализуется векторной прогонкой. Перепишем ее в
каноническом виде
k f n+1 − f n
n
( I + τα B Λ ) = −B n Λ k f n
τ
65
С учетом соотношений
∂f ∂f ∂W
= − B = − A −1
∂t ∂x ∂x
разностная схема
f n+1 − f n n
n
( I + τα B Λ ) k
= − ( A −1 )ΛW l (8.7)
τ h
аппроксимирует систему уравнений (8.1) с порядком O (τ + τ h k + hl ) и реализуется
векторной прогонкой подобно схеме (8.3). Напомним, что в схеме (8.7) дифференциальный
l
оператор ∂W ∂x аппроксимирован симметричным оператором Λ l W с порядком О(h ) .
66
0 ρΛ k 0
n k n k n k
B1 Λ = v Λ , B 2 Λ = 0 0 2 n k
(b ) Λ .
0 (c 2 )n Λ k 0
Очевидно, разностная схема (8.9) с расщеплением (8.11) аппроксимирует исходные
уравнения с порядком O (τ + τ h + h 2 ) и реализуется на дробных шагах скалярными
трехточечными прогонками. Действительно, на нулевом дробном шаге система разностных
уравнений
ξ n = −( A −h 1 )n Λl Whn ,
где, с учетом уравнения состояния ε = p /(γ − 1) ρ ,
1 0 0
ξρ W1 ρv
, A −1 = − v
ξ = ξv , Λl W = Λl W2 , W =
1
ρ v2 + p 0 ,
ρ ρ
γ
ξ p W3 v2
v p + ρ
(γ − 1) v
2
Его решение находится трехточечной скалярной прогонкой, после чего значения ξ ρn+1 и
67
f n +1/4 − f n
+ B1nh Λ k f n+1/4 = 0
τ
f n+1/2 − f n+1 4
+ Bn2h Λ k f n +1/2 = 0 , (8.12)
τ
U n+1 − U n
+ Λ l Whn +1 2 = 0
τ
Она аппроксимирует уравнения (8.1) с порядком O (τ 2 + τ h k + hl ) при α = 0.5 + O (τ ) . На
этапе предиктора решаются разностные уравнения в недивергентом виде по неявной схеме,
что создает запас устойчивости, а консервативность схемы восстанавливается на этапе
корректора при аппроксимации уравнений в дивергентой форме. Ее реализация для
f = ( ρ , v, p )T и расщепления оператора (8.11) подобна схеме приближенной факторизации
(8.10). На первом дробном шаге n + 1 4 схемы (8.12) на этапе предиктора система
разностных уравнений
ρ n+1 4 + τα v n Λ k ρ n+1 4 = ρ n
v n+1 4 + τα v n Λ k v n+1 4 = v n
p n+1 4 + τα v n Λ k p n+1 4 = p n
решается скалярными прогонками для каждого уравнения. На втором шаге n + 1 2 решение
системы разностных уравнений
ρ n+1 2 + ταρ n Λ k v n+1 2 = ρ n +1 4
k
v n+1 2 + τα (b 2 )n Λ p n +1 2 = v n+1 4
p n+1 2 + τα (c 2 )n Λ k v n+1 2 = p n+1 4
сводится к скалярной прогонке для давления или скорости. Исключая, например, давление
из уравнения движения, получим разностное уравнение
I − τ 2α 2 (b2 )n Λ k (c 2 )n Λ k v n+1 2 = v n+1 4 − τα (b2 )n Λ k p n+1 4
Его решение может быть получено 2k + 1 − точечной скалярной прогонкой (при k = 1 −
трехточечной), после чего явно находятся новые значения ρ n +1 2 , p n +1 2 . Наконец, значения
функций на новом временном шаге получают по явным формулам
U n+1 = U n −τ Λl Whn +1 2 .
При k = 1, l = 2 разностная схема (8.12) аппроксимирует исходные уравнения газовой
динамики с порядком O (τ 2 + τ h + h 2 ) , реализуется трехточечными скалярными прогонками
и безусловно устойчива при α ≥ 0.5 . Для линейных уравнений газовой динамики с
T
постоянными коэффициентами разностные схемы (8.9) и (8.12) для вектора f = ( ρ , v, p ) с
расщеплением (8.11) эквивалентны.
Остановимся на анализе устойчивости схем (8.9) и (8.12), а именно, покажем, что
они безусловно устойчивы при α > 0.5 . Покажем это для линеаризованных уравнений
газовой динамики, полагая коэффициенты матричных операторов постоянными.
Устойчивость схемы (8.9) будем исследовать спектральным методом, отыскивая решение
в виде
f jn = f0 e = f0λ n eikjh ,
ω t + ikx
n j
68
где tn = nτ , x j = jh , а f0 = ( ρ0 , v0 , ε 0 )T . Пусть для простоты
Λ = Λ = ( Λ + + Λ − ) 2 = ∂ ∂x + O ( h 2 ) .
При такой симметричной аппроксимации
операторов схем со вторым порядком им соответствует характеристическое уравнение
(1 + iα vd )(λ − 1) + ivd i ρ0 d [α (λ − 1) + 1] 0
det 0 (1 + iα vd )(λ − 1) + ivd ib 2 d [α (λ − 1) + 1] = 0
0 ic 2 d [α (λ − 1) + 1] (1 + iα vd )(λ − 1) + ivd
где d = (τ h)sin( kh), b 2 = 1 ρ , c 2 = γ p . Его корни равны
1 − i (1 − α )d 1 − i (1 − α )d (v ± s )
λ1 = , λ2,3 =
1 + iα d 1 + iα d (v ± s )
и, очевидно, λ ≤ 1 при α ≥ 1 2 . Здесь s = γ p ρ − скорость звука. Подобные оценки
устойчивости схем (8.9) и (8.12) справедливы и при несимметричной аппроксимации.
Замечание. При симметричной аппроксимации оператора правой части разностные
схемы (8.7), (8.9) и (8.12) имеют второй порядок аппроксимации по пространству. Хорошо
известно (см., например, [6]), что симметричная аппроксимация первых производных в
разностных схемах приводит к осцилляциям решения. Для их подавления подобно можно
ввести сглаживающий оператор второго порядка малости следующего вида
W j +1 − W j −1 h W − 2W j + W j −1
ΛW j = − ⋅ sign(v)ε j +1 ,
2h 2 h2
W j +1 − 2W j + W j −1
где ε = и ε = 0 , если | W j +1 − W j | + | W j − W j −1 |= 0 .
| W j +1 − W j | + | W j − W j −1 |
Как показывают расчеты различных задач, введение сглаживания практически устраняет
осцилляции решения.
69
9. Метод конечных объемов
Метод конечных объемов (МКО) – универсальный способ построения консервативных
схем для неравномерных, криволинейных и даже неструктурированных сеток. Мы уже
использовали метод конечных объемов в одномерном случае при построении схемы
Годунова (п. 5.4.2). В данном параграфе рассмотрим его более детально на примере
двумерных и трехмерных уравнений.
V
∫ div(f (u )) dV = ∫ (f ⋅ n) dS ,
∂V
Суть этого интегрального закона: скорость изменения величины u в объеме V равна сумме
потока этой величины через границу объема V и мощности источника внутри объема V.
Интегральное уравнение (9.3) является более общей моделью явления, нежели (9.1), в том
смысле, что описывает, в частности, разрывные решения, такие как ударные волны,
контактные разрывы на границе двух сред и т.д. Именно интегральный закон получают из
общих физических соображений, а уже затем, предполагая гладкость решения и функции
f, выводят дифференциальный закон сохранения (9.1).
70
Пусть решение задачи (9.3) – функция непрерывного аргумента u – нам известно.
Для каждой ячейки с номером i определим среднюю по объему ячейки величину u:
1
ui = ∫ u dV .
Vi Vi
Отнесем ui ее к центру масс ячейки. Тогда для каждой ячейки с объемом Vi можем
записать закон сохранения (9.3):
∂ui 1 1
+ ∫ (f (u ) ⋅ n) dS = ∫ g (u )dV ,
∂t Vi ∂Vi Vi Vi
где ∂Vi – совокупность граней ячейки i. Поверхностный интеграл равен сумме интегралов
по всем N i граням ячейки:
Ni
∫ (f (u ) ⋅ n) dS = ∑
α
∫ (f (u ) ⋅ n) dS
=1 Sα
∂Vi
71
9.3. МКО для уравнения диффузии
В предыдущем параграфе мы рассмотрели метод конечных объемов для гиперболического
уравнения, где f i = f i (u ) . В практических задачах такая ситуация имеет место при
отсутствии или пренебрежении силами вязкости среды (процессами диффузии). Это
относится к уравнениям газовой динамики, уравнениям Эйлера движения невязкой
жидкости, уравнениям мелкой воды. В общем случае (уравнения Навье-Стокса) такие
∂u ∂u
силы есть, тогда вектора потоков имеют вид: f i = fi u, , .
∂x1 ∂x2
В качестве примера рассмотрим двумерное уравнение теплопроводности с
переменными коэффициентами
∂u ∂u ∂u ∂u ∂u
= k (u ) + k (u )
∂t ∂x1 ∂x1 ∂x2 ∂x2
Его можно представить в дивергентном виде
∂u ∂f1 ∂f 2
+ + =0,
∂t ∂x1 ∂x2
где
∂u ∂u
f1 = f1 (u , u x1 ) = − k (u ) , f 2 = f 2 (u , u x2 ) = − k (u ) .
∂x1 ∂x2
что позволяет полностью перенести для этого уравнения идеологию метода конечных
объемов.
В дальнейшем для краткости будем опускать черту над uij . Также предположим, что
g (u ) = 0 . В этом случае при аппроксимации производной по времени ∂ / ∂t разностью
вперед получим следующую запись схемы конечных объемов (9.5):
uijn +1 − uijn 1
+ ( f ⋅ S )i +1/ 2 − ( f ⋅ S )i −1/ 2 + ( f ⋅ S ) j +1/ 2 − ( f ⋅ S ) j −1/ 2 = 0 . (9.6)
τ Vij
72
где для удобства введено обозначение S m +1/ 2 – нормаль к грани m + 1/ 2 , равная по модулю
площади этой грани и направленная в сторону увеличения индекса m. Так,
Si +1/ 2 = n i +1/ 2 | Si +1/ 2 | , Si −1/ 2 = −n i −1/ 2 | Si −1/ 2 | . Теперь остановимся на способах вычисления
численных потоков ( f ⋅ S )i ±1/ 2 и ( f ⋅ S ) j ±1/ 2 .
9.4.1.Симметричная аппроксимация
Кажущийся логичным выбор
u +u
( f ⋅ S )i+1/ 2 = fi+1/ 2Si +1/ 2 ,
где fi +1/ 2 = f i i +1 ,
2
приводит нас к центрально-разностной схеме. Действительно, с учетом введенных
обозначений (9.5) приобретает вид
∂uij 1 uij + ui +1, j ui −1, j + uij
+ f n i +1/ 2 Si +1/ 2 + f n i −1/ 2 Si −1/ 2 +
∂t Vij 2 2
. (9.7)
uij + ui , j +1 ui , j −1 + uij
+ f n j +1/ 2 S j +1/ 2 + f n j −1/ 2 S j −1/ 2 = 0.
2 2
Заметим, что ni+1/ 2 = (1, 0) , ni−1/ 2 = (−1, 0) , n j+1/ 2 = (0,1) , n j −1/ 2 = (0, −1) . Кроме этого,
Si +1/ 2 = Si −1/ 2 = h2 , S j +1/ 2 = S j −1/ 2 = h1 , Vij = h1h2 . После подстановки получаем
∂uij 1 uij + ui +1, j ui −1, j + uij
+ f1 − f1 +
∂t h1 2 2
. (9.8)
1 uij + ui , j +1 ui , j −1 + uij
+ f2 − f2 = 0.
h2 2 2
В случае постоянных коэффициентов f (u ) = (a1u , a2u ) , a1 = const , a2 = const схема (9.8)
приобретает знакомый нам вид схемы с центральными разностями
∂uij ui +1, j − ui −1, j ui , j +1 − ui , j −1
+ a1 + a2 =0. (9.9)
∂t 2h1 2h2
со всеми присущими ей свойствами аппроксимации и устойчивости (неустойчивости).
Необходимо отметить, что схема (9.8) и аналогичная ей схема (9.9) пригодны лишь
для случая декартовой сетки. А схема (9.7), из которой получены (9.8) и (9.9), может быть
использована для произвольной криволинейной сетки с четырехугольными ячейками.
Здесь мы намеренно не указываем, на каком временном слое берутся величины ui
для расчета потока. Они могут быть взяты и на слое n (получим явную схему) и на слое
n+1 (получим неявную схему). Для неявной схемы в случае, если f (u ) – нелинейная
функция, потребуется провести линеаризацию, как это описано в п. 6.2.
74
Необходимо отметить, что в реальных задачах функции x(ξ ,η ) , y (ξ ,η ) , как
правило, не известны в явном виде. Это преобразование задано косвенно – положением
узлов xij регулярной сетки в физической области. Это же замечание относится и к
обратному преобразованию (9.13). Поэтому даже в случае перехода в криволинейную
систему координат производные xξ , xη , yξ , yη приходится аппроксимировать конечно-
разностными формулами. С учетом того, что точка i + 1/ 2 лежит на грани ячейки сетки,
соединяющей вершины сетки xi +1, j и xi +1, j +1 , возьмем следующую очевидную
аппроксимацию:
x −x
( xη )i +1/ 2 = i +1, j +1 i +1, j + O ( (∆η ) 2 ) ,
∆η
y −y
( yη )i +1/ 2 = i +1, j +1 i +1, j + O ( (∆η ) 2 ) .
∆η
Заметим, что xi +1, j +1 − xi +1, j =| S i +1/ 2 | ⋅t , где | Si+1/ 2 | – длина отрезка xi +1, j xi +1, j +1 , t = (t x , t y ) –
касательный вектор к грани i + 1/ 2 . Имеем: (t x , t y ) = (− n y , nx ) , где n = (nx , n y ) – нормаль к
грани i + 1/ 2 , направленная в сторону увеличения индекса i. Тогда
xi +1, j +1 − xi +1, j = − | S i +1/ 2 | n y ,
yi +1, j +1 − yi +1, j = | S i +1/ 2 | nx .
Откуда получаем следующую аппроксимацию вектора потока:
1
Fˆi +1/ 2 =
∆η
( Fi +1/ 2 (nx )i+1/ 2 + Gi +1/ 2 (ny )i+1/ 2 ) | Si+1/ 2 | =
1 1
= ( F ⋅ n )i +1/ 2 ⋅ | Si +1/ 2 | = ( F ⋅ S )i +1/ 2 .
∆η ∆η
Таким образом, конечно-разностная схема (9.15) в криволинейной системе координат
приобретает вид:
∂U ij ( F ⋅ S )i +1/ 2 − ( F ⋅ S )i −1/ 2 ( F ⋅ S ) j +1/ 2 − ( F ⋅ S ) j −1/ 2
J ij + + = 0. (9.16)
∂t ∆ξ ∆η ∆ξ ∆η
Из курса математического анализа известно, что якобиан преобразования из системы
координат (ξ ,η ) в систему координат (x,y) как раз и задает связь объемов:
V xy
J = lim ξη ,
∆ξ → 0 V
∆η → 0
75
физическая область вычислительная область
9.6.1. 2D случай
Для случая двух пространственных направлений формулы для вычисления Vij и S m+1/ 2
были получены выше (в п. 9.5). Они равны:
yi +1, j +1 − yi +1, j −( yi +1, j +1 − yi , j +1 )
Si +1/ 2 = , S j +1/ 2 = ,
−( xi +1, j +1 − xi +1, j ) xi +1, j +1 − xi , j +1
1
Vij =
4
( (xi+1, j − xi , j ) + (xi+1, j +1 − xi, j +1 ) ) × ( (xi, j +1 − xi, j ) + (xi +1, j +1 − xi+1, j ) ) .
9.6.2. 3D случай
В общем случае четыре узла A, B, C, D, определяющие грань ячейки m + 1/ 2 , не лежат в
одной плоскости, поэтому за вектор S m+1/ 2 принимается сумма площадей треугольников
ABC и ACD , умноженные на соответствующие единичные нормали:
1
(
S m +1/ 2 = S1m +1/ 2 + S 2m +1/ 2 = AB × AC + AC × AD .
2
)
Объем ячейки Vijk вычисляется как сумма объемов 6 пирамид с треугольным основанием,
имеющих общее ребро, соединяющее вершины xi , j ,k и xi +1, j +1,k +1 (рис. 17):
76
1
Vijk = (xi +1, j +1,k +1 − xi , j ,k )
6
( (x i , j +1, k − xi , j ,k +1 ) × (xi , j +1,k +1 − xi , j ,k ) +
77
10. Схема конечных объемов для уравнений газовой динамики
В [2] подробно изложен ряд схем расщепления и приближенной факторизации, для
многомерных уравнений газовой динамики и уравнений Навье-Стокса. Они
иллюстрируют основные особенности построения конечно-разностных методов для
многомерных задач. В [2] использовалась, главным образом, центрально-разностная
аппроксимация производных по пространству.
В данном параграфе мы изложим получившую широкое распространение схему
конечных объемов для решения уравнений газовой динамики. Численный алгоритм
использует противопотоковую аппроксимацию невязких потоков и приближенную
факторизацию (или LU-факторизацию) многомерного неявного оператора. Изложенная
ниже схема естественным образом распространяется на случай решения уравнений Навье-
Стокса. Схема, близкая к изложенной ниже используется в пакете ANSYS Fluent для
расчета сжимаемых течений (density based solver) [17].
В данном разделе строится схема, пригодная для расчета стационарных
пространственных течений методом установления по времени.
В основу численного алгоритма положена неявная схема конечных объемов.
Исходная система уравнений газовой динамики записывается в виде системы
интегральных законов сохранения для произвольного объема V
d
dt V∫
UdV +
∫ K ⋅ dS = 0 , (10.1)
∂V
T
где, напомним, U = ( ρ , ρ u1 , ρ u2 , ρ u3 , e ) , ∂V – замкнутая поверхность произвольного
фиксированного объема V, dS = n ⋅ dS = (dS1 , dS 2 , dS3 ) – элемент поверхности ∂V ,
умноженный на единичную внешнюю нормаль n к ней. K ⋅ dS – вектор потока через
элемент поверхности dS . K = (F1 | F2 | F3 ) – матрица, составленная из столбцов векторов
потоков в направлениях x1 , x2 , x3 :
ρ u1 ρ u2 ρ u3
ρu 2 + p ρ u1u2 ρ u1u3
1
K = ρ u1u2 ρ u22 + p ρ u 2 u3 . (10.2)
2
ρ u1u3 ρ u2u3 ρ u3 + p
(e + p )u (e + p )u (e + p )u
1 2 3
и отнесем их к центру ячейки. Тогда для каждой ячейки сетки можно записать
следующую неявную аппроксимацию интегральных законов сохранения (10.1)
n +1 n
U ijk − Uijk n +1
Vijk = RHSijk , (10.3)
τ
n +1
где RHS ijk содержит сумму потоков через все грани ячейки (i,j,k):
n +1
n +1
RHSijk = − Fi +1/ 2 − Fi −1/ 2 + F j +1/ 2 − F j −1/ 2 + Fk +1/ 2 − Fk −1/ 2 .
Здесь Fm±1/ 2 , m = i, j , k , – численные потоки через грани ячейки, аппроксимирующие
точные потоки K ⋅ dS .
78
Для вычисления невязких численных потоков Fm+1/ 2 используется
противопотоковая схема Роу (5.20) 1-го порядка аппроксимации:
1
Fm +1/ 2 = (K m + K m +1 )S m +1/ 2 − | A m +1/ 2 | (U m +1 − U m ) . (10.4)
2
Здесь
∂ (K ⋅ S )
A m +1/ 2 = (U m +1/ 2 )
∂U
где U m+1/ 2 вычисляется либо с использованием усреднения Роу (5.19), либо
U m +1/ 2 = 0.5(U m + U m +1 ) .
Матрица Якоби A m+1/ 2 может быть представлена в виде A m +1/ 2 = (R DL) m +1/ 2 , где
R m+1/ 2 – матрица, столбцы которой являются собственными векторами матрицы A m+1/ 2 ,
L m+1/ 2 – матрица, строки которой являются собственными векторами матрицы A m+1/ 2 ,
R m +1/ 2 = L−m1+1/ 2 . Dm +1/ 2 = diag (λ1 ,… , λ 5 ) – диагональная матрица, содержащая на диагонали
собственные значения матрицы A m+1/ 2 . Для уравнений Навье-Стокса и уравнений газовой
динамики вид матрицы A m+1/ 2 приведён в Приложении. Её собственные значения равны
λ1 = λ2 = λ3 = U , λ4 = U − c | S | , λ5 = U + c | S | ,
где U = u ⋅ S = uS x + vS y + wS z ; u , v, w – компоненты скорости в декартовой системе
координат; c – скорость звука на рассматриваемой грани ячейки. S = ( S x , S y , S z ) – вектор
нормали к грани m + 1/ 2 , равный по модулю площади этой грани и направленный в
сторону увеличения индекса m .
Для повышения порядка аппроксимации по пространству вместо (10.4) можно
использовать MUSCL-схему [17,18]
1
Fm +1/ 2 = ( K (U L ) + K (U R ) ) S m +1/ 2 − | A LR | (U R − U L ) , (10.5)
2
где U L и U R – линейные или квадратичные реконструкции вектора U слева и справа от
грани m + 1/ 2 , см. [18].
Полностью неявная схема (10.3) линеаризуется в соответствии с методикой,
изложенной в пп. 6.2 и 7.4. Однако, прежде чем делать линеаризацию, проведем
некоторые преобразования. Из свойства 3) матрицы A для схемы Роу (см. п.5.5.2)
следует, что
(K inm +1 − K inm )S m +1/ 2 = A m +1/ 2 (U m +1 − U m )
С учетом этого соотношения, а также соотношений A = A + + A − , | A |= A + − A − , поток для
схемы 1-го порядка (10.4) можно представить в виде
Fmin+1/ 2 = K inm ⋅ S m +1/ 2 + A −m +1/ 2 (U m +1 − U m )
Аналогично,
Fmin−1/ 2 = K inm ⋅ S m −1/ 2 − A m+ −1/ 2 (U m − U m −1 ) .
Тогда
− RHSijk = ∑ ( Fm +1/ 2 − Fm −1/ 2 ) = K inm ∑ ( S m +1/ 2 − S m −1/ 2 ) +
m =i , j , k m =i , j , k
+ ∑
m =i , j , k
A m+ −1/ 2 (U m − U m −1 ) + A −m +1/ 2 (U m +1 − U m )
79
n +1
n +1
RHSijk =− ∑
m =i , j , k
A m+ −1/ 2 (U m − U m −1 ) + A m− +1/ 2 (U m +1 − U m )
= Vijk + A + − A − + A + − A − + A + − A − .
D i −1/ 2 i +1/ 2 j −1/ 2 j +1/ 2 k −1/ 2 k +1/ 2
τ
Шаблон полученной схемы на слое n + 1 – трехточечный по каждому пространственному
направлению, рис. 18.
Для реализации схема (10.6) приближенно факторизуется по пространственным
направлениям в соответствии с методикой, изложенной в п. 7.2. Либо используется
приближенная LU-факторизация (см. п. 7.4) схемы, записанной в виде (10.7).
Описанный выше метод может быть распространен на случай решения уравнений
Навье-Стокса, в том числе нестационарных. Подробнее см. [17].
80
Рис. 18. Шаблон схемы (10.7).
81
11. Решение уравнений движения несжимаемой жидкости
11.1. Метод искусственной сжимаемости
Уравнения Навье-Стокса, описывающие движение несжимаемой жидкости, имеют вид
N ∂u j
∑ ∂x ≡ div(u) = 0,
j =1 j
(11.1)
∂ui + ∂ (ui u j ) + ∂pˆ =
N N
∂ ∂ui ∂u j
∂t ∑ ∂x ∂x
∑
j =1 ∂x j
µ
∂x j ∂xi
+ ,
j =1 j i
где pˆ = p[Па ] / ρ 0 , ρ 0 = const . В дальнейшем для краткости будем опускать крышку над
p̂ . Вследствие того, что первое уравнение системы – уравнение неразрывности – не
содержит производных по времени от искомых функций, система (11.1) не является
системой типа Коши-Ковалевской, то есть не может быть записана в виде, разрешенном
относительно производных по времени:
∂U
= LU + f (U) .
∂t
Это обстоятельство не позволяет формально применить для уравнений (11.1) схему,
описанную в предыдущем параграфе. Одним из подходов к решению системы (11.1)
является метод искусственной сжимаемости. Суть этого подхода состоит в добавлении в
уравнение неразрывности производной по времени от давления p̂ :
1 ∂p N ∂u j
β ∂t + ∑ ∂x = 0,
j =1 j
(11.2)
∂
i u N ∂ (u u )
∂ p N
∂ ∂ u ∂u
∂t + ∑ = µ∑
i j j
+ i + ,
j =1 ∂x j ∂x i j =1 ∂x j ∂x j ∂ xi
где β – коэффициент искусственной сжимаемости, имеющий размерность [м2/с2].
Модифицированная таким образом система уравнений становится системой типа Коши-
Ковалевской, и, более того, в случае отсутствия вязкости ( µ ≡ 0 ) – гиперболической.
Конечно, решение модифицированной системы (11.2) не совпадает с решением исходной
системы (11.1). Однако, при t → ∞ , когда решение устанавливается ( ∂ / ∂t = 0 ), решения
(11.1) и (11.2) совпадают. Таким образом, система уравнений (11.2) может быть
использована для нахождения стационарных решений исходной системы (11.1) методом
установления.
82
Эквивалентная дифференциальному уравнению на гладких решениях интегральная
форма уравнения (11.3)
∂U
∫V ∂t dV +∂∫V K ⋅ dS = 0 , (11.4)
0
τ 11S x + τ 12 S y + τ 13 S z
F vis = K vis⋅ S = − .
τ 12 S x + τ 22 S y + τ 23 S z
τ 13 S x + τ 23 S y + τ 33 S z
Для вычисления вязкого потока необходимо аппроксимировать на грани m + 1/ 2
компоненты тензора вязких напряжений τ ij – то есть производные от компонент вектора
скорости по декартовым координатам. В 2D случае аппроксимация осуществляется на
девятиточечном шаблоне, в 3D случае шаблон схемы занимает 27 точек. В случае
равномерной декартовой сетки такой способ аппроксимации соответствует центрально-
разностной схеме.
Линеаризация полностью неявной схемы (11.5) осуществляется так же, как в п. 10.
При линеаризации вязких потоков неявно берутся только члены, соответствующие
повторным производным по направлениям (i, j, k), все смешанные производные берутся
явно. Это позволяет остаться в рамках семиточечного шаблона на слое n + 1 , показанного
на рис. 18.
83
Линеаризованная схема записывается в виде (10.7) и приближенно LU-
факторизация, как описано в п. 7.4. Решение на слое n+1 находится за два дробных шага,
каждый из которых реализуется бегущим счетом. Более подробно алгоритм изложен в
монографии [19].
Описанный алгоритм применим для нахождения стационарных решений методом
установления.
Необходимо отметить, что константа β влияет на скорость сходимости к
стационарному решению. Более того, β влияет на точность, так как входит в потоки и
матрицы матрицы A + и A − . На практике рекомендуется брать β = K β U ref
2
, где U ref –
характерная скорость, K β – константа. Наилучшая сходимость и точность достигаются
при задании K β = 2 ÷ 5 .
84
Приложение
При реализации противопотоковых схем для уравнений газовой динамики, и динамики
несжимаемой жидкости появляются матрицы Якоби векторов невязких потоков
∂ (K in S)
A= . В данном приложении приведен вид этих матриц и их собственные
∂U
значения. Матрицы даны для трехмерного случая. Двумерный случай получается
занулением S z = 0 , w = 0 и вычеркиванием четвертого столбца и четвертой строки.
0 β Sx β Sy β Sz
∂ (K inS) S x U + uS x uS y uS z
A= = ,
∂U Sy vS x U + vS y vS z
Sz wS x wS y U + wS z
где U = uS x + vS y + wS z . Собственные значения матрицы A :
λ1 = λ2 = U , λ3 = U − U 2 + β | S |2 , λ4 = U + U 2 + β | S |2 .
85
Литература
1. Ковеня В. М., Яненко Н. Н. Метод расщепления в задачах газовой динамики.
Новосибирск: Наука. Сиб. отд-ние. 1981. 304 с.
2. Ковеня В. М. Разностные методы решения многомерных задач: Курс лекций / Новосиб.
гос. ун-т. Новосибирск, 2004. 146 с.
3. Хакимзянов Г. С., Черный С. Г. Методы вычислений в 4 ч.: Учебное пособие / Новосиб.
гос. ун-т. Новосибирск, 2003. Часть 1. Численные методы решения задачи Коши для
обыкновенных дифференциальных уравнений. 160 с.
4. Хакимзянов Г. С., Черный С. Г. Методы вычислений в 4 ч.: Учебное пособие / Новосиб.
гос. ун-т. Новосибирск, 2008. Часть 3. Численные методы решения задач для уравнений
параболического и эллиптического типов. 163 с.
5. Хакимзянов Г. С., Черный С. Г. Методы вычислений в 4 ч.: Учебное пособие / Новосиб.
гос. ун-т. Новосибирск, 2009. Часть 4. Численные методы решения задач для уравнений
гиперболического типа. 206 с.
6. Лебедев А. С., Черный С. Г. Практикум по численному решению уравнений в частных
производных. – Учебное пособие / Новосиб. гос. ун-т. Новосибирск, 2003. 136 с.
7. Годунов С. К. Рябенький В. С. Разностные схемы: Введение в теорию. М.: Наука, 1973.
400 с.
8. Самарский А. А. Теория разностных схем. Изд. 3. М.: Наука, 1989. 616 с.
9. Овсянников Л. В. Лекции по основам газовой динамики. М.: Наука, 1981, 368 с.
10. Годунов С. К. Разностный метод численного расчета разрывных решений: Матем.
Сборник. 1959. Т. 47. Вып. 3. С. 271-306.
11. Баландин М.Ю. Шурина Э.П. Методы решения СЛАУ большой размерности. Учебное
пособие / Новосибирск: Изд-во НГТУ, 2000. 70 с.
12. Пинчуков В. И., Шу Ч.-В. Численные методы высоких порядков для задач
аэрогидродинамики. – Новосибирск: Издательство СО РАН, 2000. – 232 с.
13. Jameson A., Schmidt W., Turkel E. Numerical Solution of the Euler Equations by Finite
Volume Methods Using Runge-Kutta Time-Stepping Schemes. Technical Report AIAA-81-
1259, 1981.
14. Lynn J. F.. Multigrid Solution of the Euler Equations with Local Preconditioning. PhD
thesis, University of Michigan, 1995.
15. Roe P. L. Approximate Riemann solvers, parameter vectors and difference schemes // J. of
Comp. Physics. – 1981. – Vol. 43. – P. 337-372.
16. Toro E. F. Riemann Solvers and Numerical Methods for Fluid Dynamics: 2nd Ed., Springer-
Verlag, 1999.
17. Weiss J. M., Maruszewski J. P., Smith W. A. Imlicit Solution of Preconditioned Navier-
Stokes Equations Using Algebraic Multigrid // AIAA J. - 1999. - Vol 37, № 1. - P. 29-36.
18. Anderson W. K., Thomas J. L., van Leer B. Comparison of Finite Volume Flux Vector
Splittings for the Euler Equations // AIAA J. – 1986. – Vol 24, №9. – P. 1453-1460.
19. Чёрный С. Г., Чирков Д. В., Лапин В. Н. и др. Численное моделирование течений в
турбомашинах. – Новосибирск: Наука, 2006. – 206 с.
86