2.2.1 Нахождение стационарных точек системы
В этом случае достаточно применение метода последовательных разбиений на отрезки. Условие (4) позволяет взять достаточно малый шаг h от которого и зависит точность решения.
2.2.2 Исследование устойчивости стационарных точек
Задачу по исследованию стационарных точек необходимо разбить на три стадии. На первой стадии выясняется условие вхождения исследуемого параметра в систему. Для большей наглядности рассмотрим данный этап на примере построения параметра
из (7). Благодаря тому, что параметр входит лишь в одно уравнение системы (7), мы можем получить значения x1 x2 из второго уравнения методом дихотомии, с высокой степенью точности. Подставляя, таким образом, x1 x2 в функцию F и повторно применяя метод дихотомии, но уже для мы получим искомую зависимость.Необходимо отметить, что условия вхождения параметра
только в одно уравнение справедливо и для других систем поскольку вытекает из методики построения данных уравнений. В случае применения указанного алгоритма для систем уравнений, полученных из иной предметной области или же при рассмотрении структур Тьюринга для трех переменных, где такое условие уже не действует, следует применять иные вычислительные алгоритмы, например, рассмотренный ранее метод последовательного разбиения на отрезки.2.2.3 Бифуркационный анализ
Для бифуркационного анализа рассмотрим методику построения кривой нейтральности, используя систему уравнений (7). Для примера возьмем зависимость:
. (17)В этом случае уравнение (17) имеет нелинейный вид относительно своих переменных и единственный метод нахождения корней – это метод последовательного разбиения на отрезки по параметру
. В результате, чего мы получаем искомую кривую.2.3 Интерфейс
Интерфейс программного обеспечения представляет собой набор классов с методами предназначенными для отображения информации полученной на предыдущих этапах. Данный блок программы не привязан к вычислительным процедурам и в общем случае может применяться для любых иных целей, где есть надобность в последовательном отражении информации схожей с той, что получается при расчетах в рассматриваемой модели. Выделим три основных компонента интерфейса программы, каждый из которых являет собой некий класс.
I. Класс TGraph - предназначен для отображения графиков получаемых при построении параметрических зависимостей (Рис №2), а так же фазовых портретов при решении системы дифур и графиков динамики изменения концентрации вещества при численном счете (1). Данный класс во внешнем интерфейсе имеет лишь один метод AddXY(X,Y : Real), предназначенный для внесения очередной точки-параметра на плоскость. Масштабирование, фокусировку, выделение области и смещение класс TGraph осуществляет самостоятельно.
Рис. №2. Пример работы класса TGraph
II. Класс TPlant – предназначен для отображения степени концентрации вещества на пластине при решении (1) в двумерном случае. Данный класс, как и предыдущий содержит в себе только один метод предназначенный для внесения точки на плоскость и применяется уже не при исследовании, а расчете модели. На Рис №3 показан пример такого отображения.
Рис. №3. Пример работы класса TPlant
III. Класс TCube – предназначен для отображения степени концентрации вещества в объеме при решении (1) в трехмерном случае. Интерфейс данного класса содержит значительное количество методов и параметров предназначенных для вращения, сечения, масштабирования, смещения, а так же ряд специфических функций необходимых исследователю. Метод с помощью которого добавляется точка в куб имеет лишь одно отличие от ранее рассмотренных, а именно дополнительную координату.
Рис. №4. Пример работы класса TCube
3. Сравнительный анализ предложенного метода и альтернативных решений
Альтернативных методов решения поставленной задачи может быть два, а именно: аналитические решения и решения с помощью прикладных продуктов, например Matlab.
Преимущества перед аналитическим методом вполне очевидны, поскольку перекладывают всю работу по поиску решений на компьютер, тем самым, избавляя исследователя от кропотливой работы выведения всех необходимых зависимостей.
К примеру, функция кривой нейтральности
для предложенного примера (6), выглядит следующим образом:где
.Поскольку такие зависимости нужно вывести не только для каждого параметра, но и для каждой бифуркационной кривой, то процесс расчета занимает значительную часть времени. При любом изменении уравнений (7) всю работу предстоит делать заново. Помимо «неудобства» использования аналитического метода, существует ряд параметров которые вообще невозможно получить аналитическим способом. В рассматриваемом примере (6) такой зависимостью является
для кривой кратности.Применения программ, созданных на основе математических пакетов, таких как Matlab, может значительно упростить процесс получения искомых зависимостей, однако, он лишает нас основных преимуществ ООП: полиморфизма и наследования. В рассмотренном примере преимущества данных механизмов не очевидны, но если расширить круг моделей, а данный подход предлагается как раз именно ради этой цели, то исследователь неизбежно столкнется с необходимостью расширения функционала системы. Для проведения такой модернизации при применении средств пакета MatLab, предстоит переписывать большую часть кода, а если довести набор различных моделей до ста то такого рода программу невозможно будет обслуживать. В случае использования ООП задача решается перегрузкой лишь того метода который необходимо изменить для рассматриваемой модели, таким образом программа сама сможет определить, какой алгоритм ей использовать в зависимости от количества входных параметров. В случае если алгоритмы не будут являться наиболее эффективными для решения той или иной системы, предстоит заново переписывать всю программу на MatLab, тогда как, применяя ООП, достаточно создать наследник нужного класса и дополнить его всеми необходимыми атрибутами. Более того, объектный подход позволяет полностью разделить такие процессы, как вычисление и визуальное отображение. В результате, мы получаем мощный инструмент отображения, полученной в ходе вычисления.
Недостатками описанного подхода можно назвать ограниченность применения. Алгоритм работает только для систем с описанными ограничениями, поэтому наблюдается низкая точность полученных вычислений. Графики, получаемые в результате расчетов, имеют не такую хорошую наглядность, как графики, полученные с помощью аналитических выкладок. Данная проблема вполне разрешима при применении вычислительно более мощных компьютеров, а также при использовании более эффективных вычислительных алгоритмов.
Заключение
На сегодня ООП является одним из основных методов в написании приложений, представленная работа показывает возможности которые открываются перед исследователем при его применении в задачах математического моделирования процессов химической кинетики. Механизм ООП реализован в программе «Параметрический анализ структуры Тьюринга», где он применяется не только для расчетов рассмотренных выше уравнений, но и для получения различных решений таких как: фазовые портреты и временные зависимости. Используя созданный механизм, специалист исследующий свою задачу, уже не тратит время на выведения нужных формул или подборке необходимого численного алгоритма для решения того или иного уравнения, а сосредотачивается непосредственно на рассматриваемом объекте.
Список литературы
1. Фаулер М. Архитектура корпоративных программных приложений. –М.: Издательский дом «Вильямс», 2006.-544с.
2. Пушкарёва Т.П. Параметрический анализ простейшей модели автоколебаний в реакции ассоциации: Препринт /Т.П. Пушкарёва, В.И. Быков // ВЦ СО АН СССР N13. – Красноярск, 1985.
3. Жаботинский А.М. Концентрационные колебания – М.:Наука,1974. 176 с.
4. Быков В.И. Моделирование критических явлений в химической кинетике /В.И. Быков. – М.: Наука,1988.
5. Быков В.И. Механизмы нелинейной диффузии и качественные свойства уравнений «кинетика + диффузия» /В.И. Быков, Г.П. Саркисян // Математические методы в химии: Сборник тезисов V Всесоюзной конференции. – Грозный, 1985. – С. 10-11.
6. Киселев Н.В Критические явления в системе «Автокаталитический осциллятор + диффузия» /Н.В. Кисилев // Вестник Красноярского государственного университета. – Красноярск, 2004. – С. 249-256.
7. Болтенков С.А. Бифуркационный анализ структуры Тьюринга / С.А. Болтенков // Молодежь и современные информационные технологии: Сборник трудов IV Всероссийской научно-практической конференции студентов, аспирантов и молодых ученых. – Томск, 2006. – С. 87-89.