Статья Альшины Лимонов

advertisement
Двустадийные комплексные схемы Розенброка для жестких систем.1
А.Б. Альшин, Е.А. Альшина, А.Г. Лимонов
Институт математического моделирования РАН
Московский государственный институт электронной техники (технический университет),
Зеленоград
e-mail: elena.alshina@gmail.com
Для жестких систем дифференциальных уравнений предложен ряд новых двустадийных схем типа Розенброка с
комплексными коэффициентами. Схемы имеют четвертый порядок точности и отвечают повышенным требованиям к
устойчивости. Построено однопараметрическое семейство L1-усточивых схем, коэффициенты которых вычисляются
по явным формулам, содержащим лишь дроби и радикалы. В этом семействе найдена одна L2-устойчивая схема.
Построена L4-устойчивая схема четвертого порядка точности. Доказана сходимость предложенных схем. В
литературе ранее не были описаны схемы 4-го порядка точности всего на двух стадиях, а также не было схем с L4устойчивостью. Разработан алгоритм символьных вычислений, позволяющий конструировать условия порядка для
многостадийных схем типа Розенброка с комплексными коэффициентами. Этот алгоритм был применен при
построении предложенных схем. Библ. 5, илл. 6, табл. 6.
I. ВВЕДЕНИЕ
При математическом моделировании задач со многими разномасштабными по времени
процессами практически неизбежно возникают жесткие системы [1]. Жесткими являются задачи,
описывающие химические или нейтронные реакции, нестационарные процессы в электрических
цепях и многие другие. Они традиционно трудны для численного решения и требуют разработки
специальных численных методов.
Жёсткая устойчивость. Начиная с 50-х годов прошлого века, для жестких задач стали
создавать специальные неявные методы, тогда же были даны формулировки ряда дополнительных
свойств, которым должны удовлетворять искомые схемы. Рассмотрим задачу Далквиста
dy
 y, 0  t  T , y  0   y0 , yexact  t   y0et .
dt
При 
(1.1)
1 точное решение (1.1) быстро и монотонно затухает.
Для любой линейной схемы переход на следующий временной слой при решении задачи
(1.1) имеет вид ŷ  R    y , где R    называется функцией роста или функцией устойчивости.
Работа поддержана грантами РФФИ (05-01-00152, 05-01-00144, 05-01-00122) и президентской программы МК7637.2006.9.
1
1
Определение. Схема называется A  устойчивой, если R     1 при Re   0. То есть
численное решение должной быть устойчиво в тех же диапазонах  , что и точное решение задачи
(1.1).
Если схема не обладает хотя бы A-устойчивостью, то она вообще не пригодна для жестких
задач.
Желательно, чтобы при Re   функция устойчивости также сильно затухала, поэтому
вводят понятие Lp  устойчивости [2].
Определение.
Схема
называется
Lp  устойчивой, если она
A  устойчива и
R     O    p  при   .
Чем жестче задача (мерой жесткости служит величина  ), тем выгоднее Lp  устойчивые
схемы с большими p .
Для схем высокого порядка полезно также обобщение: Lp  устойчивость ( R     1 для
90    arg   270   и R     O    p  при   . ).
Как правило, жесткий характер численного решения задачи Коши для системы
обыкновенных дифференциальных уравнений проявляется не везде, а в некоторых областях,
зависящих от конкретной постановки задачи. На жестком участке ключевую роль играют свойства
устойчивости схемы, на мягком участке – точность аппроксимации.
Идеальным был бы метод, обладающий высоким порядком точности и удовлетворяющий
повышенным требованиям к устойчивости. Повышенные требования к точности схемы часто
конфликтуют с возможностью обеспечить жесткую устойчивость. Применение комплексной
арифметики дает большее число степеней свободы и позволяет разрешить этот конфликт.
III. СХЕМЫ РОЗЕНБРОКА ДЛЯ ДИФФЕРЕНЦИАЛЬНЫХ ЗАДАЧ.
Среди схем для жестких систем дифференциальных и дифференциально-алгебраических
уравнений стоит выделить схемы Розенброка. Схемы эти по сути неявные, но для перехода на
новый временной слой нужно решать линейную систему уравнений с хорошо обусловленной
матрицей, что позволяет избежать итераций.
Рассмотрим задачу Коши для системы дифференциальных уравнений
dy
 f  y  ; y  0   y0 .
dt
(2.1)
2
Здесь y – неизвестная вектор функция, а f  y  – заданная вектор-функция той же
размерности. Мы будем предполагать, что функция f  y  не менее четырёх раз непрерывно
дифференцируема в окрестности решения задачи Коши (2.1). Без ограничения общности можно
считать задачу (2.1) автономной (правая часть не зависит от времени t явно), так как любая
неавтономная задача может быть сведена к автономной задаче.
Схемы Розенброка одношаговые – для вычисления значения численного решения ŷ на новом
временном слое t   используется лишь значение y с текущего слоя t . Для s  стадийной схемы
переход на новый временной слой происходит по формулам:
 s

yˆ  y  Re   bm km  ,
 m 1

m

1




 
 m 1

 E   m f y  y   Re   aml kl    km  f  y   Re   cml kl   , 1  m  s.
 l 1
 
 l 1




(2.2)
Здесь E – единичная матрица, f y – матрица Якоби системы (2.1), bm , m , cml , aml – вообще говоря,
комплексные
параметры,
определяющие
свойства
схемы.
Использование
комплексной
арифметики требует большего числа арифметических операций для решения линейных систем в
(2.2) по сравнению с действительной схемой. Но при выборе коэффициентов комплексной схемы в
нашем распоряжении в два раза большее число степеней свободны, что позволяет построить схему
более высокого порядка точности и большей надежности, по сравнению с аналогичной
действительной схемой.
Одностадийная комплексная схема (2.2) была предложена Розенброком в 1963 году [3].
Больший по сравнению с действительными схемами объем вычислений стал в те годы
непреодолимым препятствием для ее широкого распространения. Для современного уровня
вычислительной техники на первый план уже давно выходит не объем вычислений, а надежность
и точность схемы. Одностадийная схема (2.2) с   1  i  2 обладает уникальным сочетанием
свойств: она имеет максимальный для одностадийной схемы – второй – порядок точности и
обладает Lp  устойчивостью с максимальным для одностадийных схем p  2 . Это лучшая из
известных нам одностадийных схем не только для жестких задач.
Целью данной работы является построение комплексной схемы (2.2) с s  2 , обладающей
максимально возможно лучшей точностью и устойчивостью. В нашем распоряжении 6
комплексных параметров: b1 , b2 , 1 , 2 , c21 , a21 .
3
IV. УСЛОВИЯ ПОРЯДКА.
Для получения условий порядка нам понадобится сопоставить разложения в ряд по степеням
шага  точного решения задачи (2.1) и численного (2.2). Получение степенных разложений
требует довольно громоздких выкладок, особенно для численного решения. Сложность
проведения таких выкладок зачастую вынуждает исследователей использовать упрощающие
соображения при построении схем (например, «замораживание» матрицы Якоби в (2.2) aml  0 ),
что естественно сужает потенциальные возможности схемы.
Удобным приемом при получении степенных разложений как точного, так и численного
решений является представление в виде графов. Мы использовали стандартное представление в
виде деревьев для точного решения (см., например, [1]). Для получения степенного разложения
численного решения схемы (2.2) в данной работе предлагается оригинальный алгоритм. Здесь
также удобным оказалось представление в виде деревьев.
Точное решение. Поясним обозначения на примере разложения точного решения (2.1).
Согласно формуле Тейлора для функции y t  , имеющей p  1 -ую ограниченную производную
p
m y  m   t 
m 1
m!
y t    y  
 O   p 1  .
(3.1)
Первая производная y  t  есть правая часть уравнения (2.1) – f  y  – ей соответствует «f» вершина  . Для получения второй производной дифференцируем сложную функцию
y 2  t    f  y    f y y t   f y f . Зависимость от t присутствует только неявно через y  t  , поэтому
дифференцирование по t добавляет элемент y f , которому соответствует ребро с «f» - вершиной
на
конце
.
Продифференцировав
 g  y  t   p  y  t    g y f  p  g  p y f
,
получим
произвольное
следующее
произведение
правило,
по
функций
которому
вида
строится
представление в виде дерева степенного разложения (3.1).
Для получения производной точного решения порядка m к каждой «f» - вершине дерева
производной порядка m  1 нужно добавить ребро с «f» - вершиной на конце.
В Табл. 1 приведены деревья для первых четырех производных точного решения задачи (2.1).
Число строк взято достаточным для построения схемы с аппроксимацией 5-го порядка, хотя
указанное правило позволяет получить представление в виде дерева для производной
произвольного порядка.
Табл. 1.
y  m  t 
m
Представление в виде дерева
Символьное представление
4
1
f
2
fy f
3
f yy ff  f y f y f
+
f yyy ff  f yy f y ff  f yy ff y f 
4
+
+
+
+
 f yy f y ff  f y f yy ff  f y f y f y f
+
f yyy ff  3 f yy f y ff  f y f yy ff  f y f y f y f
4
+ 3
+
+
f y f y f y f y f  f y f y f yy ff  3 f y f yy f y ff 
5
+
+ 3
+ 4
4 f yy f y f y ff  f y f yyy fff  4 f yy f yy fff 
+
3 f yy f y ff y f  6 f yyy f y fff  f yyyy ffff
+ 4
+ 3
+ 6
+
Четвертая строка Табл. 1 содержит 2 абсолютно одинаковых дерева (соответствующих
f yy f y ff
) и третье – топологически эквивалентное этим двум (соответствующее f yy ff y f ). С учетом
коммутации тензоров f yy ff y f  f yy f y ff все эти три слагаемых равны и мы можем привести
подобные члены в разложении (что сделано в следующей строке Табл. 1). Далее все подобные
слагаемые в разложениях приведены с учетом топологической эквивалентности. Проверить
топологическую эквивалентность деревьев гораздо проще, чем установить факт коммутации
тензоров, в том числе и поэтому представление степенного разложения в виде деревьев сильно
упрощает выкладки.
Разложение численного решения. Численное решение на новом временном слое
представляется через приращения первой и второй стадии

m
Re b1 k1 m
m 1 m !
p
y t    y  
 0
 b2 k2 m
 0
  O 
p 1
.
(3.2)
Здесь производные k1 m , k2m соответствуют дифференцированию по  . Мы строим степенное
разложение с центром на текущем временном слое, поэтому в (3.2) все производные вычисляются
при   0 .
Первая стадия. Из первой линейной системы в (2.2) следует, что k1  f  1 f y k1 .
m
m
m 1
Продифференцируем m раз это равенство по  : k1 m  1 f y  k1    1 f y Cm0   k1    1 f y Cm1   k1   . При
  0 получим рекуррентную формулу для дифференцирования k1 :
k1 m
 m 1
 0
 m1 f y  k1 
 0
 ...  m!1m 1 f y f y ... f y f
.
(3.3)
5
Здесь учтено, что k1 0  f . Количество множителей f y в
(3.3) равно m  1 . В терминах
деревьев правило дифференцирования для k1 очень простое.
Первая производная k1 0 есть «f» - вершина. Для получения производной k1 порядка m к
последней «f» -
вершине дерева производной порядка m  1 нужно добавить ребро с «f» -
вершиной на конце и помножить на m1 .
Производные для приращения первой стадии представлены в Табл. 2.
Табл. 2.
k1 m  t 
m
Представление в виде дерева
Символьное представление
1
f
2
21 f y f
21 
612 f y f y f
3
3!12 
2413 f y f y f y f
4
4!13 
12014 f y f y f y f y f
5
5!14 
Сопоставляя разложения в Табл. 1 и Табл. 2, видно, что для произвольной задачи нельзя
построить одностадийную схему с аппроксимацией лучше чем O  2  , так как в разложении
точного решения присутствуют слагаемые (например,
f yy ff ), отсутствующие в Табл. 2. Более
высокую точность на одной стадии можно получить только в специфических случаях, например,
для линейных задач.
Вторая стадия. Выразим приращение второй стадии (2.2)
k2  f  y  Re  c21k1     2 f u  y  Re  a21k1   k2 ,
и продифференцируем m раз:
k2
m
 0  f  y  Re  c21k1  
 m
 0
   2 f y  y  Re  a21k1   k2 
 m
.
 0
Используя правило дифференцирования произведения и тот факт, что нам понадобятся
производные при   0 , получим
k2
m
 0   m f  m1  y  Re  c21k1   0  m2  f y  y  Re  a21k1   k2 
 m 1
.
(3.4)
 0
6
Получим отдельно разложения для первого и второго слагаемого в (3.4).
Производная нулевого порядка f  0  y  Re  c21k1    0  f , что в терминах деревьев соответствует
«f» - вершине  . Согласно правилу дифференцирования сложной функции:
f   y  Re  c21k1    f y  y  Re  c21k1   Re  c21k1  ,
(3.5)
здесь штрих означает дифференцирование по  . К «f» - вершине в основании дерева добавляется
ребро y Re  c21k1  . Будем обозначать его «с»-вершиной в индексом «1» (по порядку производной k1 ).
При дальнейшем дифференцировании произведения вида (3.5) распадаются на два слагаемых.
Первое слагаемое соответствует дифференцированию f по y с добавлением множителя Re  c21k1  ,
второе – дифференцированию k1 . В графичесокм представлении рекуррентное правило
дифференцирования f  m  y  Re  c21k1   0 следующее.
Нулевая
f  0  y  Re  c21k1  
производная
 0
 f
есть
«f» - вершина. Для
получения
производной f  m  y  Re  c21k1   0 порядка m нужно преобразовать дерево для производной
порядка m  1 :
1) к «f»- вершине дерева добавить ребро с «с»-вершиной порядка 1 на конце;
2) порядок каждой из ранее существовавших «с»-вершин увеличить на единицу.
Табл. 3.
f  m   y  Re  c21k1  
m
Представление в виде дерева
Символьное представление
0
1
2
 0
f



 
f y Re c21k11
c(1)
c(1)
c(1)


f yy Re c21k11 Re c21k11  f y Re c21k1 2
c(2)

+
3
c(1)
c(2)
c(1) c(1) c(1)
+ 3
4
c(2)
+ 4

Re  c
2
21 1
1
21 1
y
k  3
21 1


6 f yy
+
c(3)
   
Re  c k    Re  c k     f
      
Re  c k    Re  c k    Re  c k    
Re  c k    Re  c k    
Re  c k    Re  c k     f Re  c k   
f yyyy Re c21k11 Re c21k11 Re c21k11 Re c21k11 
c(2) c(1) c(1)
+ 6
+ 3
3 f yy
+
c(1) c(1)
c(1)
c(1)
c(2)

f yyy Re c21k11 Re c21k11 Re c21k11 
c(3)
c(1)
c(4)
+
3 f yy
4 f yy
2
21 1
1
2
21 1
21 1
2
21 1
3
21 1
1
21 1
1
21 1
4
y
21 1
7
В Табл. 3 приведены представления производных f  m  y  Re  c21k1   0 до четвертого порядка
включительно.
Далее нам понадобятся производные выражения  f y  y  Re  a21k1   k2 
 m
. Будем графически
 0
представлять ребром с «k»-вершиной порядка l множитель k2l  , а ребро с «a»-вершиной –
дифференцирование y Re  a21k1l   . В терминах деревьев производная нулевого порядка соответствует
дереву с «f» - вершиной в основании и одним ребром «k»-ребром порядка 0. Дифференцируем
 f y  y  Re  a21k1   k2 
произведение
1


 f yy Re a21k11 k2 0  f y  y  Re  a21k1   k21
.
В
графиеском
представлении первое слагаемое соответствует добавлению к «f» - вершине ребра с «a»-вершиной
порядка 1 на конце. Второе слагаемое в терминах деревьев означает увеличение порядка «k»вершины на единицу. Дальнейшее дифференцирование подчиняется правилам взятия производной
произведения и сложной функции.
Нулевая производная  f y  y  Re  a21k1   k2 
 0
есть «f» - вершина с единственным «k» 0
ребром нулевого порядка. Для получения производной  f y  y  Re  a21k1   k2 
 m
порядка m нужно
 0
преобразовать дерево для производной порядка m  1 :
1) к «f» - вершине дерева добавить ребро с «a»-вершиной порядка 1 на конце;
2) порядок каждой из ранее существовавших «a»-вершин увеличить на единицу;
3) порядок каждой из ранее существовавших «k»-вершин увеличить на единицу.
Табл. 4.
m
 f y  y  Re  a21k1   k2 
Представление в виде дерева
0
1
 0
Символьное представление
f y k 2 0
k(0)
a(1)
 m
k(0)


f yy Re a21k11 k2 0  f y k21
k(1)
+
2
a(2)
a(1) a(1) k(0)
+
a(1)
k(0)
+ 2
k(1)
k(2)
+

  
 f Re  a k    k   
2 f Re  a k    k    f k  
f yyy Re a21k11 Re a21k11 k 2 0 
2
yy
0
21 1
2
1
yy
21 1
1
2
2
y 2
8
3
a(1) a(1)
k(0)
a(1)
a(2) a(1) k(0)
+ 3
a(2)
+ 3
a(1)
k(0)
+
    
3 f Re  a k  Re  a k    k   
3 f Re  a k    Re  a k    k   
3 f Re  a k    k    3 f Re  a k    k   
 f Re  a k    k    f k  
 2
+
yyy
21 1
yyy
21 1
1
yy
1
1
2
21 1
3
k(3)
yy
2
1
2
21 1
2
+
0
21 1
1
k(2)
+ 3
a(3)
4
+ 3
k(1)

f yyyy Re a21k11 Re a21k11 Re a21k11 k2 0 
a(1) a(1) k(1)
0
21 1
2
1
yy
2
21 1
2
3
y 2
+
a(1)a(1)a(1)
a(1)
k(0)
a(1) a(1)
k(0)
a(2)
+ 6
a(4)
+ 6
a(2)
+ 6
+
a(3)
a(1) a(1) k(2)
a(1)
k(2)
+ 4
+ 4
1
21 1
k(1)
yyy
21 1
yyy
21 1
2
k(4)
+
1
3
yy
21 1
1
21 1
1
2
yy
3
2
y 2
2
1
2
1
2
21 1
21 1
21 1
1
1
0
21 1
21 1
2
yy
4
yy
1
21 1
yyy
0
2
21 1
1
k(3)
0
1
1
yyy
2
2
21 1
21 1
0
21 1
21 1
3
yyyy
1
21 1
2
a(1) a(1)
k(1)
a(1)
+ 4
a(2) a(1) k(1)
+ 12
yyyy
k(0)
+
      
6 f Re  a k  Re  a k    Re  a k    k   
3 f Re  a k    Re  a k    k   
4 f Re  a k    Re  a k    k    f Re  a k    k   
4 f Re  a k    Re  a k    Re  a k    k   
12 f Re  a k    Re  a k    k   
6 f Re  a k    Re  a k    k   
4 f Re  a k    k    6 f Re  a k    k   
4 f Re  a k    k    f k  
 2
+ 3
a(3) a(1) k(0)
+ 4

f yyyyy Re a21k11 Re a21k11 Re a21k11 Re a21k11 k 2 0 
a(2) a(2) k(0)
2
2
2
21 1
2
2
4
В Табл. 4 приведены представления производных  f y  y  Re  a21k1   k2 
 m
до четвертого
 0
порядка включительно.
Используя (3.4) и полученные в Табл. 3 и Табл. 4 вспомогательные степенные разложения
получис разложение приращения второй стадии (Табл. 5). Вершины, обозначенные c  l  , a  l  , на
окончательном этапе построения степенного разложения следует заменить на

Re a21k1l 

соответственно, где k1l  приведены в Табл. 2.

Re c21k1l 

и
При построении очередой m-ой
производной k2 встречаются вершины, обозначенные k  l  , соотвествующие производной более
низкого порядка (l<m). Их следует заменить на k2l  , вычисленные в предыдущих строчках Табл. 5.
Табл. 5.
m
k2 m 
Представление в виде дерева
 0
Символьное представление
1
f
2
2  Re  c21    2  f y f
2Re  c21  
+ 2 2 
9
3



6  Re c21  2  2 Re a21 
2

6  Re c21  2   2 Re a21 f yy ff 
+
2
6  Re  c211    2 Re c21   22  f y f y f
6  Re  c211    2 Re c21   22  
4
 4Re c
21

3

12  Re c21  3   2  Re a21 

 122  Re a21  
2
+
 Re  c21  Re  c211    2 Re  a211   
24 

2
 2 Re  a21  Re  c21    2 Re  a21  

3
2
f
yyy
fff 
 Re  c21  Re  c211    2 Re  a211   
24 
 f f ff 
  Re  a  Re  c    2 Re  a   yy y
21
21
2
21
 2



24 2  Re c21  2   2 Re a21 f y f yy ff 

2

24  2 Re  c211    22 Re c21  32  Re  c2112  f y f y f y f

+ 242  Re c21 2 2  2 Re a21 
+ 24 Re  c2112   2 Re  c211   22 Re c21  32  
5
120[Re(13c21 )   2 Re(12 c21 )
120[Re(13 c21 )   2 Re(12 c21 )
2 2 Re(1c21 )   23 Re(c21 )   2 4 ] f y f y f y f y f
 2 2 Re(1c21 )   23 Re(c21 )   2 4 ] 
120[23 Re(a21 )  22 Re(c21 )2 2] f y f y f yy ff
120[ 23 Re(a21 )   2 2 Re(c21 ) 2 2] 
120[ 2 Re(c21 ) Re(1c21 )   2 2 Re(1a21 )
120[ 2 Re(c21 ) Re(1c21 )   2 2 Re(1a21 )
 2 2 Re(a21 ) Re(c21 )   23 Re(a21 )] f y f yy f y ff
 2 2 Re(a21 ) Re(c21 )   23 Re(a21 )] 
120[Re(12 c21 ) Re(c21 )   2 Re(a21 ) Re(1c21 )
120[Re(12 c21 ) Re(c21 )   2 Re(a21 ) Re(1c21 )
 2 Re(12 a21 )   2 2 Re(a21 ) Re(c21 )   23 Re(a21 )] 
 2 Re(12 a21 )   2 2 Re(a21 ) Re(c21 )   23 Re(a21 )] f yy f y f
60[22 Re(a21 )2  2 Re(c21 )3 3] f y f yyy fff
60[ 2 2 Re(a21 ) 2   2 Re(c21 )3 3] 
120[ 2 Re(a21 ) Re(c21 ) 2   2 Re(a21 ) ] 
2
2
2
120[2 Re(a21 ) Re(c21 )2 2  22 Re(a21 )2 ] f yy f yy fff
120[Re(1c21 ) 2 2   2 Re(1a21 ) Re(c21 )
120[Re(1c21 ) 2 2   2 Re(1a21 ) Re(c21 )
 2 2 Re(1a21 )] 
 2 2 Re(1a21 )] f yy f y ff y f
120[Re(1c21 ) Re(c21 ) 2 2   2 Re(a21 ) 2 Re(c21 ) 2
 2 Re(a21 ) Re(1a21 )   2 2 Re(a21 ) 2 2] 
120[Re(1c21 ) Re(c21 )2 2   2 Re(a21 ) 2 Re(c21 ) 2
 2 Re(a21 ) Re(1a21 )   2 2 Re(a21 )2 2] f yyy f y fff
20[ 2 Re(a21 )3  Re(c21 ) 4 4] 
20[2 Re(a21 )3  Re(c21 )4 4] f yyyy ffff
10
Приравнивая коэффициенты при одинаковых членах разложения численного (3.2) и точного
(3.1) решений, получим условия порядка.
Табл. 6.
1
f
1  Re  b1  b2 
2
f y f
1
 Re  b11  b2  2   Re b2 Re c21
2
3
2 f y f y f
1
  Re c211  Re b2   Re c21  Re  b2  2   Re  b2  22  12 b1 
6
4
2 f yy ff
1 1
2
  Re c21  Re b2  Re   2 b2   Re a21 
6 2
5
3 f y f y f y f
1
  Re c2112  Re b2   Re c211  Re  b2  2   Re  b2  22   Re c21  
24
 Re  13b1  b2 32 
6
3 f y f yy ff
1
1
2
 Re  b2  2   Re c21   Re  b2  22   Re a21 
24
2
7
3 f yy f y ff
1
  Re c211  Re c21  Re b2  Re  b2  2   Re a211  
8
 Re  b2  2   Re a21  Re c21   Re  b2  22   Re a21 
O  
O  2 
8
3 f yyy fff
1 1
3
2
  Re c21  Re b2  Re  b2  2   Re a21 
12 3
9
4 f y f y f y f y f
Re  b114   Re b2 Re  c2113   Re  b2  2  Re  c2112   Re  b2  22  Re  c211  
 Re  b2 32  Re c21  Re  b2  24  
10
4 f y f y f yy ff
Re  b2  22   Re c21 
2
11
4 f y f yy f y ff
4 f yy f y f y ff
1
120
 Re  b2  32  Re a21 
1
120
Re  b2  2  Re c21 Re  c21 1   Re  b2  22  Re  a21 1   Re  b2  22  Re a21 Re c21 
1
40
Re b2 Re  c2112  Re c21  Re  b2  2  Re  a2112   Re  b2  2  Re a21 Re  c211  
 Re  b2  22  Re a21 Re c21  Re  b2 32  Re a21 
13
4 f y f yyy fff
Re  b2  2   Re c21 
3
3
14
4 f yy f yy fff
O  4 
2
 Re  b2 32  Re a21 
12
O  3 
 Re  b2  22   Re a21  
2
Re  b2  2  Re a21  Re c21 
2
2
1
30
1
60
 Re  b2  22   Re a21  
2
1
30
11
15
4 f yy f y ff y f
Re b2  Re  c211 
2
16
4 f yyy f y fff
2
 Re  b2  2  Re c21 Re  a211   Re  b2  22  Re  a211  
Re b2 Re  c21 1   Re c21 
2
2
Re  b2  22   Re a21 
Re  b2  2  Re  c21   Re a21 
1
40
O  5 
2

2
 Re  b2  2  Re a21 Re  a21 1 
2

17
4 f yyyy ffff
2
Re b2  Re c1 
4
4

1
20
 Re  b2  2   Re a21  
3
1
20
Уравнения на коэффициенты схемы (2.2) приведены в Табл. 6. Первый столбец указывает
слагаемое в разложениях точного и численного решений, которое компенсируется выполнением
данного условия порядка. Для наглядности они объединены в группы. Третий столбец указывает
порядок аппроксимации, который обеспечивает выполнение очередной (конечно, вместе со всеми
предыдущими) группы уравнений. Таким
образом, для построения аппроксимации O   4  на
дифференциальной задаче (2.1) 6 комплексных параметров двухстадийной схемы Розенброка (12
действительных переменных) должны удовлетворять системе из 8 уравнений. Двухстадийная
схема Розенброка с действительными коэффициентами имеет всего 6 действительных
коэффициентов, что не позволяет в общем случае получить точность O   4  .
В Табл. 5. приведены также уравнения на коэффициенты схемы, обеспечивающие
аппроксимацию 5-го порядка. Максимум модуля невязки условия пятого порядка служит для
оценки численного коэффициента в остаточном члене схемы четвертого порядка точности.
Интересно, что в разложении численного решения присутствуют все те же слагаемые, что и в
разложении точного. Более детальный анализ, выполненный на основе приведенного выше
алгоритма
построения
разложения
численного
решения,
показал,
что
принципиально
некомпенсируемые разностной схемой слагаемые в разложении получаются только для условий 7го порядка. Это подтверждает перспективность выбранного направления и позволяет в будущем
надеяться на построение модифицированной комплексной схемы типа Розенброка более высокого
порядка точности, чем 4-ый, всего на двух стадиях.
Отметим, что описанный выше алгоритм получения условий порядка допускает
эффективную компьютерную реализацию. Была написана программа на языке C++, которая
строит разложения численного и точного решений по степеням

, проверяет топологическую
эквивалентность графов и автоматически, используя технологии символьных вычислений,
выписывает условия порядка. Автоматизация получения условий порядка существенно ускорило
процесс построения новых схем типа Розенброка, упростила анализ и исключила возможность
возникновения ошибок в уравнениях на коэффициенты схемы.
12
V. СХОДИМОСТЬ.
На отрезке интегрирования введем для простоты временную сетку
tn  n
(что не
принципиально для одношаговой схемы). В пределах этого пункта удобно обозначить  yn  –
совокупность значений численного решения (2.2) в узлах пространственной сетки и  y tn  –
совокупность значений точного решения дифференциальной задачи (2.1)
Лемма. Пусть правая часть (2.1) четырежды непрерывно дифференцируема, а комплексные
числа 1 , 2 , b1 , b2 , a21 , c21 таковы, что выполнены уравнения 1-8 из таблицы 6, тогда локальная
ошибка метода (2.2) есть y c  O  5  .
Доказательство. В силу выполнения условий порядка 1-8 разложения численного и точного
решения совпадают до O  4  включительно, кроме того, по предположению f  y  не менее чем
четыре раза непрерывно дифференцируема в окрестности решения, что даёт возможность
раскладывать численное и точное решение по степеням  вплоть до O  5  включительно.
f  y
Теорема. Пусть правая часть (2.1)
четырежды непрерывно дифференцируема
комплексные числа 1 , 2 , b1 , b2 , a21 , c21 таковы, что выполнены уравнения 1-8 из таблицы 6,
тогда двухстадийный метод Розенброка (2.2) сходится с четвёртым порядком, то есть
yn  y  t n  c  O   4 
(4.1)
для tn  n  const .
Доказательство. Рассмотрим два начальных значения y0 , y0 и, сделав для каждого из них
один шаг по методу Розенброка, получим y1 , y1 . Покажем, что для достаточно малых  выполнено
y1  y1  1  L  y0  y0 ,
(4.2)
где L константа, не зависящая от шага сетки.
Будем рассматривать k1 , k2 как функции y0 , тогда получим
 E   f  y   yk
1
1
y
0
 f y  y0   1f yy  y0  k1 .
0
Учитывая, что k1  O   , получим
k1
 O    . Из уравнения второй стадии получаем
y0

 k  
 f y  y0   Re  c21k1    E  Re  c21 1   
0
 y0  


 k  
 2 f yy  y0   Re  a21k1    E  Re  a21 1   k2 .
 y0  

 E   f  y
2
y
0
  Re  a21k1  
 ky
2
13
Учитывая, что k2  O    , приходим к выводу
 k
y1
k 
 E  Re  b1 1  b2 2   E  O    .
y0
y0 
 y0
(4.3)
Используя теорему о среднем значении, получим
y1  y1  1  L  y0  y0 .
Применяя индуктивно эту оценку получим, что за j шагов
yk  yk  1  L  y0  y0  const  y0  y0
j
(4.4)
Здесь использовалась стандартная оценка 1  L   exp  Lj   const .
j
Глобальную погрешность можно представить, как суперпозицию влияний локальных
погрешностей, возникших на каждом шаге (см. Фиг. 1).
  const 
y
5
y  O  5 
t
Фиг. 1.
Таким образом, глобальная ошибка оценивается сверху как сумма влияния локальных ошибок
n
yn  y  tn    const1  5  const1  4  n  const 2  4 .
(4.5)
j 1
Мы использовали предположение о том, что численное решение находится в окрестности точного
решения. Теперь уменьшая, если потребуется, величину  и, учитывая априорную оценку (4.5),
это предположение доказывается по индукции.
14
VI. РЕШЕНИЕ СИСТЕМЫ УРАВНЕНИЙ ПОРЯДКА.
Для построения схемы с аппроксимацией O   4  нужно выполнить уравнения 1-8 из Табл. 6.
Эти уравнения связывают 12 действительных параметров схемы, попытаемся выразить все
параметры схемы через Re a21 , Re c21 , Re 1 , Re 2 .
Шаг 1. Перепишем условия порядка 4, 6 и 8, выразив Re  b2  22  через Re b2 , Re b2 2  , учитывая
2
2
Re  b2 22    Re b2  Re 2    Im 2    2Re 2 Re  b2 2  :


1 1
2
  Re c21  Re b2  Re a21 Re   2 b2  ,
6 2
1
1
2
2
2

  Re a21  Re  2    Im  2   Re b2   2 Re  2 Re a21   Re c21   Re  b2  2  , (5.1)


24
2


1 1
3
2
  Re c21  Re b2   Re a21  Re  b2  2  .
12 3
Относительно двух независимых переменных Re b2 и Im b2 (или что то же
самое Re b2 и
Re  b2 2  ) система (5.1) накладывает 3 линейных условия связи. Для ее разрешимости
определитель этой системы должен быть равен нулю:
3  Re c21 
2
6 Re a21
1
2
2
2
24 Re a21  Re  2    Im  2    48 Re  2 Re a21  12  Re c21   1  0 .

 

4  Re c21 
3
12  Re a21 
2
(5.2)
1
Выполнение условия (5.2) является необходимым для разрешимости системы уравнения порядка.
При заданных  2 и Re c21 условие (5.2) есть кубическое уравнение для Re a21 :
2
2
3
2
2
2
2
24  Re  2    Im  2    Re a21   12  Re  2   12  Im  2   3  Re c21    Re a21  




(5.3)
2
3
3
4
5
 12  Re c21  Re  2  2  Re c21   16  Re c21  Re  2  Re a21  3  Re c21   4  Re c21   0.


При выполнении (5.3) из условий порядка 4, 6 и 8 находим b2 :
8 Re  2 Re a21  2  Re c21   Re a21
2
Re b2 
,
2
2
2
2
2
3  Re c21  8 Re  2 Re a21  2  Re c21    24  Re a21   Re  2    Im  2  




2
2
2
 Re c21   8 Re a21  Re  2    Im  2  
Re  b2  2  
, (5.4)
2
2
2
2
2
 Re c21   48 Re  2 Re a21  12  Re c21    48  Re a21   Re  2    Im  2  
Re b2 Re  2  Re  b2  2 
Im b2 
.
Im  2
15
Из соображений интерполяционности схемы все вычисления на промежуточных стадиях должны
лежать в пределах t, t   . Это накладывает разумные ограничения на 0  Re c21  1, 0  Re a21  1 .
Одновременно невозможно обращение в нуль Re c21  Re a21  0 , так как при этом невозможно
выполнение ни одного из условия порядка 4, 6, 8. Таким образом, для интерполяционной
двустадийной схемы (2.2) знаменатель в (5.4) отличен от нуля.
Легко заметить, что существуют три частных случая, когда Re c21 и Re a21 просто выражаются
и нет необходимости решать кубическое уравнение (5.3):
1) Re a21  1 2 и Re c21  0 ,
(5.5)
2) Re a21  1 2 и Re c21  3 4 ,
(5.6)
3) Re a21  0 и Re c21  3 4 ,
(5.7)
При этом условие разрешимости (5.2) выполнено для любых  2 . Для случаев (5.5)-(5.7) формулы
(5.4) несколько упрощаются:
1)
Re b2 
8Re  2  1
12  Re  2    Im  2 

2
2
Re b2 Re 2  Re  b2 2 
1
, Re  b2  2   , Im b2 
;
3
Im  2


2)
4 Re  2  5 / 8
,
2
2
27 /16  4 Re  2  9 / 8  6  Re  2    Im  2  


2
2
9 /16  4  Re  2    Im  2  


Re  b2  2  
, (5.9)
2
2
9 /16 12 Re  2  27 / 8  12  Re  2    Im  2  


Re b2 Re  2  Re  b2  2 
Im b2 
;
Im  2
3)
Re b2 
(5.8)
Re b2 
Re b2 Re  2  Re  b2  2 
16
4
, Re  b2  2  
, Im b2 
.
27
27
Im  2
(5.10)
Из условия порядка 1:
Re b1  1  Re b2 .
В ходе шага 1 данного алгоритма по заданным Re c21 ,  2 определяется
(5.11)
Rea21
из условия
разрешимости (5.3) и вычисляются Re b1 , Re b2 , Im b2 . В результате выполненными оказываются
условия порядка 1, 4, 6 и 8.
Шаг 2. Из условия порядка 2 выразим произведение Im b1 Im 1 через ранее вычисленные
величины:
Im b1 Im 1  Re b1 Re 1  Re b22   Re b2 Re c21 1 2 .
(5.12)
С учетом (5.12) условия порядка 3 и 5 образуют линейную систему уравнений относительно
неизвестных Im c21 Im 1 и  Im 1  :
2
16
   Re c21 Re 1 Re b2  Re c21 Re  b2 2   Re  b2 22 

1
2
 Re b1  Re 1   2 Re  b2  2  Re 1  Re 1 
6
 Im c21 Im 1  Re b2  Re b1  Im 1 
2
(5.13)
2  Im c21 Im 1  Re 1 Re b2   Im c21 Im 1  Re  b2  2  
2
2
2
2 Re b1 Re 1  Im 1    1 2  Im 1    Re  b2  2   Im 1   






1
 Re c21 Re 1 Re  b2  2   Re c21 Re  b2  22   Re  b2  32  
24
(5.14)
2 Re b1  Re 1   3Re  b2  2  Re 1   2 Re b2 Re c21  Re 1   3 2  Re 1 
3
2
2
2
Определитель системы (5.13)-(5.14) Re b2 2  Re  b2 2  обращается в нуль на окружности:
 Re  2  1 2 
2
  Im  2  
2
 Re c21 
2
 Re a21
12 Re a21

1
4
.
(5.15)
В этих случаях система (5.13)-(5.14) разрешима лишь при специальном выборе 1 , когда ранг
расширенной системы (5.13)-(5.14) совпадает и рангом системы. Вне окружности (5.15) из
системы (5.14) однозначно определяются Im c21 и Im 1 :
  Re b2 2  Re  b2  2 
1  Re 1 Re c21 Re  b2  2   Re  b2  2  Re c21 Re 1  2 Re b1 Re 1 Re  b2  22   Re b1 Re c21 Re  b2  22   Re  b2  2  Re
Re b1 Re 1 Re c21 Re 1 Re b2 Re 1 Re c21 Re  b2  2 
1
1



 2 Re  b2  2  Re 1   Re  b2  2   Re c21  Re  b2 
3
2
2
2
12
6
1
 Re b1 Re  b2  32  
Re b1
24
1
 2  Re b2 Re c21 Re  b2  22   2 Re 1 Re b2 Re  b2  22   Re  b2  22  Re  b2  2   Re b2 Re  b2  32  
 2 Re b2 Re b1  Re
24
1
2
2
2
2
 3 2 Re b2  Re 1   2 Re 1 Re b2 Re b1  Re 1    Re 1  Re b2 Re  b2  2   2  Re 1  Re b2  Re 1 Re b2
3
Re  b2  2 
2
2
2
 Re c21  Re  b2  2    Re b1  Re 1  Re  b2  2   2  Re  b2  2   Re 1  Re 1 Re  b2  2  
6

Im 1   2  ;
Im c21  1  2
Для разрешимости условия порядка необходимо
 2  0 .
И, наконец, из условия порядка 7 выразим Im a21 :
Im a21 
Re  b2 2  Re a21 Re 1  Re  c211  Re c21 Re b2  Re  b2 2  Re c21 Re a21  Re  b2 22  Re a21  1 8
Im 1 Re  b2 2 
(5.16).
В ходе выполнения действий шага 2 определены коэффициенты схемы Im b1 , Im c21 , Im 1 , Im a21 и
выполнены условия порядка 2, 3, 5, 7.
Стоит заметить, что Im 1 , Im c21 , Im a21 входят в условия порядка только в виде произведения с
Im 1 , а Im b2 – только в виде произведения с Im  2 . Выбор Im 1  0 делает невозможным
17
одновременное выполнение условий порядка 2, 3, 5, 7. Если Im 2  0 , то условия порядка
выполнены при любом выборе Im b2 . В этом случае разумнее всего положить Im b2  0 , тогда вторая
стадия становится полностью действительной.
Формулы (5.3), (5.4), (5.12), (5.14) и (5.16) выражают коэффициенты схемы с аппроксимацией
O  4 
через параметры Re c21 , Re 1 , 2 . Приведенные формулы содержат лишь корни и радикалы
(кубическое уравнение (5.3) относительно
Rea21
явно разрешимо). Это значит, коэффициенты
схемы могут быть вычислены в любой наперед заданной точностью. Подбор параметров из
соображений устойчивости был бы более удобным, если бы удалось выразить все коэффициенты
через
1, 2
но при этом возникает нелинейная система неразрешимая в дробях и радикалах.
Параметры Re c21 , Re 1 , 2 выберем из соображений жесткой устойчивости.
VII. ФУНКЦИЯ УСТОЙЧИВОСТИ.
Для двустадийной схемы (2.2) функция устойчивости имеет вид
 b2  1  c21 1  1   
 b1 
R     1  Re 
.
  Re 
1   2  


 1  1  
Для
Im 1  0, Im 2  0
1  2 Re   
1
2
12
1  2 Re 
2
знаменатель
содержит
(6.1)
полином
четвертой
степени:

 2  22 , а числитель – полином не более чем четвертой степени:
R   
1  A  B2  C3  D4
1  2 Re   
2
1
12
1  2 Re 
2
 2  22

.
(6.2)
С учетом условий порядка 1-3, 5 коэффициенты многочлена в числителе (6.2) выражаются
через Re 1 , Im 1 , Re 2 , Im 2 :
A  1  2 Re 1  2 Re  2 ,
2
2
2
2
B   Re 1    Im 1    4 Re 1 Re  2   Re  2    Im  2    2(Re 1  Re  2 )  1/ 2,




2
2
2
2
C  2 Re 1  Re  2    Im  2    2 Re  2  Re 1    Im 1   




2
2
2
2
  Re 1    Im 1    4 Re 1 Re  2   Re  2    Im  2   - (Re 1  Re  2 )  1/ 6,




2
2
2
2
2
2
2
2
D   Re 1    Im 1    Re  2    Im  2    2 Re 1  Re  2    Im  2    2 Re  2  Re 1    Im 1   







2
2
2
2
  Re 1    Im 1   / 2  2 Re 1 Re  2   Re  2    Im  2   / 2  (Re 1  Re  2 ) / 3  1/ 24.




Для максимально возможно высокой
L4
-устойчивой схемы
учетом условия порядка 1-3, 5 (гарантирующих аппроксимацию
ABC D0
O  4 
(6.3)
. При этом с
на линейных задачах)
можно переписать функцию устойчивости в следующем, более удобном виде:
R  
1
1  1  1  1  1   2  1   2 

1
.
1     2  3 6   4 24
2
(6.4)
18
Для
L4
устойчивой схемы точности O  4  коэффициенты 1 и
2
определяются однозначно как
корни уравнения четвертой степени
24 4  243  12 2  4  1  0.
(6.5)
Это уравнение имеет две пары комплексно сопряженных корней. Они могут быть выражены в
радикалах, но формулы весьма громоздки и здесь не приводятся. С достаточным для вычислений
числом значащих цифр эти корни равны:
1  0.4573733434972976  i  0.2351004879985426,
(6.6)
 2 = 0.04262665650270241  i  0.3946329531721134.
Смена знака мнимой части не влияет на свойства схемы. Везде далее использован знак «+» в
(6.6). С точки зрения функции устойчивости эти корни
двух

1, 2
равноправны и не важно, которое из
использовать на первой стадии, а какое на второй. Но с точки зрения разрешимости
условий порядка и интерполяционности схемы важно выбрать именно такое соответствие корней
уравнения (6.5) и номера стадии.
По заданным
1, 2
(6.6) коэффициенты схемы (2.2) с аппроксимацией
однозначно. Но сильно нелинейная зависимость между
коэффициенты
L4 
Rec21
и
Im1
O  4 
определяются
не позволяет явно выразить
устойчивой схемы. Поэтому был использован описанный выше алгоритм
вычисления коэффициентов схемы, содержащей лишь дроби и радикалы. Параметры
выбирались согласно (6.6). Параметр
Im 1,
Rec21
варьировался на отрезке
удовлетворяющего условиям порядка, и значения
Im 1,
0  Re c21  1
2 , Re 1
с целью совпадения
гарантирующего
L4 
устойчивость
(6.6). Это нелинейное уравнение было решено методом Ньютона. Найденное решение есть
Re c21  0.6444138212147357 .
Im
(6.7)
A,B,C,D
0.30
|A|+|B|+|C|+|D|
0.008
0.28
B
C
1E-10
0.006
D
0.004
0.26
Im
guarantying L4-stability
0.24
0.22
0.002
1E-12
0.000
1E-13
A
-0.002
1E-14
-0.004
0.20
1E-15
-0.006
0.18
-0.008
0.60
0.62
0.64
0.66
0.68
1E-16
0.70
0.64
Re c21
зависимости
Im 1  Rec21 
0.66
Фиг. 3.
На Фиг. 2 показана зависимость
, гарантирующее
0.65
0.6444138212147357
Re c21
Фиг. 2.
Im1
1E-11
L4 
Im1
от
Rec21 .
Re c21
Фиг. 4
Горизонтальной линией отмечено значение
устойчивость. В силу непрерывной вблизи точки пересечения
существует предел итерационной процедуры поиска
схемы. На Фиг. 3 показана зависимость коэффициентов
A, B, C , D
L4 
устойчивой
многочлена в числителе функции
19
устойчивости (6.2) от
Rec21 ,
видно, что существует точка, в которой одновременно
Это подтверждает также Фиг.4, где изображена сумма модулей
многочлена в числителе функции устойчивости (6.2) от
Тем самым построена
L4 
A B C  D
A B C  D0.
коэффициентов
Rec21 .
устойчивая схема с аппроксимацией
O  4 
. Это максимально
возможная для двустадиной схемы жесткая устойчивость. Приведем полностью набор
коэффициентов этой схемы:
b1  0.7893434641361923  i  0.9821367946107931;
b2  0.2106565358638077  i  0.5705215732509971;
c21  0.6444138212147357  i 1.143956305335963;
a21  0.5250462591428808  i 1.453646467184172;
(6.8)
1  0.4573733434972976  i  0.2351004879985425;
 2  0.04262665650270241  i  0.3946329531721134;
error
c
 5.6 10-17 ;
D  4.9 10-17 ; C  1.1 10-16 ; B  1.1 10-16 ; A  0.
В (6.8) так же приведена максимальная по модулю невязка уравнений 4-го порядка и
коэффициенты многочлена в числителе функции устойчивости (6.2). Для схемы (6.8) имеет место
слабое нарушение A-устойчивости. Область A-устойчивости 90  5.71  arg   270  5.71 .
Для L1  устойчивости необходимо D  0 . Заметим, что при выборе  2 на окружности:
 Re 2 2   Im 2 2   2Re 2  1/ 2  0


(6.9)
величина Im1 не входит в последнее равенство (6.3). Выбирая  2 на окружности (6.9) мы можем
добиваться L1  устойчивости, не зависимо от значений Im1 . При этом для выполнения условия
L1  устойчивости нужно положить
Re 1 
5  16 Re  2
16 1  3Re  2 
.
(6.10)
Область определения (6.9) есть Re 2  1  1 2 , на этом множестве знаменатель (6.10) отличен от
нуля. Выбирая Re c21 , Re a21 удовлетворяющими условию разрешимости (5.2) (например, одним из
трех способов (5.5)-(5.7)),  2 на окружности (6.9) и согласованное ему значение Re 1 , (6.10),
вычислим оставшиеся коэффициенты схемы согласно по формулам (5.8)-(5.14), (5.16). Тем самым
мы можем одновременно и удовлетворить условиям аппроксимации четвертого порядка, и
гарантировать L1  устойчивость. Таким образом мы построили однопараметрическое (параметр
Re  2 ) семейство L1  устойчивых схем. Эти схемы интересны тем, что формулы для вычисления их
коэффициентов содержат лишь дроби и радикалы. Тем самым, они могут быть вычислены с любой
наперед заданной точностью.
20
В этом семействе была найдена одна L2  устойчивая схема. Она соответствует выбору
Re c21  0, Re a21  1 2 , значение Re  2 было найдено в ходе вычислительного эксперимента из
соображений C  0 . Приведем коэффициенты этой схемы:
b1  0.5911953963678174  i  0.04839522687157496;
b2  0.4088046036321826  i  0.0080087451314182441;
c21  0.0  i 1.287823315510611;
a21  0.5  i  0.09383936958788540;
(6.11)
1  0.3481480492403850  i  0.8091057699263311;
 2  0.8020864628576681  i  0.6788447774092475;
error
c
 7.6 10-17 ; D  9.0 10-17 ; C  1.4 10-16.
Область A-устойчивости этой схемы 90  2.86  arg   270  2.86
Также
были
найдены
следующие
три
L1  устойчивые
схемы
точности
O  4 
,
соответствующие с чисто действительной второй стадией Im 2  0 , Im b2  0 .
b1   1/ 4  4  i / 3; b2  4 / 3; c21   i / 24; a21  1/ 2  i ; 1  1/ 6  i / 6; 2  1/ 4 ,
(6.12)
b1  23/ 39  2  i / 39; b2  16 / 39; c21  3/ 4 11 i / 48; a21  1/ 2  7  i / 8; 1  1/ 6  i / 6; 2  1/ 4 , (6.13)
b1  11/ 27  26  i / 27; b2  16 / 27; c21  3/ 4  i / 48; a21  23i / 8; 1  1/ 6  i / 6; 2  1/ 4 . (6.14)
Для вычисления приращения второй стадии таких схем нужно решать действительную систему
линейных уравнений, что сокращает общий объем вычислений по схеме. Схемы (6.12)-(6.14)
также удобны тем, что выражения их коэффициентов содержат лишь дроби.
VIII. РЕЗУЛЬТАТЫ РАСЧЕТОВ.
В качестве тестовой задачи был выбран осциллятор Ван-дер-Поля:
y1  y2 ,
y2   1  y
2
1
y
y1 0   0;
2
 y1 ,
y2  0   2.
(6.15)
Это стандартная и довольно трудная задача, используемая при тестировании численных методов
для жестких систем.
Фазовая траектория (6.15) при
  10
изображена на Фиг.5. Участки с плавным изменением
фазовых координат сменяются резкими поворотами, что является проявлением жесткости.
21
y'
15
Van-Der-Pol oscillator
=10, T=20
1000
100
10
10
CROS
1
5
0,1
0

-5
0,01
CROS2_L2
1E-3
1E-4
-10
1E-5
-15
CROS2_L4
1E-6
-2.5
-2.0
-1.5
-1.0
-0.5
0.0
0.5
1.0
1.5
2.0
2.5
1E-7
y
100
1000
N
Фиг. 5.
Фиг. 6.
С целью сравнения свойств разных схем мы не использовали процедуру выбора шага сетки, а
проводили серию расчетов на вложенных сгущающихся равномерных сетках с контролем
погрешности по формуле Ричардсона [4], [5]. На Фиг. 6 в двойном логарифмическом масштабе
показано убывание погрешности с ростом числа узлов сетки для трех схем: CROS – классическая
одностадийная схема Розенброка [3], CROS2_L2 – L2-устойчивая двусадийная схема (6.11) и
CROS2_L4 – L4-устойчивая двустадийная схема (6.8). Расчеты проведены при весьма умеренном
числе узлов сетки. Видно, что обе схемы 4-го порядка точности практически сразу выходят на
асимптотический характер убывания погрешности (прямая с наклоном равным порядку точности
схемы), что позволяет проводить расчет с контролем точности. Для одностадийной схемы такая
возможность наступает при примерно в 10 раз большем числе узлов (а значит и гораздо большей
трудоемкости). При одинаковом числе узлов сетки в тестовом диапазоне двустадийные схемы
обеспечивают в
10 4  105
раз меньшую погрешность по сравнению с одностадийной схемой.
Погрешность L4-устойчивой схемы как хорошо видно на Фиг. 6 в среднем в 10 раз лучше, чем
погрешность L2-устойчивой схемы, несмотря на то, что априорно эти схемы имеют одинаковую
точность. Этот факт иллюстрирует важность использования для задач с большой жесткостью Lpустойчивых схем с возможно более высоким
p.
ЛИТЕРАТУРА.
1. Хайрер Э., Ваннер Г. Решение обыкновенных дифференциальных уравнений.
Жесткие и дифференциально-алгебраические задачи. Мир, Москва, 1999, 685с.
2. Н.Н. Калиткин Численные методы решения жестких систем. Математическое
моделирование, 1995, т. 7, № 5, стр. 8-11.
3. Rosenbrock H.H. Some general implicit processes for the numerical solution of
differential equations. // Comput. J. 1963. V.5. №4. P.329330.
22
4. Марчук Г.И., Шайдуров В.В. Повышение точности решений разностных схем. М.,
Наука, 1979, 319с.
5. Н.Н. Калиткин,
А.Б. Альшин,
Е.А. Альшина,
Б.В. Рогов
Вычисления
на
квазиравномерных сетках. Физматлит, 2005, 224с.
23
Related documents
Download