Научный вестник НГТУ. - 2012. - № 3(48)
УДК 519.876.5
Унификация программного обеспечения инструментального моделирования*
Ю.В. ШОРНИКОВ, Д.Н. ДОСТОВАЛОВ
Рассмотрены вопросы унификации программного обеспечения для исследования задач химической кинетики и электроэнергетики. Разработано расширение языка спецификации гибридных систем для описания химических реакций. Построен модуль исследования режимов электромеханических систем.
Ключевые слова: унификация, химическая кинетика, порождающая грамматика, математическая модель, электроэнергетическая система.
ВВЕДЕНИЕ
Под инструментальным моделированием понимается использование инструментальных средств для моделирования сложных систем. Здесь будем использовать инструментальные средства машинного анализа (ИСМА) [1] для моделирования динамических и гибридных систем с текстовым языком спецификации LISMA [2].
Унификация программного обеспечения (ПО) предполагает использование разработанного языкового процессора к задачам из разных предметных областей. Общим во всех рассматриваемых задачах анализа являются математические модели, представленные в классе систем дифференциально-алгебраических уравнений, и решатели этих уравнений. В качестве примеров прикладных предметных областей выбраны химическая кинетика и электроэнергетика, где математическими моделями для анализа динамики являются системы обыкновенных дифференциальных уравнений (ОДУ) или системы алгебро-дифференциальных уравнений (АДУ).
1. РЕШЕНИЕ ЗАДАЧ ХИМИЧЕСКОЙ КИНЕТИКИ
Актуальность задач анализа химических реакций обусловлена современными потребностями промышленности, такими как улучшение технологических процессов переработки углеводородных соединений, усовершенствование химических реакторов и другими.
Дифференциальные уравнения химической кинетики строятся по определенному алгоритму [3] на основе схем химических реакций. В случае достаточно большого количества реагентов и стадий реакции построение соответствующей системы ОДУ предметным специалистом вызывает серьезные трудности. Это явилось стимулом для создания генерирующих программ, которые используют для подготовки входных данных при описании кинетической схемы язык, соответствующий естественной записи. Задача унификации математического и программного обеспечения для решения задач химической кинетики включает:
• содержательную спецификацию задач химической кинетики на языке химических уравнений, доступную предметному специалисту;
• трансляцию программ с входного языка химических уравнений в систему ОДУ с автоматической проверкой корректности синтаксиса и семантики;
* Получена 12 апреля 2012 г
Работа поддержана грантом РФФИ№11-01-00106-а.
• расчет системы ОДУ с применением соответствующих эффективных оригинальных численных методов с учетом жесткости и высокой размерности из библиотеки численных схем разработанной системы;
• графическую интерпретацию, манипуляцию данными и документирование результатов численного анализа встроенным графическим интерпретатором решений.
Рассмотрим решение прямой задачи химической кинетики, когда для заданных концентраций компонентов необходимо получить динамику концентраций.
Кинетическая схема химической реакции состоит из элементарных стадий, представленных в виде
N мг
Еауу ЕРуу , (1)
■=1 1=\
где у,, 1 < I < Ыг - концентрации реагентов; к у, 1 < у < N. - константы скоростей стадий;
Ыг и N. - число реагентов и число стадий в реакции соответственно; агу и Ру, 1 < I < Ыг,
1 < у < N. - стехиометрические коэффициенты. Процессу (1) в рамках сосредоточенной модели изотермического реактора постоянного объема соответствует система обыкновенных дифференциальных уравнений
у' = Гтщ, у (0) = у0 , (2)
где Г - стехиометрическая матрица с компонентами у у = Ру — а у , 1 < I < Ыг, 1 < у < N, w е к 4 - вектор скоростей стадий с компонентами
N _
Wj = к у П У,аУ , У = 1, N. . (3)
1=1
Левую и правую части уравнений (1) и правую часть (2) можно рассматривать как традиционные арифметические выражения, операндами которых являются реагенты химической реакции, умноженные на стехиометрические коэффициенты.
В качестве иллюстрации рассмотрим реакцию пиролиза этана, которая в отсутствии кислорода описывается схемой из пяти стадий:
С2 Н6 — СН3 + СН3, СН3 + С2 Н6 —^ СН4 + С2 Н5 , С2 Н 5 —> С2 Н4 + Н ,
Н + С2 Н6 — Н2 + С2 Н5 , С2Н5 + С2 Н5 — С4Н10 . Константы скоростей стадий имеют значения
к1 = 1.34 -10—5, к2 = 3.73 -102,
кз = 3.69 • 103 , к4 = 3.66 • 105, к5 = 1.62 • 107 . Начальная концентрация этана У1 (0) = 0.14,
для остальных реагентов концентрации равны нулю, поэтому
т
у (0) = (0.14, 0, 0, 0, 0, 0, 0, 0)
. Для приведенной реакции N. = 5 и Nr = 8 . Скорости ста-
дий реакции w¡■, I = 1, N. определяются выражениями
Щ = к1 У1, w2 = к2У1У2 , w3 = к3У4 , w4 = к4У1У6 , w5 = к5У4 .
Тогда система дифференциальных уравнений вида (2) для рассматриваемого примера будет представлена уравнениями
у1 = ~kiy - k2 У1У2 - k4У1 Уб , у2 = 2kiУ1 - k2 У1 У2 ,
Уз = k2У1У2 , У4 = k2У1У2 - k3 У4 + k4У1 Уб - 2k5 У4 ,
у5 = k3 У4 , у6 = k3 У4- k4 У1 Уб , у7 = k4 У1 Уб , у8 = k5 у4 .
Для спецификации задач химической кинетики разработан язык LISMA+, являющийся расширением базового языка спецификации сложных динамических и гибридных систем LISMA. Поскольку имеет место включение glisma+ glisma , то обеспечена преемственность языков спецификации новых приложений с наследуемыми методами обработки входного текста.
Представим порождающую грамматику химических реакций G [С ] в виде
С ^ SC\S, S ^ ESaES, где S - стадии химической реакции; Es - подмножество арифметических выражений G [ Es ]с G [ E ], a еЕ — символ итерации терминального алфавита основной грамматики G [E ], который однозначно определен терминальной цепочкой a id => | в с идентификатором id, соответствующим скорости стадий.
С учетом свойства вложенности для грамматики G [ Es ] используются те же однозначные методы анализа, что и для основной грамматики G [E ], а правила вывода подмножества новой грамматики построены в соответствии с описанием химических реакций, причем термы T и операнды O здесь ограничены продукциями
ES ^T\T + ES , T ^ O\O *T, O ^ id|c,
где id - идентификатор реагента химической реакции, представляющий безиндексную запись переменной (например, C2 H5 записывается как C2H5 и т. д.), и поэтому не противоречащий общепринятой в G [E ] записи простых переменных; c — const или <целое без знака>, обозначает количество реагентов, участвующих в реакции. Таким образом, в соответствии с грамматикой G [С] программная модель рассмотренной реакции пиролиза этана на языке LISMA+ будет иметь вид
к3=3.69е+3; k4=3-66e+5; kS i ♦ 62e*7; C2H6=OrH;
C2HS kl->CH3+CH;
CH3+C2H&=Jc2 = >CH3+CH4+C2H5; С2Н5-КЭ->С21К+Нг H+C2H6=k4=>C2H5; C2 H5+C2 H5" fcS=>C1HlCt;
Семантическим анализатором на основе синтаксического описания автоматически генерируется внутреннее представление задачи химической кинетики, которое включает в себя матрицу разностей стехиометрических коэффициентов правой и левой частей химической реакции и рассчитанные в соответствии с (3) скорости стадий реакции. В отличие от методики, применяемой в [3], где только одно кинетическое уравнение формируется за один полный проход, языковой процессор с языка LISMA+ генерирует за один проход всю систему кинетических уравнений. Пример внутреннего представления для задачи пиролиза этана представлен в таблице.
Внутреннее представление задачи
} Уху УУ Т3у Т4У Ун Ъ] У7] Ущ Щ
1 -1 2 0 0 0 0 0 0 к\С\
2 -1 -1 1 1 0 0 0 0 к2с1с2
3 0 0 0 -1 1 1 0 0 к3с4
4 -1 0 0 1 0 -1 1 0 к4С\С6
5 0 0 0 -2 0 0 0 1 к5с42
Результатом работы препроцессора LISMA+ является корректная модель на языке LISMA, которая может быть сразу исполнена в ИСМА. Полученные графики концентраций некоторых реагентов представлены на рис. 1.
у, -ю-7
Рис. 1. Результаты расчета реакции пиролиза этана
2. МОДЕЛИРОВАНИЕ ЭЛЕКТРОМЕХАНИЧЕСКИХ СИСТЕМ
Рассмотрим второе приложение, в рамках которого решается задача унификации ПО ИСМА - электроэнергетика, и, в частности, электромеханические системы. Для решения задач из этой области среда ИСМА была дополнена модулем исследования режимов отдельных элементов электроэнергетических систем - короткого замыкания (КЗ) синхронного генератора и пуска асинхронного двигателя.
Поведение электромеханических преобразователей описывается системой уравнений Парка-Горева в системе координат d-q [4, 5]. Исходными данными для построения модели КЗ синхронного генератора являются: активные сопротивления обмоток статора К. и возбуждения Кf, сопротивления рассеяния обмоток статора Хаа и возбуждения X, синхронные индуктивные сопротивления по осям d и q - Xи Хщ соответственно. Для генератора с демпферной обмоткой также необходимы значения активных сопротивлений демпферной обмотки по осям d и q - и К - и сопротивлений рассеяния демпферной обмотки Х^а и
Хгда. Все параметры должны быть выражены в относительных единицах. Для построения
компьютерной модели выполняется расчет дополнительных параметров модели по алгоритму, приведенному в [5]. Далее автоматически формируется текстовая модель на языке LISMA, в которую генерируются рассчитанные величины. Пользователь имеет возможность редактирования полученной компьютерную модели перед расчетом.
Модуль исследования режимов электрических машин реализован в интерфейсе структурного элемента «Текстовый блок» системы ИСМА. В результате действий разработанного языкового процессора генерируется корректная программная модель на языке LISMA, что позволяет без изменений использовать существующий препроцессор и не накладывает на систему моделирования никаких дополнительных ограничений. Программная модель включает параметры, начальные условия и систему АДУ.
Для примера рассмотрим моделирование переходного процесса для генератора СВ
505/190-16Т, имеющего следующие параметры: Rs = 1.02 -10 относительных единиц (о.е.),
Rf = 0.37 -10
—з
о.е., Rrd = 8.96 -10—3 о.е.
Rra = 9.03 -10
'Ч
1—3
о.е.,
= 0.084 о.е.,
ХГйа= 0.164 о.е., Хаё = 0.796 о.е., Хад = 0.456 о.е., ХЫа = 0.069 о.е., Хгдс = 0.064 о.е.
Программная модель в ИСМА, сгенерированная модулем исследования режимов электрических машин, имеет вид
// Ларагиетрл Rs = 0.00102; Rrd=0.00896; al 1=0.196784; а13=-0.130544; a2 2 = 0 .127584; аЗ l=-0.130544; a33=0.211184; a42=0.456; a52=0.54; d2=0.072864;
Rf=0.00037; Rrq=0.00903; al2=0.054924; a21=0.054924; a23=0.066864; a32=0.066864; a41=0.52; a51=0.456; dl=0.025537392; Gmega=1.0;
// Начальные условия Usd=0.0; Usq=0.0;
Ufd=0.000464824120 603015;
Fsd=l.0; Frd=l.0;
Ffd=1.20 603015075377; Ifd=1.25628140703518;
// Уравнения
Fsd1 =Usd-Rs*Isd+Qmega*Fsci; Fsq'=Usq-Rs*Isq-Qmega*Fsd; Ffd1=Ufd-Rf*Ifd; Frd1 =-Rrd*Ii:d; Frq' = -Rrq*Ii:q;
Isd~=(all*Fsd-al2 *Ffd+al3 *Frd)/dl; Ifd~=(-a2l*Fsd+a22 *Ffd-a23 *Frd)/dl; Ird~=(a3l*Fsd-a32 *Ffd+a33 *Frd)/dl; Iscr= (a41*Fsci-a42*Frci)/d2; Irq~=(-a51*Fsq+a52 *Frq) /d2;
Детальное описание математической модели и результаты моделирования представлены авторами в работе [6].
ЗАКЛЮЧЕНИЕ
Унификация позволяет в полной мере использовать возможности ранее разработанного математического и программного обеспечения для моделирования систем различной природы, взаимодействуя с пользователем в доступной ему форме. При этом никаких дополнительных требований, ограничений или доработок системы моделирования ИСМА в целом не требуется. Программное обеспечение новых приложений - химической кинетики и электроэнергетики -со своими особенностями входного формата данных потребовало минимальных затрат по модификации входного языка и интерфейса.
СПИСОК ЛИТЕРАТУРЫ
[1] Шорников Ю.В. и др. Инструментальные средства машинного анализа: Свидетельство об официальной регистрации программы для ЭВМ № 2005610126. - М.: Роспатент, 2005.
[2] Шорников Ю.В., Томилов И.Н. Программа языкового процессора с языка LISMA (Language of ISMA): Свидетельство об официальной регистрации программы для ЭВМ № 2007611024. - М.: Роспатент, 2007.
[3] Черных И.Г. Алгоритмический и программный инструментарий для численного решения прямых задач химической кинетики с использованием супер-ЭВМ: Автореф. дисс... канд. техн. наук, 2006. - 18 с.
[4] Веников В.А. Переходные электромеханические процессы в электрических системах: учеб. для электро-энергет. спец. вузов. - М.: Высш. шк., 1985. - 536 с.
[5] Томилов И.Н. и др. Математическое и программное обеспечение численного анализа режимов электрических машин // Системы управления и информационные технологии. - 2011. - № 3 (45). - С. 204-208.
[6] Шорников Ю.В. и др. Численное моделирование динамических процессов в электроэнергетических системах как инструмент стратегического управления // Научный вестник НГТУ. - 2011. - № 4 (45). - С. 129-134.
Шорников Юрий Владимирович, доктор технических наук, доцент, профессор кафедры автоматизированных систем управления Новосибирского государственного технического университета. Основное направление научных исследований - системное моделирование сложных динамических объектов. Имеет более 100 публикаций, в том числе 3 монографии, 5 учебных пособий и учебник. E-mail: [email protected].
Достовалов Дмитрий Николаевич, магистр техники и технологии, аспирант кафедры автоматизированных систем управления Новосибирского государственного технического университета. Основное направление научных исследований - анализ устойчивости явных численных методов, моделирование работы элементов электроэнергетических систем. Имеет 16 публикаций. E-mail: [email protected].
Yu.V. Shornikov, D.N. Dostovalov
Unification of software for modeling
The problems of unification the software for the study of chemical kinetics and the energy industry problems are described. The extension of language of specification of hybrid systems for the chemical reactions descriptions are designed. The module for research of electromechanical systems modes are built.
Key words: unification, chemical kinetics, generative grammar, mathematical model, electric power system.