Содержание к диссертации
Введение
1 Резонансные структуры и нерегулярная динамика в системе типа Хенона-Хейлеса 17
1.1 Система с 3/2 степенями свободы 18
1.1.1 Анализ резонансных зон в области G 20
1.1.2 Анализ прохождения замкнутой инвариантной кривой отображения Пуанкаре через резонасные зоны 25
1.1.3 Анализ поведения решений в малой окрестности невозмущенной петли сепаратрисы Г 25
1.2 Анализ резонансных зон в системе с двумя степенями свободы 27
1.3 Численный анализ 30
1.3.1 Негамильтонов случай 30
1.3.2 Гамильтонов случай 30
2 О фрактальных границах областей притяжения устойчивых режимов 34
2.1 Анализ взаимного расположения сепаратрис 37
2.1.1 Расположение сепаратрис для уравнения Дюффинга 37
2.1.2 Расположение сепаратрис для маятникового уравнения 39
2.2 Фрактальные свойства границы областей притяжения 41
3 Визуализация резонансных структур, аттракторов, фракталов и паттернов в динамических системах 45
3.1 Фазовые кривые и графики решений систем ОДУ 45
3.1.1 Используемые численные методы 47
3.2 Траектории двумерных отображений 49
3.2.1 Траектории неоднозначных отображений 50
3.2.2 Отображения Пуанкаре 50
3.2.3 Построение сепаратрис 53
3.3 Динамические фракталы 55
3.3.1 Построение границы областей устойчивости для отображений Пуанкаре 58
3.3.2 Вычисление показателя неопределенности начальных условий при анализе границ областей притяжения 58
3.4 Задачи по численному моделированию диффузионных и полудискретных распределенных систем 59
3.4.1 Численные методы для диффузионных систем 61
3.4.2 Диффузионные модели 62
3.4.3 Полудискретные модели 68
4 Проектирование и разработка программного комплекса 70
4.1 Модель предметной области и варианты использования 70
4.1.1 Основные требования к программе 71
4.2 Реализация основных вариантов использования 72
4.2.1 Реализация проекта программы 74
4.3 Интерфейс пользователя 77
4.3.1 Начало работы 77
4.3.2 Стандартные приемы работы с графическими построениями для отображений и систем ОДУ 82
4.3.3 Построения для диффузионных моделей 89
4.3.4 Ввод пользовательских систем 92
4.4 Список встроенный систем 96
Литература 98
- Анализ резонансных зон в системе с двумя степенями свободы
- Расположение сепаратрис для уравнения Дюффинга
- Задачи по численному моделированию диффузионных и полудискретных распределенных систем
- Стандартные приемы работы с графическими построениями для отображений и систем ОДУ
Анализ резонансных зон в системе с двумя степенями свободы
Граница областей устойчивости неподвижных точек отображения Пуанкаре может представлять собой гладкую кривую или может иметь сложный характер при воздействии периодического возмущения. Анализируется характер поведения сепаратрис седловых неподвижных точек. Именно сепаратрисы определяют в невозмущенной системе границы областей устойчивости. Взаимное расположение сепаратрис исследуется с помощью функции Мельникова [30]. Известно, что при изменении бифуркационного параметра в момент касания сепаратрис в системе возникает сложная структура поведения решений. Известно также [10, 11], что возникновение сложной структуры возможно до момента касания.
Выполнено построение границ областей устойчивости неподвижных точек отображения Пуанкаре с помощью алгоритма, аналогичного алгоритму построения динамических фракталов. Проведено вычисление фрактальной размерности ограниченного участка границы для различных значений параметра а, отвечающего за взаимное расположение сепаратрис седловой неподвижной точки. Для вычисления фрактальной размерности границы областей притяжения применен алгоритм нахождения показателя неопределенности начальных условий.
Утверждение. У отображения Пуанкаре для уравнения Дюффинга (11) граница бассейнов притяжения устойчивых неподвижных точек становится фрактальной до момента касания устойчивой и неустойчивой сепаратрис седловой неподвижной точки. В третьей главе выделяются характерные типы графических построений, используемых при численном исследовании нелинейных динамических систем, при иллюстрировании теоретических результатов, а также при изучении смежных проблем.
В п. 3.1 и п. 3.2.1 описаны алгоритмы построения простейших инвариантных множеств систем дифференциальных уравнений и отображений: графики решений, фазовые траектории. Сформулированы требования к программному средству, предназначенному для построения фазовых портретов систем малой размерности. Параграф 3.2.2 посвящен описанию алгоритма построения отображения Пуанкаре для систем с 3/2 и двумя степенями свободы. Для систем с 3/2 степенями свободы существует глобальная секущая. В этом случае строится двумерное отображение через период возмущения. Для систем с двумя и более степенями свободы двумерное отображение Пуанкаре удается построить в случае, если известно достаточное число интегралов системы и если справедливо свойство возвращения траектории на некоторую плоскость начальных условий. Такое отображение называют отображением первого возвращения. В п. 3.2.3 приведен алгоритм построения неустойчивых сепаратрис-ных многообразий неподвижных седловых точек двумерного отображения. Аналогичный алгоритм применим и для сепаратрис периодических точек. Для отображений Пуанкаре возможно построение устойчивых сепаратрис, поскольку для этого достаточно интегрировать дифференциальные уравнения в обратную сторону по времени. В п. 3.3 рассматриваются алгоритмы визуализации динамических фракталов, возникающих в комплексных эндоморфизмах и отображениях Пуанкаре. Описана также реализация алгоритма вычисления фрактальной размерности границы областей устойчивости с помощью показателя неопределенности начальных условий [62].
В п. 3.4 рассматриваются задачи численной визуализации полудискретных моделей распределенных динамических систем. Выделены типы графических построений для таких систем: графики решений, аналогичные построениям для систем обыкновенных дифференциальных уравнений, построение пространственных распределений компонент системы, пространственно-временные диаграммы для систем на прямой, цветовой рельеф для систем на плоскости. Основное внимание уделяется визуализации процессов формирования упорядоченных структур — паттернов. Приведены примеры визуализации для известных биофизических моделей.
В четвертой главе описаны проектирование и разработка программного комплекса WInSet, предназначенного для выполнения графических построений для нескольких классов динамических систем.
Выделены основные варианты использования программы (use cases), сформулированы основные требования. Программа спроектирована и разработана с применением объектно-ориентированного подхода, что упрощает добавление новой функциональности. Реализованы следующие виды построений: 1. Двумерные отображения: дискретные траектории, неустойчивые сепаратрисы, области притяжения аттракторов. 2. Многомерные отображения: дискретные траектории. 3. Неоднозначные отображения: дискретные траектории. 4. Фракталы, порожденные одномерными комплексными эндоморфизмами. 5. Системы ОДУ: фазовые траектории (с учетом периодичности фазового пространства), графики решений. 6. Системы с 3/2 степенями свободы: то же что для систем ОДУ, а также для отображения Пуанкаре через период возмущения: дискретные траектории, сепаратрисы, области притяжения аттракторов. 7. Системы с двумя и тремя степенями свободы: то же, что для систем ОДУ, специальные отображения Пуанкаре. 8. Диффузионные системы на прямой: пространственное распределение, графики решения, изменение пространственного распределения со временем. 9. Для диффузионных систем на плоскости реализован еще один тип построения - цветовое выделение рельефа на плоскости. В программе предусмотрено два вида систем: встроенные и добавленные пользователем. Оба типа систем могут иметь набор изменяемых параметров. Ввод формул реализован для следующих видов систем.
Расположение сепаратрис для уравнения Дюффинга
Классическими примерами фрактальных множеств являются множества Жюлиа для неконсервативных отображений плоскости (или одномерных комплексных эндоморфизмов). Алгоритм численной визуализации этих фракталов чрезвычайно прост. Рассмотрим его на примере визуализации границы отталкивающего множества отображения Жюлиа [28, 33].
Выберем цветовую палитру из фиксированного числа оттенков, например из 256. Выберем также прямоугольную область D на плоскости (х, у) и прямоугольную область графического дисплея. Будем анализировать точки области D с шагом по X и по у, соответствующим максимальному разрешению экранных координат. Для каждой точки проверим выходящую из нее траекторию отображения: уходит ли на бесконечность. Для этого выберем круг достаточно большого радиуса Я, и выполним фиксированное число М итераций отображения. Если за М итераций траектория отображения не вышла за пределы круга радиуса R, закрасим пиксел экрана, соответствующий начальной точке, оттенком под номером 1 из выбранной палитры. Если траектория вышла из круга радиуса R за m шагов, закрасим соответствующий пиксел экрана оттенком под номером 1 + (m mod 255). В результате после прохода по всем пикселам экранной области получим цветовую картину, показывающую скорость «убегания» траекторий на бесконечность для прямоугольной области D. Для многих значений параметров а и 6 граница области отталкивающих траекторий является фракталом [33]. Фракталом также называют и полученную цветовую картину. В случае, когда граница имеет фрактальный характер, цветовая картина подчеркивает нерегулярность границы. Параметрами алгоритма вычисления являются радиус круга R и число проверяемых итераций М. Отметим одну особенность реализации такого построения. В некоторых графических режимах можно выполнить циклическое перемещение цветов палитры [73]. Это позволяет «оживить» статическую картину фрактала.
Рассмотрим другой пример фрактального множества. Фрактал Ман-дельброта [28] представляет собой границу области параметров отображения Жюлиа, для которой траектория, выходящая из начала координат, является ограниченной. Применив аналогичный цветовой алгоритм, получаем визуальное представление этого фрактального множества. На рис. 3.7 приведено полученное графическое изображение. Для построения этого изображения применена цветовая палитра градиентного типа. Она позволяет проследить тонкую структуру фрактальной границы несмотря на то, что внутренние точки не видны из-за конечного разрешения графического дисплея.
Применим алгоритм визуализации фракталов для построения областей притяжения устойчивых аттракторов двумерных отображений. Предположим, что аттрактор отображения содержится в некотором круге с центром в точке А радиуса R. Выберем прямоугольную область D = {ж, у : Утіп У Утах}, где х, у — переменные отображения. Для каждого пиксела соответствующей области графического дисплея будем выполнять проверку: попадает ли траектория, выходящая из со-ответсвующей точки области D в указанный круг. Если траектория не попадает в этот круг, закрасим пиксел. Если траектория стремится к аттрактору и попадает в круг, оставим точку незакрашенной. Для проведения вычислений необходимо подобрать конечное число М итераций отображения для проверки притяжения траектории к аттрактору. В результате прохода по всем пикселам экранной области получаем двухцветную картину, на которой незакрашенной остается область притяжения рассматриваемого аттрактора. Если у отображения всего два аттрактора, закрашенная часть области D принадлежит к области притяжения другого аттрактора.
Приведем, следуя [62], алгоритм оценки фрактальной размерности сложной границы областей притяжения. В прямоугольной области D, где находится граница областей притяжения или ее часть, выберем случайным образом набор начальных условий — точек {ХІ, уі), і = 1,..., N. Для каждой из них определим, к какому из аттракторов притягивается траектория, соответствующая этому начальному условию. Для каждой из точек (ХІ,УІ) рассмотрим также точки (ХІ ± є,уі). Если хотя бы одна из траекторий, выходящих из точек (#І±Є, уі), притягивается к другому аттрактору, будем считать, (жг-, уі) неопределенным начальным условием. Количество таких точек обозначим Nu, 0 Nu N.
Будем предполагать, что доля фазового объема, занятого неопределенными начальными условиями, пропорциональна отношению Nu/N. Если она зависит от є как степенная функция с некоторым показателем а, то а является показателем неопределенности начальных условий [62]. Он связан с фрактальной размерностью границы d: где Dim — размерность фазового пространства отображения. При реализации данного алгоритма необходимо провести вычисления для различных значений є и N, а затем вычислить показатель а как угловой коэффициент линейной зависимости между величинами In - и In є, построенной по данным вычислений.
Задачи по численному моделированию диффузионных и полудискретных распределенных систем
На этапе анализа выделены основные типы объектов программы — прототипы классов. Выстроена иерархия объектов типа система, разграничены функции объектов графическое окно, алгоритм построения, метод вычисления, определены объекты, реализующие интерфейс пользователя.
На этапе проектирования разработана структура классов и принцип разделения исходных текстов на модули. Разработаны базовые классы, реализующие построения по основным типам динамических систем. Для абстрактного класса система определены виртуальные методы Выполнение построения, Перерисовка построения, Отмена последнего этапа построения, Удаление данных о построении в целом, Изменение параметров системы, Изменение установок вычисления, Изменение установок построения. Этот класс является базовым для более частных типов систем, для которых определены допустимые типы построения. Стандартные методы работы с системой переопределяются так, чтобы их поведение менялось при изменении текущего типа построения. Классы, реализующие конкретные динамические системы, также создаются с помощью механизма наследования. Каждый класс встроенной динамической системы определяется в отдельном модуле. Программа при этом представляет собой единый исполняемый модуль, в который на этапе компоновки подключаются модули встроенных систем. Таким образом, добавление новой встроенной системы в программу — простая операция добавления в проект одного короткого модуля, в котором определен класс новой системы, наследующий основную функциональность от своего базового класса. Этот модуль содержит лишь конструктор класса, устанавливающий для системы свойства наименования, исходного текста, и т.д., а также методы, задающие уравнения системы.
Объекты пользовательских систем должны создаваться во время выполнения программы по команде пользователя. Поэтому для упорядочения всех систем введен список, разделенный на категории. После созда-ниия каждый объект типа система заносится в общий список систем с указанием категории. Для встроенных систем такая процедура регистрации выполняется при запуске программы. Исходные данные для создания объектов пользовательских систем, введенных ранее, содержатся в настройках, которые читаются после регистрации встроенных систем.
Метод численного интегрирования системы дифференциальных уравнений выделен в отдельный абстрактный класс программы. Потомки этого класса реализуют конкретные методы интегрирования. Для включения в программу новых методов необходимо добавить в проект классы этих методов, переопределяющие абстрактные методы базового класса.
Предполагаем, что в процессе работы программы активна только одна система, и все построения проводятся только для нее. Полученные результаты вычислений и использованные при этом установки сохраняются в виртуальной памяти компьютера. Эти данные организованы блоками, соответствующими этапам построения. Они используются при выполнении перерисовок построения в другом масштабе, а также перерисовок после отмены последнего этапа построения. За хранение данных вычислений отвечает класс Список этапов построения.
По описанным спецификациям разработана программа WInSet [36, 66], работающая под управлением 32-разрядных операционных систем Microsoft Windows. Программа реализует рассмотренные варианты использования и обеспечивает графический пользовательский интерфейс. Работа с графическим интерфейсом программы описана в п. 4.3. Выполнение построений для пользовательских систем ничем не отличается от работы со встроенными системами. Различается лишь способ вычисления.
Пакетный режим построения реализован с помощью слайдов. Слайды WInSet — это текстовые файлы, в которых содержится данные, необходимые для воспроизведения построения: название системы, значения параметров уравнений, характеристики окна построения: данные об осях координат, цвете фона, осей и построения, упорядоченный набор данных для выполнения этапов построения. Каждый элемент этого набора содержит начальные условия и установки вычисления ( для каждого типа построения свои). Построение, выполненное в интерактивном режиме, можно сохранить в виде файла слайда. Загрузка слайда — это повторение программой ранее выполненных шагов построения. После загрузки слайда можно продолжить построение, отменить его часть, изменить характеристики окна построения и т.д. Механизм увеличения фрагментов построения реализован с помощью хранения результатов счета в виртуальной памяти. Если пользователем изменены размеры окна программы или назначены другие границы по координатным осям, происходит перерисовка всего построения в новом масштабе в соответствии с сохраненными данными и установками. При увеличении фрагментов построения некоторые графические примитивы, из которых состоит построение (отрезки прямых, заполненные области), могут попадать в новые границы окна лишь частично. Корректное отображение таких элементов достигается за счет применения алгоритма отсечения невидимых линий [41]. Для построения трехмерных поверхностей для двумерных диффузионных систем применен алгоритм «плавающего горизонта» [41]. Он также использован при построении пространственно-временных диаграмм для одномерных диффузионных моделей. В WInSet реализовано сохранение построения в файле графического формата. Поддерживаются растровый формат BMP, типичный для операционной системы Windows, и векторный формат EPS (Encapsulated PostScript) [54]. Растровый формат плохо масштабируется, поскольку при увеличении становится заметной ступенчатость линий. Применение векторной графики позволяет избежать этого эффекта. Формат PostScript [71, 70] выбран из-за его широкого распространения в полиграфии и в научных кругах при подготовке печатных публикаций. EPS — это спецификация некоторого подмножества [54] команд языка PostScript и специальных комментариев, которые обеспечивают вставку плавающих иллюстраций в документы PostScript. Системы, добавляемые пользователем Ввод пользовательских формул реализован для следующих видов систем: Отображения, в том числе отображения на цилиндре, Системы ОДУ, Системы с 3/2 степенями свободы, в том числе системы на цилиндре, Диффузионные системы.
Стандартные приемы работы с графическими построениями для отображений и систем ОДУ
Когда выполняется построение на плоскости, для увеличения фрагментов изображения можно использовать мышь. Чтобы выделить интересующий фрагмент построения, нужно нажать левую кнопку мыши в верхнем левом углу предполагаемого фрагмента и, не отпуская, двигать ее вправо и вниз, а затем отпустить. При этом границы выделяемой области будет отмечаться линиями. После того, как кнопка мыши будет отпущена, элементы построения, попавшие в выделенную область, будут перерисованы в новом масштабе и «растянуты» до размеров рабочей области. Для того, чтобы задать граничные значения по осям координат более точно, нужно вызвать окно редактирования установок построения (рис. 4.4).
Для того, чтобы сохранить построение в файле слайда WInSet, нужно выбрать пункт меню Файл \ Сохранить слайд... и в появившемся окне сохранения файла ввести имя файла слайда. Файлы слайдов WInSet имею тип . ini. Чтобы сохранить образ рабочей области в файле графического формата, нужно выбрать пункт меню Файл \ Сохранить в графическом формате... Появится окно сохранения графического файла, в котором требуется выбрать тип файла (растровый формат BMP или векторный формат EPS) и ввести имя файла.
Иногда необходимо выполнить несколько последовательных увеличений фрагментов построения и сохранить получившийся ряд изображений в графических файлах. При этом на каждом изображении обычно требуется выделить в виде прямоугольника область, которая будет увеличена на следующем изображении. Если при увеличении фрагмента с помощью мыши удерживать нажатой клавишу Shift , то непосредственно перед перерисовкой изображения в новом масштабе будет выведено окно сохранения построения в графическом файле. Это дает возможность указать имя и тип файла, в котором будет сохранен образ рабочей области с отмеченным для увеличения фрагментом (рис. 4.8).
В программе WInSet предусмотрен один тип построения для диффузионных систем — визуализация численного решения начально-краевой задачи. Начальные условия задаются задаются двумя способами: отдельно для каждого узла пространственной сетки или как распределение простейшего вида. Как и для систем обыкновенных дифференциальных уравнений, чтобы задать начальные условия, нужно выбрать пункт меню Правка Начальные условия. Этот пункт меню вызывает окно редактирования начальных условий (рис. 4.9). Оно представляет собой многостраничное диалоговое окно. С помощью первой страницы (рис. 4.9а) можно задать значения переменных системы в одном узле сетки. Следующие страницы позволяют задать начальное распределение для каждой из переменных (рис. 4.96).
Если выбрано построение на плоскости, то начальные условия можно задать с помощью мыши. В отличие от систем обыкновенных дифференциальных уравнений, для диффузионных систем WInSet не запускает вычисления при нажатии на левую кнопку мыши. Действие, выполняемое программой в этом случае, определяется пунктом меню Установ-ки [Начальные условия мышью. Если этот пункт отмечен, то щелчок левой кнопки мыши задает значение переменной системы в соответствии с положением указателя мыши в рабочей области. Если пункт меню не отмечен (это его исходное состояние), то вызывается окно ввода начальных условий.
В текущей версии программы WInSet реализованы граничные условия только двух типов: постоянные граничные условия, соответствующие начальным условиям, и периодические граничные условия. По умолчанию действует первый тип. Для того, чтобы включить режим периодических граничных условий, нужно отметить соответствующий переключатель в окне редактирования установок счета (см. далее рис. 4.13). Режим вывода на экран задается с помощью окна редактирования свойств построения, которое для диффузионных систем имеет ряд отличий (рис. 4.10, 4.11). Программой предусмотрено три режима вывода на экран: Spatial Plot — вывод пространственного распределения в один или несколько моментов времени. Этот режим, в частности, позволяет получать пространственно-временные диаграммы для систем на прямой (рис. 3.9 на стр. 63). Time Plot — вывод графика зависимости переменной системы от времени в одном или нескольких узлах сетки. Color Plane — для систем на плоскости визуализация рельефа одной из переменных системы с помощью цветовых оттенков. Для обозначения пространственных координат используются индексы узлов сетки: один индекс і для систем на прямой и два индекса (i,j) для систем на плоскости. Если при назначении переменных по осям координат остается незадействованным индекс узла сетки, то его фиксированное значение необходимо ввести в поле ввода Пост, индекс. Если выбрать режим Color Plane, то по осям координат автоматически будут выбраны индексы г и j, и появятся поля ввода оттенков, используемых при построении рельефа (рис. 4.11). Необходимо выбрать из списка переменную системы, для которой строится пространственное распределение-, ввести максимальное и минмиальное значения, а также назначить оттенки. Для выбора оттенка нужно нажать на кнопку с изображением цветовой палитры. При этом будет вызвано стандартное окно выбора цвета. К кнопкам выбора оттенков можно перейти с помощью мыши или с помощью клавиатуры (клавишей табуляции).
Страница История предназначена для того, чтобы ограничить объем данных, хранимый в виртуальной памяти системы во время выпол-нения построений. На этой странице задается множество узлов сетки, для которых хранятся данные вычислений, полученные с момента начала выполнения построения. Эти данные используются программой для перерисовки построения при изменении осей координат, масштаба или режима визуализации. При этом текущие значения переменных системы могут быть отрисованы в полном объеме, а значения, соответствующие предыдущим запускам или предыдущим шагам по времени — только для узлов сетки, заданых на странице История (рис. 4.12).