Пособие по схемам для ОДУ и примеры систем ОДУ

advertisement
МИНИСТЕРСТВО ОБРАЗОВАНИЯ РОССИЙСКОЙ ФЕДЕРАЦИИ
Московский физико-технический институт
(государственный университет)
А.С. Холодов, А.И. Лобанов, А.В. Евдокимов
РАЗНОСТНЫЕ СХЕМЫ ДЛЯ РЕШЕНИЯ
ЖЕСТКИХ ОБЫКНОВЕННЫХ
ДИФФЕРЕНЦИАЛЬНЫХ УРАВНЕНИЙ
В ПРОСТРАНСТВЕ
НЕОПРЕДЕЛЕННЫХ КОЭФФИЦИЕНТОВ
Методические указания к лабораторным работам
по курсу «Нелинейные вычислительные процессы»
Москва 2001
2
Содержание
1. Численное интегрирование жестких систем
обыкновенных дифференциальных уравнений (ОДУ) ......... 4
1.1. Жесткие ОДУ.......................................................................... 4
1.1.1. Линейные однородные уравнения 1-го порядка.................... 4
1.1.2. Системы линейных однородных уравнений .......................... 5
1.1.3. Пример: задача Коши для линейного
однородного уравнения второго порядка............................... 6
1.1.4. Нелинейные жесткие уравнения ............................................... 9
1.1.5. Пример: сингулярно-возмущённая нелинейная
система второго порядка .......................................................... 10
1.1.6. Произвольная система нелинейных уравнений ................... 12
1.2. Примеры простейших разностных схем
для жестких ОДУ....................................................................... 13
1.2.1. Способы построения схем ........................................................ 13
1.2.2. Требования к численным методам решения
жёстких систем ОДУ ................................................................ 15
1.3. Одношаговые методы типа Рунге–Кутты ...................... 18
1.3.1. Алгоритм....................................................................................... 18
1.3.2. Аппроксимация ........................................................................... 20
1.3.3. Устойчивость ............................................................................... 22
1.3.4. Примеры схем Рунге–Кутты .................................................... 26
1.4. Линейные многошаговые схемы
(методы типа Адамса) .......................................................... 30
1.4.1. Алгоритм и аппроксимация...................................................... 30
1.4.2. Устойчивость ............................................................................... 33
1.4.3. Примеры линейных многошаговых схем.............................. 34
1.5. Схемы для продолженных систем
(схемы Обрешкова) .............................................................. 36
1.5.1. Алгоритм и аппроксимация...................................................... 36
1.5.2. Устойчивость ............................................................................... 37
1.6. Контрольные вопросы ........................................................ 40
2. Примеры жёстких систем ОДУ ................................................ 41
Список литературы ........................................................................ 48
3
1. Численное интегрирование жестких систем
обыкновенных дифференциальных уравнений (ОДУ)
1.1. Жесткие ОДУ
1.1.1. Линейные однородные уравнения 1-го порядка
Рассмотрим вначале простейшее уравнение:
ut    u,   const
(1)
на отрезке
0t T
(2)
и задачу Коши для (1):
u(0) = u0.
(3)
Решение (1) – (3), очевидно,
u ( t )  u 0  e t .
(4)
Если   0 , имеем неограниченное (неустойчивое) решение
(рис. 1.1). В этом случае надо просто интегрировать (1) с шагом
по времени, обеспечивающим необходимую точность, до тех пор,
пока это возможно.
Рис. 1.1.
Рис. 1.2.
Рис. 1.3.
Если   0 , то решение задачи (1) – (3) ограниченное
( u()  0 ). С точки зрения вычислителя здесь важна величина
отрезка интегрирования T. Если  T ~ 1 , то имеем обычную ситуацию (рис. 1.2), можно пользоваться стандартными методами
4
численного интегрирования (Эйлера, Эйлера–Коши, Рунге–
Кутты, Адамса и т. д.). Если  T ~ 10 , то имеем решение типа
«пограничного слоя» (рис. 1.3) с резким изменением u на малом
(в масштабе T ) отрезке [0, T0]. Если положение «пограничного
слоя» заранее неизвестно, при численном интегрировании возникают осложнения, которые будут рассмотрены ниже. Основная
идея заключается в том, чтобы численный метод обеспечивал качественно правильное поведение численного решения на участке
«пограничного слоя» (при 0  t  T0 ), т. е. быстрое затухание, и
возможно точнее воспроизводил решение на основном участке
интегрирования T0  t  T (вне «пограничного слоя»).
1.1.2. Системы линейных однородных уравнений
Пусть на отрезке (2) рассматривается J уравнений (1):
u jt   j  u j ,  j  const, j = 1, …, J
(5)
с начальными условиями u j 0  u j 0 . Если обозначить
1 0  0 
0   0 
2


u  {u1 ,..., u j }, Λ  

    
 0
0   j 
и перейти к векторной форме
ut  Λ  u ,
(6)
то, сделав замену u  Ω  v , где
 ω1  11  1 j 
  

Ω  {ω j }          , det Ω  0, v  Ω 1u ,
ω  

 j   j1   jj 
получим вместо (6) однородную линейную систему ОДУ:
v t  Av, A  {a jk }  Ω1ΛΩ, a jk  const .
5
(7)
Так как u t  (Ω  v ) t  Λu  Λ(Ω  v ) , то v t  (Ω 1ΛΩ ) v .
Наоборот, если задана система (7), то умножая ее скалярно
J раз на левые собственные векторы ω j матрицы A, определяемые, как это следует из (7), с точностью до их длины, из J линейных однородных систем
ω j ( A   j E)  0 или ( A T   j E) ω j  0
(8)
приходим к эквивалентной (7) совокупности уравнений (5), связанных друг с другом только через начальные условия
v(0) = v0 или u j (0)  ω j v(0)  u j 0 .
(9)
Здесь  j — собственные значения матрицы A, т. е. корни характеристического уравнения
PJ ( )  det( A  E)  0 ,
(10)
где PJ   — многочлен степени J.
Решение каждого из уравнений (5) имеет вид (4), т. е.
u j (t )  u j 0 e
 jt
, а значит, решение задачи Коши (7), (9) есть
 u e  1t 
 10

v (t )  Ω 1u(t )  Ω 1{u j 0 e }  Ω 1    , т. е. является лиu e  j t 
 j0

нейной комбинацией экспонент (если все  j действительны) или
 jt
имеет более сложный характер с присутствием гармонических
составляющих (если среди  j будут комплексно-сопряженные
корни уравнения (10)).
1.1.3. Пример: задача Коши для линейного
однородного уравнения второго порядка
  utt  a  ut  b  u  0 ,
u(0)  u0 ,
(  , a, b — константы).
6
ut (0)  u1
Обозначим ut   и введем вектор v  {v1, v2 }  {u, w} , тогда
ut  w ,
b
a
wt   u  w


или, в векторной форме,
 0
v t  A  v , A   b
 
1   0
a
     
   1 2

,
1   2 
1
где 1 ,  2 — собственные значения матрицы A из (10):
det(A  E)  0 (2  a    b  0) ,
1,2    a  a 2  4b  / 2 .


При |a|~|b|~1, 0    1 приближенно имеем 1  b / a ,
1 ~ 1 ;  2   a /  , 2  1 . Далее, из (8):
 ω  1,  1 / 2 
  2
1
1
Ω   1  

, Ω 
1   2  1 2
ω2  1,  1 / 1 
1 
,
1 2 
det Ω  1   2  / 1 2  0 при 1   2 .
Тогда, учитывая u  Ω  v  {u  w /  2 , u  w / 1} , получаем
 u (t ) 
(u0  u1 /  2 )e1t 

1 
v (t )  
 Ω 
,

t
2

w(t ) 
(u0  u1 / 1 )e 

u(t ) 


1
(  2u0  u1 )e1t  ( 1u0  u1 )e 2t .
1   2
Если  1 ,  2 оба действительны, то имеем комбинацию
двух экспонент, затухающих при λ1 < 0 и λ2 < 0. Если λ1 = α + iβ,
λ2 = α – iβ, то u(t) = eαt{[(u1 – αu0) sin(βt)]/β + + u0 cos(βt)}, и на
7
экспоненту eαt накладываются гармонические колебания с периодом T*~1/β, т. е. характер поведения решения определяется собственными значениями матрицы A.
В общем случае можно выделить четыре ситуации:
а
б
в
г
Рис. 1.4. Виды спектров матриц систем ОДУ
Здесь Sp A 
 a jj    j
j
— след А, ||A|| — её норма.
j
Случай а не сложен для расчётов; проходят стандартные
схемы (явные схемы Рунге–Кутты, Адамса т. п.).
Случай б практически безнадежен (неустойчивые по Ляпунову системы ОДУ).
Случай в довольно часто встречается на практике, и для него есть специальные методы, основанные на осреднении быстро
осциллирующих гармоник.
Случай г мы и будем рассматривать (жесткие системы
ОДУ). Для матрицы A большой размерности найти все собствен-
8
ные числа  j (полная спектральная задача) не очень просто из-за
ее плохой обусловленности. Действительно, для жесткой системы
число обусловленности матрицы A
k ( A )  max  j
j
min  j  1
(11)
j
или, приближенно, ||A||Т >> 1.
1.1.4. Нелинейные жесткие уравнения
Рассмотрим одно сингулярно-возмущенное уравнение:
ut  f (t , u ) , 0    1 ,
f / u  0 , u(t0 )  u0 , t0  t  T .
(12)
Рис. 1.5. Поле решений уравнения (12)
Если предельное (вырожденное) уравнение (12) при   0
f (t , u~)  0
при каждом значении t имеет единственное решение
u~(t )  (t ) ,
(13)
и в окрестности этого предельного решения f / u  0 (условие
устойчивости решений (12)), f u ~ 1 , то имеем ситуацию, изображенную на рис. 1.5. Аналогичная ситуация была и в примере
9
1.1.3 при малых  (в том случае предельное уравнение было
aut  bu  0 ). Как и в линейном случае, поведение решения разделяется на два характерных участка: пограничный слой для малых t0  t  T0 (его длина T0  t0 ~ 1 / max  j ), и близкое к преj
дельному решению (13) поведение при T0  t  T . Обычно определяемый
«физикой
задачи»
участок
интегрирования
T ~ 1 / min  j  T0  t0 .
j
1.1.5. Пример: сингулярно-возмущённая нелинейная
система второго порядка
Рассмотрим следующую автономную (правая часть не зависит от времени) систему двух нелинейных уравнений:
xt  ( x, y ) /  , x (0)  x 0 , y (0)  y 0 , 0    1 , 0  t  T ,
y t  ( x, y ) ,  x ~  y ~  x ~  y ~ O (1)  1  .
(14)
Убедимся, что система жесткая. Записав (14) в векторной форме
 x   y  
u = {x, y}, f  {  , } , A  
, имеем:
 y 
 x
det( A  E) 
x     y 
 0 или
x
y 
2  ( x     y )   x  y   x  y  0 .
Если  мало, то 1   x /  ,  2   x  y   x  y . Видно, что
 2 ~ O(1) , 1  1 при  x  0 (λ2 называют нормальной частью спектра, а λ1 — жесткой частью спектра).
Предельное уравнение:
x  g( ~
y) ,
( ~
x, ~
y )  0 или ~
~
y t  ( g ( ~
y ), ~
y )  r( ~
y) .
(15)
10
В случае уравнения Ван-дер-Поля:
( x, y )  y  x 3 3  x ; ( x, y )   x
(16)
y~
x3 /3 ~
x и поле решений в
получаем предельное уравнение ~
фазовой плоскости, изображённое на рис. 1.6.
Рис. 1.6. Поле решений уравнения Ван-дер-Поля
y~
x3 /3  ~
x имеем почти горизонтальное
Вдали от линии ~
поле направлений {dx , dy}  {  , } , а на линии выделяются две
устойчивые ветви AB и CD и одна неустойчивая ветвь BC. При
любых начальных значениях {x 0 , y 0 } траектория этой системы
— замкнутая кривая BB΄CC΄.
1) На участке 0  t  To ~  траектория почти горизонтальна и приближенно определяется уравнениями:
x t  ( x 0 , y 0 ) /  ,
x ( 0)  x 0 ,
y (t )  y 0
(17)
(пограничный слой).
2) При T0  t  TB   0 и система описывается предельными
уравнениями (16) (квазистационарный режим вплоть до точки B ).
Если и после т. B пользоваться предельными уравнениями (16), то
мы бы двигались по BC. Но реальная система на этом участке явля11
ется неустойчивой и сходит с него на ветвь DB΄C. На этом участке
1  0 , и решение определяется поведением  2 .
3) Опять пограничный слой (17) при TB  t  TB ' , за ним
квазистационарное движение на участке B΄C при TB '  t  TC ' ,
пограничный слой и т. д. (все повторяется).
Рис. 1.7. Компоненты решения уравнения Ван-дер-Поля
в зависимости от времени
1.1.6. Произвольная система нелинейных уравнений
В случае задачи Коши для общей нелинейной системы
v t  f (t , v ) ,
0t T ,
v ( 0)  v 0
(18)
поведение ее решения вблизи некоторой точки {t 0 , v 0 } определяется матрицей Якоби A:
 f1 / v1  f1 / v J 


A   f / v   

 .
f / v  f / v 
1
J
J
 J
12
Определение 1.1. Система называется жесткой, если для
всех t, v (т. е. на решениях (18)), собственные значения матрицы
A удовлетворяют условиям:
max Re  j / min Re  k  1 , Re  j  0 ,
j
k
max Im  j  max Re  j , j, k  1, ..., J
j
k
(т. е. расположены как на рис. 1.4г). Для оценки max  j можно
j
взять легко вычисляемую величину нормы матрицы A, для оценки max Re  j — величину следа матрицы Sp A 
j
min Re  j
j
J
J
j 1
j 1
 a jj    j ;
можно заменить на величину 1/Т, определяемую
обычно из физики задачи. Т. е. простейшим критерием жесткости системы могут служить неравенства Т||A|| >> 1, Sр A << –1
(иногда ограничиваются одним условием (11)). Однако надежных
простых способов определения жёсткости нет, и поэтому нужны
численные методы, работающие без проверок на жесткость.
1.2. Примеры простейших разностных схем для
жестких ОДУ
1.2.1. Способы построения схем
При численном решении задачи (18) с помощью разностных схем в некоторой последовательности точек t1 , t2 , ..., tn , ...
вычисляются значения v1 , v 2 , ..., v n , ... Способов вычисления
(разностных схем) изобретено множество, однако, не очень сильно отличаясь по качеству получаемого численного решения в
стандартном случае (рис. 1.4а), далеко не все из них пригодны
для расчета жестких систем ОДУ (рис. 1.4г). В идейном плане
можно выделить три основных подхода к их построению.
1.
Одношаговые (двухточечные) методы типа Рунге–Кутты
(схемы с пересчетом или схемы предиктор-корректор), пожалуй,
13
наиболее популярны. Многие неявные варианты этих схем пригодны и для жестких систем. Здесь для вычисления vn+1 требуется
знание только vn. Для неявных вариантов методов типа Рунге–
Кутты косвенно используется матрица Якоби A  f/  v (несущая
информацию о свойствах системы). В этих методах шаг интегрирования   t n 1  t n легко меняется в необходимых случаях.
Могут быть построены методы достаточно высокого порядка
точности. Вместе с тем, требуется многократное вычисление правой части f в промежуточных точках t n  t  t n 1 , которые при
переходе к новой точке не используются.
2.
Многошаговые линейные методы, при использовании которых не пропадает впустую информация в предыдущих точках
t n , t n 1 , ..., t n  K 1 , т. е. эти методы требуют меньшего числа вычислений f. Как и в одношаговых методах, в случае неявных схем
косвенно используется информация о матрице Якоби A. Однако
эти методы требуют «разгона» (вычисления дополнительных
«начальных» значений в точках t1, ..., t K 1 , получаемых другими
методами); также возникают трудности с изменением шага интегрирования в процессе счета. У явных многошаговых методов
(схем Адамса) невысокая устойчивость, поэтому для решения
жёстких систем применяют неявные методы (схемы Гира).
3.
Не очень распространенный, но перспективный (в том числе для жестких систем) подход, связанный с переходом к продолженным системам:
vt  w

.
v t  f (t , v )  
 w t   f /  t  A( t , v ) w
(19)
Вводя расширенный искомый вектор u = {v, w}, получаем для
него уравнение
ut = B(t, v)u + r(t, v), где
E 
0
 0 
B
, r  

0 A(t , v ) 
 f /  t 
14
( r = 0, если f явно не зависит от t, т. е. в случае автономной системы). Увеличивая размерность u (т. е. вычисляя в точках t = tn
не только v, vt = f, но и v tt   f /  t   f /  v  f и т. д.), этот процесс можно продолжить (конечно, если f задается аналитически и
производные от f не очень громоздки).
4. Всевозможные гибриды из 1, 2, 3, а также ряд других подходов (например, полуявные методы Розенброка).
1.2.2. Требования к численным методам решения
жёстких систем ОДУ
Каким же условиям должны удовлетворять разностные
схемы для решения жестких систем? Разберем на примере системы (14) два простейших метода — явный и неявный методы ломаных, называемые также схемами Эйлера.
На участке пограничного слоя (его протяженность O () )
для воспроизведения решения пригоден практически любой
обеспечивающий необходимую точность численный метод с шагом  ~ 0.1  0.01,    . Например, даже для явной схемы
Эйлера в линейном случае (7):
v n 1  v n    A  v n  ( E  A )v n  Ω 1E  ΛΩv n
имеем из условия устойчивости 1     j  1, j  1, 2, ... Для примера (14), (16) 1  1  1  1  1  x  1    2  x , что не
является здесь обременительным. Общее число шагов по времени
N1   /  ~10÷100 тоже вполне приемлемо. Однако это ограничение на шаг интегрирования  действует и на участках квазистационарного решения (С΄B, B΄C) и для прохождения таких участков потребуется уже N 2  O (1 ) шагов! А это уже неприемлемо
при очень малых  . Возможный выход — переход к решению
предельной системы (15), в которой уже 1   x /  не фигурирует, а условие устойчивости (конечно, линеаризованное, т. е. действующее в небольшой окрестности кривой C΄BB΄CC΄)
1  2  1   x /  x  1 или   2  x / x вполне приемлемо.
15
При численном решении на участках С΄B и BС΄ полной системы (14), (16) хорошо работает неявный метод Эйлера:
v n 1  v n   f ( t n 1 , v n 1 ) .
Для решения получающейся на каждом шаге по t нелинейной относительно vn+1 системы
R ( v n  1 )  v n 1  v n   f ( t n 1 , v n 1 )  0
используется какой-либо итерационный метод (например, метод
Ньютона).
В случае линейной системы (7) в неявном методе Эйлера:
v n 1  ( E  A ) 1 v n
(20)
условие устойчивости 1 (1   j )  1 выполняется для любых 
при Re  j  0, j  1, 2, ..., J . Поэтому при использовании метода
(20) для задачи (14), (16) на участках С΄B, BС΄ нет проблем, исключая, конечно, тот факт, что матрица A плохо обусловлена для
жестких систем и при обращении матрицы (E  A) могут возникнуть трудности при больших τ. Проведённый анализ показывает, (и по графику x(t) на рис. 1.7 видно), что шаг интегрирования τ на разных участках следует выбирать разным, и численный метод должен позволять это делать достаточно просто. Это
первая характерная особенность жестких систем. Следует предсказывать момент появления пограничных слоев, а это определяется собственными значениями матрицы Якоби. Отметим также,
что в неявном методе Эйлера для системы (14):

x n 1  x n
 ( x n 1 , y n 1 ) ~ O() ,

y n 1  y n
 ( x n 1 , y n 1 ) ~ O(1) ,

16
т. е. мы как бы решаем предельную систему (15), так как
( x n 1 , y n 1 )  0, y n 1  y n  ( x n 1 , y n 1 )  0 .
Менять шаг интегрирования τ в процессе счета можно, но
далеко не всегда нас интересует детальное поведение решения в
пределах пограничного слоя. В таких случаях можно брать  ~ 
и по неявной схеме проходить пограничный слой за один шаг по
времени.
Посмотрим еще, что будет происходить в неявной схеме
вблизи точки B (или С ) на примере уравнения Ван-дер-Поля
(14), (16). Имеем:
x n 1  x n 

  n  1 ( x n 1 ) 3

 x n 1   0 ,
y
 
3

y n 1  y n  x n 1  0 .
Вдали от т. В
Вблизи от т. В
Рис. 1.8. К алгоритму расчёта уравнения Ван-дер-Поля
по неявной схеме Эйлера
Вблизи точки B с координатами {xn, yn} имеем
  2    n 1 3

g ( x n 1 )  x n 1  1 
   (x
)  xn  yn  0 ,


   3


17
т. е. кубическое относительно искомого xn+1 уравнение, решения
которого изображены на рис. 1.8.
Выбор в итерационном методе в качестве начального приближения {xn, yn} при решении этого кубического уравнения может не дать сходимости. Это следствие вырождения исходной
системы (14), и за этим надо следить (варьируя τ и т. п.). Например, задается некоторая точность сходимости итерационного
процесса и минимально (m) и максимально (M) допустимые числа итераций. Если за M итераций процесс не сходится, то τ
уменьшают, если сходится за меньшее, чем m, число итераций, то
τ увеличивают и т. д.
1.3. Одношаговые методы типа Рунге–Кутты
1.3.1. Алгоритм
Перейдем к общему случаю системы (18). Одношаговые
методы типа Рунге–Кутты имеют вид:
v n 1  v n   
K
 ck rk ,
k 1
L


rk  f  t n  ak , v n   bklri , ak  bkl .


l 1
l 1



(21)

В дальнейшем для описания конкретных вариантов метода
будем пользоваться таблицей Бутчера:
a1
a2
…
ak
b11
b21
…
bK1
c1
b12
b22
…
bK2
c2
…
…
…
…
…
b1K
b2K
…
bKK
cK
Для явных схем Рунге–Кутты L < k, и таблица Бутчера выглядит следующим образом:
18
a1
a2
a3
…
ak
0
b21
b31
…
bK1
c1
0
0
b32
…
bK2
c2
…
…
…
…
…
…
0
0
0
…
bKK–1
cK–1
0
0
0
…
0
cK
В этом случае для расчёта vn+1 по vn в соответствии с (21) имеем
простые рекуррентные соотношения:
r1  f (t n , v n )  f n
— предиктор,
r2  f (t n  a 2 , v n  b21r1 )
(22)
— первый корректор и т. д.
«Полуявные» или «диагонально неявные» схемы Рунге–
Кутты отличаются от явных наличием ненулевых элементов на
главной диагонали таблицы Бутчера (L≤k):
a1
a2
…
ak
b11
b21
…
bK1
c1
0
b22
…
bK2
c2
…
…
…
…
…
0
0
…
bKK
cK
В этом случае на каждом шаге по времени последовательно решаются нелинейные системы:
R1 (r1 )  r1  f (t n  a1, v n  b11r1 )  0 ,
R 2 (r2 )  r2  f (t n  a 2 , v n  b21r1  b22 r2 )  0
и т. д.; например, методом Ньютона:
r1s 1  r1s  ( B1s ) 1 R1 (r1s ),
s  0, 1, ..., B1  E  b11f v
с неким начальным значением r10 , например, r10  f (t n , v n ) .
19
В общем случае ( L = K ), обозначая r = {r1, …, rk}, имеем
еще более громоздкую нелинейную систему
R(r) = 0, где R = {R1, R2, …, RK}
и итерационный процесс для ее решения
r
s 1
s 1
s
 r  (B )
 E  b11f v  E  b1K f v 


R (r ), B  



.
E  b f  E  b f 
K1 v
KK v 

s
1.3.2. Аппроксимация
Параметры схемы (неопределенные пока коэффициенты
a1, …, aK; c1, …, cK; b11, …, b1K, …, bK1, …, bKK), конечно, не произвольны. Их (все или часть) находят, прежде всего, из условий
аппроксимации, получаемых из разложения (21) в ряд в точке
t = tn или t = tn+1 с учетом (18) и его следствий
vt = f(t, v), v tt   f /  t  f v f , v ttt  ...
(т. е. рассматривая аппроксимацию на решениях (18)).
Поскольку в (21) при rk стоит множитель τ, то в разложении
правой части (21) нужно удерживать на один член ряда меньше,
чем в левой. Индекс n будем опускать. Итак, левая часть (21):
v n 1  v  v t 
Далее:
2
2
v tt  ...  v  v t   f /  t  f v f   ...
2
2
L



rk  f  ak  f /  t  fv  v n   bklf   v n   ...



l 1


Если коэффициенты ak выбирать таким образом, чтобы
ak 
L
bkl ,
(23)
l 1
20
то rk  f  a k  f /  t  f v f   ... Подставляя эти разложения в (21)
и группируя члены при одинаковых степенях τ, получим (после
деления на τ )
 K

 K


v t   ck f    a k ck   1 / 2 f /  t  f v f   ...



 k 1

 k 1 



Очевидно, что при выполнении условия (вместе с (23))
K
 ck  1
(24)
k 1
обеспечивается 1-й порядок аппроксимации, при
K
 a k ck  1 / 2
(25)
k 1
(вместе с (23), (24)) — 2-й порядок аппроксимации. Условия 3-го
порядка точности (вместе с (23) – (25)) есть
K
c a
k 1
k
2
k
 1 / 3,

K
L
 c   a b
k 1
k
l 1
l kl

  1/ 6 ,

(26)
а условия 4-го порядка (вместе с (23) – (26)):
K
 ck ak3  1 / 4,
k 1
 L

c
a

k k   al bkl   1 / 4 ,
k 1
 l 1

K
 L

ck  al2bkl   1 / 12,


k 1  l 1

K
 
(27)
 L
 L


ck
bkl  asbls    1 / 24 .



k 1  l 1  s 1

K
 

Уравнения (23) – (27) составляют относительно неопределенных коэффициентов некоторую нелинейную систему. Оче21
видно, что привлекаемое число условий аппроксимации (т. е. порядок точности схемы р при выполнении соответствующих условий гладкости) должно быть меньше числа отличных от нуля коэффициентов в (21), и соответствующая система должна быть
разрешима. В частности, для явных схем p  K , а для общих неявных схем p  2K .
1.3.3. Устойчивость
Конечно из того, что (21) при   0 стремится к (18) еще
не следует, что их решения будут сближаться. Как известно, для
сходимости, по крайней мере, в линейном случае
( f  Av, A  Ω1ΛΩ  {aij }, aij  const ), необходима еще устойчивость разностной схемы. А поскольку в линейном случае система (18) переходит в совокупность простейших уравнений типа
(1) (только  может быть и комплексным, т. е.     i ), при
анализе устойчивости можно ограничиться изучением (1). Чтобы
избежать громоздких выкладок и иметь возможность графического представления некоторых результатов, ограничимся также
случаем K = 2 в (21).
Итак, в случае модельного уравнения vt  v для обеспечения второго порядка аппроксимации из (23) – (25) имеем:
c1  c2  1; a1  b11  b12 ;
(28)
a 2  b21  b22 ; a1c1  a 2 c2  1 / 2.
Отсюда
c1 
b21  b22  1 / 2
 b11  b12  1 / 2
,
, c2 
b21  b22  b11  b12
b21  b22  b11  b12
(29)
т. е. четыре коэффициента bij произвольны, а остальные четыре
коэффициента определяются соотношениями (28), (29).
Из (26) с учетом (23), (29) имеем для схем 3-го порядка
3(b11 + b22) – 1 – 6(b11b22 – b12b21) = 0,
(30)
3[(b11 + b11) + (b21 + b21)] – 6(b22 + b21)(b11 + b12) – 2 = 0.
22
Для полуявных схем (b12 = 0) (30) определяет однопараметрическое семейство схем 3-го порядка с коэффициентами
b22 = (1 – 3b11)/[(1 – 2b11)], b11  1/2,
(31)
b21 = 1/[3(1 – 2b11)],
а на 4-й порядок уже не хватает свободных коэффициентов.
Полагая f  v ,    (σ — число Куранта), получим:
vn+1 = q vn,
(32)
q( ,{bkl })  1 
1   / 2  b11  b22 
1  b11  b22    2 b11b22  b12 b21 
.
Действительно, для модельного уравнения в (21) rk = vk,
v1 = vn + (b11v1 + b12v2 +…+ b1KvK),
v2 = vn + (b21v1 + b22v2 +…+ b2KvK),
..........................................
vK = vn + (bK1v1 + bK2v2 +…+ bKKvK).
 b11 ...b1K 


Обозначая v = {v1, …, vK}, v = {v , …, v }, B =  ...........  ,
b ....b 
KK 
 K1
n
n
–1 n
имеем (E – B)v = v , откуда v = (E – B) v = Dv , D = {dkj}
n
(т. е. vk = kvn =
n
n
k
 d kj v n ). Подставляя это в (21), и получим (32).
j 1
Геометрическая прогрессия (32) будет совпадать с точным
решением vn+1 = vn e, если q() = e. Этот способ выбора коэффициентов в (21) называют методом экспоненциальной подгонки,
его обобщение на случай линейной системы (7) ограничен лишь
возможностями отыскания спектра матрицы A, а в случае нелинейной системы (18) может быть использована линеаризация (18)
на малом отрезке [tn, tn+1].
23
Так как мы рассматриваем здесь только случай Re  < 0 (затухающие или устойчивые по Ляпунову решения), то при
|q()| > 1 приближенное решение (32) не будет иметь ничего общего с точным решением. При действительных значениях  численное решение ведет себя, как показано штриховыми линиями
на рис. 1.9 (точное решение — сплошная кривая).
Рис. 1.9 Вид численного решения при различных q
То есть для устойчивости разностной схемы следует потребовать выполнения условия
|q()| ≤ 1.
(33)
Для действительных  это эквивалентно –1 < q() < 1.
Определение 1.2. Схема называется абсолютно устойчивой, если (33) выполняется при всех значениях 
Определение 1.3. Схема называется монотонной, если для
действительных  выполняется 0 < q() < 1.
24
Если в комплексной плоскости (Re , Im ) нарисовать
кривую |q()| = 1, то она будет ограничивать область устойчивости. Примеры областей устойчивости для явного и неявного методов Эйлера показаны (заштрихованы) на рис. 1.10а и рис. 1.10б
соответственно.
а
б
Рис. 1.10. Области устойчивости схем Эйлера
а
б
Рис. 1.11. Области устойчивости жёстко-устойчивых схем
Для абсолютно устойчивых схем область устойчивости —
вся комплексная плоскость . Таких схем на практике не существует, но для жестких уравнений этого и не нужно, достаточно,
25
чтобы схема была A-устойчивой (Далквист, 1963 г.), как, например, неявная схема Эйлера, рис. 1.10б.
Определение 1.4. Схема называется A-устойчивой, если
кривая |q()| = 1 лежит в правой полуплоскости σ.
Это требование довольно тяжелое, поэтому его еще более
ослабляют, требуя, чтобы кривая |q()| = 1 лежала вне заштрихованных на рис. 1.11а, б областей (Гир, 1969г.). Это есть разные
определения жестко-устойчивых схем. Действительно, для
жесткой системы ОДУ (рис. 1.4г), если все Re j < 0, то при изменении  от 0 до  все точки jj на плоскости {Re , Im }
будут двигаться по радиальным направлениям внутри некоторого
угла 2β (рис. 1.11б), оставаясь внутри области устойчивости.
Величина Re q() определяет скорость затухания решения.
При Re  << –1 точное решение затухает очень быстро, значит и
численный метод при ||   (точнее, при Re  –) должен
обладать этим свойством.
Определение 1.5. Схема называется L-устойчивой (Ламберт, 1973 г.), если
|q()|  0 при || 
(34)
(или Re q()  0 при Re   –).
Обобщение всех этих определений на случай линейной системы (7) очевидно, надо, чтобы соответствующие условия выполнялись для всех j = j (j — собственные значения матрицы
A ). Для общей нелинейной системы (18) все это должно выполнятся локально, при всех tn (принцип линеаризации и замораживания коэффициентов).
1.3.4. Примеры схем Рунге–Кутты
Вернемся теперь к конкретному выражению для q из (32) и
для простоты ограничимся случаем действительных  < 0. Это
особенно не меняет существа дела, но упрощает выкладки. Будем
также полагать b12 = 0 (полуявные схемы), тогда q не зависит
также и от b21, а оставшиеся два свободных коэффициента при26
мем за оси координатной плоскости, в которой будем вести рассмотрение (рис. 1.12).
Область устойчивых при всех – ≤  ≤ 0 схем, т. е. область
A-устойчивых схем –1 ≤ q() ≤ 1, на рис. 1.12 заштрихована (горизонтальная штриховка: –1 ≤ q(–) ≤ 0, вертикальная штриховка
0 ≤ q(–) ≤ 1).
Рис. 1.12. Полуявные схемы Рунге–Кутты в плоскости
неопределённых коэффициентов ( K = 2 )
Множество схем 3-го порядка аппроксимации (31) на
рис. 1.12 показано сплошной кривой (гипербола с асимптотами
b11 = 1/2, b22 = 1/2).
Для L-устойчивых схем из (32), (34) имеем
b11b12 – (b11 + b12) + 1/2 = 0.
(35)
На рис. 1.12 L-устойчивым схемам (35) соответствует
штриховая кривая (гипербола с асимптотами b11 = 1, b22 = 1).
Видно, что в данном случае (среди полуявных схем Рунге–Кутты
27
с K = 2) ни L-устойчивых, ни монотонных схем третьего порядка
нет, а L-устойчивые схемы второго порядка расположены на
кривых A3A4΄A5΄ и A4.
Несколько конкретных примеров. На прямой b11 = b22, проходящей через точки O, A4΄, B1, A2, A4, расположены схемы Бутчера. Точка A3 (и точка A3΄, так как точкам, симметричным относительно прямой b11 = b22 соответствует формальная замена в
(21), (22) индексов 1 и 2) называется схемой Лобатто, и для неё
таблица Бутчера имеет вид
0 0 0
0
0
0
½ 0 ½ или b21+½
b21
½
(36)
0 1
1
2b21
2b21  1
2b21  1
(более общий вариант, b21 ≠ –1/2).
Это полуявная (с явным предиктором, т. е. достаточно экономная
по объему вычислений) схема 2-го порядка аппроксимации. Она
расположена на границе области A-устойчивых схем, монотонна
лишь при -2 ≤  ≤ 0 и не L-устойчива (q(–) = –1).
Точка A1 (и симметричная ей точка A1΄) также расположена
на границе области A-устойчивых схем, не L-устойчива
((-) = –1), монотонна лишь при –1– 3 ≤  ≤ 0 и по своим
свойствам мало отличается от схемы Лобатто. Соответствующая
ей таблица Бутчера имеет вид
1 1
0 –½
½
0
½
½
или
1
b21+½
1
b21
2(b21  1)
2b21  1
0
½
1
2b21  1
(37)
(b21 ≠ 1/2).
Точка A2 является A-устойчивой, но не L-устойчивой схемой ((–) = –1/2), монотонна при –1– 3 ≤  ≤ 0, как и схема
A1, имеет второй порядок аппроксимации, по своим свойствам
несколько лучше предыдущих схем. Соответствующая ей таблица Бутчера имеет вид
28
1 1
½ –½
0
0
1
1
или
1
b21+½
1
b21–½
 2(1  b21 )
1  2b21
0
1
1
1  2b21
(38)
(b21 ≠ 1/2).
Точки A4 и A4΄ являются примерами A- и L-устойчивых
схем (точка A4 также монотонна при всех отрицательных значениях ) второго порядка аппроксимации. В соответствующей им
таблице Бутчера знак ‘+’ относится к схеме A4, а знак ‘–’ — к A4΄:
2 2
2
2 2
b21 
2
2 2
2
0
2 2
2
1  2  2b21  (1  2 )
2b21
2b21
(39)
b21
(b21  0).
Схема Хаммера–Холлингсворта — 2-го порядка, неявная,
не L-устойчивая (q(–) = 1; пример неудачной схемы):
1

2
1

2
3
6
3
6
1
4
1
3

4 6
1
2
1
3

4 6
1
4
1
2
Явная схема Эйлера–Коши (точка O ):
0
1
0
1
0
0
0
½
(40)
Две полуявные схемы 3-го порядка, не L-устойчивые, немонотонные, A-устойчивые:
1) точка B1 (схема Розенброка)
29
3 3
6
3 3
6
3 3
6
3

3
1
2
0
3 3
6
1
2
(41)
2) точка B2, для которой
1
1/3
1
–1/3
1/4
0
2/3
3/4
(42)
Основная гипотеза, принимаемая здесь и в дальнейшем при
анализе разностных схем: точкам в пространстве неопределенных коэффициентов {bkl}, которые близки между собой (в смысле расстояния, например, в евклидовой метрике), соответствуют схемы, близкие по своим свойствам (точности, устойчивости и т. п.).
1.4. Линейные многошаговые схемы
(методы типа Адамса)
1.4.1. Алгоритм и аппроксимация
Используя, как и в разделе 1.3, метод неопределенных коэффициентов и записывая линейную комбинацию векторфункций v и f в некоторой последовательности равноотстоящих
точек tn, tn+1, …, tn+k ( = tn+k – tn+k = const), для линейных многошаговых методов получим следующее выражение:
K
 ak vn k  bk f (t n  k, vn k )  0,
aK  0 .
(43)
k 0
Из-за однородности (43), коэффициент при искомом значении
vn+k можно выбрать единичным:
аK = 1.
(44)
30
Неопределенные коэффициенты ak, bk ( k = 0, …, K ) из разложения (43) в ряд Тейлора в точке tn+K (или tn) связаны условиями аппроксимации (на решениях (18)):
K

K
 k ak  bk  0
ak  0 ,
(45)
k 0
k 0
(обеспечивают 1-й порядок аппроксимации),
K
 (k 2 ak
2  k bk )  0
(46)
k 0
(обеспечивает 2-й порядок аппроксимации вместе с (45)),
…
K
 ( k  ak
!  k  1bk (   1)!)  0
(47)
k 0
(обеспечивает -й порядок аппроксимации на решениях (18) вместе с предшествующими условиями).
Схемы первого порядка аппроксимации малоинтересны,
поэтому в дальнейшем будем рассматривать схемы второго или
более высокого порядка точности. Если с учетом нормировки
(44) и условий аппроксимации второго порядка точности
(45), (46) исключить, например,
a K  1, a K 1  1 
K 2
 ak ,
k 0
bK 
K 2 

1
(K  k )2  1

a k  ( K  k  1)bk  ,
( k  1  K ) 
2 k  0 
2

bK 1 

K 2 

1
(K  k )2  1

a k  ( K  k )bk  ,

2 k  0 
2


31
то оставшиеся свободными коэффициенты (если позволяет выбранное K > 2), можно принять за линейное пространство размерности 2(K–1), например, с евклидовой метрикой. Каждой точке в этом пространстве будет соответствовать некоторая разностная схема второго порядка точности, а условия более высокого
порядка аппроксимации ((47) при  = 3 и т. д.) после исключения
в них aK, aK–1, bK, bK–1, являясь относительно оставшихся свободными коэффициентов ak, bk ( k = 0 , …, K–2 ) линейными уравнениями
K  2  
 1
( K  1)  k  
  ( K  k  1) K




 
(   1)!
!
! 


k 0 



K  1  ( K  1)  1 ( K  k )2  1

 ak 
(   1)!
2

 K  1  k  1
K  1  ( K  1)  1 

 (K  k )
bk 
(   1)!
 (   1)!

 K   ( K  1)
K  1  



0,
!
(   1)!  


образуют в этом пространстве соответствующую гиперплоскость
схем третьего порядка аппроксимации. На пересечении двух таких гиперплоскостей ((47) при  = 3 и  = 4) будут расположены
схемы с четвертым порядком аппроксимации и т. д., пока мы не
исчерпаем все возможности для выбранного K, т. е. пока не
найдем единственную схему с наиболее высоким порядком аппроксимации (точку в этом пространстве).
В частности, при K = 2 имеем:
a2 = 1, a1 = –1 – a0,
b2 = (1 + a0 + 2b0) / 2, b1 = (1 – 3a0 – 4b0) / 2,
где a0 и b0 произвольны для схем 2-го порядка точности.
32
(48)
Условие 3-го порядка аппроксимации дает прямую в плоскости {a0, b0} с уравнением
5a0 + 12b0 + 1 = 0,
а единственной схемой 4-го порядка аппроксимации будет точка
на этой прямой с координатами:
a0 = –1, b0 = 1/3.
(49)
1.4.2. Устойчивость
Как уже отмечалось, одной аппроксимации недостаточно
для сходимости решений (43) к решениям исходной дифференциальной задачи даже в линейном случае (7). Нужно еще обеспечить устойчивость разностных схем (43). Для одного линейного
уравнения, полагая f = v, из (43) получим
K

(ak   bk )v n  k 
k 0
K
k vn k  0,    .
(50)
k 0
Устойчивость разностных схем (50) будем исследовать на
специальных решениях вида vn = qn. Тогда для определения q
имеем многочлен устойчивости степени K и уравнение
K
(ak   bk )qk  0 ,
k 0
корни которого qj, j = 1, 2, …, K (действительные или комплексные, в зависимости от , ak, bk) должны удовлетворять условиям
устойчивости
|q()| ≤ 1,
j = 1, …, K.
(51)
Если в плоскости {Re , Im } область устойчивости, определяемая неравенствами (51), включает всю левую полуплоскость
(т. е. (51) выполняется для всех  с Re  < 0), имеем Aустойчивую схему. Если эта область включает в себя заштрихованную на рис. 1.11а или 1.11б часть плоскости {Re , Im  },
имеем жестко-устойчивую схему. Для действительных  и qj()
33
условия устойчивости схемы будут иметь вид –1 ≤ qj() ≤ 1. Если
это условие выполняется для всех : – <  ≤ 0, то схема Aустойчива. Если
lim |q()| = 0, j = 1, 2, …, K,
 
(52)
то схема будет L-устойчивой.
1.4.3. Примеры линейных многошаговых схем
Для случая K = 2 с учетом (48), (50) имеем
vn+2 = 1vn+1 + 0vn,
q2 – 1q – 0 = 0.
Отсюда
  12  40
,
q1  1
2
  12  4 0
,
q2  1
2
где
1 
(2  )  (2  3)a0  4b0
 2a0  4a0
, 0 
.
(2  )  a0  2b0
(2  )  a0  2b0
Рис. 1.13. Линейные многошаговые схемы в плоскости
неопределённых коэффициентов ( K = 2 )
34
Условия |q1(, a0, b0)|≤1, |q2(, a0, b0)|≤1 ограничивают область A-устойчивых схем. На рис. 1.13 эта область в плоскости
свободных коэффициентов {a0, b0} заштрихована (четырехугольник A1, A2, A3, A4). Сплошная прямая B1B2 — множество схем третьего порядка аппроксимации — не пересекается с множеством
A-устойчивых схем. Точка B2 на этой прямой — единственная в
этом случае схема четвертого порядка аппроксимации (49). И в
общем случае доказано (теорема Далквиста), что линейных многошаговых A-устойчивых схем с порядком аппроксимации выше
второго не существует.
Точка A с координатами
a0 = 1/3, b0 = 0
(53)
— единственная в этом случае L-устойчивая схема (схема Кёртисса–Хиршфельдера). Область жестко-устойчивых схем, очевидно, содержится внутри себя множество A-устойчивых схем. В
частности, схема, соответствующая точке A6, является жесткоустойчивой.
Точка A1 с коэффициентами
a0 = b0 = 0,
(54)
т. е. одношаговая линейная схема (метод трапеций), из числа Aустойчивых схем является оптимальной в том смысле, что она
среди других A-устойчивых схем при K = 2 ближе всего расположена и к L-устойчивой схеме (точке A6), и к схемам 3–го порядка (наиболее точная из A-устойчивых схем).
Отметим еще схему 3-го порядка точности, соответствующую точке B1. Она является жестко-устойчивой и наиболее близка к множеству A-устойчивых схем. Для этой схемы
a0 = 0, b0 = –1/12.
(55)
Явным схемам на рис. 1.13 соответствует штриховая прямая. В частности, точка A5 с коэффициентами
a0 = 0, b0 = –1/2
(56)
35
— явная схема Адамса. Все явные схемы, как видно, не являются
A-устойчивыми. А в целом, семейство линейных многошаговых
схем существенно беднее схем типа Рунге–Кутты.
1.5. Схемы для продолженных систем
(схемы Обрешкова)
1.5.1. Алгоритм и аппроксимация
Лучшие черты методов Рунге–Кутты и линейных многошаговых методов сочетают схемы для продолженной системы (19)
или линейные многошаговые схемы с использованием 2-й (схемы
Обрешкова) и более высоких производных:
vtt(t, v) = ft = f/t + fv f.
(57)
Добавляя в (43) линейную комбинацию вторых производных vtt с дополнительными неопределенными коэффициентами
сk, получим для этих схем (aK = 1)
K
ak vn k   bk vt (t n  k, vn k )  2ck vtt (t n  k, vn k )  0 ,
k 0

K
{ak vn k  bk f (t n k , vn k ) 
(58)
k 0
 2ck [f (t n  k , v n  k ) / t  f v (t n  k , v n  k )f (t n  k , v n  k )]}  0 .
Из начальных условий в (18) и из (57) видно, что vtt(0, v0) фактически можно считать известным.
Условия аппроксимации, как и в случае линейных многошаговых методов, являются линейными (относительно неопределенных коэффициентов ak, bk, ck) уравнениями:
K
K
k 0
k 0
 ak  0 ,  k ak  bk  0
(59)
(обеспечивают 1-й порядок аппроксимации),
36
K
 ( k 2 ak
2  k bk  ck )  0
(60)
k 0
(обеспечивает 2-й порядок аппроксимации вместе с (59)),
…
K
(k ak
!  k  1bk (   1)!  k   2ck (   2)!)  0
(61)
k 0
(обеспечивает -й порядок аппроксимации на решениях (18) вместе с предшествующими условиями).
В случае неявных схем (bK  0, cK  0) нелинейная относительно vn+k система (58) с ограничениями (59) – (61):
R ( v n  K )  r  v n  K   bK f (t n  K , v n  K ) 


 2 cK f (t n  K , v n  K ) t f v (t n  K , v n  K )f (t n  K , v n  K )  0,
r
K 1
{ak v n  k   bk f (t n  k , v n  k ) 
k 0
2
  ck [f (t n  k , v n  k )
t  f v (t n  k , v n  k )f (t n  k , v n  k )]}
решается каким-либо итерационным методом, например,
v ns1k  v ns  k  B 1(t n  k , v ns  k )  R ( v ns  k ),
s = 0,1, …,
v 0n  K  v n  K 1 ,
(62)
B = R/vn+k = E – bkfv – 2ck[(f/t)/v + fvfv + C].
В (62) С — матрица, столбцами которой являются векторы
((fv)/v1)f, ((fv)/v2)f, …, ((fv)/vK)f.
(63)
1.5.2. Устойчивость
Так как свободных параметров у этого класса разностных
схем больше, появляется возможность при меньшем числе точек
сеточного шаблона (т. е. при меньших K ) строить схемы более
37
высокого порядка аппроксимации, чем в случае линейных многошаговых схем. В частности, при K = 1 (одношаговые, как методы Рунге–Кутты, схемы) имеем для схем второго порядка аппроксимации
a1 = 1, a0 = –1, b0 = 1/2+c0+c1, b1 = 1/2–c0–c1,
(64)
c0, c1 — произвольны. Если в дополнение к (64)
c1 = c0 – 1/6,
(65)
то имеем однопараметрическое семейство 3-го порядка, а при
c0 = 1/12,
c1 = –1/12
(66)
— единственную на данном шаблоне схему 4-го порядка.
Для тестового уравнения с f = v имеем
vt = f = v, vtt = ft = v = 2v, …,
K

(ak   bk  2ck )v n  k 
k 0
K
k vnk  0,    ,
k 0
т. е. то же, что и в случае линейных многошаговых схем. В частности, при K = 1, как и в методах Рунге–Кутты, получаем геометрическую прогрессию:
vn+1 = qvn, где q = –a0/a1 = [1 + (1/2 + c0 + c1) +
+ 2c0] / [1 – (1/2 – c0 – c1) – 2c1].
(67)
Из условия устойчивости |q( , c0 ,c1)| ≤ 1, требуя его выполнения для всех значений  – ≤ Re() ≤ 0, в плоскости свободных параметров {c0, c1} можно получить все множество Aустойчивых схем (заштриховано на рис. 1.14; вертикальная
штриховка — монотонные схемы, для которых, в случае действительных значений  0 ≤ q ≤ 1, горизонтальная штриховка —
устойчивые, но не монотонные схемы, для которых 1 ≤ q < 0).
Определяя из (67) lim |q(, c0, c1)| = –c0/c1, и приравнивая
| | 
его нулю, получим, что множество L-устойчивых схем расположено на прямой с0 = 0 (исключая точку с1 = 0).
38
Схемам 3-го порядка аппроксимации (65) на рис. 1.14 соответствует прямая B1B2B3, единственной схеме четвертого порядка
(66) — точка B3, расположенная на границе A-устойчивых схем.
Точка O с координатами
с0 = 0, с1 = 0
(68)
соответствует известной схеме «трапеций».
Рис. 1.14. Схемы Обрешкова в плоскости
неопределённых коэффициентов ( K = 1 )
В целом данный класс схем заметно богаче класса линейных многошаговых методов. Он содержит целую полупрямую
B1B2 A-устойчивых схем третьего порядка аппроксимации, в том
числе L-устойчивую схему — точку B2 с координатами
c0 = 0, c1 = –1/6,
(69)
чего нет даже в методах Рунге–Кутты при K = 2.
39
1.6. Контрольные вопросы














1.6.1. Общие вопросы к лабораторным работам 1–3
Жесткие системы ОДУ. Поведение решений. Примеры.
Жесткие системы ОДУ. Расположение собственных значений матрицы (Якоби). Признаки жёсткости.
Требования к численным методам решения жёстких систем.
Сходимость разностных схем в линейном приближении.
А- и L-устойчивые, жёстко устойчивые, монотонные схемы.
Построение схем методом неопределённых коэффициентов.
Графическая интерпретация свойств различных методов.
Какие достоинства и недостатки имеют неявные схемы? схемы высокого порядка аппроксимации?
В каких случаях и зачем при реализации методов решения
систем ОДУ используется матрица Якоби правой части?
Достоинства и недостатки трёх изучаемых типов схем.
1.6.2. Схемы Рунге–Кутты (работа №1)
Алгоритм явных, полуявных и неявных методов Рунге–Кутты.
Условия аппроксимации. Сколько свободных коэффициентов
имеют неявные (полуявные) схемы Рунге–Кутты 2-го (3-го) порядка при K=1, 2 (K — число членов в выражении для схемы)?
Операторный метод исследования устойчивости. Какие методы (по признакам устойчивости) есть среди полуявных и
неявных схем 2-го и 3-го порядка?
1.6.3. Линейные многошаговые схемы (работа №2)
Условия аппроксимации. Сколько свободных коэффициентов
имеют явные (неявные) линейные многошаговые схемы 2-го,
3-го и 4-го порядка при K=1, 2, 3 (K — число точек шаблона)?
Исследование устойчивости. Многочлен устойчивости.
1.6.4. Схемы для продолженных систем (работа №3)
Возможности построения A- и L-устойчивых схем Рунге-Кутты, линейных многошаговых схем и схем Обрешкова.
Влияние явности и порядка точности на эти возможности.
40
2. Примеры жёстких систем ОДУ
2.1. Модель Филда–Нойса «орегонатор»
Простейшая модель периодической химической реакции Белоусова–Жаботинского состоит из трех уравнений:
y1  77,27( y 2  y1 (1  8,375  10 6 y1  y 2 )),
y 2 
1
( y3  (1  y1 ) y 2 ),
77,27
y3  0,161( y1  y3 ).
На то, что система жесткая, указывают большие различия в
константах скоростей реакций — есть процессы «быстрые», и
есть «медленные».
Так как переменные системы — концентрации (HBrO2, Br–
и Ce(IV) соответственно), то начальные условия для системы
следует выбирать положительными. Как правило, их выбирают
достаточно близкими к 0. Конечное время интегрирования системы Tk = 800. О системе см., например, [1–3].
2.2. Уравнение Ван-дер-Поля
Типичным примером жесткой задачи малой размерности
является уравнение Ван-дер-Поля [1, 2, 4, 5]. Его возможно записать в виде системы
y1  y 2 ,
y 2   a ( y 2 ( y12  1)  y1 ),
(1)
или в виде
y3
y1  a( 1  y1 )  ay2 ,
3
y 2   y1 ,
(2)
41
(представление Льенара). Считаем, что параметр a — большой. В
расчетах рассмотреть два случая: a = 103 и a = 106. Для тестов
обычно полагают y1  2, y 2  0. Конечное время интегрирования
системы, записанной в виде (1), Tk = 20.
Периодические решения жестких систем ОДУ иногда
называют релаксационными автоколебаниями [4, 5].
Дополнительный вопрос: укажите преобразование, переводящее представление (1) в представление Льенара (2).
2.3. Система Ван-дер-Поля и траектории-утки
Рассмотрим неавтономную систему Ван-дер-Поля:
y3
y1  a( ( 1  y1 )  y2 ),
3
y 2   y1  A cos t.
Как и в предыдущей задаче считаем, что a = 103 и a = 106,
y1  2, y 2  0. Рассмотреть численно случаи 0 < A < 1 и
1 A  1
1
. Tk = 200.
64 2
О траекториях-утках в системе Ван-дер-Поля см. [5] (строгое исследование) и [6] (популярное изложение).
2.4. Суточные колебания озона в атмосфере
Рассмотрим простейшую математическую модель колебаний концентрации озона в атмосфере [7]. Она описывается следующей неавтономной системой ОДУ:
y1  k1 y1 y2  k 2 y1 y3  2k3 (t ) y2  k 4 (t ) y3 ,
y 2  0,
y 3  k1 y1 y2  k2 y1 y3  k4 (t ) y3.
В данной модели уравнения описывают изменение концентрации атомарного кислорода, молекулярного кислорода и озона
соответственно. Считается, что изменения концентрации молеку42
лярного кислорода невелики. Начальные значения для задачи таковы: y1 (0)  10 6 (см–3), y 2 (0)  3,7  1016 (см–3), y3 (0)  1012 (см–
3
), а значения констант скоростей химических реакций
k1  1,63  10 16 , k 2  4,66  10 16 .
Две другие химические реакции зависят от локальной
освещенности участка земной поверхности и приближаются следующим выражением:
exp(  ci / sin t ), sin t  0,
ki (t )  
0, sin t  0,

где    / 43 200 с–1, с3 = 22,62, с4 = 7,601. Значения констант
скоростей обращаются в ноль «ночью», резко возрастают «на
рассвете», достигают максимума «в полдень» и падают до ноля
«на закате». Конечное время интегрирования Tk = 172 800 c (двое
суток). Данная система является жесткой «ночью» и умеренно
жесткой «в светлое время суток».
2.5. Уравнение Бонгоффера–Ван-дер-Поля
Рассмотрим еще один пример жесткой задачи малой размерности, имеющей периодическое решение [5, 8]:
y3
y1  a( ( 1  y1 )  y2 ),
3
y 2   y1  by 2  c.
Здесь a = 103 и a = 106, y1  2, y 2  0. Уравнение описывает протекание тока через клеточную мембрану. Постоянная компонента тока c в безразмерной записи системы такова, что
0 < c <1, b > 0. Tk = 20.
2.6. Сингулярно-возмущенная система —
модель двухлампового генератора Фрюгауфа
Система более высокой размерности, имеющая решение в
виде релаксационного цикла, приведена в [4] (см. также [8]). Она
имеет вид:
43
x1  ( y1  y 2 )  ( x1 )  x2 ,
x 2  ( y1  y 2 )  ( x2 )  x1 ,
y1  x1 ,
y 2  x 2 .
Здесь α > 0 порядка 1, функция  (u)   tg(u / 2),
x1 (0)  x2 (0)  0, y1  2, y 2  0, Tk = 20, ε = 10–3, 10–6.
2.7. Простейшая модель гликолиза
Простейшая модель гликолиза описывается уравнениями
следующего вида [8]:
y1  1  y1 y 2 ,

1 
,
y 2   y2  y1 
y2   

предложенными
Дж. Хиггинсом.
В
системе
β = 10,
α = 100, 200, 400, 1000. Начальные условия для системы: y1(0) = 1,
y2(0) = 0,001, Tk = 50. Решение этой системы — релаксационные
автоколебания (жесткий предельный цикл).
2.8. Модель химических реакций Робертсона
Один из первых и самых популярных примеров «жесткой»
системы ОДУ принадлежит Робертсону (1966) и имеет вид, типичный для моделей химической кинетики — в правой части системы стоят полиномы второй степени от концентраций (сравните с орегонатором). Система Робертсона имеет вид [1]:
y1  0,04 y1  10 4 y 2 y 3 ,
y 2  0,04 y1  10 4 y 2 y 3  3  10 7 y 22 ,
y 3  3  10 7 y 22 .
44
Начальные условия для системы таковы: y1(0) = 1, y2(0) = 0,
y3(0) = 0. Рассматриваются следующие величины отрезка интегрирования: Tk = 40 (в работе Робертсона рассматривался именно
такой отрезок интегрирования), Tk = 100, 1000, …, 1011. О свойствах задачи см. в [1].
2.9. Модель дифференциации растительной ткани
Данный пример из [1] — типичный случай биохимической
модели «умеренной» размерности (современные модели, например, фотосинтеза включают сотни уравнений подобного типа).
Хотя данная модель является умеренно жесткой, тем не менее,
ее лучше решать с помощью методов, предназначенных для решения ЖС ОДУ.
y1  1,71 y1  0,43 y 2  8,23 y3  0,0007 ,
y 2  1,71 y1  8,75 y 2 ,
y 3  10,03 y 3  0,43 y 4  0,035 y5 ,
y 4  8,32 y 2  1,71 y 3  1,12 y 4 ,
y 5  1,745 y5  0,43 y 6  0,43 y 7 ,
y 6  280 y6 y8  0,69 y 4  1,71 y5  0,43 y 6  0,69 y7 ,
y 7  280 y6 y8  1,87 y7 ,
y 8   y 7 .
Начальные значения всех переменных системы равны 0,
кроме y1(0) = 1 и y8(0) = 0,0057. Длина отрезка интегрирования
Tk = 421,8122.
2.10. Задача E5
Еще одна модель химической реакции из [1], получившая
свое название Е5 в более ранних публикациях.
y1   Ay1  By1 y3 ,
y 2  Ay1  MCy 2 y3 ,
45
y 3  Ay1  By1 y3  MCy 2 y3  Cy 4 ,
y 4  By1 y3  Cy 4 .
Начальные условия: y1(0) = 1,76·10–3, а все остальные переменные равны 0. Значения коэффициентов модели следующие:
A = 7,89·10–10, B = 1,1·107, C = 1,13·103, M = 106. Первоначально
задача ставилась на отрезке Tk = 1000, но впоследствии было обнаружено, что она обладает нетривиальными свойствами вплоть
до времени Tk = 1013 (см. [1]).
Обратите особое внимание, что в процессе расчетов приходится иметь дело с очень малыми концентрациями реагентов
(малы значения y2, y3 и y4).
2.11. Уравнение Релея
Уравнение Релея во многом похоже на уравнение Ван-дерПоля [8]. Рассматривается задача вида
x   (1  x 2 ) x  x  0 .
Решить задачу, записав уравнение Релея в виде системы
ОДУ. Начальные условия: x(0) = 0, x (0)  0,001, μ = 1000,
Tk = 1000.
2.12. Экогенетические модели
Рассмотрим пример системы уравнений, которая описывает
изменения численности популяций двух видов и эволюцию некого генетического признака α. Система имеет вид:
x  x (1  0,5 x 
2
7 2
y ),
y  y ( 2  3,5 2 x  0,5 y ),
   (2  7x ).
Параметры задачи таковы: ε ≤ 0,01, 0 ≤ x0 ≤ 3, 0 ≤ y0 ≤ 15,
α0 = 0,01, Tk = 1500. Наличие малого параметра в третьем уравнении системы показывает, что генетический признак меняется
46
медленнее, чем численность популяций. Решение системы — релаксационные колебания.
Наряду с данной задачей в [9] описана более интересная:
численность двух популяций зависит от их взаимодействия и
двух медленно меняющихся генетических признаков.
x  x ( 21  0,5 x  3,512 y ),
y  y (2 2  3,5 22 x  0,5 y ),

 1  ( 2  71 x ),

 2  ( 2  7 2 y ).
Параметры задачи таковы: ε ≤ 0,01, 0 ≤ x0 ≤ 40, 0 ≤ y0 ≤ 40,
α10 = 0, α20 = 10, Tk = 2000. Рассмотреть также модификацию
предыдущей системы [9]:
x  x ( 21  0,5 x  3,513 y ),
y  y (2 2  3,532 x  0,5 y ),
 1  ( 2  10,512 x ),
 2  ( 2  10,5 22 y ).
Параметры задачи: ε ≤ 0,01, 0 ≤ x0 ≤ 40, 0 ≤ y0 ≤ 40, α10 = 0,
α20 = 10, Tk = 2000.
47
Список литературы
1. Хайрер Э., Ваннер Г. Решение обыкновенных дифференциальных
уравнений.
Жесткие
и
дифференциально–
алгебраические задачи. — М.: Мир, 1999. — 685 с.
2. Хайрер Э., Нерсетт С., Ваннер Г. Решение обыкновенных
дифференциальных уравнений. Нежесткие задачи. — М.:
Мир, 1990. — 512 с.
3. Колебания и бегущие волны в химических системах. / Под
ред. Р. Филда, М. Бургер. — М.: Мир, 1988. — 720 с.
4. Мищенко Е.Ф., Розов Н.Х. Дифференциальные уравнения с
малым параметром и релаксационные колебания. — М.:
Наука, 1975. — 248 с.
5. Мищенко Е.Ф., Колесов Ю.С., Колесов А.Ю., Розов Н.Х. Периодические движения и бифуркационные процессы в сингулярно-возмущенных системах — М.: Наука. Физматлит, 1995.
— 336 с.
6. Малинецкий Г.Г. Хаос. Структуры. Вычислительный эксперимент. — М.: Наука, 1998.
7. Каханер Д., Моулер К., Нэш С.. Численные методы и программное обеспечение. — М.: Мир, 1998. — 575 с.
8. Ланда П.С. Нелинейные колебания и волны. — М.: Наука.
Физматлит, 1997. — 496 с.
9. Кондрашов А.С, Хибник А.И. Экогенетические модели как
быстро-медленные системы. // Исследования по математической биологии. — Пущино, 1996. — с. 88–123.
10. Ракитский Ю.В., Устинов С.М., Черноруцкий И.Г. Численные
методы решения жестких систем. — М.: Наука, 1979.
11. Холл Дж., Уатт Дж. (ред.). Современные численные методы решения обыкновенных дифференциальных уравнений.
— М.: Мир, 1979.
48
Download