Численное моделирование гибридных систем явным методом третьего порядка в инструментальной среде ИСМА
Автор: Новиков Антон Евгеньевич, Новиков Евгений Александрович, Шорников Юрий Владимирович, Достовалов Дмитрий Николаевич
Журнал: Проблемы информатики @problem-info
Рубрика: Математическое и имитационное моделирование сложных систем
Статья в выпуске: 3 (7), 2010 года.
Бесплатный доступ
На основе трехстадийной схемы типа схемы Рунге - Кутты третьего порядка точности разработан ал- горитм переменного шага. Построены неравенства для контроля точности вычислений и устойчивости численной схемы. Для гибридных систем разработан алгоритм выбора шага интегрирования с учетом событийной функции.
Метод рунге - кутты, контроль точности и устойчивости, переменный шаг, гибридные задачи
Короткий адрес: https://sciup.org/14320036
IDR: 14320036
Текст научной статьи Численное моделирование гибридных систем явным методом третьего порядка в инструментальной среде ИСМА
Введение. Для большого количества технических задач характерно наличие событий, которые означают наличие точек разрыва в первых производных от фазовых переменных. Такие комбинированные дискретно-непрерывные системы называются гибридными, или системами с переключением [1–3]. В них события происходят в моменты времени, соответствующие нулям некоторой алгебраической функции. Во многих случаях проблема усугубляется большой размерностью и жесткостью рассматриваемой задачи. При решении жестких задач большой размерности основные вычислительные затраты приходятся на декомпозицию матрицы Якоби [4–6], поэтому эффективность алгоритма интегрирования обычно повышается за счет замораживания матрицы Якоби [7]. В случае умеренно жестких задач можно применять алгоритмы интегрирования на основе явных методов с контролем точности вычислений и устойчивости численной схемы [8].
В данной работе создан алгоритм интегрирования переменного шага на основе трехстадийной схемы типа схемы Рунге – Кутты третьего порядка точности. Построены неравенства для контроля точности вычислений и устойчивости численной схемы. Алгоритм интегрирования может быть использован при решении гибридных задач, в том числе умеренно жестких. Разработан также алгоритм обнаружения событий гибридной системы. Рассмотренные
Работа выполнена в рамках АВЦП “Развитие научного потенциала высшей школы (2009-2010 гг.)” (код проекта РНП 2.1.2/4751), ФЦП “Научные и научно-педагогические кадры инновационной России” на 2009-2011 гг. (государственный контракт № П-297), а также при финансовой поддержке РФФИ (код проекта 08-01-00621) и Совета по грантам Президента РФ для государственной поддержки ведущих научных школ РФ (грант № НШ-3431.2008.9).
методы реализованы в среде моделирования гибридных систем ИСМА (инструментальные средства машинного анализа) [9].
1. Трехстадийный метод типа метода Рунге – Кутты. При численном решении задачи Коши для системы обыкновенных дифференциальных уравнений
У = f ( У ) , У ( 1 0 ) = У 0 , 1 0 < t < t k (1)
рассмотрим явный трехстадийный метод типа метода Рунге – Кутты вида
Уп+1 = Уп + P1 k 1 + P 2 k 2 + P з k з, k 1 = hf (Уп), k 2 = hf (Уп + в 21 k 1), (2)
k 3 = hf ( Уп + в31k 1 + в32 k 2), где y и f — вещественные N -мерные вектор-функции; t — независимая переменная; h — шаг интегрирования; k1 ,k2 и k3 — стадии метода; p1, p2, p3, β21, β31 и β32 — числовые коэффициенты, определяющие точность и устойчивость (2). В случае неавтономной системы y' = f (t, У), У (t0) = У0, 10 < t < tk, схема (2) записывается в виде
Уп+1 = Уп + P1 k 1 + P 2 k 2 + P 3 k 3, k 1 = hf (tn,Уn), k2 = hf (tn + в21 h, Уп + в21 k 1), k3 = hf(tn + [в31 + в32]h, Уп + в31k 1 + в32k2).
Ниже для упрощения выкладок будем рассматривать задачу (1). Однако разработанные методы можно применять для решения неавтономных задач.
Получим соотношения, определяющие коэффициенты метода (2) третьего порядка точности. Для этого разложим стадии k 1 ,k 2 и k 3 в ряды Тейлора по степеням h до членов с h 4 включительно и подставим в первую формулу (2). В результате получим
У п +1 = У п + ( P 1 + P 2 + P 3 ) hf + [ в 21 P 2 + ( в 31 + в 32 ) P 3 ] h 2 f n f n +
+ h 3 [ в 21 в 32 P 3 У п 2 f n + 0 , 5( в 21 P 2 + ( в 31 + в 32 ) 2 P 3 ) /""^ 2 ] +
+ h 4 [0 , 5 в 21 в 32 P 3 f ' f ' fn + в 21 ( в 31 + в 32 ) в 32 P 3 f '' f ' f 2 +
+ {[ в21P 2 + ( в31 + в32)3 P 3] / 6 }f'"f3] + O ( h5), где элементарные дифференциалы вычислены на приближенном решении y .
Точное решение y ( t п +1 ) в окрестности точки t,1 можно представить в виде
У(tn+1) = У(tn) + hf + 0, 5h2f'f + (h3/6)[f'2 f + f''f 2] + + (h 4 / 24)[ f'3 f + 3 f ''f 'f 2 + f 'f ''f 2 + f '"f3] + O (h 5), где элементарные дифференциалы вычислены на точном решении y (t.^). Сравнивая ряды для приближенного yп+1 и точного y (tп+1) решений до членов с h3 включительно при условии Уп = У(tn), запишем условия третьего порядка точности схемы (2):
-
1) P 1 + P 2 + P 3 = 1;
-
2) в 21 p 2 + ( в 31 + в 32 ) p 3 = 1 / 2;
-
3) в 21 p 2 + ( в 31 + в 32 ) 2 p 3 = 1 / 3;
-
4) в 21 в 32 Р 3 = 1 / 6 •
В предположении y n = y ( t n ) локальную ошибку 5 п схемы (2) можно вычислить по формуле 5 n = y ( t n +1 ) — y n +1 . Учитывая представления y ( t n +1 ) и y n +1 в виде рядов Тейлора, получаем
S n = h 4 [ f 0; f 0 3 f + f — — 9 в 21 в 32 p 3^) f 0 f 00 f 2 + ( 7 — в 21 в 32 ( в 31 + в 32 ) p 3^) f"/ 0 f 2 +
24 у 24 2 у у 8 у
+ Гт7 — 7 в 21 p 2 — 7( в 31 + в 32 ) 3 p 3 ^ f 000 f 3 ] + O ( h 5 ) •
У 24 6 6
В нелинейной системе условий третьего порядка точности численной схемы имеется два свободных коэффициента. Положим в 21 = 0 , 5 и в 31 + в 32 = 1 • Тогда на каждом шаге к 1 , к 2 и к 3 вычисляются в точках t n , t n + 0 , 5 h и t n + h соответственно. Условия третьего порядка запишем в следующем виде:
-
1) Р 1 + Р 2 + Р 3 = 1;
-
2) 0 , 5 p 2 + p 3 = 1 / 2;
-
3) 0 , 25 p 2 + p 3 = 1 / 3;
-
4) в 32 p 3 = 1 / 3 •
-
6 . = 24 h 4 / 0 3 / — /”/ 0 / 2 — 3 / 000 / 3) = O ( h 5 ) •
Из второго и третьего уравнений данной системы находим p 2 = 2 / 3 и p 3 = 1 / 6. Из первого и последнего уравнений получаем p 1 = 1 / 6 и в 32 = 2 • Из равенства в 31 + в 32 = 1 следует в 31 = — 1. В результате коэффициенты метода (2) имеют вид
p 1 = p 3 = 7 , p 2 = 7 , в 21 = 7 , в 31 = — 1 , в 32 = 2 • 63 2
При данных соотношениях локальную ошибку 5 n схемы (2) можно записать следующим образом:
Построим неравенство для контроля точности вычислений метода третьего порядка. Для этого рассмотрим вспомогательную схему
-
У п +1 , 1 = У п + r 1 к 1 + r 2 к 2 ,
где k 1 и k 2 определены в (2). Потребуем, чтобы данный метод имел второй порядок точности. Сравнение рядов для y ( t n +1 ) и y n +1 , 1 показывает, что требование второго порядка будет выполнено, если r 1 + r 2 = 1 и в 21 r 2 = 0 , 5 • Отсюда и из (3) получаем r 1 = 0 и r 2 = 1. С использованием идеи вложенных методов ошибку Е п, 3 метода третьего порядка можно оценить по формуле
£ п, 3 = y n +1 — y n +1 , 1 = ( p 1 — r 1 ) к 1 + ( p 2 — r 2 ) к 2 + p 3 к 3 •
Тогда неравенство для контроля точности вычислений имеет вид
||k 1 — 2 к 2 + k 3 || < 6 E, где || • || — некоторая норма в RN; e — требуемая точность расчетов.
Построим неравенство для контроля устойчивости (2) предложенным в [8] способом. Запишем стадии к 1, к2 и к3 применительно к задаче у0 = Ay, где A — матрица с постоянными коэффициентами. Используя соотношения (3), в результате получим к 1 = Xyn, к 2 = ( X + 0,5 X 2) Уп, к 3 = [ X + X2 + X 3] Уп, где X = hA. Найдем коэффициенты d 1, d2 и d3 из условия выполнения равенства d 1 к 1 + d 2 к 2 + d з к 3 = X3 Уп.
Данное требование будет выполнено, если d 1 = d 3 = 1 и d 2 = — 2 . Нетрудно заметить также, что к 2 — к 1 = X 2 y n . Тогда согласно [8] оценку максимального собственного числа v n, 3 = hX max матрицы Якоби системы (1) можно вычислить по формуле
V n 3 = 0 , 5 max ( \к\ — 2 к ^ + к | \/к — кЦ ) . (4)
1 ≤i≤N 1 2 3 2 1
Функция устойчивости Q(x) метода (2) с коэффициентами (3) имеет вид Q(x) = 1 + x + x2/2 + x3/6. Область устойчивости схемы (2), построенная в среде ИСМА [9, 10], приведена на рис. 1. Построены линии уровня |Q(x) | = q при q = 0,05; 0,30; 0,70; 1,00. Интервал устойчивости численной формулы (2) приблизительно равен 2,5, поэтому для контроля ее устойчивости можно использовать неравенство vn, 3

Рис. 1. Область устойчивости трехстадийного метода (2) третьего порядка точности
-
< 2 , 5.
-
2. Гибридная система. Рассмотрим задачу Коши для системы обыкновенных дифференциальных уравнений вида
Полученная оценка (4) является грубой, поскольку максимальное собственное число необязательно значительно отделено от остальных, в степенном методе применяется небольшое количество итераций, дополнительные искажения вносит нелинейность задачи (1). Поэтому в данном случае контроль устойчивости используется как ограничитель на размер шага интегрирования. В результате прогнозируемый шаг h n +1 вычисляется следующим образом.
Новый шаг по точности hac определим по формуле hac = q 1 hn, где hn — последний успешный шаг интегрирования; q 1 задается уравнением q3||еп, 31| = E с учетом соотношения En,3 = O(hn). Шаг по устойчивости hst зададим формулой hst = q2hn, где q2 определяется из уравнения q2vn, 3 = 2,5 с учетом равенства vn, 3 = O (hn). В результате прогнозируемый шаг hn+1 вычисляется по формуле hn+1 = max[hn, min(hac, hst)].
Данная формула позволяет стабилизировать поведение шага на участке установления решения, где определяющую роль играет устойчивость. Именно наличие данного участка существенно ограничивает применение явных методов при решении жестких задач.
y = f ( y ) , y ( t 0 ) = y о , g ( y,t ) < о ,
где g (y, t) — событийная функция или нелинейный предохранитель. Поскольку многие модели, представляющие интерес, линейны, будем рассматривать их как наиболее важный класс событийных функций. Заметим, что любой нелинейный предохранитель можно привести к линейному виду добавлением дополнительной фазовой переменной x = g (y, t). В результате задачу (5) можно записать в виде y0 = f(У), x = ^f(У) + Ig, x < 0 • ∂y ∂t
Здесь принимается, что событийная функция линейна. Также для упрощения рассуждений будем предполагать, что исходная задача скалярная. Однако все приведенные ниже выводы будут распространяться и на системы уравнений. Особое внимание следует уделить выбору метода интегрирования. Полностью неявный метод использовать нельзя, поскольку он требует вычисления f (y) в потенциально опасной области, где модель не определена. В то же время известно, что явные методы слабоустойчивы. Поэтому будем использовать построенный выше метод (2) с контролем точности вычислений и устойчивости численной схемы. В этом случае событийная динамика описывается соотношением gn +1 g (yn +1, tn + hn+1), где yn+1 вычисляется по формуле (2). Отметим, что стадии к2 и к3 в формуле (2) вычисляются в потенциально опасных точках tn + 0,5h и tn + h. Поэтому рассмотрим событийную функцию вида gn+1 = g(yn + hn +1 fn, tn + hn +1), т. е. на решении, полученном с использованием явного метода Эйлера. Разлагая gn+1 в ряд Тейлора и учитывая линейность функции g(y, t), имеем gn+1 = gn + hn+1 д^ fn + dsn) , (6)
+ dy dt )
где gn = g(yn , tn ),
∂g n ∂y
9g ( y n , t n ) dg n = dg ( y n , t n )
∂y , ∂t ∂t
В результате получаем зависимость gn+1 от прогнозируемого шага hn+1 Теорема [5]. Выбор шага по формуле hn+1 = (Y - Dgn! (dy fn + dt1) , (7)
где y G [0 , 1) , обеспечивает поведение событийной динамики как устойчивой линейной системы, которая приближается к поверхности g ( y, t ) = 0 • Кроме того, если g ( y о , t о ) < 0, то
g ( У п , t n ) < 0 для всех n .
Доказательство. Подставляя (7) в (6), имеем
9 n +i = Yg n
Преобразовав рекуррентно данное соотношение, получим g n +1 = Y n +1 g 0 . Так как Y < 1, то g n ^ 0 при n ^ то. Кроме того, из соотношения Y > 0 следует, что функция g n не меняет знак. Следовательно, при g 0 < 0 будет выполняться неравенство g n < 0 для всех n . Тогда событийная функция никогда не пересечет потенциально опасную область g ( y n , t n ) = 0. Теорема доказана.
Сформулируем алгоритм интегрирования с учетом прогноза шага через событийную функцию. Пусть решение y n в точке t n вычислено с шагом h n . Кроме того, известны значения стадий k 1 , k 2 и k 3 метода (2). Тогда можно выполнить следующий шаг:
Шаг 1. Вычисляется f n = f ( y n , t n ).
Шаг 2. Вычисляются gn = g(yn, tn), dgn/dy = dg(yn, tn)/dy, dgn/dt = dg(yn, tn)/dt.
Шаг 3. Вычисляется шаг h p n +1 по формуле (7).
Шаг 4. Вычисляется новый шаг hn+1 по формуле hn+i = min(hn+i, hnr+oi), pro где hn+1 задается соотношением hno = max[hn, min(hac, hst)].
Шаг 5. Выполняется следующий шаг интегрирования.
-
3. Результаты расчетов. С целью тестирования работы алгоритма рассмотрена типичная гибридная система двух осциллирующих масс на пружинах [11]. Система может находиться в одном из двух локальных состояний: “Раздельно” или “Вместе”. Поведение системы в каждом из состояний описывается системой дифференциально-алгебраических уравнений.
При s < Ik 1 n 1 — k2n2 — x 1(k 1 — k2)| имеем x1 = v 1, v 1 = k1(n 1 — x 1)/m 1, a 1 = k 1(n 1 — x 1)/m 1, x2 = v2, v*2 = k2(n2 — x2)/m2, a2 = k2(n2 — x2)/m2, (8)
при x 1 = x 2 и v 1 > v 2
a 1 = [ k 1 n 1 + k 2 n 2 — x i( k 1 + k 2)] /(m 1 + m 2), v 1 = [ k 1 n 1 + k 2 n 2 — x 1( k 1 + k 2)] /(m 1 + m 2), xL = v1, (9)
a 2 = [ k 1 n 1 + k 2 n 2 — x 1( k 1 + k 2)] /(m 1 + m 2), v 02 = [ k 1 n 1 + k 2 n 2 — x 1( k 1 + k 2)] /(m 1 + m 2), x02 = v2 , s = —s, где m1 и m2 — массы грузов; k1 и k2 — жесткости пружин; n1 и n2 — нейтральные координаты грузов; x1 и x2 — координаты грузов; v1 и v2 — скорости грузов; a1 и a2 — ускорения грузов; s — общая жесткость пружин в состоянии “Вместе”.
Ниже приведен текст компьютерной модели гибридной системы двух осциллирующих масс на языке LISMA [12].
k1=1; k2=2;
n1=1; n2=2;
m1=1; m2=1;
x1=0;
x2=3;
separate [s x1'=v1; v1'=k1*(n1-x1)/m1; a1 ~=k1*(n1-x1)/m1; x2'=v2; v2'=k2*(n2-x2)/m2; a2~=k2*(n2-x2)/m2; from; together [(x1>=x2) and (v1>=v2)] is s=10; v1=(m1*v1+m2*v2)/(m1+m2); v2=v1; v1' =(k1*n1+k2*n2-x1*(k1+k2))/(m1+m2); a1 ~ =(k1*n1+k2*n2-x1*(k1+k2))/(m1+m2); x1'=v1; v2' =(k1*n1+k2*n2-x2*(k1+k2))/(m1+m2); a2~ =(k1*n1+k2*n2-x2*(k1+k2))/(m1+m2); x2'=v2; s'=-s; from separate; Результаты анализа (8) и (9) в инструментальной среде ИСМА [9] с разработанным алгоритмом обнаружения (рис. 2,a) совпадают с результатами расчета эталонной модели в системе HyVisual [13]. Традиционный анализ системы без алгоритма обнаружения приводит к некачественным результатам (рис. 2,б). Рис. 2. Результаты компьютерного анализа гибридной системы двух масс, полученные с использованием алгоритма обнаружения (a) и без него (б) Заключение. Использование неравенства для контроля устойчивости фактически не приводит к увеличению вычислительных затрат, поскольку оценка максимального собственного числа матрицы Якоби системы (1) осуществляется через ранее вычисленные стадии и не приводит к росту числа вычислений функции f . Такая оценка получается грубой, однако применение контроля устойчивости в качестве ограничителя на рост шага позволяет избежать негативных последствий. Предложенный способ прогноза шага через событийную функцию распространяется на все явные методы типа метода Рунге – Кутты, поскольку при выборе шага используется только явный метод Эйлера.
Список литературы Численное моделирование гибридных систем явным методом третьего порядка в инструментальной среде ИСМА
- Esposito J., Kumar V., Pappas G. J. Accurate event detection for simulating hybrid systems // Proc. of the 4th Intern. workshop "Hybrid systems: computation and control (HSCC 2001)", Rome (Italy), March 2001. Berlin: Springer-Verlag, 2001. V. 2034 P. 204-217. Новиков Е. А., Шорников Ю. В. Численное моделирование гибридных систем методом Рунге - Кутты второго порядка точности // Вычисл. технологии. 2008. Т. 13, № 2. С. 98-104. Новиков A. E., Новиков E. A., Шорников Ю. В. Моделирование гибридных систем явными методами // Вестн. КрасГАУ. Ресурсосберегающие технологии механизации сел. хоз-ва. 2009. № 5 С. 88-92. Хайрер Э. Решение обыкновенных дифференциальных уравнений. Жесткие и дифференциально-алгебраические задачи / Э. Хайрер, Г. Ваннер. М.: Мир, 1999. 685 c. Новиков Е. А., Шитов Ю. А., Шокин Ю. И. Одношаговые безытерационные методы решения жестких систем // Докл. СССР. 1988. Т. 301, № 6. С. 1310-1314. Новиков Е. А., Шитов Ю. А., Шокин Ю. И. О классе (m,k)-методов решения жестких систем // Журн. вычисл. математики и мат. физики. 1989. Т. 29, № 2. С. 194-201. Новиков Е. А., Шитов Ю. А. Алгоритм интегрирования жестких систем на основе (m,k)-метода второго порядка точности с численным вычислением матрицы Якоби. Красноярск, 1988. (Препр. ВЦ СО АН СССР; № 20). Новиков Е. А. Явные методы для жестких систем. Новосибирск: Наука, 1997. 197 с. Свидетельство об офиц. регистрации программы для ЭВМ № 2005610126. Инструментальные средства машинного анализа / Ю. В. Шорников, В. С. Дружинин, Н. А. Макаров, К. В. Омельченко, И. Н. Томилов. М.: Роспатент, 2005. Шорников Ю. В., Новиков Е. А., Достовалов Д. Н. Анализ устойчивости явных методов Рунге - Кутты в инструментальной среде ИСМА // Пробл. информатики. 2009. № 3. С. 42-51. Шорников Ю. В. Моделирование сложных динамических и гибридных систем в ИСМА // Науч. вестн. НГТУ. 2007. № 1. С. 79-88. Свидетельство об офиц. регистрации программы для ЭВМ № 2007611024. Программа языкового процессора с языка LISMA (Language of ISMA) / Ю. В. Шорников, И. Н. Томилов. М.: Роспатент, 2007.
- Lee E. A., Zheng H. Operational semantics of hybrid systems//Proc. of the 8th Intern. workshop "Hybrid systems: computation and control (HSCC 2005)", Zurich (Switzerland), March 2005. Berlin: Springer-Verlag, 2005. V. 3414. P. 25-53.