Академический Документы
Профессиональный Документы
Культура Документы
3 4
практике, дискретная модель среды, описываемая разностными уравне-
ниями, может заметно отличаться от непрерывной среды. Это различие
зачастую порождает в расчетах паразитические эффекты разностного
происхождения, снижающие или вовсе уничтожающие ценность чис-
ленного решения. Поэтому важно строить такие схемы, которые сохра-
ПРЕДИСЛОВИЕ няли бы свои «хорошие» качества на сетках, применяемых в реальных
расчетах (так называемых «грубых» сетках). Это составляет основную
Широкое внедрение численных методов на основе использования задачу вычислительной математики – раздела математики, посвященно-
быстродействующих вычислительных машин вызвало большой про- го теоретическому обоснованию применимости и точности численных
гресс в решении задач математической физики вообще и газовой дина- методов, а также их непосредственной разработке.
мики в частности. В отличие от аналитических, численные методы ха- Данный курс представляет собой пособие, ориентированное прежде
рактеризуются большей универсальностью и применимы для исследо- всего на практическую подготовку учащегося. Поэтому численные ме-
вания широкого класса явлений, позволяя «вычислять» решение с за- тоды представлены здесь в основном по отношению к одному из про-
данной степенью точности. стейших дифференциальных уравнений в частных производных – ли-
Разумеется, не следует думать, что численные методы целиком вы- нейному уравнению переноса, актуальному в динамике разреженных
теснят традиционные аналитические способы решения. Точные реше- газов. Стоит отметить, что это оправдано с методологической точки
ния, полученные для некоторых упрощенных предельных вариантов зрения: уравнение переноса – одно из основополагающих уравнений
исходной задачи, позволяют полнее представить механизм изучаемого гидродинамики, и численные способы его решения хорошо изучены и
решения, его зависимость от характерных параметров. Кроме всего разработаны. В результате, не вдаваясь подробно в весь инструментарий
прочего, это также дает возможность лучше отработать численный ал- современной вычислительной математики, учащийся легко освоит ее
горитм. Наконец, точные решения используются как тесты при отладке основные идеи и важнейшие практические методики, составляющие
программ, а также для контроля точности расчетов. Численные и анали- «кухню» численных методов.
тические методы должны разумным образом сочетаться при исследова- Несмотря на практическую нацеленность курса, в пособии также
нии задач. И всё же, несмотря на все оговорки, численные методы в ус- подробно освещены важнейшие теоретические принципы, теоремы и
ловиях нынешнего стремительного развития вычислительных техноло- определения вычислительной математики. Для большей простоты вос-
гий являются наиболее эффективным и перспективным средством ис- приятия доказательства (если они имеются) всех теорем и лемм сведены
следования задач в большинстве областей математической физики. в отдельное приложение к курсу.
Среди всевозможных численных методов наиболее разработанным Авторы надеются, что данное пособие послужит не только хорошим
представляется метод конечных разностей. Сущность его состоит в сле- вводным курсом для начинающих студентов, но также удобным под-
дующем. В рассматриваемой области пространства вместо непрерывной спорьем для сотрудников, использующих численные методы, но не за-
среды, состояние которой описывается функциями непрерывного аргу- нимающихся вычислительной математикой профессионально.
мента, вводится ее дискретный аналог. Эта дискретная модель описыва- При создании начальных глав активно использовался материал по-
ется функциями дискретного аргумента, которые определены на конеч- собия «Разностные методы решения задач газовой механики»
ном числе точек на сетке. Дифференциальные уравнения, т.е. законы, в А.А. Самарский, Ю.П. Попов [1].
соответствии с которыми эволюционирует непрерывная среда, заменя-
ются (аппроксимируются) соответствующими алгебраическими конеч-
но-разностными соотношениями – разностной схемой.
Получающаяся разностная схема «близка» к исходной системе диф-
ференциальных уравнений лишь асимптотически при неограниченном
измельчении шагов сетки. При конечных шагах сетки, используемых на
5 6
небольшим количеством узлов. В таком случае зачастую при выборе
сеток используют неравномерные сетки. Если имеется априорная ин-
формация о решении, например, известно расположение некоторых
особенностей, для разрешения которых необходима мелкая сетка, то
естественно, не увеличивая общего числа узлов, сгустить сетку в окре-
ГЛАВА 1 стности особенностей; в области гладкости решения сетку можно сде-
лать более редкой. Однако такой прием не универсален – достаточно
обратится к случаю, когда особенность решения перемещается по сетке,
ОСНОВНЫЕ ПОНЯТИЯ И ОПРЕДЕЛЕНИЯ причем закон ее движения, как это чаще всего бывает на практике, не-
известен*. Поэтому исследователю приходится идти на компромисс ме-
жду скоростью и точностью вычислений.
§ 1. Сетки. Сеточные функции
Иногда, для общности, мы будем вводить определения и формули-
Исходным пунктом при построении разностной схемы является за- ровки, верные для произвольных сеток. Но по большей части, простоты
мена области непрерывного изменения аргумента некоторым множест- ради, мы будем иметь дело с равномерными сетками. Аналогично сетке
вом точек, лежащих в этой области. Это множество есть область опре- в пространстве можно определить сетку по временной переменной:
деления функций дискретного аргумента, оно называется разностной ωτ = {t j t j +1 − t j = τ j , j = 0,1, 2,…} , (1.2)
сеткой.
Соответственно функции дискретного аргумента, определенные на где τ j – шаг сетки по времени, в общем случае зависящий от номера
этой сетке, носят название сеточных (разностных) функций. шага. Однако в основном используются равномерные временные сетки,
Для одномерной задачи простейшим примером пространственной характеризующиеся только временным шагом τ .
разностной сетки является равномерное разбиение отрезка [0, L] на N Произведение сеток
равных частей, длина которых есть h = L / N . Такая сетка называется ω = ωh × ωτ = {( xi , t j ) x = ih, i = 0,1,… , N ; t j = jτ , j = 1, 2,…} (1.3)
равномерной разностной сеткой. Точки деления xi отрезка, число ко- дает пространственно-временную разностную сетку для численного
торых в данном случае составляет N + 1 , называют узлами сетки. Рас- решения одномерной нестационарной задачи. Набор узлов при фикси-
стояние между узлами xi +1 − xi = h есть шаг сетки (по пространству). рованном j называется j -м временным слоем. Значение сеточной
Разностная сетка обозначается следующим образом: функции y в некотором узле сетки ( xi , t j ) мы будем обозначать че-
ωh = {xi = ih, i = 0,1,…, N } . (1.1)
рез yij .
Наряду с узлами, которые называют целыми точками, часто рас-
В дальнейшем, начиная с главы 2, будем иметь дело именно с таки-
сматривают так называемые полуцелые точки xi +1/ 2 = xi + h / 2 . Множе-
ми функциями, определенными на пространственно-временной сетке.
ство полуцелых точек также можно использовать в качестве области Однако в главе 1, которая носит ознакомительный характер, мы просто-
определения сеточных функций. Более подробно мы поговорим об этом ты ради, дадим формулировки для функций одной переменной. Это не
в главе 5 о консервативных разностных схемах. создаст проблем в будущем – просто переопределим все формулы раз-
Вопрос о рациональном выборе сетки заслуживает отдельного вни- ностных производных, введенные для одномерных пространственных
мания. С одной стороны, количество узлов сетки желательно брать сеток, по отношению к произвольному временному слою.
большим, т.е. пользоваться мелкими, подробными сетками. Точнее, пе-
редавая при этом область изменения дискретного аргумента, мы интуи- *
Существует специфический подход, связанный с алгоритмическим поис-
тивно рассчитываем лучше аппроксимировать непрерывное решение ком особенностей и автоматическим сгущением возле них сеток, однако его
сеточными функциями. С другой стороны, ограниченность вычисли- освещение выходит за рамки данного курса.
тельных мощностей заставляет обращаться к сеткам со сравнительно
7 8
Разностная задача строится с целью нахождения сеточной функции При определении разностной производной вместо отношения беско-
y = { yi } , близкой к непрерывному решению u ( x) соответствующей нечно малых ограничиваются отношением конечных разностей. Для
дифференциальной задачи (говорят, что y аппроксимирует u ). Возни- аппроксимации производной можно использовать одно из следующих
соотношений:
кает вопрос: как судить о степени близости этих функций, принадлежа-
щих к разным функциональным пространствам? Обычно поступают y − yi
y x = i +1 , (2.2)
следующим образом. Рассмотрим значения u ( x) в узлах сетки, что дает h
некоторую сеточную функцию uh = {u ( xi )} , являющуюся, как говорят, y − yi −1
yx = i . (2.3)
h
проекцией решения u ( x) на пространство сеточных функций. Близость
Здесь нижняя индексация в левой части обозначает операцию взятия
функций y и u характеризуют погрешностью численного решения разностной производной. Выражения (2.2), (2.3) называют односторон-
∆ = y − uh , (1.4) ними разностными производными, (2.2) – правая производная, (2.3) –
левая. Помимо этих соотношений используют также центральную про-
где – некоторая норма в пространстве сеточных функций (сама раз- изводную:
ностная функция y − uh называется ошибкой вычисления). Широко ис- y − yi −1
y x = i +1 . (2.4)
пользуются следующие нормы: 2h
N
Аналогично определяется разностная производная по времени (в уз-
y = ∑ yi hi (октаэдрическая), (1.5)
i =0
ле xi ):
N yij +1 − yij
y = ∑y h 2
(сферическая), (1.6) yt = . (2.5)
i =0
i i τ
Вторая разностная производная определяется следующим образом:
y = max yi (кубическая). (1.7)
0≤i ≤ N 1 y − yi yi − yi−1 yi+1 + yi−1 − 2 yi
y xx = i+1 − = . (2.6)
Названия легко понять, если рассмотреть задаваемые фигуры при фик- h h h h2
сированном значении нормы в трёхмерном пространстве N = 3 . Сфери-
Заменяя дифференциальный оператор L некоторым разностным
ческую норму часто именуют также евклидовой.
О близости решений разностной дифференциальной задачи можно оператором Lh , мы допускаем ошибку – погрешность аппроксимации,
говорить в том случае, когда величина погрешности неограниченно от величины которой будет зависеть точность решения разностной за-
уменьшается при дроблении сетки. дачи.
Определение 1.1. Погрешностью аппроксимации дифференциально-
го оператора L разностным оператором Lh называют разностную
§ 2. Разностная аппроксимация дифференциальных функцию
операторов ψ = Lh uh − ( Lu ) h , (2.7)
Основной момент в постановке разностной задачи состоит в перехо- где u – точное решение соответствующей дифференциальной задачи.
де от дифференциальных уравнений, описывающих эволюцию сплош- Выясним величину погрешности аппроксимации для случая первых
ной среды, к соответствующим соотношениям для сеточных функций. производных. Применив разложение в ряд Тейлора, получим
Напомним определение производной непрерывной функции: ∂u h 2 ∂ 2u
u ( x + s) − u ( x) u ( xi ±1 ) = u ( xi ± h) = u ( xi ) ± h ( xi ) + ( xi ) + O(h3 ) .
u '( x) = lim . (2.1) ∂x 2 ∂x 2
s →0 s
9 10
Исходя из определений (2.2) – (2.4), получим в каждом конкретном вредна. Остановимся на одном способе построения неравномерных се-
случае следующие выражения: ток. Пусть hi +1 = qhi , т.е. укрупнение ( q > 1 ) или дробление ( q < 1 ) сет-
∂u h ∂ 2u ки осуществляются по закону геометрической прогрессии со знаменате-
ψ = (uh ) x − ( xi ) = ( xi ) + O(h 2 ) = O (h) для (2.2),
∂x 2 ∂x 2 лем q. Тогда погрешность аппроксимации в приведенном выше примере
∂u h ∂ 2u равна
ψ = (uh ) x − ( xi ) = − ( xi ) + O(h 2 ) = O (h) для (2.3), q −1 ∂ 2u
∂x 2 ∂x 2 ψ = hi −1 2 ( xi ) + O (h 2 ) .
∂u 2 ∂x
ψ = (uh ) x − ( xi ) = O(h 2 ) для (2.4). Видно, что если q не сильно отличается от единицы, то и локальная
∂x
Аналогично можно вычислить ошибку аппроксимации и для разно- погрешность будет невелика. Подобные сетки широко используются на
стной производной по времени. Из приведенных выражений видно, что практике. Обычно берут 1 − q ≤ 0.05 .
ошибка аппроксимации в данном случае неограниченно уменьшается с
уменьшением шага.
Определение 1.2. Говорят, что разностный оператор Lh аппрок- § 3. Практическое занятие
симирует дифференциальный оператор L в точке xi , если для по- Решение ОДУ первого порядка
грешности аппроксимации имеет место Пусть у нас есть задача Коши для обыкновенного дифференциально-
ψ i = O (h n ) , го уравнения (ОДУ):
причем n > 0 . В таком случае n – порядок аппроксимации. ∂u
= G ( x, u ),
Порядок аппроксимации в первых двух случаях первый, в ∂x (3.1)
последнем – второй. u ( x0 ) = U 0 .
Как видно из структуры приведенных выше формул, величина по-
Введём сетку ωh = {xi = x0 + ih, i = 0,..., N } , где h – шаг сетки. В ка-
грешности аппроксимации представляет собой произведение шага сет-
ки, взятого в некоторой положительной степени, на соответствующую честве примера простейшей разностной схемы, аппроксимирующей
производную от решения. Поэтому на грубых сетках или сильно ме- (3.1), приведём следующую схему (метод Эйлера):
няющихся решениях величина погрешности аппроксимации может un +1 − un
= G ( xn , yn ), n = 0,1, 2,..., N − 1,
стать не малой, так что само понятие аппроксимации теряет смысл. h (3.2)
Вычисляя погрешность аппроксимации, мы предполагали, что сетка u = U .
0 0
является равномерной. В противном случае вычисление погрешности
Если разностная схема обладает свойством устойчивости, под кото-
аппроксимации приводит к некоторым осложнениям. Проиллюстрируем
рым подразумевают непрерывную зависимость решения разностной
это случаем центральной производной:
задачи от входных условий, то решение (3.2) сходится к (3.1): неогра-
u −u ∂u h 2 − hi2−1 ∂ 2u ниченно стремится к нему при уменьшении шага сетки (четкое опреде-
ψ = i+1 i−1 − ( xi ) = i ( xi ) + O (h 2 ) =
hi + hi −1 ∂x 2(hi + hi −1 ) ∂x 2 ление устойчивости и сходимости будет дано в следующей главе). Мы
hi − hi ∂ 2u не станем подробно останавливаться на устойчивости метода Эйлера и
= ( xi ) + O (h 2 ) = O(h). будем априори считать его устойчивым.
2 ∂x 2
Заметим, что в (3.2) используется правая производная (2.2), которая
Иначе говоря, порядок аппроксимации для центральной производ- имеет погрешность аппроксимации первого порядка точности, как след-
ной, равный двум на равномерной сетке, на неравномерной сетке пони- ствие, метод Эйлера представляет собой метод первого порядка точно-
жается до первого. Таким образом, сильная неравномерность сетки, ко- сти.
гда соседние интервалы резко отличаются друг от друга по величине,
11 12
Пример. Рассматривается задача Коши: un +1 − un −1
= G ( xn , yn ), n = 1, 2,..., N − 1,
y ' = ay + bx, a = const, b = const, 2h
(3.3)
y (0) = 1. u0 = U 0 , (3.7)
Ее точное решение есть u = u + hG ( x , y ).
1 0 0 0
b b b
y = 1 + 2 e ax − x − 2 . (3.4)
a a a Убедиться, что разностная схема (3.7) имеет второй порядок точно-
Положим, нас интересует решение на отрезке [0, 2] . Введём сетку сти.
2. С помощью метода Эйлера вычислить и исследовать на сходи-
2
ωh = {xi = hi, i = 0,..., N } , где h = . Запишем в соответствии с (3.2) мость нижеприведенные задачи Коши. То же самое проделать с помо-
N щью разностной схемы на основе центральной производной:
следующую разностную схему:
а) xy '− 2 y = 2 x 4 , y(1) = 2, [1, 2] → y = x 2 + x 4 ,
yi +1 − yi
= ayi + bxi , 2
б) y '+ xy = x, y (0) = 0, [0, 2] → y = 1 − e− x /2
,
h (3.5)
y0 = 1. в) y = x( y '− x cos x), y (1) = sin1, [1,10] → y = x sin x ,
2
После элементарного преобразования получим г) y ' = 2 x( x 2 + y), y (0) = 0, [0, 2] → y = e x − x 2 − 1 ,
yi+1 = (1 + ah) yi + bhxi , 2
д) y ' = y + x 2 , y (0) = −1, [0,3] → y = e− x − x 2 − 2 x − 2 .
(3.6)
y0 = 1.
Осталось создать одномерный массив размера N + 1 , преобразовать
его в соответствии с (3.6) и вывести результаты графически. Найденное
решение нужно проверить на сходимость. Для этого создается дополни-
тельный массив такой же длины N + 1 , который заполняется значения-
ми точного решения (3.4) в узлах сетки. После чего, к разнице массивов
N
применяется норма. Например, y = ∑y h
i =0
2
i i . Программа должна со-
13 14
области и соответственно ввести на ее границах граничные условия.
Пусть, к примеру, эта область – отрезок [a, b] . Как следует из теории
решения дифференциальных уравнений, в случае ξ > 0 для решения
уравнения переноса необходимо задать граничное условие в x = a (при
ξ < 0 граничное условие задается в x = b ). В газовой динамике гранич-
ГЛАВА 2
ные условия имеют вид
f ( a , t ) = g (t ) . (4.5)
ЧИСЛЕННОЕ РЕШЕНИЕ УРАВНЕНИЯ Аналитическое решение задачи (4.1) – (4.2) и (4.5) есть
ПЕРЕНОСА x−a
g t − , a ≤ x ≤ a + ξ t,
f ( x, t ) = ξ (4.6)
§ 4. Уравнение переноса ϕ ( x − ξ t ), a + ξ t < x ≤ b.
В нашем курсе мы будем иметь дело с дифференциальными уравне- Кажется, что в численных методах всё также нет нужды: если гра-
ниями в частных производных. Напомним, что дифференциальным ничное условие g (t ) известно, решение находится с помощью (4.6). В
уравнением в частных производных называется уравнение, связываю-
щее между собой каким-либо способом частные производные функции действительности, проблематика решения (4.1) – (4.2) и (4.5) возникает
в динамике разреженных газов (на практическое приложение к которо-
от нескольких переменных. Мы подробно изучим простейшее диффе-
му и ориентируется этот курс) при решении кинетического уравнения
ренциальное уравнение в частных производных – линейное однородное
Больцмана, которое в одномерном случае и в отсутствие столкновений
уравнение переноса:
между молекулами газа принимает вид уравнения переноса:
∂f ∂f
+ξ = 0. (4.1) ∂f ∂f
∂t ∂x +ξ = 0.
∂t ∂x
Здесь функция f ( x, t ) является функцией от двух переменных x и t ,
Его отличие от уравнения переноса заключается в том, что здесь
ξ – параметр уравнения. Для этого уравнения рассматривается задача f = f (t , x, ξ ) – функция, зависящая уже от трёх переменных (скорость
Коши: при t = 0, решение удовлетворяет некоторому начальному усло- ξ стала одной из переменной, в то время как в (4.1) она была парамет-
вию:
ром). Это так называемая функция распределения, представляющая со-
f ( x, 0) = ϕ ( x) . (4.2)
бой плотность газа в ( x, ξ ) -пространстве. Для неё граничное условие
Решение задачи (4.1) – (4.2) представляет собой волну:
аналогично (4.5), но более сложно:
f ( x, t ) = ϕ ( x − ξ t ) , (4.3)
f (a, t , ξ ) = G ( f (a, t , ξ < 0)) ,
распространяющуюся со скоростью ξ . В этом легко убедиться, подста-
где G – некоторый, в общем случае интегральный, функционал от
вив (4.3) в (4.1) – (4.2). функции распределения при отрицательных скоростях. Иначе говоря,
В соответствии с (4.3) для решения уравнения переноса можно запи-
чтобы найти граничное условие g (t ) для какой-либо заданной положи-
сать следующее свойство:
f ( x, t ) = f ( x − ξ (t − t0 ), t0 ) . (4.4) тельной скорости (которое мы могли бы подставить в (4.6), чтобы полу-
чить решение для этой скорости), необходимо знать значения функции
Решение легко найдено аналитически, и формально привлечение распределения в этой точке при всех отрицательных скоростях. Однако
численных методов не требуется. Однако (4.3) найдено в предположе- для этого в свою очередь нужно знать граничное условие для каждой
нии, что начальное условие и само решение определены на всей число-
отрицательной скорости в x = b . Но для этого требуются значения
вой оси. Ситуация усложняется, если решать задачу в ограниченной
функции распределения в этой точке для всех положительных скоро-
15 16
стей, для чего необходимо знать их граничные условия в x = a и т.д. j +1 ξτ j ξτ j
fi = 1 − fi + f i −1 , i = 1, 2,..., N ,
h
Итак, кинетическое уравнение в общем случае не решается аналитиче-
ски и требует привлечения вычислительных методов. Изучение разно- h (5.3)
f 0 = ϕ (x ) = ϕ .
стных схем, аппроксимирующих уравнение переноса, позволит легко i i i
освоить основы вычислительных методов и впоследствии (глава 5) при- Итак, как видно из (5.3), дифференциальная задача в частных произ-
менить их к кинетическому уравнению. водных свелась к алгоритму, основанному на простейших арифметиче-
ских операциях, выполняемых над одномерным массивом f i . Однако из
§ 5. Шаблоны. Явные и неявные схемы (5.3) неясно, как вычислять значение функции в нулевом узле. Для этого
требуется разностное граничное условие. Оно получается путём ап-
В главе 1 мы видели, что один и тот же дифференциальный оператор проксимации граничного условия (4.5). Сейчас остановимся на самом
можно аппроксимировать различными разностными операторами. Как простом граничном условии:
следствие, существует ещё большее множество комбинационных вари-
f0j = 0 . (5.4)
антов аппроксимации дифференциального уравнения в частных произ-
водных. Приведём простейший из них: Поясним физический смысл (5.4). Пусть начальное условие пред-
f i j +1 − f i j f j − f i −j1 ставляет собой «пакет»: функция ϕ ( x) принимает ненулевые значения в
+ξ i = 0. (5.1) конечной области пространства. Иначе говоря, имеется сгусток газа,
τ h
Получившееся уравнение называется разностной схемой. Участ- локализованный в некоторой области. Как видно из аналитического ре-
вующий в этой записи набор узлов называется шения (4.3), этот пакет будет распространяться со скоростью ξ , не ме-
i, j + 1 няя своей формы. При положительной скорости, когда пакет уходит
шаблоном. В данном случае схема связывает значе-
ние решения в трёх точках, которые образуют кон- вправо, f 0 = 0 всё время. Как будет показано ниже, схема «левый уго-
фигурацию «левый уголок» (рис. 2.1). Погрешность лок» применима только при положительных значениях скорости (при
аппроксимации уравнения (4.1) разностным урав- отрицательных скоростях применяется схема «правый уголок»). Итак,
нением (5.1) имеет первый порядок по времени и i − 1, j i, j для такого типа начальных условий граничное условие (5.4) будет верно
пространству O(τ + h) . На основе центральной отображать физическую реальность.
Рис. 2.1 До сих пор для разностной аппроксимации пространственной произ-
производной можно построить разностное уравне-
ние, которое имеет более высокий порядок точности по пространству: водной мы использовали значения с предыдущего (нижнего) временно-
f i j +1 − f i j f j − f i −j1 го слоя. Разностные уравнения, построенные по такому принципу, на-
+ ξ i +1 = 0. (5.2) зываются явными. Очевидно, при записи разностных уравнений можно
τ 2h пользоваться и «верхним» временным слоем. Например, «неявный ле-
Оно имеет порядок точности O(τ + h2 ) . Однако, как мы увидим вый уголок»:
дальше, эта схема неустойчива и, как следствие, нефункциональна. По- f i j +1 − f i j f j +1 − f i −j1+1
этому для дальнейшего рассмотрения возьмём схему «левый уголок». +ξ i = 0. (5.5)
τ h
Введём равномерную сетку ωh = {xi = ih, i = 0,..., N } . Делая элементар- Разностное уравнение (5.5) называется неявным – здесь на верхнем
ные преобразования разностного уравнения (5.1) и аппроксимируя на- слое оказывается «завязанными» несколько различных неизвестных
чальное условие (4.2), получим, что задача Коши (4.1) – (4.2) аппрокси- величин, и получить явную формулу, аналогичную (5.3), для их выра-
мируется разностной задачей: жения только через значения функции на j -м слое не удаётся. В общем
случае это приводит к необходимости решать систему линейных урав-
нений. Однако в данном случае, несмотря на то что схема формально
является неявной, она легко разрешается явным образом. Пусть значе-
17 18
ния сеточной функции на j -м слое известны, а значение f0j +1 опреде- условий. Выразим это математически. Пусть требуется найти решение
ляется из граничного условия (например, из условия, аналогичного ус- u ( x, t ) дифференциальной задачи:
ловию (5.4)). «Прикладывая» шаблон к узлу i = 1 , мы по известным зна- ∂u
чениям f0j +1 и f1 j вычисляем с помощью уравнения (5.5) значение ∂t = Lu + f ( x, t ),
f1 j + γ f 0 j +1 ξτ ly = µ (t ), (6.1)
f1 j +1 = , где γ = . u ( x, 0) = u ( x).
1+ γ h 0
*
В данном выражении верхний индекс означает разное для левой и правой
§ 7. Спектральный признак частей. В левой части он в соответствии с принятыми ранее обозначениями ин-
дексирует временной слой, а в правой части в соответствии с принятыми в ал-
Теорема Куранта зачастую дает слишком общее необходимое усло-
гебре обозначениями показывает степень. Кроме того, при обозначении индекса
вие устойчивости. В случае, если оператор Lh линеен, дополнительное узлов мы сменили привычное i на k, чтобы не спутать с мнимой единицей в
исследование устойчивости можно осуществить с помощью спектраль- правой части.
ного признака, который для уравнения с постоянными коэффициентами
21 22
Аналогичным образом можно показать, что схема «правый уголок»: e − x / 2 − e −9/ 2 , x ∈ [−3,3],
2
f i j +1 − f i j f j − fi j f ( x, 0) =
+ ξ i +1 =0 (7.4)
0, x ∈ (−∞,3) ∪ (3, ∞).
τ h
ξτ Проделать всё то же самое, что и в первой задаче.
устойчива при −1 ≤ <0. По итогам выполнения двух задач проанализировать влияние на по-
h грешность вычисления резких изменений функции в пространстве.
С помощью принципа максимума нетрудно доказать, что для данных
схем спектральный признак является и достаточным условием. III. Схема с центральной разностью
С помощью спектрального признака можно показать, что схема «не- С помощью спектрального признака исследовать на устойчивость
явный левый уголок» при ξ > 0 является безусловно устойчивой. Она схему с центральной разностью. Доказать, что она абсолютно неустой-
устойчива при любом соотношении шагов по пространству и времени. чива.
§ 8. Практическое занятие
I. «Прямоугольный импульс»
1. Вычислить с помощью «левого уголка» решение уравнения пере-
носа (4.1) со следующим начальным условием:
1, x ∈ [−3,3],
f ( x, 0) =
0, x ∈ (−∞,3) ∪ (3, ∞).
Следует «обрезать» действительную ось, введя сетку на достаточно
большом, но конечном отрезке. Практично будет взять отрезок
[−20, 20] . Сетка в таком случае имеет следующий вид:
ωh = {xi = 20(i − n) / n, i = 0,..., 2n}
Граничное условие (5.4). Решение разумно искать на временах, не
больших, чем tкр = 17 / ξ (пока «прямоугольный импульс» не «коснул-
ся» границы), иначе решение «уйдет».
Отобразить графически вычисленное решение. Для наглядности по-
казать на том же графике точное решение, строящееся в соответствии с
(4.3). Используя точное решение, необходимо исследовать погрешность
вычисления в зависимости от
− числа Куранта (исследовать схему на сходимость),
− шага по пространству (определить порядок сходимости).
Итогом задания должны быть графики вычисленного и точного ре-
шений.
2. Проделать то же самое для схемы «неявный левый уголок».
II. «Колокол»
Начальное условие:
23 24
∂f ∂f
( xi , t j +1/2 ) + ξ ( xi , t j +1/2 ) = 0 .
∂t ∂x
Применяя правило «середины отрезка» как по отношению к времен-
ной производной, так и пространственной производной, получим
f ( xi , t j +1 ) − f ( xi , t j ) f ( xi +1/2 , t j +1/2 ) − f ( xi −1/2 , t j +1/2 )
ГЛАВА 3 +ξ = O (h 2 + τ 2 ). (9.2)
τ h
Здесь xi +1/2 = xi + h / 2 . Преобразовав в соответствии с (4.4) выражения
РАЗНОСТНЫЕ СХЕМЫ ВТОРОГО ПОРЯДКА f ( xi±1/2 , t j +1/2 ) = f ( xi±1/2 − ξτ / 2, t j ) ,
ТОЧНОСТИ перепишем (9.2):
С помощью спектрального признака нетрудно доказать, что явная f ( xi , t j +1 ) − f ( xi , t j ) f ( xi +1/ 2 − ξτ 2, t j )
схема (5.2) с центральной производной – абсолютно неустойчива (упр. 3 +ξ −
τ h
(9.3)
главы 2). Кроме того, она имеет первый порядок точности по временно- f ( xi −1/ 2 − ξτ 2 , t j ) 2 2
му шагу O(τ + h2 ) , что с учётом условия Куранта, линейно связываю- −ξ = O(h + τ ).
h
щего шаг по времени с шагом по пространству, делает схему фактиче- Запишем разложение решения в ряд Тейлора по пространственной
ски первого порядка точности. Однако можно модифицировать схему переменной:
таким образом, чтобы она стала устойчивой и с точностью порядка
± h − ξτ
O(τ 2 + h2 ) . Ниже мы проведём модификацию тремя различными спосо- f ( xi ±1/2 − ξτ / 2, t j ) = f ( xi + ,t j ) =
2
бами, записав три разностные схемы. 2
∂f ± h − ξτ 1 ∂ 2 f ± h − ξτ
= f ( xi , t j ) + ( xi , t j ) + ( xi , t j ) + O ( h3 + τ 3 ) =
∂x 2 2 ∂x 2 2
§ 9. Явная четырехточечная схема Лакса–Вендроффа
f ( xi +1 , t j ) − f ( xi −1 , t j ) ± h − ξτ
Выпишем для начала правило «середины отрезка» для производной = f ( xi , t j ) + +
2h 2
произвольной функции ϕ ( y ) , которое будет применяться нами далее:
f ( xi +1 , t j ) + f ( xi −1 , t j ) − 2 f ( xi , t j ) ± h − ξτ 2
+ + O(h3 + τ 3 ).
2
ϕ ( y0 + ∆ / 2) − ϕ ( y0 − ∆ / 2) 2h 2
ϕ '( y0 ) = + O(∆ 2 ) . (9.1)
∆
Подставляя последние выражения в (9.3), нетрудно получить оконча-
Его легко получить, разложив функцию ϕ ( y ) в ряд Тейлора около точ- тельное соотношение для значений точного решения уравнения перено-
ки y0 : са в узлах сетки:
1 f ( xi , t j +1 ) − f ( xi , t j ) f ( xi +1 , t j ) − f ( xi −1 , t j )
ϕ ( y ) = ϕ ( y0 ) + ϕ '( y0 )( y − y0 ) + ϕ ''( y0 )( y − y0 ) 2 + O (( y − y0 )3 ) . +ξ −
2 τ 2h
(9.4)
Подставив в него y1,2 = y0 ± ∆ / 2 , вычтя одно уравнение из другого и τξ 2 f ( xi +1 , t j ) + f ( xi −1 , t j ) − 2 f ( xi , t j ) 2 2
− = O ( h + τ ).
разделив полученное выражение на ∆ , придём к (9.1). На основе этого 2 h2
правила получается выражение для центральной производной (1.3). Аппроксимируем уравнение (9.4) для того, чтобы получить разност-
Перейдём к непосредственному построению схемы. Введя обозначе- ную схему. Для этого мы должны: а) отбросить малые члены в уравне-
ние для полуцелого временного слоя t j +1/2 = t j + τ / 2 , запишем уравне- нии и б) заменить проекцию точного решения f ( xi , t j ) разностной
ние переноса для точки ( xi , t j +1/2 ) : функцией fi j . Получающаяся явная четырехточечная схема имеет вид
25 26
f i j +1 − f i j
f i +j1 − f i −j1 τξ 2 f i +j1 + f i −j1 − 2 f i j ∂f f ( xi , t j +1 ) − f ( xi , t j )
+ξ − = 0, i = 1,..., N − 1 . (9.5) ( xi , t j +1/2 ) = + O (τ 2 ) .
τ 2h 2 h2 ∂t τ
Поскольку мы отбросили члены второго порядка малости, порядок С другой стороны, если разложить в ряд Тейлора по t возле точки
точности схемы O(τ 2 + h2 ) . Схема (9.5) устойчива при ξτ / h ≤ 1 (это t j +1/2 пространственную производную, легко получить, что
можно проверить с помощью спектрального признака). Пусть ξ > 0 , ∂f 1 ∂f ∂f
( xi , t j +1/2 ) = ( xi , t j ) + ( xi , t j +1 ) + O (τ 2 ) .
тогда в соответствии с (4.5) для левой стороны отрезка имеется гранич- ∂x 2 ∂x ∂x
ное условие Подставив оба равенства в уравнение переноса, получим
f (0, t ) = g (t ) , f ( xi , t j +1 ) − f ( xi , t j ) ξ ∂f ∂f
которое при аппроксимации позволяет вычислить + ( xi , t j ) + ( xi , t j +1 ) + O (τ 2 ) = 0 .
τ 2 ∂x ∂x
f 0 j +1 = g (t j +1 ) . Запишем разностную схему, аппроксимировав пространственные
В таком случае для вычисления f Nj +1 требуется доопределить (9.5) производные со вторым порядком:
«левым уголком»: f i j +1 − f i j ξ f i +j 1 − f i −j 1 f i +j 1+1 − f i −j 1+1
+ + = 0, i = 1, 2,..., N − 1. (10.1)
f Nj +1 − f Nj f j − f Nj−1 τ 2 2h 2h
+ξ N = 0. (9.6)
τ h Полученная схема носит название неявная шеститочечная схема
Аналогично, если ξ < 0 , граничное условие задает значение f Nj +1 , а (см. рис. 3.1). Она имеет порядок точности O(τ 2 + h2 ) и устойчива при
значение f0j +1 определяется правым уголком. Применение на границе любых соотношениях между шагами сетки h и τ . Аналогично (9.6) для
схем первого порядка понижает степень точности вычисления лишь вычисления одной из граничных точек можно использовать неявные
локально и не понижает общую точность. схемы первого порядка. Например «неявный левый уголок»:
В заключение приведём уравнение (9.5), преобразованное для прак- f Nj +1 − f Nj f j +1 − f Nj−+11
+ξ N = 0. (10.2)
тического применения: τ h
γ γ Как мы уже упоминали ранее, использование неявных разностных
f i j +1 = (1 + γ ) fi −j1 + (1 − γ 2 ) fi j − (1 − γ ) f i +j1 ,
2 2 (9.7) схем приводит к необходимости решать системы алгебраических урав-
i = 1, 2,..., N − 1, γ = ξτ / h. нений. Важным частным случаем являются
системы так называемых «трёхточечных» i − 1, j + 1 i + 1, j + 1
разностных уравнений, которые связывают
§ 10. Неявная шеститочечная схема. Метод прогонки неизвестные значения сеточных функций в
трёх соседних узлах сетки. Именно таким
Следующий способ решить проблему устойчивости схемы с цен-
является уравнение (10.1). Решать такие
тральной разностью – записать ее в неявном виде: i − 1, j i, j i + 1, j
системы позволяет известный метод про-
f i j +1 − f i j f j +1 − f i −j1+1 гонки, который мы здесь кратко изложим.
+ ξ i +1 = 0. Рис. 3.1
τ 2h
В отличие от явной схемы эта схема устойчива при любом соотно- Метод прогонки
шении пространственных и временных шагов. Однако она также имеет Система трёхточечных линейных уравнений для сеточной функции
первый порядок точности по времени. Модифицируем ее, чтобы полу- y = { y0 , y1 ,..., yN } в общем случае может быть записана в виде
чить точность O(τ 2 + h2 ) . В соответствии с правилом середины отрезка Ai yi −1 + Bi yi + Ci yi +1 = Di , i = 1, 2,..., N − 1 . (10.3)
27 28
Граничные условия для достаточно широкого класса задач могут ( α N и β N уже вычислены в ходе прямой прогонки). После несложных
быть приведены к форме преобразований получим
y0 = λ1 y1 + ν 1 , yN = λ2 y N −1 + ν 2 . (10.4) y N = (ν 2 + λ2 β N ) / (1 − λ2α N ) . (10.8)
К примеру, в граничном условии, аналогичном (10.2), Проиллюстрируем метод прогонки на примере шеститочечной неяв-
ξτ h ной схемы (10.1). Приведём ее к виду (10.3):
λ2 = , ν2 = yɶ N
h + ξτ h + ξτ γ γ γ
− fi −j 1+1 + fi j +1 + f i +j 1+1 = fi j −
( f i +j 1 − fi −j 1 ),
(волной обозначено, что yɶ N взято из предыдущего временного слоя). 4 4 4 (10.9)
Решение задачи (10.3) – (10.4) в методе прогонки ищется в виде i = 1, 2,..., N − 1, γ = ξτ / h.
yi = α i +1 yi +1 + β i +1 , i = 0,1,..., N − 1 , (10.5) Здесь искомой разностной функцией выступает функции распреде-
где α i , βi (i = 1, 2,..., N ) – неизвестные пока коэффициенты прогонки. ления на верхнем временном слое f j +1 , в свою очередь коэффициенты в
Исключая с помощью (10.5) из (10.3) последовательно значения yi −1 и (10.3) принимают значения
yi , приходим к равенству γ γ γ
Ai = − , Bi = 1, Ci = , Di = f i j − ( f i +j 1 − f i −j1 ) .
[α i +1 ( Aiα i + Bi ) + Ci ] yi +1 + ( Aiα i + Bi ) β i +1 + Ai β i − Di = 0. 4 4 4
Граничные условия возьмём тривиальными:
Это равенство, а следовательно, и уравнение (10.3), из которого оно по-
f0j = 0, f Nj = 0
лучено, автоматически удовлетворяются, если коэффициенты при yi (а с
(считаем, что решение не доходит до границ). В результате
ними и свободная часть) будут тождественно равны нулю:
1
α i +1 ( Aiα i + Bi ) + Ci = 0, ( Aiα i + Bi ) βi +1 + Ai βi − Di = 0 . α1 = 0, β1 = 0, α i +1 = ,
αi − 4 / γ
Из двух последних равенств следуют рекуррентные формулы для ко- (10.10)
эффициентов прогонки: βi + 4 Di / γ
βi +1 = − , i = 1, 2,..., N − 1.
α i+1 = −Ci / ( Aiα i + Bi ), αi − 4 / γ
βi +1 = ( Di − Ai β i ) / ( Aiα i + Bi ), (10.6) После чего применяем (10.5), начиная с f Nj +1 = 0 .
i = 1, 2,..., N − 1.
Чтобы вычислить по этим формулам значения α i и β i во всех узлах § 11. Трёхслойная разностная схема
сетки, т.е., как говорят, выполнить прямую прогонку, нужно знать зна-
чения α1 и β1 . Эти числа определяются с помощью левого краевого Используя разностный оператор центральной производной по вре-
мени
условия (10.4):
y j +1 − yij −1
α1 = λ1 , β1 = ν 1 . (10.7) yt = i , (11.1)
2τ
Обратная прогонка проводится по формуле (10.5). По найденным
имеющий второй порядок аппроксимации, приведём ещё одну разност-
значениям α i , β i определяются искомые значения сеточной функции
ную схему второго порядка для уравнения переноса:
yi , i = N − 1, N − 2,..., 0 . Исходное значение y N , с которого начинается f i j +1 − f i j −1 f j − f i −j 1
обратная прогонка, определяется на основании совместного решения + ξ i +1 = 0, i = 1, 2,..., N − 1 . (11.2)
2τ 2h
правого краевого условия в (10.4) и соотношения (10.5), записанного в
точке i = N : Схема имеет порядок точности O(h2 + τ 2 ) и устойчива при любых
y N −1 = α N yN + β N соотношениях между шагами сетки h и τ . Схемы, связывающие по-
29 30
добно (11.2) значения решения на трёх временных слоях, называются
трёхслойными.
1.2
0.8
0.6
0.4
0.2
-0.2
-0.4
-20 -15 -10 -5 0 5 10 15 20
Рис. 4.1
31 32
изменениях функции распределения может стать немалой, в результате Они оба неотрицательны при 0 < ξτ / h ≤ 1 , т.е. если схема «левый
чего само понятие аппроксимации теряет смысл (см. главу 1). уголок» устойчива, то она и монотонна. Это наглядно видно при выпол-
В связи с этим мы приходим к понятию «живучести» схемы (в анг- нении задания главы 2: «прямоугольный импульс», вычисленный с по-
лийской литературе robust) – способности схемы адекватно отображать мощью «левого уголка», получается без ложных осцилляций (рис. 4.2).
поведение точного решения даже в такой жесткой постановке задачи
(при наличии сильных градиентов в точном решении). Критериями аде-
кватности выступает в том числе сохранение для численного решения 1
y j +1 = Sy j . (13.1)
Разностный оператор S называют оператором шага. 0
Определение 4.1. Разностная схема называется монотонной, если -20 -15 -10 -5 0 5 10 15 20
оператор шага переводит монотонную сеточную функцию y j в моно-
тонную сеточную функцию y j +1 с тем же направлением роста значе- Рис. 4.2
где p1 ≥ 0, p2 ≥ 0, p1 + p2 > 0 . Разностная схема (13.2) монотонна то- где α = O(h) выступает аналогом коэффициента теплопроводности
гда и только тогда, когда все коэффициенты α k неотрицательны. (или дуффузии). А, как известно, в отличие от уравнения переноса,
уравнение теплопроводности сглаживает решение со временем. Термин
Доказательство теоремы приводится в приложении. вязкость по отношению к разностной схеме возникает из физического
Можно привести ряд схем первого порядка точности, которые при смысла коэффициента при второй производной по координате в уравне-
определенном ограничении на число Куранта удовлетворяют (13.2) и нии Навье–Стокса.
являются монотонными. К примеру, легко видеть, что в схеме «левый Сложнее обстоит дело в случае разностных схем второго и более вы-
уголок», записанной в виде (5.3), коэффициенты имеют вид соких порядков аппроксимации.
ξτ ξτ
α 0 = 1 − , α −1 = .
h h
33 34
Теорема 4.2 (Годунов). Среди линейных схем, аппроксимирующих 1 3 5
уравнение переноса с порядком точности n > 1 , нет схемы, удовлетво- мерами , , ,…, а сами слои занумерованы целыми номерами 0, 1,
2 2 2
ряющей условию монотонности. 2,… Величину f ( x, t ) будем предполагать внутри каждого слоя линей-
Тем не менее на гладких решениях схемы высоких порядков аппрок-
ной:
симации имеют преимущество по точности по сравнению со схемами
первого порядка, позволяя получать приемлемые результаты даже на f ( x, t j ) = f i j + σ i j ( x − xi ) , (13.3)
грубых пространственных сетках (на которых и решается большинство где
реальных задач). В связи с этим был предложен ряд приемов монотони- 1 h
зации разностных схем высоких порядков аппроксимации: ( xi−1/ 2 + xi+1/2 ) = xi−1/2 + .
xi =
2 2
− введение членов с искусственной вязкостью, Выполним последовательно интегрирование для каждого слоя по
− применение различных операторов сглаживания или осреднения. пространству и временному шагу:
t j +1 x +1/2
∂f ∂f
∫ ∫
1.2
∂t + ξ ∂x dxdt = 0,
tj xi −1/ 2
1
t j +1
0.8 (
h f i j +1 − f i j + ξ ) ∫ ( f (x i +1/2 , t ) − f ( xi −1/2 , t ) ) dt = 0.
tj
0.2
( )
h f i j +1 − f i j + ξ ∫ ( f (x i +1/ 2 )
− ξ (t − t j ), t j ) − f ( xi −1/ 2 − ξ (t − t j ), t j ) dt = 0,
tj
t j +1
0 h
( )
h fi j +1 − f i j + ξ ∫ f i
j
( )
− f i −j1 + σ i j − σ i j−1 − ξ (t − t j ) dt = 0.
2
-0.2 tj
-20 -15 -10 -5 0 5 10 15 20
В итоге получаем конечное выражение для fi j +1 :
Рис. 4.3 γ
К примеру, решение той же самой задачи с «прямоугольным им-
( )
f i j +1 = f i j − γ f i j − f i −j1 − (1 − γ ) h σ i j − σ i −j 1 .
2
(13.4) ( )
пульсом», вычисленное с помощью четырехточечной схемы Лакса– В иностранной литературе этот трёхшажный алгоритм называется
Вендроффа, имеет более приемлемый вид (рис. 4.3). REA (reconstruct-evolve-average).
Следует отметить, что эти приемы не обеспечивают наличие моно- Сразу заметим, что схема первого порядка соответствует нулевому
тонности, а лишь уменьшают амплитуду паразитических осцилляций. наклону функции внутри слоя:
Можно наглядно продемонстрировать причины нарушения моно- σ ij = 0.
тонности схемы, приводящие к столь печальным последствиям. Для
Впервые монотонную схему с такой кусочно-константной аппрок-
этого используем метод кусочно-линейной реконструкции. Представим
симацией описал в своей работе Годунов ещё в 1959 году, за что и по-
себе, что пространство, процессы в котором мы предполагаем рассчи-
лучил широкую известность за рубежом.
тывать, разделёно на ряд слоёв при помощи точек с «полуцелыми» но-
При использовании схемы Лакса–Вендроффа, для которой справед-
ливо
35 36
∞
f i +j1 − f i j
σ ij = , TV( y ) = ∑ yi − yi −1 < ∞ . (14.1)
h −∞
паразитические осцилляции формируются, как показано на рис. 4.4. Он является разностным аналогом функционала, определенного на
Выходом в этой ситуации является введение определённых условий, непрерывных функциях (в том случае, если значение функционала на
ограничивающих значения угла наклона. Легко видеть, например, что этих функциях ограничено):
простые ограничения ∞
∂u
j f i +j1 − f i j TV(u ( x)) = ∫ dx < ∞ , (14.2)
σ ≤ 2 , −∞ ∂x
i h который также называется полной вариацией.
j j
(13.5)
σ j ≤ 2 f i − f i −1 Определение 4.3. Назовем разностную схему TVD-схемой, если для
i
h неё выполняется TVD-условие:
для монотонной функции и тождество σ ij = 0 для экстремумов обеспе- ∀ y j : TV( y j +1 ) ≤ TV( y j ) . (14.3)
чивают свойство монотонности разностной схемы. В следующем пара- Пусть имеется схема вида
графе будет дан формальный вывод необходимых условий. yij +1 = yij + H ( yij− p1 ,..., yij ,..., yij+ p2 ), p1 ≥ 0, p2 ≥ 0, p1 + p2 > 0, (14.4)
37 38
Опираясь на эту теорему, начнем непосредственное построение
TVD-схемы второго порядка точности для уравнения переноса. Выпи- xi +1/2 − ξτ ξ >0
шем соотношение (9.3): xi −1 xi +2
xi xi +1
f ( xi , t j +1 ) − f ( xi , t j ) f ( xi +1/2 − ξτ / 2, t j )
+ξ −
τ h
f ( xi −1/2 − ξτ / 2, t j )
ξ <0
xi +1/2 − ξτ
−ξ = O(h 2 + τ 2 ).
h
xi −1 xi xi +1 xi +2
Аппроксимируем его, перейдя к разностной схеме. Для этого мы
должны:
− отбросить малые члены в уравнении, Рис. 4.5
− заменить проекцию точного решения разностной функцией fi j ,
Введём дополнительные ограничения на вид α , вытекающие из ли-
− заменить значение точного решения в точках вида нейности уравнения переноса. В соответствии с теоремой 4.2, для того
1 i, ξ > 0, чтобы схема (14.8) – (14.9) удовлетворяла TVD-условию, она должна
xi +1/ 2 − ξτ / 2 = xk + sgn(ξ )(1 − γ )h, γ = ξτ / h , k =
2 i + 1, ξ < 0 быть нелинейной, т.е. в общем случае для произвольных чисел C1 , C2 и
ɶ j разностных функций y и w
некоторой комбинацией f i +1/2 значений разностной функции в соседних
(C1 y + C2 w) j +1 ≠ C1 y j +1 + C2 w j +1 .
с xi +1/2 − ξτ / 2 узлах:
Но в силу того, что изначальное уравнение переноса линейно, потре-
f i j +1 − f i j fɶ j − fɶi −j1/2 буем для схемы (14.8) – (14.9) выполнение ограниченного свойства ли-
+ ξ i +1/2 =0. (14.8)
τ h нейности:
Комбинацию fɶi +j1/2 мы будем искать в виде (Cf ) j +1 = Cf j +1 , ( f + C ) j +1 = f j +1 + C. (14.11)
1 В таком случае можно говорить о квазилинейной схеме. Нетрудно
fɶi +j 1/ 2 = f k j + sgn(ξ )(1 − γ )α ( f k j−1 , f k j , f k j+1 )( f i +j 1 − f i j ) (14.9) заметить, что из (14.11) сразу же вытекают условия для оператора α :
2
и α – неизвестный пока разностный оператор, вид которого нам пред- α (Cf k j−1 , Cf k j , Cf k j+1 ) = α ( f k j−1 , f k j , f k j+1 ),
(14.12)
стоит выяснить. Выбор числа k обусловлен тем, что при ξ < 0 сосед- α ( f k −j 1 + C , f k j + C , f k j+1 + C ) = α ( f k j−1 , f k j , f k j+1 ).
ними узлами для точки xi +1/2 − ξτ / 2 уже является тройка узлов Введём новую разностную функцию:
xi , xi +1 , xi +2 (см. рис. 4.5). Из самого вида (14.9) нетрудно понять, что f i j − fi −j1
j j
, ξ > 0,
оператор α – некоторый коэффициент, с которым мы берем правую j f i +1 − f i
разностную производную, когда восстанавливаем значение решения в θi +1/2 = j j
(14.13)
f i +2 − f i +1 , ξ < 0.
точках xi +1/2 − ξτ / 2 . fi +j1 − fi j
Лемма 4.1. Для того чтобы схема (14.8) – (14.9) аппроксимировала
уравнение переноса со вторым порядком точности, разностный опе- Условия (14.12) эквивалентны тому, что α можно представить как
ратор α должен удовлетворять условию функцию одной переменной:
∀ i, ∀ f ( x, t ) : α ( f ( xi −1 , t j ), f ( xi , t j ), f ( xi +1 , t j )) = 1 + O(h) . (14.10) α ( f k j−1 , f k j , f k j+1 ) = φ (θi +j 1/2 ), (14.14)
Доказательство леммы приводится в приложении. которая называется ограничителем (в английской литературе limiter).
39 40
Перепишем (14.10) по отношению к оператору φ (мы возьмём, для f j − Ci ( f i j − fi −j1 ), ξ > 0,
примера, случай ξ > 0 , для противоположного случая все выводы ана- f i j +1 = i j j j
f i + Di ( fi +1 − f i ), ξ < 0,
логичны):
где
f ( xi , t j ) − f ( xi −1 , t j )
φ φ (θi −j 1/2 )
f ( xi +1 , t j ) − f ( xi , t j )
= 1 + O ( h) . γ
Di = γ + (1 − γ ) − φ (θi +j 1/2 ) ,
2 j
θi −1/2
Пусть f '( xi , t j ) ≠ 0 , тогда для гладкой функции
γ φ (θi +1/2 )
j
f ( xi , t j ) − f ( xi −1 , t j ) f '( xi , t j ) − (1 / 2) f ''( xi , t j )h + O (h 2 ) Ci = γ + 2 (1 − γ ) θ j − φ (θi −j 1/2 ) .
= = i +1/2
f ( xi +1 , t j ) − f ( xi , t j ) f '( xi , t j ) + (1 / 2) f ''( xi , t j )h + O(h 2 ) Здесь мы использовали (14.13) – определение θ . Далее мы рассмотрим
f ''( xi , t j ) случай ξ > 0 , поскольку для противоположного случая все рассуждения
=1− h + O( h 2 )
f '( xi , t j ) аналогичны. Итак,
(здесь штрихами обозначены пространственные производные), и (14.10) f i j +1 = f i j − Ci ( f i j − f i −j1 ),
принимает вид γ φ (θi +j 1/2 ) (14.17)
φ (1 + Ah) = 1 + O (h). (14.15) Ci = γ +
(1 − γ ) j
− φ (θi −j 1/2 ) .
2 θi +1/2
Здесь A = f ''( xi , t j ) / f '( xi , t j ) . Иначе говоря, если φ (1) = 1 и в окрестно- В соответствии с теоремой 4.4 схема (14.17) будет TVD-схемой, если
сти точки θ = 1 не терпит разрывов первого рода, то схема (14.8) – для произвольной разностной функции и любого узла выполняется не-
(14.9) имеет второй порядок точности на гладком решении. Однако в равенство
окрестностях точек экстремума решения (для которых f '( x, t j ) = 0 ) 0 ≤ Ci ≤ 1 . (14.18)
точность локально понижается до первого порядка. В формулах (14.5) – (14.7), составляющих формулировку теоремы,
Из теоремы 4.4 можно вывести такие ограничения на оператор φ , мы взяли частный случай Di = 0 .
при которых схема (14.8) – (14.9) будет удовлетворять TVD-условию. После несложных выкладок из (14.17), (14.18) и условия Куранта
Выпишем схему в соответствии с (14.14) и подставим (14.9) в (14.8): 0 ≤ γ ≤ 1 можно получить неравенство
γ φ (θi +j 1/2 )
f i j +1 = fi j − sgn(ξ )γ ( f k j − f k j−1 ) − (1 − γ ) × 2
− ≤
2
− φ (θi −j 1/2 ) ≤ . (14.19)
2 (14.16) 1− γ j
θi+1/2 γ
(
× φ (θ j
i +1/ 2 )( f j
i +1
j
− f i ) − φ (θ j
i −1/ 2
j j
)( f i − f ) .
i −1 ) Далее потребуем от ограничителя свойство неотрицательности для
Для наглядности запишем (14.16) подробно, выписав k : областей, где функция монотонна:
j γ φ (θ ) ≥ 0, θ ≥ 0 . (14.20)
j j
fi − γ ( f i − f i −1 ) − 2 (1 − γ ) × Смысл этого требования легко понять, рассматривая кусочно-линейную
реконструкцию, описанную в предыдущем параграфе. Условие равенст-
( )
× φ (θ i +j 1/ 2 )( f i +j 1 − f i j ) − φ (θ i −j 1/ 2 )( f i j − fi −j 1 ) , ξ > 0, ва знаков
f i j +1 =
f j + γ ( f j − f j ) − γ (1 − γ ) × ( ) (
sgn σ i j = sgn f i +j1 − f i j ≡ sgn f i j − f i −j1 )
i i +1 i
2 гарантирует правильный наклон по отношению к производной функции.
× φ (θ ( j
i +1/ 2 )( )
f i +j 1 − f i j ) − φ (θ i −j 1/ 2 )( f i j − fi −j 1 ) , ξ < 0. Есть также и другая интерпретация этого требования. Поскольку
наша цель – улучшить схему первого порядка, то нам необходимо
Или
41 42
уменьшать коэффициент схемной вязкости (см. §13), т.е. вводить так φ superbee
называемые антидуффузионные потоки. Отрицательное значение огра- Второй
ничителя лишь усилит размытие решения. порядок MC
В случае экстремума θ < 0 можно также корректировать угол на-
van Leer
клона, однако это не даст выигрыша в точности для исследуемых нами
схем второго порядка (схем с кусочно-линейной реконструкцией), по-
minmod
скольку в точках экстремума функция аппроксимируется параболой, а
не прямой. Отрицательным последствием такой корректировки, соглас-
но (14.19), является сужение области для θ ≥ 0 , где справедливо усло- θ
вие TVD. Таким образом, положим
φ (θ ) = 0, θ < 0 . (14.21) Рис. 4.6
j j
Теперь, используя условие независимости φ (θ i +1/2 ) и φ (θ i −1/2 ) , можно minmod: φ (θ ) = max [ 0, min(1, θ ) ] ,
легко записать искомое нами TVD-условие:
1 + θ
MC: φ (θ ) = max 0, min 2θ , , 2 ,
φ (θ ) = 0, θ < 0, 2
(15.1)
2θ superbee: φ (θ ) = max [ 0, min(2θ ,1), min(θ , 2)] ,
φ (θ ) ≤ , θ ≥ 0, (14.22)
θ+θ
γ
van Leer: φ (θ ) = .
2 1+ θ
0 ≤ φ (θ ) ≤ .
1 − γ На рис. 4.6 изображена так называемая диаграмма Свеби (Sweby), на
Часто это условие сужают требованием φ (θ , γ ) = φ (θ ) , тогда следует которой графически показаны эти ограничители. Серым цветом выде-
лена область, где справедливо условие TVD. После несложных преобра-
переписать (14.22) следующим образом:
зований с учётом (14.13) схема (14.8) – (14.9) приобретает вид
φ (θ ) = 0, θ < 0,
f i j +1 − fi j fɶ j − fɶi −j1/2
φ (θ ) ≤ 2θ , θ ≥ 0, (14.23) + ξ i +1/2 = 0,
0 ≤ φ (θ ) ≤ 2.
τ h
j 1− γ j
(15.2)
В заключение отметим, что TVD-схема сохраняет в том числе неот- f i + 2 ∆f i , ξ > 0,
ɶf j
рицательность решения. Это сразу видно, если переписать (14.17): i +1/2 =
f j − 1 − γ ∆f j , ξ < 0.
fi j +1 = (1 − Ci ) fi j + Ci fi −j1 . i +1 i +1
2
Ввиду (14.18) все коэффициенты неотрицательны. Если для любых уз- Для всех ограничителей справедливо
лов fi j ≥ 0 , то и fi j +1 ≥ 0 . j
∆f i = 0, ( fi +j1 − fi j )( f i j − f i −j1 ) ≤ 0,
а для ( fi+j1 − fi j )( fi j − fi−j1 ) > 0 :
§ 15. Примеры ограничителей. Практический вид а) в случае minmod* limiter:
TVD-схем
*
Ниже представлены распространенные ограничители, удовлетво- Minmod limiter назван по одноимённой функции, которая возвращает ми-
нимум абсолютных значений своих аргументов.
ряющие условиям (14.15) и (14.23):
43 44
( ) 1. Убедиться, что для гладкого решения (начальное условие «коло-
j
∆f i = min f i +j 1 − f i j , f i j − f i −j1 sgn( fi +j 1 − f i j ); (15.3)
кол») все описанные ограничители дают второй порядок точности.
б) в случае MС (monotonized central-difference) limiter: 2. Показать аналитически и проверить экспериментально третий
j fj −fj порядок точности ограничителя (15.7).
∆f i = min i +1 i −1 ,2 f i +j 1 − fi j ,2 f i j − f i −j 1 sgn( f i +j 1 − f i j ); (15.4) 3. Убедиться, что наличие разрывов в решении (начальное условие
2
«прямоугольный импульс») не дает паразитических волн для TVD-схем.
в) в случае superbee limiter: 4. Выяснить, какой из приведенных ограничителей дает более адек-
ватное (менее «размазанное») численное решение в случае разрывов в
j
( (
∆f i = max min 2 f i +j 1 − fi j , f i j − f i −j 1 , )
(15.5)
решении (начальное условие «прямоугольный импульс»).
При анализе сходимости численного решения к разрывному уже
(
min f i +j 1 − f i j ,2 f i j − f i −j1 )) ;
нельзя говорить о порядке аппроксимации, поскольку невозможно ис-
пользовать ряды Тейлора. Поэтому необходимо прибегать к экспери-
г) в случае van Leer limiter: ментальным оценкам порядка сходимости. И тут важным моментом
становится правильный выбор нормы.
j ( f i +j1 − fi j )( f i j − f i −j1 ) Например, при использовании кубической нормы (1.7) погрешность
∆f i = 2 . (15.6) не будет зависеть ни от мелкости разностной сетки, ни от вида ограни-
fi +j1 − f i −j1
чителя, а примет значение около половины высоты «прямоугольного
Кроме того, в предположении φ = φ (θ , γ ) можно, во-первых, исполь- импульса». Для евклидовой нормы (1.6) зависимость есть, но слабая, из-
зовать расширенное условие TVD (14.22), а во-вторых, построить схему за того что значения функции в узлах входит квадратично, в результате
третьего порядка точности как по времени, так и по координате: чего основной вклад в погрешность всё равно делают максимальные
2θ (γ + 1)θ + (2 − γ ) 2 значения ошибки вычисления. Поэтому лучшим выбором является ок-
φ (θ ) = max 0, min , , . (15.7) таэдрическая норма (1.5).
γ 3 1 − γ 5. Показать, что в октаэдрической норме порядок сходимости схем
Третий порядок справедлив на протяжении всего центрального от- первого порядка к разрывному решению равен 1/2, а ограничитель su-
резка, а при γ = 0.5 этот ограничитель превращается в MC limiter. perbee позволяет достигнуть максимального порядка, равного 1, при
Граничные условия для TVD-схем более сложны, чем для обычных этом не «размывая» решение со временем.
схем второго порядка. К примеру, как видно из самой структуры огра- Кроме того, полезно визуально сравнить решения всех описанных
ничителей, при ξ > 0 схему (15.2) нельзя применить к трем точкам: схем, объединив все графики с аналитическим решением, и проследить
зависимость расплытия от времени и числа Куранта.
i = 0,1, N (в случае ξ < 0 к i = 0, N − 1, N ). В следующей главе мы рас-
скажем, как в таком случае вычислять в этих точках значение решения
на новом временном слое. Пока же ограничимся простым граничным
условием вида (5.4), приравнивая их значения к нулю.
45 46
собой плотность вещества, и (17.1), таким образом, выражает обыч-
ный закон сохранения массы.*
Разностный метод, очевидно, применим только к ограниченной об-
ласти, например, к некоторому отрезку [a, b] . Для него закон сохране-
ния вещества (17.1) принимает вид
ГЛАВА 5 ∂M ( t )
+ F (b, t ) − F ( a, t ) = 0 . (17.2)
∂t
КИНЕТИЧЕСКОЕ УРАВНЕНИЕ Здесь введены обозначения для массы вещества
b
БЕССТОЛКНОВИТЕЛЬНОГО ГАЗА M (t ) = ∫ f ( x, t )dx (17.3)
a
∫ f ( x, t )dx = 0 , ∂f ∂G ( f , x )
∂t −∞ + = 0,
∂t ∂x
что в свою очередь означает независимость интеграла от времени. Ус- где функция G удовлетворяет условию
ловие (17.1) не случайно: уравнение переноса возникает при решении G ( f = 0, x ) = 0 .
задач газо- или гидродинамики, в которых функция f ( x, t ) представляет
47 48
ωh = {xi +1 = xi + hi , i = 1,..., N } , Действительно, используя правило «середины отрезка», на основе
такую, что в каждой ячейке лежит только один узел. По временной пе- (17.2) можно записать:
ременной введём стандартную равномерную сетку с временным шагом M (t j +1 ) − M (t j )
+ F (b, t j +1/2 ) − F (a, t j +1/2 ) = O (τ 2 ) .
τ . Поскольку численное решение ищется со вторым порядком точно- τ
сти, разумно требовать, чтобы закон сохранения также аппроксими- С другой стороны, ошибка аппроксимации массы, – очевидно, не-
ровался разностным аналогом со вторым порядком точности. Иначе прерывная функция от времени и
говоря, искомая разностная масса должна аппроксимировать (17.5) со M (t j +1 ) − M (t j ) M j +1 + O(t j +1 , ∆s 2 ) − M j − O(t j , ∆s 2 )
вторым порядком точности. = =
Задав узлы сетки посередине ячеек τ τ
xi = ( si +1/2 + si −1/2 ) / 2 , (17.7) M j +1 − M j ∂ M j +1 − M j
= + O (t j , ∆s 2 ) = + O (∆s 2 ).
можно записать следующий разностный аналог массы: τ ∂t τ
N Подставив это в предыдущее выражение, получим
M j = ∑ fi j ∆si , (17.8) M j +1 − M j
i =1 + F (b, t j +1/2 ) − F (a, t j +1/2 ) = O (τ 2 ) + O(∆s 2 ) ,
аппроксимирующий (17.5) со вторым порядком точности. τ
Действительно, используя разложение Тейлора возле что в свою очередь приводит к (17.10) – (17.11).
Легко видеть, что (17.10) выполняется для схем, которые можно
xi = ( si +1/2 + si −1/2 ) / 2 , легко показать, что
представить в виде
m(t j ) = f ( xi , t j )∆si + O (∆si 3 ) . f i j +1 − f i j Fi +j 1/ 2 − Fi −j 1/ 2
Разностное решение аппроксимирует точное со вторым порядком + = 0, i = 1, 2,..., N (17.12)
τ ∆si
точности, поэтому
Чтобы в этом убедиться, достаточно умножить (17.12) на ∆si и про-
m(t j ) = [ f i j + O(∆si 2 )]∆si + O (∆si 3 ) = f i j ∆si + O (∆si 3 ) . (17.9)
суммировать уравнение по i . Здесь Fi+j1/2 – разностные потоки, аппрок-
Подставив (17.9) в (17.5), получим
N N симирующие (17.4) на границах ячеек si +1/2 , которые получаются из зна-
M (t j ) = ∑ [ f i j ∆si + O (∆si 3 )] = M j + ∑ O (∆si 3 ) = M j + O(∆si 2 ) . чений разностного решения при непосредственном построении схемы.
i =1 i =1
К примеру, в случае равномерной сетки
Здесь мы использовали достаточно очевидное утверждение, что
N ωh = {xi = a + h(i − 1 / 2), i = 1,..., N }, h = (b − a) / N (17.13)
∑ O ( ∆s
i =1
i
3
) = O(∆s 2 ) , где ∆s – некоторый средний размер ячеек. для TVD-схем (если i не являются граничными точками):
Для разностной массы (17.8) можно записать разностный аналог за- F j = ξ fɶ j ,
i +1/2 i +1/2 (17.14)
кона сохранения вещества: где fɶi +j1/2 , напоминаем, получаются с помощью ограничителей.
M j +1 − M j
+ FNj +1/ 2 − F1/j2 = 0, (17.10)
τ
§ 18. Проблема граничных точек для TVD-схем
причем для разностных граничных потоков должны быть верны сле-
дующие равенства: Итак, TVD-схемы, описанные в предыдущей главе, являются кон-
F1/2j = F (a, t j +1/2 ) + O (∆s 2 + τ 2 ), сервативными. Однако формулы (15.2) позволяют вычислить разност-
j 2 2
(17.11) ные потоки (17.14) не для всех i . К примеру, для положительных ско-
FN +1/2 = F (b, t j +1/2 ) + O (∆s + τ ).
49 50
ростей ξ > 0 на сетке (17.13) с помощью (15.2) нельзя вычислить fɶ1/2j , На рис. 5.1 сплошной линией показано точное решение, точками –
разностное решение и пунктирной линией – наклон экстраполяции.
fɶ j и fɶ j . Необходимо доопределить схему.
3/2 N +1/2 Виртуальный узел изображен крестиком. Из рисунка ясно, что операция
1. Значение fɶ1/2j найти легко. В главе 2 говорилось, что для того, зануления повышает точность аппроксимации.
чтобы аналитически найти решение уравнения переноса в ограниченной Подставляя (18.2) в выбранный из (15.3) – (15.6) ограничитель, най-
области, необходимо задать граничное условие для одной из сторон дём fɶNj+1/2 . Легко показать, что получающееся при этом FNj+1/2 удовле-
области, как, например, (4.5): творяет условию (17.11). Рассмотрим 2 f Nj − f Nj−1 > 0 :
f ( a , t ) = g (t ) .
F (b, t j +1/ 2 ) = ξ f ( xN + h / 2, t j +1/ 2 ) = ξ f ( xN + (1 − γ )h / 2, t j ) =
ɶ j
В таком случае f получается аппроксимацией этого граничного
1/2 h ∂f
условия: ( xN , t j ) + O (h 2 ) =
= ξ f ( xN , t j ) + ξ (1 − γ )
2 ∂x
fɶ1/2j = g (t j +1/2 ) . (18.1) h f Nj − f Nj −1
Мы взяли такую аппроксимацию, чтобы (18.1) удовлетворяло (17.11). = ξ f Nj + ξ (1 − γ ) + O(h 2 ) = FNj +1/ 2 + O(h 2 ).
2 h
При выводе использовалось свойство точного решения (4.4), а также то,
f ( x, t )
что для любого ограничителя fɶNj+1/2 = f Nj + (1 − γ )( f Nj − f Nj−1 ) / 2 при
2 f Nj − f Nj−1 > 0 . В случае 2 f Nj − f Nj−1 < 0 аппроксимация более точная и
f Nj−1
(17.11) выполняется ещё точнее.
f Nj 3. Значение fɶ3/2j можно также найти с помощью (15.2), введя «вир-
f Nj+1 туальный» узел x0 (напоминаем, что сетка (17.13) определена для
i = 1, 2,..., N ) со значением разностной функции в нём, получающейся
xN − 2 xN −1 xN xN +1
путём экстраполяции граничного условия:
2 f Nj − f Nj−1 f 0 j = g (t j ) − ( f1 j − g (t j )) = 2 g (t j ) − f1 j .
Рис. 5.1
И окончательно, учитывая свойство неотрицательности решения:
f 0 j = max[0, 2 g (t j ) − f1 j ] . (18.3)
2. Значение fɶNj+1/2 можно найти с помощью (15.2), введя «виртуаль-
Подставляя (18.3) в выбранный из (15.3) – (15.6) ограничитель, най-
ный» узел xN +1 со значением разностной функции в нём, получающейся
дём fɶ3/2j .
путём экстраполяции:
Приведём все те же выводы для ξ < 0 . В таком случае нужно дооп-
f Nj+1 = f Nj + ( f Nj − f Nj−1 ) = 2 f Nj − f Nj−1 .
ределить fɶ j , fɶ j
1/2 N −1/2 и fɶ j . Пусть аналитическое граничное условие
N +1/2
По сути, мы восстанавливаем разностную функцию в узле xN +1 , если
для x = b :
бы он у нас был. Однако может случиться, что при этом f Nj+1 < 0 . По-
f (b, t ) = gɶ (t ) ,
скольку решение должно удовлетворять условию неотрицательности,
тогда
следует искусственно приравнять f Nj+1 к нулю:
fɶNj+1/2 = gɶ (t j +1/2 ) . (18.4)
f Nj+1 = max[0, 2 f Nj − f Nj−1 ] . (18.2)
Аналогично вводятся виртуальный узел x0 со значением разностной
функции в нём:
51 52
f 0j = max[0, 2 f1 j − f 2j ] , (18.5) Запишем (17.12) для узла x1 :
используя которое, можно получить fɶ1/2j , и виртуальный узел xN +1 : f1 j +1 = f1 j − γ f3/2j + γ f1/2j = f1 j − γ f 3/2j + γ g (t j +1/2 ) ≥
f Nj+1 = max[0, 2 gɶ (t j ) − f Nj ] , (18.6) 1− γ
≥ f1 j − γ f 3/2j = f1 j − γ f1 j + j
φ (θ3/2 )( f 2 j − f1 j ) =
ɶ j
необходимый для f N −1/2 . 2
В завершении этого параграфа следует сказать несколько слов о вве- j
1 − γ φ (θ3/2 ) j
= f1 j − γ f1 j + j
( f1 − f 0 j ) ≥
денном в предыдущей главе свойстве монотонности схемы. Оно вводи- 2 θ3/2
лось в предположении, что мы решаем задачу (4.1) – (4.2), т.е. решение
ищется на всей числовой оси и, следовательно, без граничного условия.* j
1 − γ φ (θ3/2 ) j
≥ f1 j − γ f1 j + f =
В случае задачи (4.1), (4.2) и (4.5) (уравнение переноса в ограничен- 2 θ3/2 1
j
53 54
случае (19.1) редуцируется до уравнения переноса, которое описывает где ξкв2 = kT / m (здесь m – масса молекулы газа, k – константа Больц-
так называемые свободномолекулярные течения или бесстолкновитель-
мана, T – температура газа). Выбрав ξ cut ≈ (4 − 5)ξ кв , мы, по сути, пол-
ный газ. Физически такая ситуация реализуется в сильно разреженных
газах, когда средняя длина пробега молекул много больше характерных ностью опишем поведение газа, поскольку молекулы с большими ско-
размеров исследуемой системы – радиуса цилиндрической трубки, че- ростями практически не встречаются.
рез которую течет газ, расстояния между двумя пластинами, между ко- Дальше мы будем пользоваться равномерной сеткой
торыми он находится, и т.д. Тогда можно считать, что молекулы прак- ωξ = {ξα = −ξcut + ∆ξ (α − 1 / 2), α = 1,..., Nξ }, (19.2)
тически не сталкиваются друг с другом и движение групп молекул с где ∆ξ = 2ξcut / Nξ – шаг скоростной сетки. Количество скоростных уз-
разными скоростями происходит независимо в соответствии с уравне-
нием переноса. лов Nξ следует брать четным, чтобы не было узла с ξα = 0 (для этой
На конечно-разностном языке это означает, что мы вводим некото- скорости функция распределения не меняется и фактически выпадает из
рую сетку в пространстве скоростей (в общем случае с произвольным расчетов).
шагом): В заключение скажем о практическом применении функции распре-
ωξ = {ξα +1 = ξα + ∆ξα , α = 1,..., Nξ } . деления. Зная ее, можно вычислить все макроскопические характери-
стики газа. В газовой динамике пользуются функцией распределения,
После чего отдельно для каждой скорости численно решается свое
приведенной на массу молекулы, т.е. ее физическая интерпретация –
уравнение переноса
концентрация молекул, а не плотность газа.
∂fα ∂f Итак, концентрация газа:
+ ξα α = 0
∂t ∂x ∞
в соответствии с теми методами и техниками, которые были описаны его макроскопическая скорость (средняя скорость всех молекул):
∞
ранее. В практическом плане это приводит к тому, что если раньше вы- 1
числения производились над одномерным массивом f i , обновлявшемся
ξ = ∫ ξ f ( x, ξ , t )dξ ,
n( x, t ) −∞
(19.4)
на каждом временном слое, то теперь необходимо обрабатывать уже температура газа в какой-либо точке:
∞
двухмерный массив fi ,α . m
n( x, t )k ∫0
T ( x, t ) = (ξ − ξ ) 2 f ( x, ξ , t )d ξ . (19.5)
Взаимодействие разных скоростей происходит только на границе в
том случае, если газ ограничен стенками в пределах исследуемой облас- Переход к разностным аналогам элементарен: интегрирование заме-
ти (см. §20). няется на суммирование по скоростям,– d ξ на ∆ξ .
В дальнейшем мы будем иметь дело не со всем пространством ско-
ростей, а с симметричным относительно нуля отрезком [−ξ cut , ξ cut ] , где
ξ cut – некоторая выбранная скорость обрезания. Это обусловлено тем, § 20. Диффузное отражение
что получающаяся в реальных расчетах функция распределения быстро В подавляющем большинстве задач газовой динамики на распро-
затухает с увеличением скорости, поскольку, как правило, она так или странение газа в пространстве накладываются определенные ограниче-
иначе напоминает распределение Максвелла для равномерно распреде- ния: он не может проникнуть за стенки сосуда, поверхность обтекаемо-
ленного газа: го тела и т.д. Это, очевидно, приводит к тому, что все молекулы, нале-
ξ2 тающие на препятствующую поверхность, должны так или иначе вер-
f ∝ exp − 2 , нуться обратно. Мы не рассматриваем случай наличия абсорбции (по-
2ξ кв глощения) газа на поверхности.
55 56
Иначе говоря, потоки молекул, падающих на поверхность и возвра- Nξ / 2
57 58
xN +1 , что даёт нам fɶNj+1/2,α , α > Nξ / 2 . Для отрицательных скоростей с Будем считать, что исследуемая область пространства – отрезок
[0, L] . На границах примем диффузное отражение. Для стенки x = 0
помощью (18.5) получаем функцию распределения в виртуальном узле
возьмём температуру T1 и T2 – для второй стенки x = L . Для опреде-
x0 для вычисления fɶ1/2,j
α , α ≤ Nξ / 2 .
ленности считаем, что T1 > T2 . Скорость обрезания положим:
VI. Значения fɶ1/2,
j
α , α ≤ Nξ / 2 подставляются в (20.5), после чего на- kT1
ξ cut = 4.8ξ1 = 4.8 , (22.1)
ходятся fɶ1/2,
j ɶj
α , α > Nξ / 2 . Аналогично получаются f N +1/2,α , α ≤ Nξ / 2 с
m
где ξ1 – среднеквадратичная скорость для T1 . Скорость обрезания, оче-
помощью найденных ранее вычисленных значений fɶ j , α > N /2.
N +1/2,α ξ
видно, нужно выбирать, ориентируясь на максимальную температуру.
Считаем, что сначала между стенками находится однородный газ с
VII. Путём подстановки (20.6) в (20.5) вместо fɶ1/2,
j
α , α ≤ Nξ / 2 с точ- максвелловским распределением с температурой холодной стенки и с
ностью до членов второго порядка находится gα (t j ), α > Nξ / 2 . Под- некоторой концентрацией n0 :
ставляя далее его в (18.3), придём к f 0,α , α > Nξ / 2 , что позволяет вы- mξ 2 ∞
−1
mξ 2
числить fɶ3/j 2,α , α > Nξ / 2 . Аналогично с помощью (18.6) находится
f (ξ , t ) = C exp − , C = n0 ∫ exp − d ξ .
2kT2 −∞ 2kT2
fɶ j , α ≤ N /2.
N −1/ 2,α ξ
Начальное условие для разностной функции получается соответст-
вующей аппроксимацией:
VIII. Вычисление прекращается в нужный нам момент времени. −1
mξ 2 n ξ mξ 2
N
f = C exp − α , C = 0 ∑ exp − α .
0
(22.2)
∆ξ α =1
i ,α
2kT2 2kT2
§ 22. Практическое задание
Следующий важный момент – переход к безразмерной скорости. По-
Задача о термосе смотрим внимательно на схему (15.2), граничные (20.5) и начальные
условия (22.2). Всюду требуется не само значение скорости, а ее отно-
Ставится задача переноса тепла между двумя бесконечно большими
пластинами с разной температурой T1 и T2 в случае, если столкновения шение к ξ1 : в числе Куранта
между молекулами газа отсутствуют. Пластины находятся на расстоя- ξατ ξα h 1 ξα
= = ,
нии L друг от друга. Это неплохая модель теплопроводности обычно- h h 5ξ1 5 ξ1
го термоса. Напомним факт, известный из курса общей физики: тепло-
в граничных и начальных условиях
проводность газа не зависит от его разреженности до тех пор, пока дли-
на пробега молекул λ не станет сравнимой с характерными размерами mξ 2 1 ξ 2
exp − α = exp − α ,
системы. Поэтому при производстве термоса воздух между его стенка- 2kT1 2 ξ1
ми откачивают так, чтобы λ была много больше расстояния между
стенками термоса, т.е. столкновения молекул практически отсутствуют. mξα
2
mξα T1
2 T1 ξα
2
С другой стороны, в некотором приближении можно считать, что раз- exp − = exp − = exp − .
2kT2 2kT1 T2 2T2 ξ1
мер самих стенок термоса много больше расстояния между ними, и их
можно считать бесконечно большими. Поэтому при вычислениях будет удобней использовать безразмер-
Формально эта задача трёхмерна. В действительности же начальные ные скорости, выбрав за единицу скорости ξ1 , т.е. всюду заменить
и граничные условия не зависят от двух поперечных переменных, и за- ξα / ξ1 → ξα . Учитывая квазилинейность схемы, разумно перейти к без-
дача редуцируется до одномерной.
59 60
размерной функции распределения, разделив начальное условие (22.2) Входные данные программы – температуры T1 и T2 . Конечный итог
на C. В конце расчетов ее надо умножать обратно на C. выполнения задания – графики концентрации, температуры и значение
Конечным результатом вычислений на некотором временном шаге потока. Исследуйте зависимость теплового потока от разницы темпера-
j0 является некоторая установившаяся функция распределения, на ос- тур стенок.
нове которой нужно посчитать установившееся распределение концен- Для оценки правильности полученных результатов приведём точное
трации, температуры газа и поток теплопередачи. В соответствии с распределение температуры в установившееся режиме:*
формулой (19.3) разностный аналог для концентрации газа T ( x) = T1T2 . (22.6)
−1
Nξ Nξ T В завершение следует подчеркнуть важность консервативности схе-
ni = n0 ∑ f i ,αj0 ∑ exp −ξα2 1 (22.3)
2T2 мы (15.2) для задач такого типа. Действительно, неконсервативные схе-
α =1 α =1
мы дают некоторые колебания разностной массы δ M на каждом вре-
и с формулой (19.5) разностный аналог для температуры газа менном шаге. Из линейности (по крайней мере, квазилинейности) схе-
−1 −1
mξ12 ξ 2 j0 ξ j0 Nξ 2 j0 Nξ j0
N N
мы очевидно, что величина δ M пропорциональна массе газа:
Ti = ∑ α i ,α ∑ i ,α
ξ f f = T ∑ ξα f i ,α ∑ f i ,α . (22.4)
k α =1
1 δ M ∼ M . А это в свою очередь означает, что разностная масса M (а с
α =1 α =1 α =1
ней и характерное значение разностной функции) будет экспоненциаль-
Сразу учтено, что в установившемся режиме у газа нет макроскопиче-
но меняться во времени и решение достаточно быстро (по сравнению со
ской скорости.
временами, требуемыми для того, чтобы режим стал установившимся)
В непрерывном случае поток тепла равен
∞
перестанет как-либо соответствовать действительности. В таком случае
m говорят, что решение разваливается.
q ( x, t ) = ∫ ξ 3 f ( x, ξ , t ) d ξ ,
2 0
его разностный аналог
−1
kn T ξ ξ
N
Nξ 2 T
qi = 0 1 1 ∑ ξα3 fi ,jα0
∑ exp −ξα 1 . (22.5)
2 α =1 α =1 2T2
Узел i возьмите произвольным – в установившемся режиме поток
не зависит от координаты. Во всех трёх формулах используются без-
размерные скорости и функции распределения, переход к обычным
единицам совершен.
Шаг j0 , на котором вычисления прекращаются, определяется сле-
дующим образом. Считаем, что установившийся режим наступает, ко- *
Простейшая практическая рекомендация к выполнению задания. В отличие
гда относительное изменение за один временной шаг какой-либо макро- от предыдущих заданий программа к этой задаче может потребовать некоторое
скопической величины становится меньше некоторого заданного значе- вычислительное время, поэтому временной цикл должен быть оптимизирован
ния δ . Возьмём в качестве таких величин концентрацию и температуру: mξα
2
∫ F ( x)dx << mξ
2
щем случае некоммутативные. Пусть S 2 – оператор шага некоторой cut /2 (23.9)
0
63 64
(объяснение этому дано ниже), который при F = const принимает вид тановим, при каких полях выполняется это условие. Из курса общей
2
FL << mξcut / 2, физики известно, что в равновесии функция распределения газа, нахо-
дящегося в поле сил, имеет вид
поэтому при Nξ ∼ N выбор τ идет за счет первого пространственного
mξ 2 U ( x) mξ 2 1
члена: f равн ( x, ξ ) ∼ exp −
2kT
+
kT
= exp − +
2kT kT
∫ F ( x)dx .
(24.2)
τ = 2h / ξ cut . (23.10)
Но это значит, что если бы мы поставили в середине пространственное Здесь T – температура газа, U ( x) – потенциальная энергия внешних
уравнение, то шаг τ пришлось бы выбирать вдвое меньшим: сил (мы предполагаем, что они потенциальны). Даже если газ не нахо-
τ = h / ξ cut . дится в равновесии, на (24.2) можно ориентироваться оценочно. Но из
В результате, чтобы узнать решение в какой-либо момент времени, (24.2) сразу следует (23.9) как условие того, что в любой точке при
потребовалось бы выполнить вдвое больше временных шагов и, следо- ξ ≈ ξ cut функция распределения практически равна нулю. Причем ус-
вательно, затратить вдвое больше вычислительных ресурсов. ловие (23.9) необязательно должно быть жестким, достаточно, чтобы
Для случая пространственно неоднородного F ( x) рассуждения ана- 2
mξcut / 2 превосходило интеграл силы по пространству только в два-три
логичны. Требуется только, чтобы интеграл силы по пространству не во раза.
много раз отличался от Fmax L , где Fmax – максимальное значение силы В соответствии с (24.1) во втором уравнении цепочки (23.7)
на отрезке [0, L] . ∀ i : fɶi ,1/ 2 = fɶi , Nξ +1/ 2 = 0 . (24.3)
Кроме того, следует приравнять к нулю значения разностной функ-
§ 24. Проблема граничных условий в скоростном ции распределения в виртуальных скоростных узлах:
пространстве ∀ i : f i ,0 = fi , Nξ +1 = 0 , (24.4)
Для каждого из уравнений цепочки (23.7) требуются граничные ус- необходимые для того, чтобы найти fi ,3/2 или f i , Nξ −1/2 (в зависимости от
ловия. Граничные условия пространственного уравнения были подроб- знака силы).
но освещены в предыдущей главе, поэтому здесь мы рассмотрим только
граничные условия скоростного уравнения. Основная проблема этого
вопроса заключается в том, что для граничных условий в скоростном § 25. Случай пространственной симметрии
пространстве нет физических обоснований: обрезание скоростного про- Во многих задачах может присутствовать пространственная симмет-
странства было искусственным. Это не приводило к серьезному нару- рия. Ради удобства поместим начало координат в середину рассматри-
шению физической картины, поскольку ξ cut выбиралось таким, чтобы ваемого отрезка. Пусть сила F ( x) , начальные и граничные условия об-
значение функции распределения при таких скоростях было пренебре- ладают следующей симметрией:
жимо малым. F (− x) = − F ( x), ϕ (− x, −ξ ) = ϕ ( x, ξ ), T1 = T2 . (25.1)
Руководствуясь соображениями такого рода, сделаем следующее фи-
В таком случае решение в любой момент времени также обладает опре-
зическое приближение: задача ищется в предположении, что
деленной симметрией:
f ( x, ξ , t ) = 0, ξ ≥ ξ cut . (24.1) f (− x, −ξ , t ) = f ( x, ξ , t ) . (25.2)
Нам не важно, какими физическими причинами обусловлено такое ог- Действительно, дифференциальная задача (23.1), (25.1) инвариантна
раничение, главное, что точное решение такой задачи практически пол- к инверсии координат x и ξ , как следствие, инвариантно и ее решение.
ностью соответствует точному решению истинной задачи без (24.1) при
Из (25.2) сразу же следует то, что нам нет смысла просчитывать весь
условии, что функция распределения близка к нулю возле ξ ≈ ξ cut . Ус-
отрезок [− L 2, L 2] , достаточно просчитать решение на одной его по-
65 66
ловине, например [0, L 2] , и восстановить по ней решение на другой, Получите графики концентрации и температуры. При T1 = T2 срав-
т.е. при одной и той же дискретизации пространства нужно совершить ните распределение концентрации с законом Больцмана:
вдвое меньше вычислений. Из (25.2) ясно, что при нахождении решения gx
на отрезке [0, L 2] граничное условие в точке x = 0 – это условие зер- n( x) ∼ exp − 2 .
ξ0
кального отражения:
f (0, −ξ , t ) = f (0, ξ , t ) . (25.3) II. Решение кинетического уравнения в поле сил
гармонического осциллятора
В соответствии с (25.2) при нахождении fɶ 1/2,α
j
и fɶ
3/2,α
j
с помощью
Ищем решение (23.1) на отрезке [− L 2, L 2] в случае гармоническо-
схемы (15.2) в виртуальных узлах x0 и x−1 , которые для этого необхо-
го осциллятора:
димы, значения решения принимаются равными: F ( x) = − χ x . (26.3)
f 0,jα = f1,jNξ +1−α , f −j1,α = f 2,jNξ +1−α . (25.4) Когда температуры на границах равны и начальное условие – максвел-
лоское распределение, возникает симметрия (25.1), и решение ищется в
соответствии с тем, как это было описано в предыдущем параграфе.
§ 26. Практическое задание В безразмерных единицах (26.3) имеет вид
I. Решение кинетического уравнения в поле тяжести χ L2
F = 2 x2 .
Граничные условия при x = 0 и x = L , как в задании к предыдущей ξ0
главе: диффузное отражение с температурой T1 и T2 . Единица скорости
Соответственно χ и L выбираются такими, чтобы F была не больше
ξ 0 = max(ξ1 , ξ 2 ) , 1–2.
где ξ1 , ξ1 – среднеквадратичные скорости при этих температурах. Получите график концентрации. Сравните распределение концен-
В безразмерных единицах трации с точным:
ξ = ξ / ξ0 , x = x / L, t = tξ0 / L (26.1) χ x2
n( x) ∼ exp − 2 .
уравнение (23.1) принимает вид 2ξ 0
∂f ∂f ∂f F ( x) L
+ξ + F ( x) = 0, F ( x) = . (26.2)
∂t ∂x ∂ξ mξ 02
Скорость обрезания
ξcut = 5 .
Начальное условие – максвелловское распределение при одной из тем-
ператур.
Численное решение происходит в этих единицах, переход к обыч-
ным единицам осуществляется в конце расчетов. Безразмерная сила в
случае силы тяжести имеет вид
gL
F= 2 .
ξ0
Длина L выбирается такой, чтобы F была не больше 1–2, чтобы вы-
полнялось (23.9).
67 68
ЗАКЛЮЧЕНИЕ ПРИЛОЖЕНИЯ
Данное пособие можно считать кратким экскурсом в конечно-
разностные методы, применяемые для решения левой части сложного § 27. К главе 2
интегро-дифференциального кинетического уравнения Больцмана [3]. В
общем случае, это уравнение переноса под действием внешних сил. Бы- Теорема 2.1. Из устойчивости и аппроксимации схемы вытекает ее
ли рассмотрены простейшие одномерные задачи с равномерными пря- сходимость.
моугольными сетками. Но даже при их решении мы столкнулись со Для начала напомним два свойства нормы, которые мы будем ис-
множеством различных проблем. Во-первых, разностная схема должна пользовать в дальнейшем:
обладать кроме сходимости еще двумя важными свойствами. Консерва- ∀ y : ay = a y ,
тивность по всем интегралам движения уберегает численное решение от ∀ y, ∀ x : x + y ≤ x + y .
"разваливания" со временем. Монотонность в свою очередь исключает
возникновение паразитических нефизичных решений. Во-вторых, огра- Перепишем разностную задачу (6.2) в следующем виде:
ниченность вычислительных ресурсов заставляет нас искать схемы вы- L 'h y = yt − Lh y = ϕ ,
сокого порядка точности. Для этого они должны быть нелинейны (со-
lh y = ν , (27.1)
гласно теореме Годунова), и в самом простом случае их можно постро- 0
ить только на пятиточечном шаблоне. Кроме того, для таких разностных y = ϑ0 .
схем нетривиально выписать граничные условия. Эти проблемы реше- Рассмотрим выражения
ны в рамках TVD-схем, подробнее о которых можно прочесть в [4]. φ1 = L 'h uh − L 'h y = L 'h uh − ϕ ,
Описанная методика на прямоугольных сетках хорошо подходит для
решения в том числе многомерных задач, поскольку уравнение перено-
φ2 = lh uh − lh y = lh uh − ν , (27.2)
0
са легко расщепляется по перпендикулярным направлениям. Однако для φ3 = u ( x, 0)h − y = u ( x, 0) h − ϑ0 .
моделирования сложных геометрий приходится прибегать к неравно- Выразим отсюда
мерным и даже неструктурным координатным сеткам, использование L 'h uh = ϕ + φ1 ,
которых в значительной степени затрудняет написание схем даже вто-
рого порядка точности. И всё же в отличие от классических методов lh uh = ν + φ2 , (27.3)
решения задач гидрогазодинимики на основе уравнений Эйлера и На- u ( x, 0) = ϑ + φ .
h 0 3
вье–Стокса, где приходится иметь дело с вектором макропараметров, в Это означает, что uh является решением разностной задачи при но-
кинетической теории эволюционирует скалярная функция распределе-
ния, что немалым образом упрощает конечно-разностную аппроксима- вых входных данных ϕɶ = ϕ + φ1 , νɶ = ν + φ2 , ϑɶ0 = ϑ0 + φ3 , отвечающих за
цию дифференциальной части уравнения Больцмана. Поэтому следует неоднородность, граничные и начальные условия соответственно. В
сказать, что наибольшую трудность представляет именно вычисление силу определения устойчивости (6.3), исходя из (27.1), имеем
нелинейного пятимерного интеграла столкновений, а эта задача уже
uh − y ≤ C1 νɶ − ν + C2 ϑɶ0 − ϑ0 + C3 ϕɶ − ϕ =
выходит за рамки "Введения в численные методы в динимике разре- (27.4)
женных газов". = C1 φ1 + C2 φ2 + C3 φ3 .
69 70
С другой стороны, добавим к правой стороне первых двух равенств в можно переписать: w j ≤ C θ = C w0 . Поскольку функции y, yɶ в
(27.2) слагаемые ( f − L ' u ) h , ( µ − lu ) h , которые тождественно равны
(27.7) взяты произвольными, функция w также произвольна. Осталось
нулю (см. (6.1)), а в третьем учтем, что u ( x, 0) h = (u0 ) h . Получим, что лишь сменить обозначения и получить (27.8).
φ1 = L 'h uh − ϕ + ( f − L ' u )h = ( f h − ϕ ) + ( L 'h uh − ( L ' u )h ), Запишем (27.6):
φ2 = lh uh − ν + ( µ − lu )h = ( µh − ν ) + (lh uh − (lu ) h ), (27.5) y j +1 ≤ (1 + Cτ ) y j ≤ eCτ y j . (27.9)
φ3 = (u0 ) h − ϑ0 . Последовательно применяя (27.9), получим, в итоге, неравенство вида
С учётом этого условие устойчивости (27.4) приобретает вид (27.8):
uh − y ≤ C1 φ1 + C2 φ2 + C3 φ3 = y j ≤ Cɶ y 0 , где Cɶ = eCt0 , t0 = τ j .
= C1 ( f h − ϕ ) + ( L 'h uh − ( L ' u ) h ) + Теорема 2.3 (спектральный признак). Для устойчивости по на-
чальным данным линейной схемы необходимо выполнение следующего
+C2 ( µh − ν ) + (lh uh − (lu ) h ) + C3 (u0 ) h − ϑ0 ≤ неравенства:
≤ C1 f h − ϕ + C1 L 'h uh − ( L ' u ) h + λ (ω ) ≤ 1 + Cτ , 0 < ω < 2π .
+C2 µ h − ν + C2 lh uh − (lu ) h + C3 (u0 ) h − ϑ0 . Доказательство элементарно. Действительно, по определению ус-
тойчивости нам достаточно найти одну функцию, не удовлетворяющую
Таким образом, при аппроксимации, когда каждый из слагаемых в
(27.7) (или в нашем случае эквивалентного ему (27.8)), чтобы схема бы-
последнем неравенстве стремится к нулю, имеется сходимость схемы
ла неустойчивой. Ищем такие функции в виде (7.1). Пусть
uh − y → 0 .
λ (ω ) = 1 + q ,
Теорема 2.4 (принцип максимума). Если для произвольной разно-
где q > 0 . Используем октаэдрическую норму yi = max yi :
стной функции y j , которую некоторая линейная схема переводит в 1≤i ≤ N
j j iω k j j
y j +1
, справедливо неравенство вида y k =λ e = λ = (1 + q ) .
y j +1 ≤ (1 + Cτ ) y j , (27.6) Взяв временной шаг достаточно малым, можно сделать норму сколь
угодно большой, что нарушает (27.8) – условие устойчивости по на-
где C не зависит от шага интегрирования по времени τ , то схема ус- чальным данным для линейных разностных схем.
тойчива по начальным данным.
Вначале заметим, что в случае линейных операторов Lh и lh в (6.2)
условие устойчивости по начальным данным, которое ранее формули- § 28. К главе 4
ровалось следующим образом: Теорема 4.1. Разностная схема
∃C < ∞, ∀ϑɶ , ∀ϑ : yɶ − y ≤ C ϑɶ − ϑ (27.7) p2
0 0 0 0
yij +1 = ∑α k yij+k (28.1)
(где yɶ , y – решение (6.1) с соответствующими начальными условиями), k =− p1
можно записать так: монотонна тогда и только тогда, когда все коэффициенты α k неот-
∃C < ∞ , ∀ y , ∀ j : y j ≤ C y 0 . (27.8) рицательны.
Докажем достаточность условия. Пусть для определенности на ниж-
Действительно, разностная задача (6.2) при новом начальном усло- нем слое разностная функция является неубывающей. Запишем условие
вии θ = ϑɶ0 − ϑ0 в силу указанной линейности разностных операторов неубывания функции в виде
будет иметь соответствующее решение: w = yɶ − y . С учётом этого (27.7) ∀ i : yij+1 − yij ≥ 0 .
71 72
Отсюда и из неотрицательности α k легко следует, что и функция на C1 , i ≤ i1 ,
новом временном слое является неубывающей:
yi = φi , i1 < i < i2 ,
p2
C , i ≥ i .
∀ i : yij++11 − yij +1 = ∑α k ( yij+ k +1 − yij+ k ) ≥ 0 , (28.2) 2 2
k =− p1 В результате полная вариация сводится к
поскольку каждое из слагаемых функций неотрицательно. ∞ q2
73 74
Объединив (28.4) и (28.6), получим TV( y j +1 ) ≤ TV( y j ) .
TV( y j +1 ) ≤ yNj +1 − y0j +1 . (28.7) Лемма 4.1. Для того чтобы схема (14.8) – (14.9) аппроксимировала
С другой стороны, если в каком-то узле i0 имеется нарушение моно- уравнение переноса со вторым порядком точности, разностный опе-
тонности: ратор α должен удовлетворять условию
y ji0+1 − yi0j +−11 < 0 , ∀ i, ∀ f ( x, t ) : α ( f ( xi −1 , t j ), f ( xi , t j ), f ( xi +1 , t j ) ) = 1 + O(h) . (28.9)
то очевидно, что Введём для краткости написания следующие обозначения:
N N ∂f ∂2 f
∑(y j +1
− yij−+11 ) < ∑ yij +1 − yij−+11 , f ( xi , t j ) = Fi , ( xi , t j ) = Fi ′, ( xi , t j ) = Fi ′′,
i =1
i
i =1
∂x ∂x 2
Или, что то же самое, α ( f ( xi−1 , t j ), f ( xi , t j ), f ( xi +1 , t j )) = α i .
yNj +1 − y0j +1 < TV( y j +1 ) . Для аппроксимации (9.3) со вторым порядком точности должно вы-
j +1 полняться соотношение
Но это невозможно в силу (28.7). Итак, y также монотонна, причем
f ( xi +1/ 2 − ξτ / 2, t j ) − f ( xi −1/ 2 − ξτ / 2, t j )
TV( y ) = y − y0j +1 ,
j +1 j +1
N
=
h
т.е. полная вариация не изменилась. f ( xk , t j ) − f ( xk −1 , t j ) sgn(ξ )
Теорема 4.4 (Хартен). Если для коэффициентов (14.6) неравенства = + (1 − γ ) × (28.10)
Ci ≥ 0, Di ≥ 0, Ci +1 + Di ≤ 1 (28.8) h 2h
справедливы для всех узлов и при любых разностных функциях, то схема { ( ) ( )}
× α k f ( xi +1 , t j ) − f ( xi , t j ) −α k −1 f ( xi , t j ) − f ( xi −1 , t j ) + O (h 2 ).
(14.5) является TVD-схемой. Тогда при замене проекции точного решения на разностную функцию
Заметим, что мы допустим ошибку второго порядка малости. Запишем разложение в
yij++11 − yij +1 = (1 − Ci+1 − Di )( yij+1 − yij ) + Di+1 ( yij+2 − yij+1 ) + Ci ( yij − yij−1 ). ряд Тейлора:
Отсюда в соответствии с правилом для модуля суммы и с учётом (28.8): f ( xi +1/ 2 − ξτ / 2, t j ) = f ( xi + h / 2 − ξτ / 2, t j ) =
yij++11 − yij +1 ≤ (1 − Ci +1 − Di )( yij+1 − yij ) + Di +1 ( yij+ 2 − yij+1 ) + Ci ( yij − yij−1 ) = h h
= f ( xk + sgn(ξ ) − ξτ / 2, t j ) = f ( xk + sgn(ξ ) (1 − γ ), t j ) = (28.11)
= (1 − Ci +1 − Di ) y j j
− yi + Di +1 y j
−yj
+ Ci yi − yj j
. 2 2
i +1 i+2 i +1 i −1
h h2
Просуммировав по узлам, получим = Fi + sgn(ξ )(1 − γ ) Fi ′+ (1 − γ ) 2 Fi ′′.
∞ 2 8
TV( y j +1 ) = ∑ yij++11 − yij +1 ≤ Несущественный в данном случае временной индекс опущен. Подста-
i =−∞
вив (28.11) в (28.10), после несложных преобразований получим
∞ ∞ ∞
1
≤ ∑ (1 − C i +1 − Di ) yij+1 − yij + ∑D i +1 yij+ 2 − yij+1 + ∑C i yij − yij−1 = Fk′ − Fk′−1 + sgn(ξ )(1 − γ )h( Fk′′ − Fk′′−1 ) =
i =−∞ i =−∞ i =−∞ 4
∞
(28.12)
1
= (1 − Ci +1 − Di + Ci +1 + Di ) ∑ yij+1 − yij = TV( y j ). = (α k ( Fi +1 − Fi ) − α k −1 ( Fi − Fi −1) ) + O (h 2 ).
i =−∞ h
Здесь мы учли, что поскольку суммирование идет от −∞ до +∞ , то Применив «правило середины отрезка» по отношению ко второй
индекс суммирования в определении полной вариации можно произ- пространственной производной точного решения:
вольно сдвигать. h h2 ∂3 f
Таким образом, для схемы (14.5) выполняется TVD-условие: sgn(ξ )(1 − γ )( Fk′′ − Fk′′−1 ) = sgn(ξ )(1 − γ ) 3 ( xk +1/ 2 , t j ) = O(h 2 ) ,
4 4 ∂x
75 76
упростим (28.12) до S = S1 S2 S1 (29.4)
1 аппроксимирует уравнение (29.1) со вторым порядком точности.
Fk′ − Fk′−1 = (α k ( Fi +1 − Fi ) − α k −1 ( Fi − Fi −1) ) + O(h 2 ) . (28.13)
h Запишем определение оператора эволюции точного решения урав-
Заново разложим решение в ряд Тейлора, а также его производную: нения (29.1) за время τ :
h2 u( x, t j +1 ) = SL+ Pu ( x, t j ) . (29.5)
Fi ±1 = Fi ± Fi ′h + Fi ′′+ O(h3 ),
2 Здесь x обозначает все остальные переменные, от которых зависит u .
2 2
Запишем уравнение (29.1) в другой форме:
Fk′−1 = Fk′ − Fk′′h + O(h ) = Fk′ − Fi ′′h + O (h ).
Подставив эти соотношения в (28.13), получим после несложных вы- ∂
= −( L + P ) . (29.6)
кладок: ∂t
h Применим разложение Тейлора по временной переменной, исполь-
(α k − α k −1 ) Fi ′ + (α k + α k −1 − 2) Fi ′′= O(h 2 ) . (28.14) зуя (29.6):
2
Отсюда ∂u τ 2 ∂ 2u
u ( x, t j +1 ) = u ( x, t j ) + τ ( x, t j ) + ( x, t j ) + O (τ 3 ) =
h ∂t 2 ∂t 2
(α k − α k −1 ) Fi ′ + (α k + α k −1 − 2) Fi ′′= O(h 2 ) ,
2 = SɶL+ P u ( x, t j ) + O(τ 3 ),
или где
α k = 1 + O ( h) . 2
τ
SɶL+ P = 1 − τ ( L + P) + ( L + P) 2 ,
2
§ 29. К главе 6 откуда
Теорема 6.1. Пусть имеется дифференциальное уравнение в част- S L+ P = SɶL+ P + O (τ 3 ) .
(29.7)
ных производных вида ɶ
Попытаемся придать более удобную форму оператору S L+ P . Введём
∂u оператор
+ Lu + Pu = 0 , (29.1)
∂t τ τ2 2
где L и P – некоторые линейные дифференциальные операторы, в об- SɶL /2 = 1 − L + L ,
2 8
щем случае некоммутативные. Пусть S 2 – оператор шага некоторой используя который, можно записать:
схемы, аппроксимирующей со вторым порядком точности дифферен- SɶL+ P = SɶL /2 SɶP SɶL /2 + O (τ 3 ) . (29.8)
циальное уравнение
∂u Действительно,
+ Pu = 0 (29.2) 2
τ 2
τ L2 + P 2 + LP + LP .
∂t SɶL+ P = 1 − τ ( L + P) + ( L + P ) 2 = 1 − τ ( L + P) +
2 2
( )
на временной сетке с шагом τ , а S1 – оператор шага некоторой схе-
С другой стороны,
мы, аппроксимирующей со вторым порядком точности дифференци-
альное уравнение τ τ 2 τ 2 τ τ2
SɶL / 2 SɶP SɶL / 2 = 1 − L + L2 1 − τ P + P 2 1 − L + L2 =
∂u 2 8 2 2 8
+ Lu = 0 (29.3)
∂t τ 2 ( L2 + P 2 + LP + LP ) + O (τ 3 ).
на временной сетке с шагом τ / 2 . В таком случае схема с оператором = 1 − τ ( L + P) +
2
шага Используя (29.7), перепишем (29.8):
77 78
SɶL+ P = SɶL /2 SɶP SɶL /2 + O (τ 3 ) , (29.9)
ɶ
где S P – оператор эволюции решения (29.2) за время τ , S L /2 – оператор ɶ
эволюции решения (29.3) за время τ 2 . Используя определение опера-
тора эволюции (29.5), запишем
u ( xi , t j +1 ) = S L /2 S P S L/2 u ( xi , t j ) + O (τ 3 ) . (29.10) Литература
Применяя (29.10) с нулевого момента времени j -е количество раз, 1. Самарский А.А., Попов Ю.П. Разностные методы решения задач
можно записать: газовой механики. — М.: Физматлит, 1992. — 424 с.
u ( xi , t j ) = ( S L /2 S P S L /2 ) j u ( xi ,0 ) + O ( τ 2 ) . (29.11) 2. Рябенький В.С. Введение в вычислительную математику. — М.:
Физматлит, 2000. — 296 с.
Мы использовали утверждение, что
3. Коган М.Н. Динамика разреженного газа. — М.: Наука, 1967. —
j t 440 с.
∑ Ok (τ 3 ) = jO(τ 3 ) = j O (τ 3 ) = t j O(τ 2 ) = O(τ 2 ) .
k =1 τ 4. Randall J. Leveque. Finite volume methods for hyperbolic prob-
Пусть для уравнений (29.3) и (29.4) имеются соответствующие схе- lems. — Cambridge: Cambridge University Press, 2002. — 558 p.
мы второго порядка точности. В таком случае для их операторов шагов 5. Ландау Л.Д., Лифшиц Е.М. Теоретическая физика. Т. 10 / Лиф-
верны следующие соотношения: шиц Е. М., Питаевский Л. П. Физическая кинетика. — М.: Физматлит,
SL /2 = S1 + O(h3 + τ 3 ), SP = S2 + O(h3 + τ 3 ) . 2002. — 536 с.
Дело в том, что когда мы переходим от самой схемы к ее оператору ша-
га, то нам приходится производить умножение на τ , и ошибка аппрок-
симации схемы O(h2 + τ 2 ) заменяется на O(h3 + τ 3 ) . В соответствии с
этим перепишем (29.11):
u ( xi , t j ) = ( S1S 2 S1 ) j u ( xi ,0 ) + O( τ 2 + h 2 ) .
Разностное начальное условие аппроксимируется со вторым поряд-
ком точности, поэтому
u ( xi , t j ) = ( S1 S2 S1 ) j ( y 0 + O( τ 2 + h 2 )) + O( τ 2 + h 2 ) =
= ( S1 S 2 S1 ) j y 0 + O( τ 2 + h 2 ) = y j + O( τ 2 + h 2 ),
т.е. схема с оператором шага (29.4) аппроксимирует (29.1) со вторым
порядком точности.
79 80