УДК 519.876.5
АВТОМАТИЗИРОВАННАЯ СИСТЕМА ИССЛЕДОВАНИЯ КИНЕТИКИ СЛОЖНЫХ ХИМИЧЕСКИХ РЕАКЦИЙ
© М. Р. Файзуллин*, А. В. Балаев
Институт нефтехимии и катализа РАН Россия, Республика Башкортостан, 450075 г. Уфа, пр. Октября, 141.
Тел/факс: +7 (347) 231 27 50.
E-mail: fayzullin@gmail. com
В работе представлено описание разработанного программного обеспечения и методика исследования кинетики сложных химических реакций. Показана архитектура и схема взаимодействия отдельных вычислительных блоков программного обеспечения.
Ключевые слова: исследование, кинетика, программа, база данных, численные методы
Введение
Процесс исследования кинетики и построение механизмов химических реакций подразумевает под собой обработку большого объема экспериментальной информации, полученной при вариации параметров реакции: температуры, исходного состава реакционной смеси, количества катализатора. На первом этапе обработки опытных данных необходимо выполнить достаточно большой объем подготовительной работы. На втором этапе производится анализ полученных результатов с целью выявления общих закономерностей и получения предварительных оценок численных значений кинетических параметров. Третий этап - разработка кинетических моделей реакций, являющихся базисом математического моделирования процесса, построения схемы управления и контроля над технологическим процессом с целью определения оптимальных условий его проведения.
Разработанное программное обеспечение автоматизирует большой объем математических операций и позволяет уделить больше внимания на творческие задачи научного исследования. Предложенная работа реализована на базе численных методов решения систем дифференциальных уравнений, методов решения прямых и обратных кинетических задач.
Функциональные возможности программного обеспечения
• Анализ экспериментальной информации и разработка схем химических превращений.
• Формирование атомно-молекулярных и стехиометрических матриц.
• Проверка корректности записанной системы уравнений химических реакций.
• Хранение исходной информации в реляционной СУБД PostgreSQL [1].
• Решение обратных кинетических задач, поиск кинетических параметров.
• Моделирование химических реакторов и процессов.
• Представление выходной информации в виде графиков, таблиц и т. д.
Архитектура программного обеспечения
Разработанный программный комплекс представляет собой модульную двухзвенную архитектуру типа «клиент - сервер» для решения задач, возникающих при обработке данных, полученных в ходе химических экспериментов (рис. 1)
Первым звеном, отвечающим за прикладную логику и логику представления, является программа-координатор обработки данных. Благодаря модульному принципу можно тонко настроить наборы используемых алгоритмов и моделей в зависимости от особенностей обрабатываемой реакции.
Вторым звеном является сервер баз данных, предназначенный для структурированного хранения необходимых сведений для обработки экспериментальных данных и результатов их математического анализа.
Прикладная логика (первый уровень)
Работа программы инициализируется процедурой авторизации пользователя, что позволяет избежать несанкционированного доступа к конфиденциальным данным. После входа пользователя в систему ему предоставляется возможность редактирования списка изучаемых реакций.
Для каждой рассматриваемой реакции можно задать перечень экспериментов, указать параметры их проведения: температуру, давление, концентрации компонентов реакционной смеси и скорость ее подачи,- указать стадийную схему химических превращений, проверить корректность ее записи, используя закон сохранения массы. Для каждой реакции задаются векторы кинетических констант (промежуточных, итоговых), каждый из которых позволяет описать схожие эксперименты, например, опытные данные для разных температур, полученные при использовании одного и того же катализатора.
Каждый эксперимент хранит в себе сведения об условиях его проведения и изменения концентраций исследуемых веществ во времени. Обработка экспериментальных данных возможна как в массовых, так и в мольных концентрациях. Программа реализует функцию преобразования из одного формата задания исходных данных в другой, основываясь на молярных массах участвующих в реакции веществ.
* автор, ответственный за переписку
Прикладная логика (первый уровень)
Библиотеки моделей и методов
X
Ядро вычислений
Управление данными
Ресурсы на стороне источников данных (второй уровень)
База данных
СУБД
PostgreSQL
Рис. 1. Архитектура программного обеспечения.
Данный уровень программного обеспечения разделяется на следующие составляющие:
• Центр вычислений, обеспечивающий координацию и взаимодействие различных вычислительных блоков.
• Библиотеки кинетических функций.
• Методы решения прямых и обратных задач [2, 3].
• Различные варианты минимизируемых функционалов.
• Визуальный редактор исходных данных.
• Модуль взаимодействия с базой данных.
• Модуль построения печатных форм для результатов обработки.
Схема работы вычислительного модуля представлена на рис. 2.
Каждый из четырех функциональных блоков представляет собой внешнюю, независимую от основной программы динамически-привязываемую библиотеку DLL (Dynamic Link Library). Все вычислительные блоки делятся на четыре категории:
1. Математическое описание - реализует различные кинетические зависимости, подставляемые в правые части СОНДУ (системы нелинейных дифференциальных уравнений) [4, 5]. Включает так же в себя химический транслятор, преобразующий данные стехиометрической матрицы в функциональные зависимости. На текущий момент реализованы модели «Закона действующих масс» и «Лен-гмюра-Хиншельвуда».
2. Метод решения прямой задачи - является универсальным блоком для решения СОНДУ, не зависящий от текущего контекста (химическая кинетика) и может использоваться для любых других
задач. На основе функции правой части и начальных данных строится сетка значений с указанным шагом на отрезке. Реализованы: «Рунге-Кутта» [6].
3. Функционал - минимизируемый функцио-
нал, используемый при решении обратной задачи. Сравнивает данные, полученные численным и экспериментальным путями. Реализованы: «Сумма
абсолютных разностей», «Среднеквадратичное отклонение».
4. Метод решения обратной задачи - на основе начальных значений кинетических констант осуществляет поиск новых с целью минимизации указанного функционала. Реализованы: «Покоординатный спуск» [6, 7], «Случайный поиск», «Метод имитации отжига» [8, 9].
Алгоритм работы вычислительного ядра:
1. Выбираются в соответствии с особенностями исследуемой реакции и экспериментальными данными набор вычислительных блоков
2. Для каждого блока указываются начальные параметры.
3. Итеративно обращается к методу решения обратной задачи, который в свою очередь запрашивает значение функционала. При расчете функционала происходит обращение к методу решения прямой задачи для получения расчетных концентраций. Метод решения прямой задачи использует функцию правых частей из блока математического описания. Таким образом, осуществляется взаимодействие блоков между собой.
4. На каждой итерации вариация значений кинетических констант производится до достижения определенной степени точности.
Рис. 2. Взаимодействие вычислительных блоков.
После определения в рамках выбранного функционала кинетических констант начинается второй этап исследования, на котором происходит расчет энергий активации и уточнение полученных кинетических констант. Поиск энергий активации производится методом наименьших квадратов на основе значений кинетических констант, полученных для экспериментов, проведенных при разных температурах. Значения кинетических констант для каждого из изотермических экспериментов часто плохо описывают всю серию в целом. Это может быть связано, например, с качеством проведения опытов, ошибками измерительной техники, человеческим фактором. Значения энергий активации позволяют найти базовый набор кинетических констант, который описывает систему химических превращений, в целом, лучше, чем при использовании любого набора, полученного для отдельного опыта.
Знание основных кинетических параметров используется при построении математической модели реактора. Экспериментальные данные были получены при дискретном изменении температуры реакции. При моделировании реактора изменение температуры происходит непрерывно. Использование найденных энергий активации и базового набора кинетических констант позволяет получать при расчете реактора корректные данные по изменению значений фазовых переменных: концентраций компонентов и температуры в реакторе.
Конечный итог моделирования реактора - его оптимизация, которая заключается в определении значений управляющих параметров: начальной
температуры, скорости подачи реакционной смеси (или времени контакта) и ее состава. Критерием оптимизации, как правило, является максимум выхода целевого продукта. Поиск оптимального ре-
жима производится с учетом ограничений на управляющие параметры и фазовые переменные: максимальную (или минимальную) температуру в реакторе и конечный состав реакционной смеси.
Для моделирования реактора дополнительно задаются следующие параметры:
• тепловые эффекты стадий химического превращения;
• удельные теплоемкости компонентов реакционной смеси;
• коэффициенты тепло- и массообмена;
• коэффициент теплопередачи через стенки реактора;
• начальные температуры смеси и хладогента.
Ресурсы на стороне источников данных (второй уровень)
Второй уровень приложения заключает в себе базу данных и реализованные в ней дополнительные функции, увеличивающие быстродействие операций с данными на уровне прикладной логики. В качестве СУБД используется PostgreSQL. Особенностями этой СУБД являются:
• открытые исходные коды;
• бесплатность;
• широкие функциональные возможности;
• небольшой размер исполняемых файлов и библиотек;
• нетребовательность к ресурсам рабочей станции;
• кросс-платформенность (Ътих, Windows).
Структура данных в совокупности с внутренней структурой алгоритмической части представляет собой объектную модель, построенной по принципу объектно-ориентированного программирования. Все используемые сущности, такие как «реакция», «эксперимент» и т.д. являются классами объ-
ектов, в соответствие которыми в базе данных поставлены таблицы, свойствам этих классов - поля, экземплярам классов (объектам) - записи в таблице. Связи между объектами типа «родительский -дочерний» реализованы в виде внешних ключей (foreign keys) с каскадными правилами обновления и удаления записей. Рассматриваемая схема базы данных представлена на рис. 3.
Ключевой сущностью объектной модели является класс «Реакция». К ней привязаны в качестве дочерних наборы кинетических констант («Кинетические константы»), список экспериментов («Эксперимент»), перечень стадий («Стадия», «Схема стадии») и участвующие в реакции вещества («Вещество»). Каждое вещество содержит формулу, по которой, используя атомные веса из таблицы «Атом», происходит автоматический подсчет молярной массы. Молярная масса веществ участвует при преобразовании экспериментальных данных из массовых концентраций в молярные и наоборот. Схема реакции состоит из упорядоченного набора схем стадий. Схема каждой стадии представляет собой совокупность веществ с указанием коэффициентов, с которыми они в нее входят. В случае исходного вещества коэффициент указывается со знаком минус и знак плюс в противном случае. Сущность «Эксперимент» предназначена для хранения численных значений параметров проведения эксперимента. Дочерними классами для нее являются данные об изменениях
концентраций веществ во времени («Экспериментальные данные»), временная шкала («Время эксперимента») и значения весовых коэффициентов по веществам («Весовые коэффициенты»), необходимые для решения обратной задачи.
База данных предоставляет возможность многопользовательской работы с сетевым доступом. Таким образом, исследование кинетики сложных химических реакций может быть распараллелено между несколькими рабочими местами. Выделив базу данных как отдельный уровень и используя стандартные методы доступа к ней (SQL, ODBC, JDBC), возможно написание любого стороннего программного обеспечения для обработки и анализа данных, используя при этом единое хранилище информации.
СУБД PostgreSQL обладает системой поддержки целостности базы данных, что обеспечивает сохранность информации, например, в случаях отключения питания компьютера. Гибкая система безопасности позволяет настроить доступ к данным с учетом предъявляемых требований.
Программное обеспечение было реализовано на языке Object Pascal (Delphi). Для работы с базой данных использовались компоненты прямого доступа Zeos, что позволило добиться большей скорости работы по сравнению с использованием универсальных технологий (ODBC, ADO).
Г
Экспериментальные
данные
Код
Код эксперимента Примечание Единица измерения Матрица
Эксперимент
Время эксперимента
Код
Код эксперимента
Примечание
Матрица
Код
Код реакции
Название
Температура
Объем
Давление
Катализатор
Растворитель
Весовые коэффициенты
Код
Код эксперимента Примечание Матрица
Реакция
Код
Название
Стадия
Код
Код реакции Порядок следования
Схема стадии
Код
Код стадии Код вещества Порядок следования Коэффициент
Вещество
Код
Код реакции
Название
Обозначение
Формула
Масса
Кинетические константы
Код
Код реакции Примечание Температура Матрица
Атом
Код
Название
Обозначение
Масса
Рис. 3. Структура базы данных.
Выводы
Реализованное программное обеспечение позволяет существенно упростить и ускорить процесс исследования кинетики сложных химических реакций. Основные его достоинства:
• единое универсальное структурированное хранилище данных;
• параллельный доступ к базе данных;
• гибкая настройка вычислительного процесса;
• автоматическая обработка серий экспериментов.
ЛИТЕРАТУРА
1. Уорсли Дж., Дрейк Дж. PostgreSQL. Для профессионалов. СПб.: Питер, 2002. -496 с.
2. Губайдуллин И. М., Файзуллин М. Р., Балаев А. В., Сафуа-нова Н. М. // Сборник трудов. IV Регион. научно-методич.
конф. «ЭВТ в обучении и моделировании». Информационное обеспечение вычислительных экспериментов решения обратных задач». Бирск: БирГСПА, 2005. -138 с.
3. Файзуллин М. Р. // Сборник трудов. Международная уфимская зимняя школа-конференция по математике и физике для студентов, аспирантов и молодых ученых. Математика. Том III. Стохастический метод решения обратных задач химической кинетики. Уфа: РИО БашГУ, 2005. -217 с.
4. Фихтенгольц Г. М. Курс дифференциального и интегрального исчисления. М.: ФИЗМАТЛИТ, 2005. -728 с.
Арнольд В. И. Обыкновенные дифференциальные уравнения. М.: Наука, 1966. -368 с.
Самарский А. А. Численные методы. М.: Наука, 1989. -240 с. Карманов В. Г. Математическое программирование. М.: Наука, 2000. -264 с.
Ермаков С. М., Михайлов Г. А. Статистическое моделирование. М.: Наука, 1982. -296 с.
Крамер Г. Математические методы статистики. М.: Мир, 1975. -648 с.
5
8
9
Поступила в редакцию 01.09.2008 г.