ISSN 0236-235X (P)
ISSN 2311-2735 (E)
3

13 Сентября 2024

Алгоритм и программная реализация имитационной модели гравитационного сепаратора колонного струйно-эмульсионного реактора

DOI:10.15827/0236-235X.111.214-219
Дата подачи статьи: 05.06.2015
УДК: 004.021

Сеченов П.А. (pavesa89@mail.ru) - Сибирский государственный индустриальный университет (аспирант), Новокузнецк, Россия
Ключевые слова: программная реализация, алгоритмы, взаимодействие частиц, струйно-эмульсионный реактор, гравитационный сепаратор, имитационная модель
Keywords: program realization, algorithms, particles interacting ones, jet-emulsion reactor, gravity separator, simulation model


     

Целями данной работы являются выбор тех- нологии разработки, описание алгоритмов и создание имитационной модели гравитационного сепаратора колонного струйно-эмульсионного реактора (СЭР) на основе физической постановки задачи, представленной в работе [1]. В статье сформулирована задача создания имитационной модели процессов физического и химического взаимодействия дисперсных частиц шихты и продуктов реакций, витающих в потоке несущего высокотемпературного газа. Основное внимание при этом уделяется взаимодействию сил, действующих на частицу; генерированию крупности частиц по нормальному закону распределения в заданном диапазоне; отражению скорости потока газа по высоте реактора при турбулентном движении; случайным скоростям, действующим на частицу по высоте реактора; скорости и массе двух частиц при упругом и неупругом соударении; схемам взаимодействия частиц железной руды, шлака, металла, углерода, газов; расчетам плотности газа и смеси по высоте реактора; определению массовых приходов и расходов частиц железной руды, шлака и металла. Как видим, рассматривается задача, не имеющая детерминированного решения. Одним из возможных путей ее решения является имитационное моделирование с использованием подхода, аналогичного методу «первых принципов», в сочетании со стохастическим моделиро- ванием. Однако сложность задачи усугубляется необходимостью одновременного отражения процессов взаимодействия огромного числа элементов (частиц), в которых в это же время протекают непрерывные физические и химические процессы. Это накладывает определенный отпечаток на разработку технологии создания имитационной модели перечисленных процессов.

Рассмотрим базовые концепции и инструментальные решения имитационного моделирования:

–      системная динамика (Vensim, iThink, Po­wersim, AnyLogic);

–      дискретные системы – системы, основанные на описании процессов (GPSS, Simula, Arena, AutoMod, AnyLogic и др.);

–      агентное моделирование (AnyLogic);

–      динамические системы (MATLAB).

В каждом из этих направлений [2, 3] развиваются свои инструментальные средства, упрощающие разработку моделей и их анализ. В свою очередь, в каждой из описанных сред требуется знать инструментальную среду и язык программирования среды (например язык Java в среде AnyLogic).

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

Было принято решение написать программу на объектно-ориентированном языке программирования, наиболее отвечающем этим требованиям. Рассматривались языки программирования Delphi, VisualBasic, Visual C# и ActionScript 3.0 [4–8]. В связи с тем, что разрабатываемая модель должна быть визуализирована и анимирована (движение, взаимодействие частиц в гравитационном сепараторе в реальном времени), был выбран объектно-ориентированный язык программирования Action­Script 3.0 [7, 8], имеющий возможность отображения большого числа объектов на сцене, встроенные функции добавления (удаления) из массива объектов, функции проектирования 3D-объекта на плоскость и др. Выходной файл программы легко может быть встроен в страницу браузера или электронный учебник (например, в качестве демонстрационной обучающей модели для системы дистанционного обучения).

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

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

Функция создания частицы включает следующие параметры: идентификатор частицы, радиус частицы, коэффициент увеличения радиуса, коэффициент скорости, плотность и массовые проценты возможных веществ конденсированных частиц (Fe2O3, MnO, SiO2, CaO, MgO, Al2O3, P2O5, TiO2, V2O5, Cr2O3, FeO, S, Fe, C, Mn).

Данная функция вызывается основным модулем, после чего вызывается функция передвижения частицы.

Функция передвижения частицы в зависимости от типа включает следующее: расчет плавления для железной руды в соответствии с данными, полученными ранее [9], сжигания угля; движение по спирали (радиус колебаний меняется случайно на каждом шаге), средний радиус зависит от положения частицы по высоте реактора (в нижних слоях реактора радиус движения по окружности больше) [10]; определение скорости частицы в реакторе с учетом сил, действующих на частицу, и скоростей потока, рассмотренных в предыдущей статье; проверка того, что частица не вылетела за границы реактора (если частица долетела до уровня шлакового канала, скорость частицы увеличивается пропорционально отношению внутренних площадей колонного реактора и площади шлакового канала).

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

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

Функция передвижения газовой частицы учитывает эпюру скоростей (в центре потока скорость выше), место возникновения газовой частицы (на границе шлак–металл или в газовой среде). Частицы газа движутся со скоростью потока по высоте канала, совершают колебательные движения по осям x и z.

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

Класс для отображения графиков позволяет строить графики по входным данным (рис. 4).

Схема функций основного модуля показана на рисунке 5.

Рассмотрим различные варианты взаимодействия между частицами основного модуля.

Функция упругого столкновения конденсированных частиц сначала проверяет на пересечение i-ю частицу с частицами, начинающимися с позиции i+1 и до конца массива частиц. Если есть пересечение между частицами, то по плотностям и радиусам частиц находятся их массы, после чего в соответствии с законом сохранения импульса находятся новые векторы скоростей частиц.

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

Функция встречи шлака с газом рассматривает ситуацию, когда шлак «наматывается» на газ [10], при этом рассчитываются плотность и радиус образовавшейся частицы, одна частица меняет свойства, другая удаляется.

Функция встречи С c CO2 в случае нахождения пересечения удаляет две текущие частицы и создает новую частицу газа CO в соответствии с количеством вещества исходных частиц.

Отметим, что наиболее медленная часть программы – функция проверки пересечения двух частиц. Сложность данной функции, а следовательно, и программы O(N2), где O – функция скорости алгоритма от N – количества обрабатываемых частиц.

На рисунке 6 представлены фрагмент работы созданной имитационной модели и результаты моделирования.

Наряду с дифференциацией результатов движения и взаимодействия частиц в программе выводится следующая информация: общее количество частиц в реакторе, количество частиц железной руды, углерода, шлака, железа, CO, CO2; средняя масса железной руды, шлака и железа за минуту; графики массового содержания соответствующих частиц; график распределения средних масс компонентов частиц в реакторе, среднее время пребывания частиц шлака и железа, соотношение приход-расход масс в реакторе. Также предусмотрена возможность изменения количества подаваемых частиц железной руды и углерода, размера подаваемых частиц, начальной скорости потока в реакторе, скорости растворения частицы.

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

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

Литература

1.     Сеченов П.А., Цымбал В.П. Постановка задачи создания имитационной модели гравитационного сепаратора в колонном реакторе агрегата СЭР // Теплотехника и информатика в образовании, науке и производстве. Екатеринбург: Изд-во УрФУ, 2015. С. 114–119.

2.     Лычкина Н.Н. Современные технологии имитационного моделирования и их применение в информационных бизнес-системах и системах поддержки принятия решений // Имитационное моделирование. Теория и практика ИММОД-2005: сб. докл. II Всерос. науч.-практич. конф. СПб: Изд-во ЦНИИТС, 2005. Т. 1. С. 25–31.

3.     Карпов Ю.Г. Имитационное моделирование систем. Введение в моделирование с AnyLogic 5. СПб: БХВ-Петербург, 2009. 400 с.

4.     Кожемяченко В.И., Климов В.Ю. Программирование в среде Delphi. Новокузнецк: Изд-во СибГИУ, 2011. 47 с.

5.     Кожемяченко В.И., Красноперов С.Ю. Программирование в среде Visual C#. В 2-х ч. Новокузнецк: Изд-во СибГИУ, 2012. 85 с.

6.     Справочник по Visual Basic. URL: https://msdn.micro­soft.com/ru-ru/library/25kad608.aspx (дата обращения: 16.05.2015).

7.     Справочник по ActionScript 3.0 для платформы AdobeFlash. URL: http://help.adobe.com/ru_RU/FlashPlatform/re­ference/actionscript/3/ (дата обращения: 16.05.2015).

8.     Изучение ActionScript 3.0. URL: http://help.adobe.com/ ru_RU/as3/learn/as3_learning.pdf (дата обращения: 16.05.2015).

9.     Сеченов П.А., Оленников А.А., Цымбал В.П. Исследование динамики изменения состава шлака в зонной модели колонного струйно-эмульсионного реактора // Творческое наследие В.Е. Грум-Гржимайло: история, современное состояние, будущее. В 2 ч. Ч. 2: Теплотехника и информатика в образовании, науке и производстве. Екатеринбург: Изд-во УрФУ. 2014. С. 105–110.

10.  Цымбал В.П., Мочалов С.П., Рыбенко И.А. и др. Процесс СЭР – металлургический струйно-эмульсионный реактор. М.: Металлургиздат, 2014. 488 с.



http://swsys.ru/index.php?id=4055&lang=%E2%8C%A9%3Den&like=1&page=article


Perhaps, you might be interested in the following articles of similar topics: