Computer-algebraic approach to first differential approximation: Van der Pol oscillator

Мұқаба

Дәйексөз келтіру

Толық мәтін

Аннотация

First differential approximation has been used to analyze various numerical methods for solving systems of ordinary differential equations. This has made it possible to estimate the stiffness of the ODE system that models the oscillations of the Van der Pol oscillator and the error of the method as well as to propose simple criteria for choosing a calculation step. The presented methods allow one to perform efficient calculations using computer algebra systems.

Толық мәтін

1. Введение

В 60-х годах прошлого века Н.Н. Яненко [1] сформулировал метод дифференциальных приближений разностной схемы. Основная идея этого метода состоит в замене исследования свойств разностной схемы исследованием некоторой задачи с дифференциальными уравнениями, занимающими промежуточное положение между исходной дифференциальной задачей и аппроксимирующей ее разностной схемой. В работах Н.Н. Яненко и его учеников в результате были сформулированы такие понятия, как аппроксимационная вязкость разностной схемы и первое дифференциальное приближение разностной схемы.

Первое дифференциальное приближение (ПДП) для дифференциальных уравнений в частных производных эволюционного типа, в частности, уравнения Кортевега-де Фриза с использованием систем компьютерной алгебры рассмотрено в [16], а для уравнений Навье–Стокса в [17] .

В [18] рассмотрено ПДП для разностных схем, описывающих обыкновенные дифференциальные уравнения. Обсуждена связь между сингулярным возмущением исходной системы и понятием ПДП. Для этого простого случая показана связь между методом оценки ошибки аппроксимации решения, основанным на анализе ПДП, и методом Ричардсона–Калиткина. Приведены примеры, когда при аппроксимации совместной системы дифференциальных уравнений в частных производных не всегда получаются совместные разностные системы уравнений. В качестве способа проверки совместности системы разностных уравнений предлагается проверять совместность ПДП для разностной системы. Рассмотрены вопросы вычисления ПДП в системах компьютерной алгебры Sage и SymPy.

Существует большое количество численных методов решения систем обыкновенных дифференциальных уравнений (ОДУ). Применение для их исследования ПДП позволяет получить информацию о качестве выбранного численного метода для конкретной системы, используя только символьные вычисления. В данной работе будут рассмотрены методы Рунге–Кутты [19] и многошаговые методы Адамса–Башфорта и Адамса–Мультона [20, 21] на примере осциллятора Ван дер Поля [22].

2. ПДП для систем ОДУ

Для систем ОДУ, в отличие от общего случая дифференциальных уравнений, построение ПДП не требует применения специальных алгоритмов. Обычно для численных методов требуется система ОДУ первого порядка, разрешенная относительно первых производных. Алгоритм построения ПДП для такого вида систем представляет набор простых операций с формальными степенными рядами.

Рассмотрим систему ОДУ первого порядка, разрешенную относительно производных. Также наложим условие, что правая часть уравнений Fi представляет собой полиномы от искомых функций u1, …un:

ut1F1,utnFn. (2.1)

Применяя к системе (2.1) конкретный численный метод и заменяя искомые функции их разложением в ряд Тейлора с шагом h, получим в любой выбранной точке набор уравнений, которые будут представлять собой равенство нулю степенных рядов по h с коэффициентами Gj, k от искомых функций и их производных

ut1F1+k=0G1,khk=0utnFn+k=0Gn,khk=0 (2.2)

Система (2.2) образует дифференциальный идеал [23] относительно операций сложения, умножения и дифференцирования рядов, равных нулю. Сам вид рядов (2.2), разрешенных относительно первых производных, позволяет выполнить замену производных от функций u1,…un в коэффициентах Gj, k через сами функции.

Можно сформулировать алгоритм построения ПДП, используя алгоритмы построения базисов Грёбнера [24] для рядов. Алгоритм построения ПДП оканчивается при получении первого ненулевого члена по степеням h, выраженного только через сами функции. Как следствие, вид ПДП не зависит от точки разложения в ряд Тейлора и представляет собой канонический вид.

На языке Python была написана программа с использованием системы компьютерной алгебры SymPy, которая строит ПДП для систем ОДУ, разрешенные относительно старших производных с полиномиальной правой частью. Головной модуль имеет имя fda_ode.py. Он и остальные файлы программ и файлы с приведенными ниже расчетами расположены по адресу https://github.com/blinkovua/sharing-blinkov/tree/master/FDA_ODE. Рассмотрим для примера уравнение Дуффинга [25], которое представляет собой важный пример системы (с одной степенью свободы) с нелинейной восстанавливающей силой Fuu+εu3 с малым параметром e << 1.

utt+u+εu3=0ut2/2+u2/2+εu4/4=C. (2.3)

Уравнение (2.3) имеет первый интеграл с константой C.

Для применения методов Рунге–Кутты перепишем (2.3) в виде системы первого порядка

utu=0u1t+u+εu3=0u12/​ 2+u2/​ 2+εu4/4=​ C. (2.4)

Пример использования приведен ниже.

 

 

В строке 1 произведен импорт основного модуля с вызовом необходимых библиотек, включая и систему компьютерной алгебры SymPy. Далее в строках 2–3 и 6 описываются основные символьные переменные и задается само уравнение Дуффинга.

 

 

В строках 8-10 производится проверка первого интеграла системы.

 

 

На строке 11 функция init первым аргументом принимает список зависимых функций от второго аргумента t с шагом h. Функция init также определяет представление мономов в виде списка степеней, в данном случае порядок производной по времени, и номера зависимой функции, что стандартно при построении базисов Грёбнера [10].

Первый аргумент всегда должен быть больше второго, который обычно должен быть больше предполагаемого порядка численного метода, а последний влияет только на объем вычислений.

 

 

В строках 13-24 задан метод Рунге–Кутты [5] для автономных систем. Правая часть для системы ОДУ задается в строках 12-17 списком аргументов y[0], y[1] = u, u1. Для значительного ускорения громоздких символьных вычислений применяется функция clip_n, которая обрезает ряд до заданной степени h.

 

 

В строках 25-31 происходит вычисление разложения метода Рунге-Кутты в ряд Тейлора в точке t = 0

u1+ut+hεu32+u+utt2=0εu3+u+u1t+h3εu2u12+u1+u1tt2=0 (2.5)

 

 

В строках 32–38 происходит приведение ПДП к каноническому виду, который, в частности, дает точный порядок численного метода:

utu1+h4ε2u4u110++εu13uu13u+u1120+u1120+Oh5=0u1t+u+εu3+h43ε3u780εu5u2+18u12240u120+Oh5=0 (2.6)

Первый аргумент содержит обрезанный ряд исходного разложения, второй список производных, которые являются старшими относительно операций дифференцирования в первых членах разложения, заданных в третьем аргументе в виде списка. Явное задание выбрано из нелинейности уравнений и сложного алгоритма определения старшего члена. Это обусловлено тем, что старший член может входить в несколько членов полинома от функций и их производных. Поэтому для проведения редукции необходимо выделить старший член сразу во всех частях полинома.

Параметр head=False показывает, что не нужно редуцировать первый член разложения. При его значении True будет происходить, если возможно, редукция головного члена. Это необходимо в том случае, если необходимо посчитать S-полином, как, например, сделано в работе [17] или посчитать первый интеграл, как показано ниже.

 

 

В строках 39–43 происходит вычисление разложения первого интеграла из системы (2.4) в ряд Тейлора в точке t = 0.

εu3ut+uut+u1u1t+h××εu2uutt+3ut22++uutt+u1u1tt+u1t2+ut22=0. (2.7)

В строках 45–47 происходит приведение первого интеграла к каноническому виду. ПДП первого интеграла позволяет осуществлять дополнительный контроль численного метода для конкретного вида ОДУ (2.8).

h4ε3u7u116ε2u3u13u25u1224εuu13u24u1248+Oh5=0 (2.8)

3. ПДП для осциллятора Ван дер Поля

Запишем уравнение осциллятора Ван дер Поля

uttμ1u2ut+u=0 (3.1)

в виде системы двух уравнений

utu1u1tμ1u2u1+u=0 (3.2)

Применяя метод Рунге–Кутты четвертого порядка для (3.2), получим

u1+hμu1u1u+12u2+=0μu1u1u+1u++hμ2u1u12u+122++μuu22u1212u12+=0 (3.3)

Разложение в ряд Тейлора при t = 0 для (3.3) дает

utu1+hμu1u1u+12++u+utt2+Oh2=0u1tμu11u2+u++hμ2u1u12u+122μuu22u1212+u1+u1tt2+Oh2=0 (3.4)

Используя алгоритмы построения базисов Грёбнера для рядов в системе компьютерной алгебры SymPy, построим ПДП для (3.4), в результате получим

utu1+h4μ4u1u14u+14120+++Oh5=0u1tμu11u2+u++h4μ5u1u15u+15120+Oh5=0 (3.5)

Построение ПДП позволило правильно определить порядок численного метода и его остаточный член. Были построены ПДП для различных явных и неявных Рунге–Кутты и многошаговых методов Адамса–Башфорта и Адамса–Мультона. Все результаты показали, что ПДП второго уравнения системы (3.2) имеет вид hpCμp+1u1u2p+1+, где p – порядок метода, C – некоторая константа. Значения констант C представлены в табл. 1.

 

Таблица 1

Метод

p

C

Гаусса–Лежандра (неявное правило средней точки)

2

1/12

Кранка–Николса [27]

2

1/12

Рунге–Кутты

4

–1/120

Адамса–Башфорта

4

–251/720

Адамса–Мультона

4

19/720

Дормана–Принса [28]

5

–1/3600

Адамса–Башфорта

5

95/288

Адамса–Мультона

5

19/720

 

Вычисление всех представленных примеров на компьютере с процессором Intel(R) Core(TM) i7-4770K CPU@3.50GHz в системе Debian 12 в оболочке Jupiter потребовало 620 сек и 160 Мегабайт оперативной памяти.

Остаточный член показывает жесткость системы [26] относительно параметра m. В результате необходимо выбирать шаг h таким образом, чтобы обеспечить малость остаточного члена. Вычисленный остаточный член для методов Рунге–Кутты позволяет организовать эффективное определение размера шага h для заданной погрешности.

4. Численные эксперименты

Были проведены расчеты для всех представленных примеров с начальными условиями u = 0, ut = 1 при t = 0 до t = 100. Обозначение max показывает максимальное отклонение значения u от 0 и выбрано для контроля точности. Для табл. 2 шаг задан следующим значением h = 0.01. Символ * обозначает прерывание вычислений при значении abs(u) >= 3.

 

Таблица 2

μ

h pμ p+1

max

μ

h pμ p+1

max

Гаусса–Лежандра 2

Кранка–Николса 2

0

0.00e+00

1.000

0

0.00e+00

1.000

1

1.00e-04

2.009

1

1.00e-04

2.009

5

1.25e-02

2.022

5

1.25e-02

2.022

10

1.00e-01

2.015

10

1.00e-01

2.015

20

8.00e-01

2.011

20

8.00e-01

2.011

50

1.25e+01

2.018

50

1.25e+01

2.018

100

1.00e+02

*

100

1.00e+02

*

150

3.38e+02

*

150

3.38e+02

*

Рунге–Кутты 4

Дормана–Принса 5

0

0.00e+00

1.000

0

0.00e+00

1.000

1

1.00e-08

2.009

1

1.00e-10

2.009

5

3.13e-05

2.022

5

1.56e-06

2.022

10

1.00e-03

2.014

10

1.00e-04

2.014

20

3.20e-02

2.008

20

6.40e-03

2.008

50

3.12e+00

2.004

50

1.56e+00

2.001

100

1.00e+02

*

100

1.00e+02

2.265

150

7.59e+02

*

150

1.14e+03

*

Адамса–Башфорта 4

Адамса–Мультона 4

0

0.00e+00

1.000

0

0.00e+00

1.000

1

1.00e-08

2.009

1

1.00e-08

2.009

5

3.13e-05

2.022

5

3.13e-05

2.022

10

1.00e-03

2.014

10

1.00e-03

2.014

20

3.20e-02

*

20

3.20e-02

2.008

50

3.12e+00

*

50

3.12e+00

2.008

100

1.00e+02

*

100

1.00e+02

*

150

7.59e+02

*

150

7.59e+02

*

Адамса–Башфорта 5

Адамса–Мультона 5

0

0.00e+00

1.000

0

0.00e+00

1.000

1

1.00e-10

2.009

1

1.00e-10

2.009

5

1.56e-06

2.022

5

1.56e-06

2.022

10

1.00e-04

*

10

1.00e-04

2.014

20

6.40e-03

*

20

6.40e-03

2.008

50

1.56e+00

*

50

1.56e+00

2.022

100

1.00e+02

*

100

1.00e+02

*

150

1.14e+03

*

150

1.14e+03

*

 

Как видно из табл. 2, значения h pμp+1 может использоваться для выбора h при вычислениях с фиксированным шагом. Также заметно преимущество неявных методов, по сравнению с явными методами, что возможно обусловлено меньшим значением константы C в ПДП.

Для вычислений с переменным шагом для заданной погрешности tol = 0.01 по следующей формуле minhtol+absостаточный членp. Как показано в табл. 3, при начальном шаге h = 0.01 все вычисления показали устойчивость при изменении шага и большую сходимость при большем порядке метода.

 

Таблица 3

μ

шагов

max

μ

шагов

max

Гаусса–Лежандра 2

Кранка–Николса 2

0

10001

1.000

0

10001

1.000

1

10001

2.009

1

10001

2.009

5

12999

2.022

5

14079

2.022

10

14922

2.014

10

16211

2.014

20

16783

2.008

20

18441

2.008

50

16899

2.003

50

18471

2.003

100

20332

2.001

100

22327

2.001

150

32912

2.001

150

35752

2.001

Рунге–Кутты 4

Дормана–Принса 5

0

10001

1.000

0

10001

1.000

1

10001

2.009

1

10001

2.009

5

10001

2.022

5

10001

2.022

10

10024

2.014

10

10001

2.014

20

10179

2.008

20

10004

2.008

50

10225

2.003

50

10041

2.003

100

10273

2.001

100

10062

2.001

150

11796

2.001

150

10815

2.001

 

5. Заключение

Проведенные вычисления показывают, что, применяя ПДП, можно оценить невязку используемого численного метода в зависимости от параметров задачи.

Применяя ПДП, возможно обнаружить и оценить жесткость системы ОДУ, а также использовать остаточный член ПДП для выбора постоянного шага или для управления переменным шагом.

Исходные тексты программ и представленные вычисления приведены по адресу github.com/blinkovua/sharing-blinkov/tree/master/FDA_ODE .

Представленные методы позволяют провести эффективные вычисления средствами систем компьютерной алгебры для решений систем ОДУ с правой полиномиальной частью.

×

Авторлар туралы

Yu. Blinkov

Saratov State National Research University, ul. Astrakhanskaya 83

Хат алмасуға жауапты Автор.
Email: blinkovua@info.sgu.ru
Ресей, Saratov, 410012

Әдебиет тізімі

  1. Yanenko N.N., Shokin Yu.I. On the first differential approximation of difference schemes for hyperbolic systems of equations, Sib. Mat. Zh., 1969. V. 10. No. 5. P. 1173–1187.
  2. Blinkov Yu.A., Gerdt V.P., Marinov K.B. Discretization of quasilinear evolution equations by computer algebra methods. Program. Comput. Software. 2017. V. 43. No. 2. P. 84–89.
  3. Blinkov Yu.A., Rebrina A.Yu. Investigation of difference schemes for two-dimensional Navier–Stokes equations by using computer algebra algorithms, Program. Comput. Software, 2023. V. 49. No. 1. P. 26–31.
  4. Blinkova A.Yu., Malykh M.D., evast’yanov L.A. On differential approximations of difference schemes, Izv. Sarat. Univ., Nov. Ser., Ser. Mat., Mekh., Inf. 2021. V. 21. No. 4. P. 472–488.
  5. Kutta M. Beitrag zur näherungsweisen Integration totaler Differentialgleichungen. Zeitschrift für Mathematik und Physik. 1901. V. 46. P. 435–453.
  6. Bashforth F. An Attempt to test the Theories of Capillary Action by comparing the theoretical and measured forms of drops of fluid. With an explanation of the method of integration employed in constructing the tables which give the theoretical forms of such drops, by J. C. Adams, Cambridge. 1883.
  7. Moulton F.R. New methods in exterior ballistics, University of Chicago Press. 1926.
  8. van der Pol B. On “Relaxation-Oscillations”. The London, Edinburgh, and Dublin Philosophical Magazine and Journal of Science. 1926. N. 2. P. 978–89992. doi: 10.1080/14786442608564127
  9. Kolchin E.R. Differential Algebra and Algebraic Groups. Academic Press, New York, 1973. 446 p.
  10. Buchberger B. Gröbner bases: an Buchberger algorithmic method in polynomial ideal theory. Recent Trends in Multidimensional System Theory / Ed. by N. K. Bose. V. 6. 1985. P. 184–232.
  11. Duffing G. Brzwungene Schwingungen bei veranderlicher Eigenfrequenz und ihre technische Bedeutung, Braunschweig, 1918.
  12. Curtiss C.F., Hirschfelder J.О. Integration of stiff equations. Proceedings of the National Academy of Sciences of the USA. 1952. V. 38. N. 3. P. 235–243. doi: 10.1073/pnas.38.3.235
  13. Crank J., Nicolson P. A practical method for numerical evaluation of solutions of partial differential equations of the heat conduction type. Proc. Camb. Phil. Soc. 1947. V. 43. N. 1. P. 50–67. doi: 10.1017/S0305004100023197
  14. Dorman J.R., Prince P.J. A family of embedded Runge–Kutta formulae. Journal of Computational and Applied Mathematics. 1980. V. 6. N. 1. P. 19–26. doi: 10.1016/0771-050X(80)90013-3

Қосымша файлдар

Қосымша файлдар
Әрекет
1. JATS XML
2. Fig. 1

Жүктеу (33KB)
3. Fig. 2

Жүктеу (22KB)
4. Fig. 3

Жүктеу (13KB)
5. Fig. 4

Жүктеу (48KB)
6. Fig. 5

Жүктеу (39KB)
7. Fig. 6

Жүктеу (38KB)
8. Fig. 7

Жүктеу (52KB)

© Russian Academy of Sciences, 2024

Согласие на обработку персональных данных с помощью сервиса «Яндекс.Метрика»

1. Я (далее – «Пользователь» или «Субъект персональных данных»), осуществляя использование сайта https://journals.rcsi.science/ (далее – «Сайт»), подтверждая свою полную дееспособность даю согласие на обработку персональных данных с использованием средств автоматизации Оператору - федеральному государственному бюджетному учреждению «Российский центр научной информации» (РЦНИ), далее – «Оператор», расположенному по адресу: 119991, г. Москва, Ленинский просп., д.32А, со следующими условиями.

2. Категории обрабатываемых данных: файлы «cookies» (куки-файлы). Файлы «cookie» – это небольшой текстовый файл, который веб-сервер может хранить в браузере Пользователя. Данные файлы веб-сервер загружает на устройство Пользователя при посещении им Сайта. При каждом следующем посещении Пользователем Сайта «cookie» файлы отправляются на Сайт Оператора. Данные файлы позволяют Сайту распознавать устройство Пользователя. Содержимое такого файла может как относиться, так и не относиться к персональным данным, в зависимости от того, содержит ли такой файл персональные данные или содержит обезличенные технические данные.

3. Цель обработки персональных данных: анализ пользовательской активности с помощью сервиса «Яндекс.Метрика».

4. Категории субъектов персональных данных: все Пользователи Сайта, которые дали согласие на обработку файлов «cookie».

5. Способы обработки: сбор, запись, систематизация, накопление, хранение, уточнение (обновление, изменение), извлечение, использование, передача (доступ, предоставление), блокирование, удаление, уничтожение персональных данных.

6. Срок обработки и хранения: до получения от Субъекта персональных данных требования о прекращении обработки/отзыва согласия.

7. Способ отзыва: заявление об отзыве в письменном виде путём его направления на адрес электронной почты Оператора: info@rcsi.science или путем письменного обращения по юридическому адресу: 119991, г. Москва, Ленинский просп., д.32А

8. Субъект персональных данных вправе запретить своему оборудованию прием этих данных или ограничить прием этих данных. При отказе от получения таких данных или при ограничении приема данных некоторые функции Сайта могут работать некорректно. Субъект персональных данных обязуется сам настроить свое оборудование таким способом, чтобы оно обеспечивало адекватный его желаниям режим работы и уровень защиты данных файлов «cookie», Оператор не предоставляет технологических и правовых консультаций на темы подобного характера.

9. Порядок уничтожения персональных данных при достижении цели их обработки или при наступлении иных законных оснований определяется Оператором в соответствии с законодательством Российской Федерации.

10. Я согласен/согласна квалифицировать в качестве своей простой электронной подписи под настоящим Согласием и под Политикой обработки персональных данных выполнение мною следующего действия на сайте: https://journals.rcsi.science/ нажатие мною на интерфейсе с текстом: «Сайт использует сервис «Яндекс.Метрика» (который использует файлы «cookie») на элемент с текстом «Принять и продолжить».