Добавил:
ivanov666
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Численное моделирование динамических систем, описываемых обыкновенными дифференциальными уравнениями. Учебное пособие
.pdf
Пусть решение невозмущенной системы (5.3), (5.4)
L
yy
ет и единственно. Тогда будет справедлива оценка
()ty
существу-
max ( ) ( ) ( ) ( )
ttT
yy yy , (5.9)
0
**
ttKT tdt
00
выражающая устойчивость на конечном отрезке
T
t
0
, tT
задачи (5.3),
0
(5.4) по начальным значениям и правой части. При этом
()
Tt
()
KT e . Если вместо условия (5.5) использовать условие (5.6),
то оценка (5.9) будет выполнена с
() 1KT при
0
()
Tt
()
KT e
при
0
.
0
0
и с
Частным случаем системы (5.3) является система
() ()tt
A
где
A – квадратная
()mm
матрица с постоянными коэффициентами.
, (5.10)
В теории численных методов решения систем дифференциальных
уравнений система (5.10) играет такую же роль, как и уравнение (1.22)
для анализа методов численного интегрирования дифференциальных
уравнений вида (1.1). Результаты, полученные в разделе 1 с минимальными изменениями, обобществляются на случай систем дифференциальных уравнений с учетом замены в формулах скалярных функций
на
вектор-функции. Так, например, можно показать, что условие принад-
h
лежности
вращается в требование принадлежности этой же области всех
1,2,...,im
собственные числа матрицы
области устойчивости метода для одного уравнения пре-
, для системы дифференциальных уравнений, где
i
A (предполагается, что матрица A имеет
h
i
– это
простую структуру). Формулы рассмотренных в предыдущих главах
методов Эйлера, Рунге–Кутты и Адамса также остаются неизменными
с учетом замены скалярных функций на вектор-функции.
Однако есть и новое. В частности, важным новым свойством задачи является ее жесткость. Когда в предыдущих главах упоминалось о
слабости явных методов перед жесткими
задачами, имелось в виду
решение этими методами систем дифференциальных уравнений.
,
31

6. ЖЕСТКИЕ ЗАДАЧИ
Хотя на практике жесткие задачи связаны с решением систем дифференциальных уравнений, несложно сформулировать задачу с аналогичными свойствами и для одного уравнения. Для лучшего понимания
сути проблемы рассмотрим соответствующий пример. Пусть задача
Коши имеет вид:
() 25 () cos 25sinyt yt t t
; (6.1)
Решением этой задачи является функция
0.2t
функция меняется очень быстро (обычно такие участки назы-
(0) 1y
. (6.2)
25
() sin
yt t e
вают переходными), затем существенно медленнее. Пусть при
найдено приближенное значение
более
Эйлера начиная с
310
). Будем решать задачу (6.1) с помощью явного метода
0.2t
0
, используя
го значения. Возьмем шаг интегрирования
(0.2) 0.205y (c погрешностью не
в качестве начально-
0.205
y
t
0
0.1h
. График
()yt
зультат численного интегрирования изображены на рис. 7.
Из рис.7 видно, что численное решение ведет себя неустойчивым
25,
образом. Для задачи (6.1)
явного метода Эйлера требуется шаг
следовательно, для устойчивости
0.08h
.
Решим эту же задачу явным методом Эйлера с шагом
А-устойчивым неявным методом Эйлера с шагами
0.1h
и
Результаты всех расчетов (округленные) приведены в табл. 1.
32
t
. При
и ре-
0.025h
0.2t
и
0.3h
.

Рис. 7. График функции
Я
Я
ние явным методом Эйлера с шагом
Результаты численного интегрирования
()yt
и численное реше-
0.1h
Таблица 1
Точное
t
решение
0.2 0.205 0.205 0.205 0.205 0.205
0.3 0.296 0.287 0.296 0.297
0.4 0.389 0.404 0.390 0.389
0.5 0.479 0.460 0.480 0.479 0.478
0.6 0.565 0.596 0.565 0.564
0.7 0.644 0.600 0.645 0.643
0.8 0.717 0.787 0.718 0.716 0.714
0.9 0.783 0.683 0.784 0.782
1.0 0.841 0.996 0.842 0.840
1.1 0.891 0.664 0.892 0.890 0.886
1.2 0.932 1.277 0.932 0.930
1.3 0.964 0.451 0.964 0.962
1.4 0.985 1.759 0.986 0.984 0.980
1.5 0.997 -0.158 0.998 0.996
вный
метод Эйлера
0.1h
вный
метод Эйлера
0.025h
33
Неявный
метод Эйлера
0.1h
Неявный
метод Эйлера
0.3h

Приведенная в примере ситуация типична для жестких задач. При
y
yy yy
использовании классических явных методов наличие в решении быстро меняющейся жесткой компоненты даже на том участке, где ее
значение пренебрежимо мало, заставляет выбирать шаг из условия абсолютной устойчивости. На практике это приводит к неприемлемо малому шагу интегрирования и необходимости использования
неявных
методов.
Вернемся к системе (5.10). Предположим, что
A – матрица про-
стой структуры и все ее собственные значения имеют отрицательные
вещественные части (
решение задачи
()ty
mm
11
асимптотически устойчиво и представляется в
). В этом случае
Re Re ... Re 0
виде
( ) ...
tce ce ce
где
e
– это собственные векторы матрицы A . Напомним также,
i
yee e, (6.3)
что решение
max ( ) ( )
ttT
0
ttK
10 2 0 0
112 2
t
называется устойчивым по Ляпунову, если
**
00
, K – константа, и асимптотически
m
mm
() () ()
tt tt tt
устойчивым, если дополнительно выполняется условие, что
*
() () 0ttyy
Если среди собственных значений
ственно разными временными постоянными
при
t
.
имеются значения с суще-
i
1
i
, то через до-
Re
i
вольно короткий интервал времени поведение решения будет определяться наиболее медленной компонентой (т. е. компонентой с
наибольшей
). Так, если
ведливо приближение
21
()
tt
()
tce
10
ye. В то же время применяемый
11
, то при
tt
02
спра-
Re Re 0
численный метод должен обладать свойством устойчивости, позволяющим подавлять наиболее быстро меняющуюся (жесткую) компонен-
()
tt
10
e
e погрешности
ту
11
( ) ...
te e e
ee e . (6.4)
112 2
() () ()
tt tt tt
10 20 0
34
m
mm

Таким образом, можно оценить степень жесткости системы с по-
sst
мощью числа жесткости:
max Re
1
km
s
min Re
1
km
Жесткой будем называть систему, для которой
k
. (6.5)
k
1s
.
Примером жесткой системы может являться система
7501 2499uuv
Для нее
7497 2503vuv
(0) 0u
2500s
. Если ее интегрировать с помощью явного метода
,
(0) 4v
,
, (6.6)
.
Рунге–Кутты четвертого порядка точности, то условие устойчивости
потребует шаг
2.8 10h
4
.
Отметим, что если решение жесткой задачи ищется не на участке
жесткости (рис. 7), то явные методы могут быть весьма эффективными
(в этой ситуации задачу не считают жесткой). Также заметим, что более общие современные определения жесткости не исключают наличие
собственных значений
при условии, что для них
В случае, если
с положительными вещественными частями
i
Re max Re
ik
km
1
tA=A
, то и
kk
.
()
t
и, следовательно
()
То есть система может оказаться жесткой на одном интервале и нежесткой – на другом.
Для более общей системы вида (5.3) нет точного определения
жесткости. В этом случае обычно говорят о жесткости в окрестности
некоторой точки
, ( )tyt
линеаризованная система вида (5.10) с
, если жесткой является соответствующая
, ( )
A=
tt
fy
y
.
Очевидно, что для решения жестких задач хорошо бы использовать
A-устойчивые методы, не накладывающие никаких ограничений на
h
шаг интегрирования
. Однако оказывается, что класс таких методов
весьма узок. Например, доказано, что среди неявных линейных многошаговых методов нет A-устойчивых методов, имеющих порядок
точности выше второго. С другой стороны, многие из возникающих на
.
35

практике жестких задач таковы, что для них собственные значения
arg
удовлетворяют неравенству
k
, где
0
,
1,2,...,km
k
Для таких задач требование A-устойчивости методов является чрезмерным и его можно заменить менее ограничительным требованием
A()-устойчивости.
Численный метод решения задачи Коши называют A()-устой-
чивым, если область его абсолютной устойчивости включает угол
arg z
(рис. 8). В частности, при
/2
определение A()-
устойчивости совпадает с определением A-устойчивости.
.
Рис. 8. Определение A()-устойчивости
Известно, что среди явных линейных многошаговых методов нет
0
A()-устойчивых ни при каком
. Однако среди неявных линей-
ных многошаговых методов имеются A()-устойчивые методы высокого порядка точности. Важный класс таких методов (формул дифференцирования назад) относится к так называемым чисто неявным методам:
k
1
yfy
h
j
jnj n n
0
t
(, )
111
36
. (6.7)

Чисто неявные методы получаются в результате замены в системе
y
дифференциальных уравнений при
производной
1n
()t
ее раз-
tt
ностной аппроксимацией, использующей значения функции в точках
t
1nt, n
,...,
. Если для этого используется односторонняя раз-
1nkt
ностная производная, то получается формула дифференцирования
назад.
Приведем формулы дифференцирования назад, имеющие разный
k
порядок точности
11 18 9 2
yyyy
nnnn
25 48 36 16 3
yyyyy
1123
nnnnn
:
yy
1
nn
h
34
yyy
11
nnn
h
2
112
h
6
h
12
(, )
t
fy
11
nn
(, )
fy
,
t
11
nn
t
(, )
fy
11
nn
t
(, )
fy
nn
,
1k
; (6.8)
2k
; (6.9)
3k
,
11
; (6.10)
4k
,
. (6.11)
Метод (6.8) – это A-устойчивый
неявный метод Эйлера. Область
устойчивости методов (6.9)–(6.10) почти целиком содержит левую полуплоскость
Re 0z
, чего вполне до-
статочно для решения большинства
жестких задач. Для примера на рис. 9
показана область устойчивости метода (6.10).
Отметим также, что для того чтобы ускорить решение задач с помощью неявных схем, рекомендуется
для решения нелинейных систем вместо метода простой итерации применять метод Ньютона.
Рис. 9. Область устойчивости
)-устойчивого метода (6.10)
A(
37

7. ОСНОВНЫЕ ПРИНЦИПЫ
НАПИСАНИЯ ПРОГРАММ
ИМИТАЦИОННОГО МОДЕЛИРОВАНИЯ
Функционирование любой технической (/физической) системы
может быть описано системой дифференциальных уравнений. Если это
описание достаточно адекватно, то с помощью него можно изучать,
как будет меняться поведение системы при изменении ее параметров
(хотя бы в некотором диапазоне значений). Каждый расчет в этом случае можно понимать как имитацию работы реальной системы
Как уже говорилось ранее, описание реальных технических систем
(даже с определенными упрощениями) включает в себя множество
дифференциальных или интегральных уравнений. Последние из них,
как правило, также могут быть представлены в дифференциальной
форме. Чаще всего, если мы говорим о технических макросистемах
(например, экскаватор), все сводится к системе обыкновенных дифференциальных
гидравлики или электромеханики.
Сложность системы в целом заставляет представлять ее в виде
набора взаимосвязанных подсистем (модулей), которые при необходимости также могут быть разбиты на собственные подсистемы. Подобный подход позволяет определить и параметризовать базовые элементы (электродвигатель, поршень, насос и др.), описываемые системой
дифференциальных
С точки зрения программирования подобные базовые элементы
удобно представлять в виде структур данных (/классов), данными которых являются параметры этих элементов, а методами – процедуры,
формирующие соответствующие дифференциальные уравнения и вычисляющие необходимые интегральные характеристики по уже рассчитанным значениям вычисляемых функций. Очевидно, что, например, методы, формирующие
уравнений, построенных на законах механики Ньютона,
уравнений небольшой размерности.
дифференциальные уравнения, есть у всех
.
38

таких элементов и соответственно могут быть определены как абстрактные методы более общего абстрактного класса.
На практике для большинства моделируемых систем достаточно
иерархической структуры из четырех уровней. Базовые элементы объединяются в модули, обычно называемые устройствами. Устройства
объединяются в сборки, также называемые агрегатами. Последние в
свою очередь объединяются в системы. Система
может быть или законченным объектом исследования или (в сложном случае) взаимодействовать с другими системами. Классы, соответствующие этим
уровням иерархии, должны иметь общего предка, содержащего наборы
ссылок на другие элементы, устройства, сборки и, возможно, системы
для связи всех подсистем в единую систему.
Следует учесть, что эволюция системы и всех
ее подсистем, как
правило, имеет дискретные состояния, называемые фазами. Внутри
фазы система эволюционирует непрерывно, т. е. математические модели наполняющих ее элементов не меняются. Для каждой подсистемы
должны быть определены критические состояния, при достижении которых произойдет смена фаз, т. е. изменится математическое описание
каких-то элементов подсистемы. Достижение подсистемой критиче
ского состояния порождает событие, о котором оповещаются другие
заинтересованные подсистемы.
При численном моделировании, если, например, используются
многошаговые методы, при возникновении события расчет должен
быть остановлен, определен новый набор и начальные значения интегрируемых функций (для большинства они будут текущими), после
чего использован самостартующий метод достаточного порядка точности и далее
уже вновь осуществлен переход к многошаговым методам.
Для остановки счета в критической точке можно использовать метод
половинного деления шага интегрирования (часто эта процедура называется припасовкой). Для выполнения этой процедуры также удобно
использовать одношаговые методы.
Часто критические состояния связаны с определенными значениями функций (например, ход подвижного элемента ограничен и соот
ветственно будет ограничена его функция-координата) или их интегралов (например, среднее давление в системе за цикл не должно превышать некоторого значения). Поэтому удобно иметь общий для таких
функций и вычисляемых характеристик интерфейс, позволяющий без
особого труда идентифицировать возникновение критического состояния. Для этого для таких функций и вычисляемых
характеристик
-
-
39

можно хранить таблицы состояний, содержащие для каждого состояния его граничные (критические) значения, номер текущего состояния,
и проверять, не произошло ли пересечение текущим значением граничных значений текущего состояния.
Для систем, содержащих десятки тысяч и более базовых элементов,
актуален вопрос распараллеливания вычислений. Важно понимать, что
численное интегрирование систем обыкновенных дифференциальных
уравнений
, как правило, не может быть эффективно распараллелено по
времени. Гораздо эффективнее распараллеливать процедуры, связанные с интегрированием одного временного шага (это справедливо как
для явных, так и для неявных схем) – при этом максимально сокращая
число временных шагов (т. е. увеличивая значения временного шага).
Увеличить значение временного шага можно за счет
использования
схем с высоким порядком аппроксимации. Однако, если эти схемы
включают в себя последовательное вычисление дополнительных этапов (стадий), как, например, схемы Рунге–Кутты, то их эффективное
распараллеливание будет также затруднено. Если на шаг интегрирования существенно влияет требование устойчивости (что характерно для
жестких систем), то следует использовать неявные схемы.
правило, интересующим результатом имитационного модели-
Как
рования являются интегральные характеристики (например, время
предельного цикла, амплитуда колебаний и т. д.), которые также могут
быть получены с достаточной точностью с помощью больших шагов
интегрирования. Теряемая при этом информация о происходящих в
системе высокочастотных процессах (например, при ударе бойка об
ограничитель), как правило, не
создает проблем для получения достаточного по точности результата, если не нарушается устойчивость вычислительной схемы. Тем не менее в данном случае все же лучше изменить саму математическую модель (убрать из нее «лишнюю» индуктивность).
40
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]
