Научная статья на тему 'Модульный подход к компьютерному моделированию участка магистрального газопровода'

Модульный подход к компьютерному моделированию участка магистрального газопровода Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
187
55
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
ТЕХНОЛОГИЯ МОДУЛЬНОГО ВЗАИМОДЕЙСТВИЯ / КОМПЬЮТЕРНОЕ МОДЕЛИРОВАНИЕ / ТЕХНОЛОГИЧЕСКИЕ ОБЪЕКТЫ / ТИПОВЫЕ ИМИТАЦИОННЫЕ МОДЕЛИ / MODULE INTERACTION TECHNOLOGY / COMPUTER MODELING / TECHNOLOGICAL OBJECTS / STANDARD SIMULATION MODELS

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Кудинов Никита Валерьевич, Болдырева Анна Александровна

Рассматривается алгоритмическая и программная реализация моделирования распределенных систем технологических объектов. Предлагается технология разработки иерархической структуры классов, согласованной с множественным наследованием в языке Си++, при написании такого рода программных средств. Описывается исследование данного программного средства при моделировании типовых имитационных моделей.

i Надоели баннеры? Вы всегда можете отключить рекламу.

Похожие темы научных работ по компьютерным и информационным наукам , автор научной работы — Кудинов Никита Валерьевич, Болдырева Анна Александровна

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

COMPUTER MODELLING OF THE CROSS-COUNTRY GAS PIPELINE SECTION

Algorithmic and program implementation of modeling of the technological objects distributed systems is considered. The technology of hierarchic class structure development agreed upon multiple inheritance in C++ is offered for software authoring. Research of the given software tool when modeling standard simulation models is described.

Текст научной работы на тему «Модульный подход к компьютерному моделированию участка магистрального газопровода»

УДК 622691.4:519.711.3

Н.В. КУДИНОВ, А.А. БОЛДЫРЕВА

МОДУЛЬНЫЙ ПОДХОД К КОМПЬЮТЕРНОМУ МОДЕЛИРОВАНИЮ УЧАСТКА МАГИСТРАЛЬНОГО ГАЗОПРОВОДА

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

Введение. В оперативном управлении процессами транспортировки и распределения веществ в химико-технологических объектах и -производствах важное место отводится вопросу компьютерного моделирования распределенных в пространстве и времени технологических объектов. Необходимо использовать проверенные методы, обеспечивающие высокую точность моделирования. Такие методы уже реализованы и развиты в пакетах Matlab, Octave, Scilab на основе библиотеки ODEPACK. Вычисления в этих библиотеках поддержано программами матрично-векторных операций из библиотек (Bias, Lapack, Linpack).

В качестве примера имитационного моделирования сложных динамических систем с иерархической структурой средствами объектно-ориентирован-ного программирования взят участок магистрального газопровода. Имитационное моделирование подразумевает сохранение структуры, связи между компонентами, способа передачи информации [1], присущих моделируемой системе. Элементы системы заменяются их моделями, которые «обвязываются» информационными связями так же, как и объекты в моделируемой системе.

Область исследований. Компьютерное моделирование основано на математическом моделировании и использует в качестве основы математические модели, тем не менее, математические предположения ослаблены для того, чтобы пользователь мог взаимодействовать с моделью интерактивно. Изучение модели пользователем в ходе интерактивного взаимодействия называется имитацией. Имитация как метод решения нетривиальных задач получила начальное развитие в связи с созданием ЭВМ в 1950-1960-х гг.

Выделяют две разновидности имитации:

- метод Монте-Карло (метод статистических испытаний);

- метод имитационного моделирования (статистическое моделирование).

Цель имитационного моделирования - воспроизведение поведения исследуемой системы на основе анализа наиболее существенных взаимосвязей между ее элементами или, другими словами, разработка симулятора (simulation modeling - англ. термин) исследуемой предметной области для проведения различных экспериментов.

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

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

Рис.1. Компьютерное имитационное моделирование

Компьютерное моделирование - реализация вычислительных процессов в ЭВМ на основе математических моделей для исследования реального процесса на основе вычисленной информации.

Наиболее полный и однозначный переход от процесса к модели получается при воспроизведении физических законов. Более сложные процессы, например, технологические, с определенной долей точности можно представить как суперпозицию этих законов. Для сложных процессов установить структуру физических законов, энергетических и информационных связей позволяет последовательный анализ взаимосвязей и принятие обоснованных допущений при абстрагировании. Поэтапное абстрагирование и рассмотрение «Переменных порядка» [2] системной динамики на разных уровнях абстракции приводит к построению иерархии математических моделей. В программировании такие переменные - ячейки памяти, через которые передается входная и выходная информация между имитационными моделями разных уровней абстракций, например, между реализацией метода решения дифференциальных уравнений и визуализатором состояния пространственно-распределенного объекта.

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

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

Кибернетический уровень. Кибернетика - наука об управлении, связи и переработке информации. Основным объектом исследования в кибернетике являются кибернетические системы (рис.2).

Рис.2. Кибернетическая система на примере ячеечной модели

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

Ввод статических параметров осуществляется с помощью запроса у пользователя (интерактивно). В процессе работы происходит моделирование динамических процессов с одновременным опросом реакции пользователя (см. рис.3). На выходе получаем визуализацию полученных статических состояний.

Рис.3. Алгоритм интерактивной визуализации

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

Абстрактные объекты, инкапсулирующие (объединяющие и скрывающие) все эти переменные и формирующие динамику их изменения, относятся к классу «Фазовое пространство». Причем размерность фазового пространства, объектов, определяемых в форме Коши, в несколько раз больше, чем самих переменных состояния, поэтому класс «Переменные состояния» является наследником класса «Фазовое пространство», учитывающего общие свойства динамических моделей.

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

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

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

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

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

Пространственно-временная аппроксимация в узлах этой сетки, в частности, метод прямых или конечно-разностная аппроксимация пространственных градиентов, позволяет получить аппроксимированную математическую модель, описываемую системой дифференциальных уравнений, которые можно решить с помощью различных численных методов. Наиболее частое применение находят методы Рунге-Кутта, Розенброка, Милна и т.д. К сожалению, не найдены научные публикации, анализирующие совместимость этих методов с аппроксимированной на пространственной сетке моделью распределенной среды. Соответствие исходной и аппроксимированной моделей достигается соблюдением дифференциальных законов протекания моделируемых процессов, а иногда интегральными зависимостями, описываемыми математической физикой. Между исходной и аппроксимированной моделью должна существовать тождественность, доказываемая предельным переходом к бесконечно малым величинам по пространству и времени. Построение компьютерной вычислительной модели происходит абстрагированием от непрерывной распределенности среды в конкретном аппарате. В общем случае принимается гипотеза о кусочной непрерывности n-й степени. Также производится переход от непрерывного времени к дискретному, ход которого определяется конкретным численным алгоритмом и влияет на качество моделирования. Для качественной визуализации процессов в модели необходим обратный переход от табличных функций, определенных на «дискретном времени», к непрерывному времени и пространству с точностью до компьютерной погрешности представления чисел с плавающей точкой. Такой переход реализуется межузловым восполнением - полиномиальной интерполяцией.

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

Технологический уровень. На технологическом уровне удобно объединить различные виды технологических объектов в классы: участки газопровода, компрессорные станции. На данном уровне не существенны такие низкоуровневые аспекты реализации модели, как способ аппроксимации или шаг пространственной сетки. Разработаны различные программные модели (классы объектов), в некоторых случаях допускающие программную стыковку через интерфейсы InputOutput. Объекты классов моделируют:

- GasPipeline - участки газопровода;

- CompressorStation - компрессорные станции;

- HeatingMain - теплотрассы;

- Conveyor - транспортеры сыпучих материалов.

Моделирование при описанном подходе является результатом взаимодействия множества внутренних компонентов программы. На схеме (рис.5) можно увидеть четкую иерархию классов в соответствии с предложенными выше уровнями.

Сх ^2 с3 С,-Х С, Ci+1 Сп

і Гр

dCx dC2 dCdCt dCi+1 dCn

dt dt dt dt dt dt

Рис.4. Пространственная сетка и расчетная схема моделирования химико-технологического объекта идеального смешения

InputOutput StateSpace Model

интерфейс пространство Параметры

модели состоянии модели

PhaseSpace

Фазовое

пространство

£

MIMOSystem SpaceGrid Iterator

динамическая пространствен диспетчер

модель ная сетка циклов

Gas

Pump газо-

Модель ГПА динамическая

модель (ДУЧП)

Ш Ut I

Project GasPipeline Approximator

составная модель МГП интерфейс с

модель (КС, РЗ, УМГП) ДУЧП

Рис.5. Иерархия классов:

КС - компрессорная станция; РЗ - запорно-регулирующая арматура; УМГП - участок магистрального газопровода; ДУЧП - система дифференциальных уравнений в частных производных; ГПА - газоперекачивающий агрегат; MIMOSystem - система со множеством входов и выходов

Основной поток информации при моделировании циркулирует между компонентом Project, реализующим численный метод решения систем дифференциальных уравнений, относящимся к классу Solver, и набором объектов Model, отвечающих за вычисления правых частей дифференциальных уравнений (ДУ). Эти объекты взаимодействуют между собой при помощи интерфейсов, описанных в классе InputOutput.

Такая схема взаимодействия мотивирована модульным принципом и позволяет подключать внешние модули без перестройки программной и алгоритмической структуры разработанного программного модуля. При традиционном моделировании в среде пакетов инженерно-научных расчетов Matlab или GNU Octave правые части системы ДУ вычисляются в пользовательской функции. Это обосновано, когда уравнения относительно простые, но когда расчет уравнений по вычислительной сложности сопоставим с работой численного метода, имеет смысл использовать специальные архитектурные решения. Предложенный подход значительно уменьшает вычислительные затраты при моделировании объектов, поточно взаимодействующих непосредственно через переменные состояния.

Применение результатов исследований в программировании имитационной модели.

Разработанная система уровней позволяет стоить иерархию классов программных объектов, а затем связывать объекты в ходе выполнения программы во время моделирования. Структура «моделирующего дерева» в простом случае вырождается в список взаимодействующих моделей разных уровней абстракции, например, структура имитационной модели участка магистрального газопровода (рис.6). Предложенный подход к декомпозиции программ и алгоритмов на модули позволяет упорядочить разработку программ, моделирующих сложные технологические процессы.

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

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

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

2. Вспомогательные алгоритмы в модуле Approximator определяют размещение пространственных узлов для каждого из моделируемых аппаратов и их внутреннего пространства. Выделяется память под переменные состояния и фазовые координаты.

3. Инициализируются параметры численного метода, выбранного пользователем. Для пакетного (неинтерактивного) моделирования задается наибольший hmax, наименьший hmm шаг метода и

tmin* tm

mm; (max

начало и конец временного отрезка, на котором интегрируется уравнение, величина локальной точности метода £.

4. Для непрерывного интерактивного моделирования задается допустимая точность выполнения (невязка) интегральных балансных уравнений.

5. По уравнениям статики рассчитывается комплексный режим статики всех имитационных моделей, входящих в систему.

6. Дальнейшие вычисления проводятся в цикле. Итерации выполняются для каждого дискретного момента времени, определяемого численным методом. Для вычисления скоростей изменения признака (концентрация, плотность, масса, скорость) во времени применяется объект Approximator, вычисляющий приближенно пространственные градиенты признаков и использующий модель конкретной сплошной среды, заданной дифференциальным уравнением в частных производных (ДУЧП). Пространственные градиенты используются в последней модели для вычисления скоростей изменения признака во времени. В свою очередь, эта информация возвращается методу интегрирования по времени. При расчете параметров в граничных ячейках задействуется интерфейс, определенный в классе InputOutput, для согласования граничных условий с соседними технологическими агрегатами.

7. Найденные скорости изменения признака в численном методе обобщаются в «Вектор наклона интегральных кривых», f Программная реализация численного метода (Милна, Розен-брока, Эйлера, Рунге-Кутта) вычисляет новую точку состояния системы, координаты которой сохраняются в реализации класса StateSpace.

8. Цикл повторяется до тех пор, пока не достигнет конца временного отрезка tmax. Выход из цикла производится в случае выхода модели в критический режим, в пределе называемый сингулярностью. Когда производится непрерывное интерактивное моделирование (симуляция), пользователь-исследователь имеет возможность приостановить процесс моделирования или завершить его, сохранив хронологию изменения переменных состояния в базе данных (см. рис.3).

Библиографический список

1. Колесов Ю.Б. Имитационное моделирование сложных динамических систем / Ю.Б. Колесов, Ю.Б. Сениченков. - Режим доступа: http://www.exponenta.ru/soft/Others/mvs/ds_sim.asp.

2. Капица С.П. Синергетика и прогнозы будущего / С.П. Капица, С.П. Курдюмов, Г.Г. Малинец-кий. - М.: Наука, 1997. - Режим доступа: http: //www.gumer.info/bibliotek_Buks/Science/kap /intro.php.

3. Ландау Л.Д. Теоретическая физика: учеб. пособие / Л.Д. Ландау, Е.М. Лифшиц. - М.: Наука, 1986. - ТЖ Гидродинамика. - 3-е изд., перераб.

4. Кудинов Н.В. Апроксимационно-балансный метод построения разностных схем для математической модели газопровода / Н.В. Кудинов // Математические методы в технике и технологиях: XVII междунар. конф.: сб. тр. / Костром. гос. техн. ун-т. - Кострома, 2004. - Т.10.

References

1. Kolesov Yu.B. Imitacionnoe modelirovanie slojnyh dinamicheskih sistem / Yu.B. Kolesov, Yu.B. Senichenkov. - http://www.exponenta.ru/soft/Others/mvs/ds_sim.asp. - in Russian.

2. Kapica S.P. Sinergetika i prognozy buduschego / S.P. Kapica, S.P. Kurdyumov, G.G. Malineck-ii. - M.: Nauka, 1997. - http: //www.gumer.info/bibliotek_Buks/Science/kap /intro.php. - in Russian.

3. Landau L.D. Teoreticheskaya fizika: ucheb. posobie / L.D. Landau, E.M. Lifshic. - M.: Nauka, 1986. - T.VI. Gidrodinamika. - 3-e izd., pererab. - in Russian.

4. Kudinov N.V. Aproksimacionno-balansnyi metod postroeniya raznostnyh shem dlya matemati-cheskoi modeli gazoprovoda / N.V. Kudinov // Matematicheskie metody v tehnike i tehnologiyah: XVII mejdunar. konf.: sb. tr. / Kostrom. gos. tehn. un-t. - Kostroma, 2004. - T.10. - in Russian.

Материал поступил в редакцию 02.06.10.

N.V. KUDINOV, A.A. BOLDYREVA COMPUTER MODELLING OF THE CROSS-COUNTRY GAS PIPELINE SECTION

Algorithmic and program implementation of modeling of the technological objects distributed systems is considered. The technology of hierarchic class structure development agreed upon multiple inheritance in C++ is offered for software authoring . Research of the given software tool when modeling standard simulation models is described.

Keywords: module interaction technology, computer modeling, technological objects, standard simulation models.

КУДИНОВ Никита Валерьевич (р. 1980), доцент кафедры «Программное обеспечение вычислительной техники и автоматизированных систем» Донского государственного технического университета, кандидат технических наук (2006). Окончил Донской государственный технический университет (2001).

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

Автор 16 научных работ.

nikudinov@gmail.com

БОЛДЫРЕВА Анна Александровна, студентка 5-го курса специальности «Программное обеспечение вычислительной техники и автоматизированных систем» Донского государственного технического университета. Бакалавр техники и технологий (2009).

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

Автор 9 публикаций.

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

lenivec88@mail.ru

Nikita V. KUDINOV (1980), Associate Professor of the Computer Software and Automated Systems Department, Don State Technical University. Candidate of Science in Engineering (2006). He graduated from Don State Technical University (2001).

Research interests: mathematical simulation of technological processes, computer networks and operation systems application.

Author of 16 scientific publications.

nikudinov@gmail.com

Anna A. BOLDYREVA (1988), Student Don State Technical University. Bachelor of techniques and technologies (2009).

Research interests: analytical methods of the control objects mathematical description, mathematical and computer models development.

Author of 9 scientific publications.

lenivec88@mail.ru

i Надоели баннеры? Вы всегда можете отключить рекламу.