Орбита Аренсторфа - computer-modelling-2009

advertisement
Московский Авиационный Институт
Кафедра информационно-управляющих комплексов
Курс «Компьютерное моделирование интегрированных
систем ЛА»
Лабораторная работа №1
Интегрирование систем ОДУ
Сергей Суровцев, группа 07-409
Москва, 2009
Оглавление
Техническая постановка задачи ..................................................................................................................... 3
Математические модели, алгоритмы и численные методы ....................................................................... 4
Численные методы ....................................................................................................................................... 4
Метод Дормана-Принса 4(5) порядка .................................................................................................... 4
Метод Адамса-Мултона-Бэшфорта 3(4) порядка.................................................................................. 4
Математические модели ............................................................................................................................. 5
Орбита Аренсторфа .................................................................................................................................. 5
Брюсселятор ............................................................................................................................................. 5
Архитектура приложения ................................................................................................................................ 6
Классы ............................................................................................................................................................ 6
Модели...................................................................................................................................................... 7
Интеграторы ............................................................................................................................................. 7
Анализ результатов вычислительных экспериментов ................................................................................. 9
Орбита Аренсторфа ...................................................................................................................................... 9
Метод Адамса-Мултона-Бэшфорта ........................................................................................................ 9
Метод Дормана-Принца 5(4) порядка ................................................................................................. 10
Брюсселятор................................................................................................................................................ 12
Метод Адамса-Мултона-Бэшфорта ...................................................................................................... 12
Метод Дормана-Принса 5(4) порядка .................................................................................................. 12
Вывод .............................................................................................................................................................. 13
Список литературы ......................................................................................................................................... 14
Техническая постановка задачи
1. Спроектировать и реализовать объектно-ориентированный шаблон взаимодействия
математической модели и численного метода интегрирования систем обыкновенных
дифференциальных уравнений (ОДУ);
2. Реализовать численные методы интегрирования систем ОДУ:
— Дормана-Принса 5(4) порядка, включая коррекцию шага и плотную выдачу;
— Адамса-Бэшфорта-Мултона 3(4) порядка.
3. Реализовать модели «орбита Аренсторфа», «брюсселятор»;
4. Проверить правильность реализации интеграторов, проинтегрировав ими модель «орбиты
Аренсторфа» на двух витках и «брюсселятор» со стандартными Н.У, сравнить полученные
результаты с известными a priori.
Математические модели, алгоритмы и численные методы
Численные методы
Метод Дормана-Принса 4(5) порядка
В работе реализован метод Дормана-Принса (1), со следующими модификациями:
Ошибка определяется как среднеквадратическое отклонение (СКО).
Шаг корректируется следующим способом:
,где
H — заданная погрешность;
e(h) — погрешность в данном шаге.
В алгоритмах с коррекцией шага возникает необходимость плотной выдачи, т.е. интерполяции
результатов вычислений в нужных точках.
В данном случае использовались соотношения (2 стр. 187).
Метод Адамса-Мултона-Бэшфорта 3(4) порядка
Реализован многошаговый метод с функцией-предиктором Адамса-Бэшфорта 4-ого порядка и
функцией-корректором Адамса-Мултона 3-его порядка (3).
«Разгон», т.е. получение первых трёх значений осуществляется методом Рунге-Кутты с тонностью
на 3 порядка лучшей, чем точность, которой инициализирован метод Адамса-Мултога-Бэшфорта.
В каждом шаге коррекции сравнивается результат предыдущей и настоящей коррекций, и
коррекция проводится заново, если максимальное значение разности фазовых векторов на двух
соседних шага превышает заданную локальную погрешность (при этом в качестве предсказания в
функции Мултона принимается предыдущая коррекция).
Математические модели
Орбита Аренсторфа
При начальных условиях:
Брюсселятор
При начальных условиях:
Архитектура приложения
Классы
Программа включает в себя 6 классов:
 TODEModel — базовый класс модели СОДУ;
 TODEIntegrator — базовый класс интегратора СОДУ;
 TRungeKutta45 — реализация метода Дормана-Принса, наследник TODEIntegrator;
 TAdamsBashforthMoulton — реализация метода Адамса-Мултона-Бэшфорта, наследник
TODEIntegrator;
 TArenstorf — реализация модели орбиты Аренсторфа, наследник TODEModel;
 TBruccelator — реализация модели Брюсселятора, наследник TODEModel.
Подобная архитекутра выбрана из соображений компактности и является наиболее часто
встречающейся в ряде существующих откртых реализациях интеграторов. Хотя подобная
архитектура и не является правильной с точки зрения пьюристского ООАиП, решающим фактором в
её выборе являлась её компактность.
Диаграммы классов находятся на рисунке 1, на рисунке 2 представлена диаграмма
последовательностей.
Рис.1 Диаграммы классов
Рис. 2 Диограмма последовательностей
Модели
Наследники класса TODEModel реализуют функцию F (правые части ДУ).
Наследники TODEIntegrator обязаны реализовывать, по сути, лишь функцию Run, а также в конце
каждой итерации обращаться к процедуре AddValue агрегированной модели.
Интеграторы
Интеграторы обязаны перекрывать процедуру Run предка TODEIntegrator.
TRungeKutta45
RmsError(delta): extended — считает СКО.
CorrectStep(e,t) — корректирует шаг;
Densify(theta, t, y0, K) — осуществляет плотную выдачу.
Densify(theta, t, y0, K) — осуществляет плотную выдачу.
TAdamsBashforthMoulton
CheckIfInBounds(y0, y1) — проверяет, проходит ли разность двух соседних итераций коррекции
сравнение с максимально допустимой погрешностью.
AdamsBashForthMoulton(y0.y1,y2,y3,t0,t1,t2,t3) — предсказывает следующее значение вектора
состояния СОДУ.
AdamsMoulton(t1,y2,y3,predY,t1,t2,t3) — корректор.
Анализ результатов вычислительных экспериментов
Вычислительные эксперименты в данной работе являются функциональными тестами ПО.
Ожидается, что модель «орбита Аренсторфа» продержится как минимум 2 витка, а модель
«Брюсселятор» будет иметь перидический характер.
Орбита Аренсторфа
Метод Адамса-Мултона-Бэшфорта
Система «Орбита Аренсторфа» держится как минимум 2 витка, будучи интегрированной методом
Адамса-Бэшфорта-Мултона со следующими параметрами:
Длина шага = 0.001
Допустимая погрешность: = 0.001
Погрешность разгоняющего метода Дормана-Принса: 0.000001.
На рисунке 3 изображена полученная орбита. На рисунке 4 изображён увеличенный фрагмент
самопересечения траектории справа .
Рис. 3 Орбита Аренсторфа, полученная методом Адамса-Бэшфорта-Мултона
Рис. 4 Увеличенный фрагмент участка траектории.
Метод Дормана-Принца 5(4) порядка
Длина шага = 0.01
Допустимая погрешность = 1.0e-8
На рисунках 5 и 6 аналогичные результаты для метода Дормана-принса.
Рис. 5 Орбита Аренсторфа, полученная методом Дормана-Принса
Рис. 5 Рис.
6 Увеличенный фрагмент участка траектории.
Брюсселятор
Метод Адамса-Мултона-Бэшфорта
Длина шага = 0.001
Допустимая погрешность: = 1.0e-12
Погрешность разгоняющего метода Дормана-Принса: 1.0e-15.
На рисунке 7 представлены резульаты интегрирования системы «Брюсселятор» методом АдамсаМултона-Бэшфорта.
Рис.7 Система «Брюсселятор» методом Адамса-Мултона-Бэшфорта.
Метод Дормана-Принса 5(4) порядка
На рисунке 8 отображены результаты интегрирования системы «Брюсселятор» методом АдамсаМултона-Бэшфорта при следующих параметрах:
Длина шага: 1.0e-2
Допустимая погрешность: 1.0e-12.
Рис. 8 Система «Брюсселятор» методом Дормана-Принса
Вывод
Результаты полученные обоими интеграторами на обеих системах соответсвуют известным
априорным данным. Орбита Аренсторфа не разваливается как минимум 2 витка, а в модели
«Брюсселятор» динамика системы сохраняет периодичность. Оба интеграторы являются
работоспособными.
Список литературы
1. Dormand-Price method. Wikipedia.org. [В Интернете]
http://en.wikipedia.org/wiki/Dormand%E2%80%93Prince_method.
2. Э. Хайрер, С.Нёрсетт, Г.Ваннер. Решение обыкновенных дифференциальных уравнений.
Нежёсткие задачи. 1990.
3. Shaharuddin Salleh, Albert Y. Zomaya, Sakhinah Abu Bakar. COMPUTING FOR. 2008.
Download