Помощь в написании студенческих работ
Антистрессовый сервис

Программно-математическое обеспечение параметрического анализа математических моделей неизотермического проточного реактора идеального смешения

ДиссертацияПомощь в написанииУзнать стоимостьмоей работы

Класс зависимости (характеристики) — Dependency. Эта абстракция представляет собой последовательность точек, вычисляемых по определённым правилам. Она является базовой для всех характеристик, которые могут быть построены для объекта классаКтМойе1. На рис. 2.2 изображена иерархия классов зависимостей, а их реализация приведена в разделе приложения А.2. Назначение свойств и функций-членов этого… Читать ещё >

Программно-математическое обеспечение параметрического анализа математических моделей неизотермического проточного реактора идеального смешения (реферат, курсовая, диплом, контрольная)

Содержание

  • Глава 1. Обзор литературы
    • 1. 1. Процедура параметрического анализа
    • 1. 2. Состояние ПМО параметрического анализа
    • 1. 3. Опыт построения больших систем ПМО математического моделирования в химической кинетике
    • 1. 4. Обзор систем, построенных для решения частных задач параметрического анализа
    • 1. 5. Выводы
  • Глава 2. ПМО параметрического анализа в среде С++
    • 2. 1. Структура ПМО (иерархия классов и иерархия объектов)
    • 2. 2. Алгоритм решения задачи Коши
    • 2. 3. Алгоритм метода продолжения по параметру
    • 2. 4. Вычение матриц чных производных, овий кратни и бифуркации Андронова-Хопфа
    • 2. 5. Работа с файлами (сохранение и загрузка моделей, экспорт зависимостей)
    • 2. 6. Графика и интерфейс
  • Глава 3. Генератор математических моделей РИС
    • 3. 1. Генерация стехиометрических матриц и вычисление правой части
    • 3. 2. Основные требования к следующей версии генератора математических моделей
    • 3. 3. Методы решения некоторых задач, возникающих при построении генератора математических моделей
  • Глава 4. Анализ некоторых базовых моделей теории химических реакторов и размерных моделей с использованием разработанного
    • 4. 1. Безразмерная модель для двух реакций протекающих параллельно
    • 4. 2. Безразмерная модель для двух реакций протекающих последовательно
    • 4. 3. Модель окисления двух углеводородов в РИС
    • 4. 4. Модель окисления водорода в неизотермическом РИС

Одной из основных тенденций развития программно-математического обеспечения вычислительных машин, комплексов и сетей в настоящее время является создание универсальных комплексных сред, нацеленных на решение широкого круга задач некоторой предметной области. Последние два десятилетия для программно-математического обеспечения химической кинетики весьма актуально создание крупных программных пакетов, предназначенных для накопления, обработки и хранения кинетических данных, решения прямой и обратной задачи, параметрического анализа и оптимизации. В частности, необходимы универсальные средства, реализующие процедуру параметрического анализа нелинейных динамических моделей с сосредоточенными параметрами.

На данный момент накоплен богатый фактический материал по динамике реакций окисления, полимеризации, горения. До недавнего времени полномасштабные исследования в этой области были большей частью ограничены исследованиями так называемой «простейшей модели», то есть модели реактора с одной реакцией (А в В). Данная модель позволяет получать большинство характеристик в аналитическом виде. Анализ более сложных моделей носил частный характер в силу сложности получения для них некоторой части характеристик, например условия существования кратных стационарных состояний. Исследования требовали применения численных методов и интенсивного использования вычислительной техники.

Изучение работ, посвященных решению как прямой, так обратной задач теории горения показывает, что в большинстве случаев авторы самостоятельно разрабатывают необходимое программное обеспечение. Однако программная реализация алгоритмов построения параметрических характеристик математических моделей требует больших трудозатрат и специальных навыков программирования и, особенно, отладки программного продукта.

Наряду с этим разработано большое количество алгоритмов и методов анализа параметрических характеристик динамических моделей, позволяющих числено реализовать все этапы параметрического анализа. Разработайный за последнее десятилетие объектно-ориентированный подход к проектированию сложных программных систем и языки программирования последнего поколения предоставляют все необходимые условия для создания универсального программного обеспечения математического моделирования и параметрического анализа широкого класса моделей.

Цель работы — создать программное и математическое обеспечение параметрического анализа нелинейных моделей с сосредоточенными параметрами, в том числе моделей теории горения. Эта цель определила основные задачи исследования:

Разработать алгоритмы необходимых численных схем и общую структуру программно-математического обеспечения для реализации на объектно-ориентированном языке программирования.

Разработать алгоритм построения размерных моделей неизотермического реактора идеального смешения.

Реализовать численные схемы всех этапов параметрического анализа в современной среде программирования на языке С++.

Провести параметрический анализ безразмерных моделей теории горения и теории химических реакторов для двух реакций протекающих в одном случае параллельно в другом последовательно.

Провести параметрический анализ соответствующих размерных моделей.

Научная новизна и практическая ценность.

Реализован метод продолжения по параметру, метод поиска нулевого решения введением искусственного параметра в среде С++. На базе этих методов созданы процедуры построения кривых кратности, бифуркаций Андронова-Хопфа, диаграмм стационарных решений.

Реализован интехратор, в основе которою специально предложенная Е. А. Новиковым схема, состоящая из Ь-устойчивого (ш, к)-метода 2-го порядка точности и явной схемы типа Рунге-Кутты переменного шага и порядка точности, построенной на базе метода Мерсона.

Разработана схема генератора правых частей размерных моделей для произвольной схемы протекания реакций. Реализован процесс построения матриц стехиометрических коэффициентов по заданной пользователем схеме реакции. Построены процедуры вычисления правых частей и матриц частных производных первого и второго порядков с использованием полученных стехиометрических матриц. Разработана схема и описаны основные этапы реализации микрокомпилятора математических выражений.

Построены диаграммы стационарных решений, кривые кратности, кривые бифуркаций Андронова-Хопфа и фазовые портреты безразмерных моделей для двух реакций, протекающих последовательно и параллельно.

Получены аналогичные характеристики размерных моделей.

Представляет несомненный интерес опыт объектной декомпозиции вычислительной задачи и реализации средствами объектно-ориентированного программирования и языка С++ методов решения задачи Коши и построения параметрических характеристик моделей теории горения.

Компоненты построенного программно-математического обеспечения могут быть использованы для решения аналогичных задач, возникающих в других областях науки и техники.

Результаты, выносимые на защиту:

Объектная модель ПО параметрического анализа математических моделей химической кинетики.

Реализация метода продолжения по параметру средствами объектно-ориентированного программирования на языке С++.

Реализация алгоритма поиска решения системы нелинейных алгебраических уравнений методом введения искусственного параметра.

Реализация, на базе этих методов, процедур построения параметрических и бифуркационных зависимостей.

Схема генератора правых частей размерных моделей реактора идеального смешения.

ПМО параметрического анализа для платформы ттп32.

Апробация работы и публикации. Основные результаты работы представлены на:

Четвертой Всероссийской конференции «Проблемы информатизации региона» (ПИР-98) (Красноярск, 1998) — Всероссийской конференции молодых ученых «Математическое моделирование в естественных науках» (Пермь, 1998), Международной конференции «Математические модели и методы их исследования» (Красноярск, 1999), Втором Всероссийском семинаре «Моделирование неравновесных систем» (МНС-99) (Красноярск, 1999) — Третьем Всероссийском семинаре «Моделирование неравновесных систем» (МНС-2000) (Красноярск, 2000), Шестой Всероссийской конференции «Проблемы информатизации региона» (ПИР-2000) (Красноярск, 2000).

Основное содержание диссертации опубликовано в 7 печатных работах.

Структура и объем диссертации

Диссертация состоит из введения, четырёх глав, заключения, списка литературы и приложения, в котором приведена серия параметрических и фазовых портретов исследованных моделей, а также структура программного обеспечения (иерархия классов, текст программы).

1.5. Выводы.

Анализ ПМО, построенного для решения различных задач химической кинетики, и работ по параметрическому анализу, в частности, показал:

1. Реакции, допускающие использование аналитического подхода на всех этапах параметрического анализа, детально изучены. Сейчас внимание исследователей привлекают более сложные модели, для анализа которых требуется применение численных методов.

2. Необходимые методы численного анализа системы ОДУ разработаны, большинство из них реализовано в виде пакетов или отдельных подпрограмм на языке FORTRAN. Однако, они не обладают необходимой степенью интеграции между компонентами и не используют последних достижений в области проектирования программных продуктов, программирования и др. (графический интерфейс, современная среда разработки.), которые позволили бы построить ПМО, лёгкое в использовании и сопровождении, допускающее дальнейшее развитие, расширение, проработку и модернизацию отдельных модулей без перепрограммирования остальной части, перенос на другие программные и аппаратные платформы.

3. Существующие банки кинетической информации (АВОГАДРО, БАНКИН) требуют дальнейшего развития составляющих их компонентов и пакетов прикладных программ с использованием новых методов и средств программирования. В частности, представляет интерес разработка генератора математических моделей, который не требует компиляции и связывания программы расчёта характеристик и сохраняет при этом необходимое быстродействие.

Гпава 2. ПМО параметрического анализа в среде С++.

Разработку ПМО параметрического анализа моделей химической кинетики планируется провести в несколько этапов. На начальном этапе, который уже реализован и описан в данной работе, намечены и проработаны базовые абстракции и архитектура системы, запрограммированы процедуры параметрического анализа стационарных решений и локальных бифуркаций исследуемой модели, а также спроектирован и частично реализован генератор моделей для неизотермического РИС. Следующим этапом будет параметрический анализ предельных циклов, построение трёхмерных фазовых портретов с произвольно выбираемыми пользователем углами аксонометрической проекции, доработка генератора (микрокомпилятор и блок символьного дифференцирования) и расширение класса исследуемых моделей. Затем — исследование глобальных бифуркаций, хаотических множеств и создание блока взаимодействия с банками кинетических данных.

При проектировании был выбран объектно-ориентированный подход. Этот способ создания программных продуктов отличается от традиционных некоторыми преимуществами при разработке крупных систем ПО. В частности, он позволяет перейти от простой системы (зарекомендовавшей свою работоспособность) к более сложной эволюционным образом, описывать структуры продукта пользуясь языком предметной области, создавать более сложные системы с меньшим объёмом кода и более понятной архитектурой, легко включаться или даже полностью брать на себя процесс разработки программ людям, ранее не участвовавшим в проекте, и многое другое.

Основой объектно-ориентированного подхода является объектная декомпозиция. Она отличается от традиционно используемой в структурном программировании алгоритмической декомпозиции тем, что при анализе предметной области первоначально задача разделяется не на последовательность действий, а на совокупность объектов различного типа с характерным для каждого типа поведением, взаимодействующих друг с другом определённым образом. Взаимодействие объектов и определяет поведение системы в целом. Однако, при реализации свойств объектов для каждого из отдельных действий разрабатываются алгоритмы их выполнения, в особенности в задачах связанных с вычислениями.

Итак, на данном этапе требуется создать ПМО, которое производит вычисление диаграмм стационарных решений, кривых кратности стационарных состояний, кривых бифуркаций Андронова-Хопфа, фазовых портретов и временных зависимостей, предоставляет возможности работы без перепрограммирования и перекомпиляции рабочих средств, отображает результаты вычислений в графическом виде, позволяет сохранять вычисленные характеристики для обработки другими программами либо для включения в документы в виде графических или текстовых файлов, имеет развитые средства для работы с математическими моделями (создание, изменение значений отдельных величин, сохранение описания модели в файл, загрузка модели и значений величин из файла для обработки), построено по объектно-ориентированной технологии и может быть развито в более сложную систему без существенной переработки.

Математический аспект решаемой задачи приведён в разделе 1.2. Языком реализации выбран С++ как наиболее распространённый и доступный. Методы построения объектно-ориентированных приложения изложены в [82], а подробное описание языка С++, основанное на последней версии стандарта ISO — в [83].

2.1. Структура ПМО (иерархия классов и иерархия объектов).

Важнейшей частью работы, играющей ключевую роль ни только на данном этапе разработки ПМО ПА, но и на всех последующих, является выделение базовых абстракций — основных классов и объектов. Не останавливаясь подробно на самом процессе объектной декомпозиции опишем полученный результат. Ниже приведены основные классы проектируемого приложения.

Класс кинетической модели — KinModel (рис. 2.1). Это отражение математической модели химической кинетики, в нашем случае — модели РИС. Основными свойствами объекта данного класса являются система дифференциальных уравнения описывающая процесс (объект класса.

TMDIChild SetCurrDep () К (BuildCurv () — ^BuildWithlnputQ) N —) TControlPanel (J SetCurrentModelO4).

4. ч.

Выбранная зависимость.

Dependency (Build ().

N /.

Integrator ^ calc () ч calcto () N l /.

Рис. 2.1. Класс KinModel производного от DynSyst), набор величин с заданными именами, значениями и масштабами вывода на экран {vector а), который отображает состояние системы, pi список определенных в системе зависимостей, которые могут быть расчитаны для это модели. Объект класса KinModel может быть записан в файл, создан из файла записанного ранее или создан по описанию пользователя. В разделе приложения А.1 приведены интерфейс и реализация этого класса.

Класс зависимости (характеристики) — Dependency. Эта абстракция представляет собой последовательность точек, вычисляемых по определённым правилам. Она является базовой для всех характеристик, которые могут быть построены для объекта классаКтМойе1. На рис. 2.2 изображена иерархия классов зависимостей, а их реализация приведена в разделе приложения А.2. Назначение свойств и функций-членов этого класса описано в комментариях заголовочного файла. Виртуальная функция-член cloneQ используется, когда требуется создать копию объекта, переданного по указателю на тип Dependency, а точный тип объекта неизвестен. В таких случаях копирующий конструктор класса вызывает эту функцию, которая переопределена в производных классах, и она создаёт точную копию объекта.

Класс семейства зависимостей — FamilyDep. Этот класс описывает семейство зависимостей, полученное изменением одного из параметров модели. Он содержит индекс величины, которую требуется изменить для построения следующей характеристики семейства — Chlndex, коэффициент приращения IncrFactor и булеву величину EachStepIncr характеризующую режим изменения параметров. Если она равна нулю, то шаг приращения вычисляется путем умножения коэффициента приращения на текущее значение величины в начале построения семейства и используется для всех характеристик. Если же она равна единице, то шаг приращения вычисляется для каждой новой характеристики, то есть величина изменяемого параметра растёт или убывает не в арифметической, а в геометрической прогрессии.

Класс параметрической характеристики — ParFeature. Это базовый класс для всех параметрических характеристик системы. Помимо членов, входящих в класс Dependency, он включает также массив индексов параметров, константу характеризующую количество параметров, относительно которых строится зависимость и указатели на список наборов стартовых точек и на текущий (активный в данный момент) набор. На данный момент система содержит однопараметрические и двухпараметрические характеристики. После того, как объекту класса производного от ParFeature задано необходимое количество индексов параметров, из списка наборов стартовых значений выбирается набор соответствующий заданным индексам, и его указатель присваивается полю CurrStartSet.

Класс фазовых портретов — PhasePortret. Объекты этого класса предназначены для вычисления фазовых портретов. Кроме членов класса Dependency, который является его непосредственным предком, этот класс содержит только целую величину lines builded — количество построенных линий. Для удобства пользователя начальные условия для вычисление каждой линии фазового портрета задаются при помощи манипулятора мышь с экрана после вычисления предыдущей линии. Когда заданная линия вычислена программа переходит в режим ожидания следующего ввода если linesbuilded < numlines. В противном случае указатель мыши меняется на обычный, что означает окончание процесса построения фазового портрета.

Класс параметрических зависимостей — ParDependency. Этот класс предназначен для построения диаграмм стационарных решений. Процесс вычисления всех параметрических характеристик описан ниже.

Класс кривых кратности — MultCurve.

Класс кривых бифуркаций Андронова-Хопфа — NeutralCurve.

Класс параметрических портретов — ParPortret. Этот класс предназначен для построения в одной плоскости кривых кратности и кривых бифуркаций Андронова-Хопфа. Он содержит по одному экземпляру Mult-Curve и NeutralCurve. При вычислении характеристики функция-член Build просто вызывает одноимённые методы для объектов каждого из упомянутых классов.

Класс динамической системы — DynSyst. Эта наиболее важная в системе абстракция, отражающая систему нескольких выражений — по умолчанию дифференциальных уравнений первого порядка, разрешенных относительно производных. В систему входит некоторое количество величин. Часть из них являются переменными остальные — параметрами. Все они расположены в массиве, а (valarray). Определить величину (член массива а) как переменную или параметр можно с помощью функций MakeVar и MakeConst. Изменить значение величины можно, вызвав функцию-член Seta и задав в качестве аргументов требуемое значение и индекс величины. Получить значение величины можно вызовом функции Ge-ta (undeKc величины). Кроме этого к переменным можно получить доступ по средствам открытого члена х типа maskarray. Следует отметить, что шаблон типа maskarray не допускает произвольного обращения к своим элементам. Мы можем лишь присвоить ему некий массив, объект типа vector, valarray и т. п, либо применить операцию присваивания данного объекта к объектам перечисленных типов. В разделе приложения А. З приведена реализация этого класса и производных от него, а схема иерархии показана на рис. 2.3.

Класс системы с коррекцией — SystWithCorrection. Это абстракция системы выражений, для которых определена операция коррекции входящих в них переменных. Здесь объявлена виртуальная функция-член calc and correct, корректирующая значения переменных и затем вычисляющая и записывающая в переданный массив значения выражений.

Класс агента поиска нулевого решения — ZeroSeekerAgent. Объекты этого класса используются для приведения системы в стационарное состояние методом введения искусственного параметра перед использованием МПП. Конструктор класса требует в качестве аргумента указатель на объект класса DynSyst, который нужно привести в стационарное состояние. После этого объект класса ZeroSeekerAgent передаётся интегратору.

Класс агента продолжения по параметру — DerParAgent. Это один из важнейших классов в системе, реализующий МПП. Особенности его реализации и принципы функционирования подробно описаны в разделе 2.3.

Класс условий кратности стационарного решения— TurningCondition. Этот класс служит для вычисления условий кратности согласно выражениям (1.7), (1.14), (1.15). При создании модели единственный определённый в классе конструктор требует в качестве обязательного аргумента ссылку на объект класса DynSyst, для которого будут вычисляться условия кратности вызовом функции calc. Для полученного объекта вызывается функция At-tachExta, то есть при вычислениях значения величин переданного объекта не используются.

Класс условий существования бифуркации Андронова-Хопфа — Neu-tralCondition. Этот класс служит для вычисления условий существования бифуркации Андронова-Хопфа согласно выражениям (1.7), (1.17), (1.18). В остальном его реализация аналогична классу TurningCondition.

Класс определяемой пользователем системы — UserDefSyst. Этот класс представляет собой систему ОДУ, описывающих РИС с произвольно заданной схемой реакций согласно (1.4). Он является частью системы генерации моделей РИС и описан в третьей главе настоящей работы.

Классы заданных систем — SimpleSyst, ParSyst и ConsSyst. Представляют системы ОДУ, приведенные к безразмерному виду методом Ариса-Амундсона по (1.5), описывающие РИС с одной, двумя параллельно и последовательно протекающими реакциями соответственно.

Класс интегратора — Integrator. Базовый класс для создания используемых интеграторов. Предназначен для решения задачи Коши. Интерфейс класса содержит по две функции-члена, вычисляющих решения для объектов классов DynSyst и SystWithCorrection. В последнем случае предполагается вызов после вычисления каждого шага процедуры коррекции значений переменных. Можно вычислить заданное количество точек (функция calc), либо вести вычисления пока независимая переменная объекта indep var не достигнет заданного значения {calc to). В качестве последнего аргумента функциям передаётся указатель на объект класса pstream — pstrm. После вычисления каждого шага выполняется вызов (*pstrm)"system для сохранения вычисленных значений.

Далее опишем классы (приложение А.5), выполняющие, с некотором смысле, вспомогательную роль. Они предоставляют удобные для создания других классов интерфейсы либо являются по определению Б. Страуструпа конкретными типами.

Класс потока точек — pstream. Это абстрактный класс, представляющий интерфейс универсального приёмника вычисленных значений.

Класс кинетических величин — Quantity. Это конкретный тип, представляющий собой число с плавающей точкой, которому поставлены в соответствие имя и масштаб отображения.

Класс матрицы с инкапсулированной процедурой Гаусса — GaussMa-trix. Это конкретный тип для работы с матрицами. Функция-член Cal-cForDerPar вычисляет для матрицы размером п на п+1 корни однородной системы уравнений с выделением главного элемента и неоднородной системы п на п для правой части переданной в качестве аргумента. Эта операция предназначена для МПП.

Класс набора (множества) стартовых точек — StartPointsSet. Объекты этого класса служат для хранения значений стартовых точек. Стартовые точки это массивы чисел с плавающей точкой используемые в качестве начальных условий при вычислении параметрических характеристик. Каждый набор стартовых точек содержит индексы параметров, для которых будет строится характеристика, значения координат стартовых точек и индексов фиксированной величины для каждой точки, указывающие какая из величин должна остаться постоянной при вычислении из данной точки.

Класс производителя моделей — ModeiCreaiur. Система содержит единственный объект этого класса — theModelCreator. Его функциями является создание объектов класса KinModel и считывание из файла входящих в них величин, а также динамических систем, описывающих все реализованные в системе модели. При реализации последующих этапов разработки ПМО ПА этот класс будет исключён, и его функции перейдут к конструкторам класса KinModel.

И, наконец, классы элементов интерфейса и графического представления.

Класс экранных инструментов — ScreenTools. Это базовый класс в иерархии классов, инкапсулирующих процедуры пользователя с графическим представлением зависимостей при помощью мыши.

Класс TrajStarter. Объект этого класса используется для ввода пользователем с экрана начальных условий для запуска вычислений траектории фазового портрета. При помощи функции setcallback устанавливается значение указателя на функцию обратного вызова {callback) с двумя аргументами — числами с плавающей точкой, callback вызывается, когда пользователь щёлкает левой кнопкой мыши.

Класс передвигателя —MoveTool. Этот класс инкапсулирует процедуру смещения экрана при помощи мыши. Когда пользователь нажимает левую кнопку мыши, координаты курсора запоминаются объектом этого класса. Когда пользователь двигает мышь с нажатой левой кнопкой, функция move вычисляет смещение, вызывает MoveScreen для объекта класса Graphic и запоминает новое положение курсора.

Класс уменынителя -—ZoomOutTool. При нажатии левой кнопки мыши с этим инструментом коэффициенты увеличения экрана уменьшаются вдвое, а центр экрана переносится в точку указанную пользователем.

Класс увеличителя — ZoomlnTool. Используется для выбора области графика и его увеличения. Когда пользователь проводит мышью с нажатой левой кнопкой при активном инструменте ZoomlnTool, на экране отображается пунктирный прямоугольник одним из углов находящийся в той точке, в которой была нажата кнопка мыши, а противоположным в текущем положении курсора. Когда пользователь отпускает кнопку, выделенная область увеличивается до храниц окна.

Класс графической области окна — Graphic. Этот класс предназначен для экранного представления вычисленных зависимостей. Он реализует процедуры увеличения, уменьшения, смещения координатной плоскости с графиками зависимостей относительно рамки дочернего окна. Реализация этого и всех нижеописанных классов зависит от платформы на которой выполняется программа и используемых графических и оконных библиотек.

Класс линии графика — grLine. Этот класс представляет собой линию (ветвь зависимости) в многомерном пространстве. Объекты этого класса характеризуются размерностью и ёмкостью. Они заполняются значениями при помощи переопределённого оператора «или оператора []. В первом случае значения добавляются в хранящий массив в элемент с индексом end (текущий элемент), и его значение увеличивается на единицу. По достижении конца массива его ёмкость удваивается и он перераспологается в памяти.

Класс окна приложения — TMainForm. Это тип главного окна приложения, которое обрабатывает все команды меню, координирует работу панелей управления, управляет созданием и закрытием дочерних окон. В системе существует всего один объект типа TMainForm — MainForm.

Класс дочернего окна — TMDIChild. При создании или открытии модели ей ставится в соответствие окно, в котором отображаются вычисленные характеристики. Кроме ссылки на объект класса KinModel дочернее окно содержит также объект класса Graphic и набор экранных инструментов, реализующих операции пользователя с содержимым окна.

Класс панели выбора зависимостей — TControlPanel. В системе существует один объект класса TControlPanel— ControlPanel. С его помощью можно выбрать зависимость, задать параметры, для которых её нужно вычислить, количество точек, максимальный шаг, количество линий в семействе характеристик, параметр, который нужно менять, а, также, коэффициент и режим приращения.

Класс панели величин — TParPanel. Объект этого класса является панелью содержащей таблицу со всеми величинами модели. С её помощью пользователь может изменить их имена, масштабы отображения и значения.

Класс панели стартовых точек — TStPointPanel. Панель стартовых точек предназначена для работы со стартовыми точками параметрических характеристик.

На рис. 2.4 показана иерархия объектов интерфейса пользователя верхнего уровня.

В общих чертах опишем работу системы.

При создании модели пользователь выбирает в появившемся диалоговом окне вид модели: модель с одно простейшей, двумя параллельно или последовательно протекающими реакциями первого порядка, или модель с произвольной кинетикой. В последнем случае требуется задать схему протекания реакции, например:

А-В;

С+2А=Рго<1ис1.

В данном случае описано две реакции для четырёх веществ, одна из которых обратимая. По введённому описанию приложение создаёт модель. Все значения и масштабы равны нулю и могут быть изменены в панеле величин. В главном окне открывается дочернее окно соответствующее созданной модели. Процесс генерации модели с произвольной кинетикой подробно описан в главе 3.

При построении фазового портрета система выводит в дочернем окне координатную сетку фазовых переменных и переходит в режим ожидания ввода. При этом курсор меняет вид на черную стрелку, направленную сверху вниз под углом 45° с надписью «XY» вверху. Когда пользователь щелкает мышью, экранные координаты указанной точки преобразуются в фазовые, которые используются в качестве начальных условий решения задачи Коши. Затем интегратор обсчитывает фазовую траекторию, и она выводится на экран.

Для того чтобы построить параметрические характеристики системы пользователь должен выбрать в панели зависимостей вид характеристики, параметры, задать количество точек и максимальный шаг. Если требуется построить семейство характеристик, надо также ввести количество линий, указать изменяемый параметр, коэффициент приращения. Бифуркационные зависимости в большинстве случаев состоят из нескольких изолированных линий, и для вычисления каждой из них методом продолжения по параметру требуется стартовая точка. Пользователь может ввести необходимые начальные условия при помощи панели стартовых точек. После нажатия кнопки «Построить» правая часть системы или условия бифуркации передаются агенту реализующему МПП, который в свою очередь передаётся интегратору, и интегратор вычисляет зависимость. Одной модели может соответствовать несколько окон.

2.2. Алгоритм решения задачи Коши.

Решение задачи Коши требуется для построения временных зависимостей и как часть метода продолжения по параметру. Во втором случае необходимо предусмотреть на каждом шаге коррекцию значений переменных при помощи метода Ньютона. Кроме того, при построении различных характеристик системы вычисляется некоторое, заданное пользователем, количество шагов, тогда как при запуске процедуры продолжения по параметру вычисление ведется пока значение независимой переменной не достигнет заданной величины (в нашем случае —1.0). Для этого определены две функции-члена — calc и calc io — каждая для аргументов DynSyst и SystWithCorrection. Функция calc вычисляет заданное количество точек, a calc io вычисляет решение пока независимая переменная не будет равна переданному в качестве аргумента числу. Версии функций для аргументаSystWithCorrection после каждого шага вызывают функцию са1сап (1 соггеМ активизируя реализованный внутри объекта алгоритм коррекции значений.

В качестве метода решения задачи Коши используется эффективная схема, соединяющая в себе (ш, к)-метода второго порядка точности с изменяемым шагом и явную схему переменного шага и порядка точности, основанную на методе Мерсона. Переключение интегратора с неявного на явный метод и обратно происходит по достижению оценкой максимального собственного числа матрицы Якоби границ области устойчивости явного метода.

Рассмотрим неявный метод [84]. На каждом шаге требуется два вычисления правой части интегрируемой системы и одно вычисление матрицы частных производных. Для системы х (/0) =*0.

Используется следующая схема: хп+1 = ХП + ак1 + О-а)к2, (2.1) где, а ~ 1 — (л/2)/2, а величины к и к2 вычисляются по формулам:

Эк, = АД*&bdquo-) о = Е-аИ3-^ дх.

Контроль точности осуществляется по выражению:

2-*1||<7е,.

8 — требуемая точность, || [| — некоторая норма вектора. На каждом шаге интегрирования после расчёта и к2 вычисляется показатель выполнения условий точности д:

Ч =.

А/.

Если д > 1, результаты расчёта к и к2 принимаются, вычисляется значение уп и выполняется следующий шаг интегрирования, если ц < 1 — к] и к2 рассчитываются с новым шагом. В обоих случаях новый шаг выбирается согласно: новый ^^старый'.

Для вычисления нормы можно пользоваться следующим выражением: к2 — = max к2 i хп +1 l.

N—размерность системы..

Данная схема является L-устойчивой и довольно проста в реализации. Она представлена классом MK Metod, производным от Integrator..

Алгоритмы явных методов, предназначенных для решения жёстких систем, подробно описаны в [85]. Для реализации текущей версии интегратора использовался явный пятистадийный метод Рунге-Кутта, стадии которого совпадают с методом Мерсона: 5.

Уп +1 = Уп + J^Piki>.

I = i = hf (yn), к2 = hj (yn + 1-кх k4 = НАУп + к + къ)> к5 = Ь^упЛкх-^къ + 2к.

Порядок точности и размер области устойчивости зависит от значений коэффициентов Их значения приведены в таблице.

На каждом шаге производится оценка погрешности и максимального собственного числа матрицы Якоби. Когда оценка максимального собственного числа превышает I) текущего метода, происходит переход более грубую, но устойчивую схему, если позволяют условия точности..

Для контроля точности явных схем используются следующие оценки 3.

Заключение.

В работе разработано и реализовано программно-математическое обеспечение параметрического анализа моделей неизотермического реактора идеального смешения. Предложена схема генератора математических моделей. Основные результаты опубликованы в [91−97].

В результате выполнения работы были сделаны следующие выводы:.

1. Выполнена объектная декомпозиция задачи параметрического анализа нелинейных математических моделей с сосредоточенными параметрами..

2. Реализованы средствами объектно-ориентированного программирования на языке С++ метод продолжения по параметру, метод решения систем нелинейных алгебраических уравнений введением искусственного параметра, алгоритм решения задачи Коши основанный на неоднородных вычислительных схемах.

3. Разработана модель генератора правых частей математических моделей химической кинетики. Выполнен первый этап реализации..

4. На основе перечисленных методов построено программно математическое обеспечение параметрического анализа для нелинейных моделей с сосредоточенными параметрами, в частности моделей теории горения и химических реакторов с произвольно заданной кинетикой, для ОС Windows 95..

5. При помощи разработанного программного обеспечения построены параметрические характеристики и фазовые портреты некоторых безразмерных и размерных моделей химической кинетики..

В заключение автор считает принятым долгом выразить глубокую благодарность научному руководителю профессору Валерию Ивановичу Быкову за постоянное внимание и помощь при выполнении работы, Светлане Батожаргаловне Цыбеновой, Людмиле Сергеевне Троценко, Владимиру Викторовичу Альчикову и другим сотрудникам кафедры МОС КГТУ за поддержку и участие в обсуждении результатов, а также профессору Евгению Александровичу Новикову за ценные советы и замечания..

Показать весь текст

Список литературы

  1. В.Г., Сальников И. Е. Устойчивость режимов работы химических реакторов. М.: «Химия». 1972.
  2. В.Г., Сальников И. Е., Скрябин Б. Н. Автоколебательные процессы в открытых химических системах полного перемешивания. Сб. «Колебательные процессы в биологических и химических системах». М.: «Наука». 1967.
  3. Г., Лин С.Г., Лин С.М. Основы химической кинетики: Пер. с англ. — М: Мир, 1983.
  4. В.Н. Константы скорости газофазных реакций. — М.: Наука, 1971.
  5. Химия горения: Пер. с англ./Под ред. У. Гардинера, мл. — М.: Мир, 1988
  6. М. Холодниок, А. Клич, М. Кубичек, М. Марек. Методы анализа нелинейных математических моделей: Пер. с чешек. — М.: Мир, 1991.
  7. В.И. Моделирование критических явлений в химической кинетике. М.: Наука, 1988.
  8. В.Л., Слинько М. Г. Периодические решения в проточном реакторе идеального смешения // ДАН, 1997, 352. № 6.
  9. В.Л., БрыскинаН.А., Слинько М. Г. Алгоритм расчёта Ляпу-новских величин при анализе химических колебаний // ДАН, 1998, 359. № 6.
  10. A.A., Леонтович Е. А. Некоторые случаи зависимости предельных циклов от параметра. — Уч. зап. ГГУ, 1939 № 6.
  11. A.A., Леонтович Е. А., Гордон И. И., Майер А. Г. Теория бифуркаций динамических систем на плоскости. — М.: Наука. 1967.
  12. Л.П. Теория бифуркаций динамических систем и опасные границы // ДАН СССР, 1968, 179. № 2.
  13. Н.К., Шильков Л. П. О трёхмерных динамических системах, близких к системам с негрубой гомоклинической кривой. Матем.сб. 1972. 88 (130), 44. 1973, 90 (132).
  14. Е.Т. и др. Химическая кинетика: Учебник для вузов/Е.Т. Денисов, О. М. Саркисов, Г. И. Лихтенштейн. — М.: Химия, 2000. — 568 е.: ил.
  15. На Ц. Вычислительные методы решения прикладных граничных задач: Пер. с англ. — М.: Мир, 1982.
  16. Н.К., Луневская Л. В. Движение по кривой в п-мерном пространстве. Алгоритмы и программы на ФОРТРАНТЕ: Материалы по математическому обеспечению ЭВМ — Пущино. 1978.
  17. P.M. Стационарные решения системы обыкновенных дифференциальных уравнений, зависящей от параметра: Материалы по математическому обеспечению ЭВМ. Вып. 6 — Пущино. 1981.
  18. В.Н., Зархин Ю. Г. Нахождение решений двух алгебраических уравнений: Материалы по математическому обеспечению ЭВМ —Пущино. 1978.
  19. С.И., Гайнова И. А., Березин А. Ю. Применение пакета «STEP» для численного исследования систем нелинейных уравнений и автономных систем общего вида. Новосибирск. 1995. (Препринт/СО РАН Инт математики- № 14)
  20. С.И., Гайнова И. А. Пакет программ «STEP» для численного исследования систем нелинейных уравнений. Новосибирск. 1994. (Препринт/СО РАН Ин-т математики- № 13)
  21. Задачи химической кинетики в автоматизированной системе научных исследований АВОГАДРО/ Левицкий A.A., Лосев С. А., Макаров В. Н. // Математические методы в химической кинетике. — Новосибирск: Наука. Сиб. отд-ние. 1990.
  22. В.П., Громов В. Г., Лосев С. А. и др. Научно-исследовательская информационная система автоматизированного обеспечения физико-химической газодинамики АВОГАДРО: Описание проекта.-—Деп. в ВИНИТИ, 2510−85.
  23. В.П., Горенков В. П., Денисов И. Г. и др. Организация буферной базы данных для СУБД ИПМ (Общее описание и функциональные возможности // Информатика в физико-химической газодинамике/Под ред. С. А. Лосева. — М.: Изд-во Моск. ун-та, 1988.
  24. В.П., Горенков В. П., Денисов И. Г. и др. Программное обеспечение автоматизированной системы научных исследований в области физико-химической газодинамики (АВОГАДРО). Концепции и возможности СУБД. — Препринт/ИПМ АН СССР. — М., 1986.
  25. В.И., Новикова Е. А., Шитов Ю. А. Генерация дифференциальных уравнений химической кинетики на БЭСМ-6. — Препринт/ВЦ СО АН СССР- Красноярск, № 6. — 1986.
  26. В.И. Бабушок, Е. А. Новиков, B.C. Бабкин, Ю. Н. Молин. Информационное обеспечение решения задач химической кинетики // Прямые и обратные задачи в химической кинетике. — Новосибирск: ВО «Наука». Сибирская издательская фирма. 1993.
  27. Е.А. Новиков, Ю. А. Шитов, В. И. Бабушок, Д. В. Марьин. Комплекс программ моделирования кинетики сложных химических реакций // Прямые и обратные задачи в химической кинетике. — Новосибирск: ВО «Наука». Сибирская издательская фирма. 1993.
  28. Автоматизированный банк кинетической информации. Базы элементарных стадий. Комплекс прикладных программ. Реализация на IBM PC. Отчёт о научно-исследовательской работе. — ИХКиГ СО АН СССР, ВЦ СО АН СССР. Новосибирск, Красноярск. 1990.
  29. Система автоматизации кинетических расчётов на ЭВМ/ Островский Г. М., Зыскин А. Г., Снаговский Ю. С. // Математические методы в химической кинетике. — Новосибирск: Наука. Сиб. отд-ние. 1990.
  30. Г. М., Зыскин А. Г., Снаговский Ю. С. Построение кинетических моделей сложных гетерогенных каталитических реакций с помощью ЭВМ// Физическая химия. Современные проблемы. —М.: Химия, 1986.
  31. А.Г., Снаговский Ю. С., Островский Г. М. Программный документ «Программирующая программа ПП системы автоматизации кинетических расчётов». — ОФ АСУ ТП Минхимпрома, 1981. Инв. № 2049. 254.
  32. А.Г., Снаговский Ю. С., Островский Г. М. Программный документ «Комплекс рачётных программ РП системы автоматизации кинетических расчётов». — ОФ АСУ ТП Минхимпрома, 1981. Инв. № 2051. 256.
  33. Система программ для моделирования на персональных ЭВМ гетерогенных каталитических процессов и реакций/Слинько М.Г., Кернерман В. А. // Химическая промышленность. 1993. № 1−2.
  34. Analysis of the multtiple Hopf bifurcation phenomena in CSTR with two conseeutive reaction — the singularity theory approach/Kee Hoh Byeon, In Jae Chung // Chemical Engeneering Science. 1989. V 44. No. 8.
  35. A theory of imperfect bifurcation via singularity theory/Golubitsky M., Shaffer D. Commun. Pure appl. Math. 1979. 32. 21.
  36. On the theory and applicaton of Hopf-Frederichs bifurcation theory/Poore A., B. // Archs Ration. Mech. Analysis. 1976. 60.
  37. Global analysis of multiplicity features of multi-reaction lumped-parametr systems. // Chem. Engng Sci. 1984. 39.
  38. O.B. Численное моделирование сложных колебательных процессов в реакции Белоусова-Жаботинского. Диссертация на соискание учёной степени кандидата физико-математических наук. — Уфа. 1993
  39. В.К. Математическое моделирование нестационарных режимов окисления водорода в проточном реакторе идеального смешения. Диссертация на соискание учёной степени кандидата физико-математических наук. — Челябинск. 1991.
  40. ji.c. Математическое моделирование критических явлений в кинетической области для реакций на поверхности катализатора.
  41. Диссертация на соискание учёной степени кандидата технических наук. Красноярск. КГТУ. 1999.
  42. В.И., Пушкарёва Т. П., Троценко Л. С. Параметрический анализ каталитической реакции со сложным динамическим поведением // Второй Сибирский Конгресс по прикладной и индустриальной математике (ИНПРИМ-96)/Тезисы докл. Новосибирск: ИМ СО РАН — 1996.
  43. В.И., Молокова Н. В., Троценко Л. С. К информационному и математическому обеспечению кинетических исследований в катализе // Проблемы информатизации региона/Труды Второй межрегиональной конференции. Красноярск. —1997.
  44. Л.С. К проекту информационного банка кинетических данных // Проблемы информатизации региона. ПИР-97/Труды Третьей Всероссийской конференции. Красноярск. — 1997.
  45. Л.С. Параметрический анализ моделей сложных колебаний в кинетической области // Третий Сибирский Конгресс по прикладной и индустриальной математике (ИНПРИМ-98)/Тезисы докл. Новосибирск: ИМ СО РАН — 1998.
  46. Л.С. Математические модели каталитического окисления и их параметрический анализ // Моделирование неравновесных систем/ Тезисы докл. Первого Всеросс. семинара. Красноярск. КГТУ. — 1998.
  47. Л.С. Параметрический анализ моделей критических явлений, как составная часть банка физико-химических данных // Проблемы информатизации региона. ПИР-98/Труды Четвертой Всероссийской конференции. Красноярск. — 1998.
  48. Л.С. Математические модели каталитического окисления двухцентровых механизмов // Моделирование неравновесных систем/Тезисы докл. Второго Всеросс. семинара. Красноярск. — 1999.
  49. Л.С. Математическая модель проточного реактора в теории химического катализа // Вестник КГТУ/Сб науч. трудов. Красноярск: КГТУ. — 1999.
  50. С.Б. Параметрический анализ базовых моделей теории химических реакторов и теории горения. Диссертация на соискание учёной степени кандидата технических наук. Красноярск. КГТУ. 1999.
  51. В.И., Максименко Д. Г., Цыбенова С. Б. Параметрический анализ моделей как первый этап информационного обеспечения теории химических реакторов // Проблемы информатизации региона/Труды Второй межрегиональной конференции. Красноярск. — 1997.
  52. Д.Г., Цыбенова С. Б. О стабилизации неустойчивых режимов работы неизотермического реактора идеального смешения // Проблемы информатизации региона. ПИР-97/Труды Третьей Всероссийской конференции. Красноярск. — 1997.
  53. С.Б. Параметрический анализ математических моделей неизотермического реактора идеального смешения // Математическое моделирование в естественных науках/Тезисы докл. Всероссийской конф. Пермь.1998.
  54. С.Б. Параметрический анализ математических моделей химических превращений в неизотермическом реакторе идеального смешения // Моделирование неравновесных систем/Тезисы докл. Первого Всеросс. семинара. Красноярск. КГТУ. — 1998.
  55. С.Б. Информационное обеспечение математического моделирования на основе параметрического анализа. Базовые модели теории горения // Проблемы информатизации региона. ПИР-98/Труды Четвертой Всероссийской конференции. Красноярск. — 1998.
  56. С.Б. Анализ математических моделей процессов в неизотермическом реакторе идеального смешения // Третий Сибирский Конгресс по прикладной и индустриальной математике (ИНПРИМ-98)/Тезисы докл. Новосибирск: ИМ СО РАН — 1998.
  57. С.Б. Математическое моделирование динамики процесса нитрования углеводородов в реакторе идеального смешения //Математические модели и методы их исследования/Тезисы докл. Международной конф. Красноярск. 1999.
  58. В.И., Цыбенова С. Б. Параметрический анализ некоторых базовых моделей теории горения // Химическая физика процессов горения/ Сб.тр., посвященный 70-летию академика PATH Г. И. Ксандопуло. Алматы.1999.
  59. С.Б. Математическая модель Ариса-Амундсона и еёпараметрический анализ // Вестник КГТУ/Сб науч. трудов. Красноярск: КГТУ — 1999.
  60. Kinetic model of СО oxidation on heterophase surfase analysed regarding COads spillover, I. Homotopic method. Effect of temperature and CO pressure/ Savchenko V.I., Ivanov E.A., Fadeev S. I // React. Kinet. Catal. Lett. Vol. 57, No. 1. 1996.
  61. Mechanism of oxygen adsorbation and CO oxidation reaction on metal single crystals/Savchenko V.I. // Scientific Siberian. Exact & Natural Sciences. Vol. 8. 1993.
  62. Parametric analysis of kinetic models of katalytic reaction/ Pushkareva T.P., Bykov V.I. // Scientific Siberian. Exact & Natural Sciences. Vol. 8. 1993.
  63. Parametric analysis of kinetic models, 8. Two-center catalytic oscillators/ Bykov V.I., Pushkareva T.P., Savchenko V.I. // React. Kinet. Catal. Lett. Vol. 54, No. 2. 1995.
  64. Parametric analysis of kinetic models, XI. Influence of the number of active sites/Bykov V.I., Pushkareva T.P., Fadeev S.I. // React. Kinet. Catal. Lett. Vol. 57, No. 1. 1996.
  65. Parametric analysis of kinetic models, XII. Influence of the intensity of diffusion exchange/Bykov V.I., Pushkareva T.P., Savchenko V.I. // React. Kinet. Catal. Lett. Vol. 57, No. 1. 1996.
  66. Dynamyc mogel of self-oscillatory evolution in carbon monoxide oxidation over Pt (110)/Vishnevskii A.L., Elokhin V.I., Kutsovskaya M.L. // React. Kinet. Catal. Lett. Vol. 51, No. 1. 1993
  67. Boronin A. L, Elokhin V.I. Dynamics of Surface Processes over Iridium in Carbon Monoxide Oxidation Reaction. // Proceedings of the first soviet-chinese seminar on catalysis. June 25−27, 1990. Novosibirsk. Novosibirsk. 1991.
  68. А.Д., Кузнецов Ю. А., Хибник А. И. Портреты бифуркаций: (Бифуркационные диаграммы динамических систем на плоскости). — М.: Знание, 1989. — (Новое в жизни, науке, технике. Сер. «Математика, кибернетика" — № 3).
  69. Е.П., Тресков С. А. Математическая модель реакции каталитического окисления (трехпараметрический анализ). СО АН СССР. Ин-т мат. Препринт № 4. Новосибирск. 1986.
  70. Е.П., Тресков С. А. Параметрический анализ кинетической модели «медленных» синаптических волн. СО АН СССР. Инт мат. Препринт № 20. Новосибирск. 1987.
  71. Л.И. Интегральные многообразия в математической модели реакции каталитического окисления. СО АН СССР. Ин-т мат. Препринт № 13. Новосибирск. 1990.
  72. Е.П., Яблонский Г. С. Динамика сложной каталитической реакции с учётом массообмена между поверхностью и объемом катализатора. СО АН СССР. Ин-т катализа. Препринт. Новосибирск. 1984.
  73. А.И., Быков В. И. Яблонский Г. С. Параметрический портрет каталитического осциллятора. СО АН СССР. Ин-т катализа. Препринт. Новосибирск. 1986.
  74. Ю.Г., Быков В. И., Яблонский Г. С. Область множественности стационарных состояний в реакции окисления СО на платине. СО АН СССР. Ин-т катализа. Препринт. Новосибирск. 1986.
  75. .В. Математический анализ некоторых уравнений химической кинетики. Диссертация на соискание учёной степени кандидата физико-математических наук. Уфа. ЧГУ. 1996.
  76. Н.И., Алексеев Б. В., Кожевников И. В. Математические методы в науке. Моделирование критических явлений в каталитических реакциях. — Чебоксары: Изд-во Чуваш, ун-та, 1998.
  77. Н.И. Разработка методов исследования кинетики и критических явлений каталитических реакций в стационарных и нестационарных условиях. Диссертация на соискания учёной степени доктора химических наук. Чебоксары, 1990.
  78. Г. Буч. Объектно-ориентированный анализ и проектирование м примерами приложений на С++, 2-е изд./Пер. с англ. — М.: «Издательство БИНОМ», СПб.: «Невский диалект», 1999 г.
  79. Б. Страуструп. Язык программирования С++, 3-е изд./Пер. с англ. — СПб.- М.: «Невский диалект» — «Издательство БИНОМ», 1999 г.
  80. Численные методы решения дифференциальных уравнений химической кинетики/Новиков Е. А. // Математические методы в химической кинетике. — Новосибирск: Наука. Сиб. отд-ние. 1990.
  81. Е.А. Явные методы для жёстких систем: Новосибирск: Наука. Сиб. предприятие РАН, 1997.
  82. Гук М., Юров В. Процессоры Pentium III, Athlon и другие — СПб: Издательство «Питер», 2000.
  83. Ф., Розенкранц Д., Стринз Р. Теоретические основы проектирования компилятолров: Пер. с англ. — М.: Мир, 1979.
  84. Э., Хельм Р., Джонсон Р., Влиссидес Дж. Приёмы объектно ориентированного проектирования. Паттерны проектирования: Пер. с англ. — СПб: Питер, 2001.
  85. LischkeG.von., OhlmannG. UntersuchungenzurKineticundzumMechanisms der Isooctanoxidation // Ztschr. Phys. Chem. (DDR). 1980. Bd. 261, N 3.
  86. C.B. Упрощение математических моделей химической кинетики методом инвариантного многообразия. Диссертация на соискание учёной степени кандидата физико-математических наук. Красноярск, 1999.
  87. А.Н. Анализ математических моделей теории горения для сложной кинетики. // Математические модели и методы их исследования. Тезисы докладов. КрГУ. Красноярск, 1999.
  88. А.Н. Параметрический анализ математических моделей неизотермического реактора идеального смешения. // МНС — 99. Тезисыдокладов Всероссийского семинара. / Под ред. Слабко В. В. Красноярск: ИВМ СО РАН, 1999.
Заполнить форму текущей работой