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

Чичкарев Евгений Анатольевич, Назаренко Наталья Викторовна

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

Большинство работ, касающихся моделирования технологических процессов, завершается разработкой приложений, реализующих ту или иную математическую модель, в виде пакета программ, разработанного с использованием языка программирования общего назначения (C++, Object Pascal и т. п.), и среды быстрой разработки приложений (Delphi, C-Builder). Выбор языка программирования компилятора для решения тех или иных задач обусловлен во многом личными склонностями разработчика и априорными соображениями. Однако для решения вычислительных задач значительного объёма разница в скорости выполнения кода, сгенерированного различными компиляторами, может оказаться существенной.

Для решения задач, связанных с разработкой комплексных математических моделей, определёнными преимуществами по сравнению компилируемыми языками обладают интегрированные математические пакеты, объединяющие встроенные функции для решения разнородных задач, в т. ч. построения графических иллюстраций. В частности, открытый пакет Python+SciPy был использован авторами для реализации ряда математических моделей объектов металлургического производства: циркуляционного течения в промежуточном ковше (ПК) машины непрерывного литья заготовок, плавления порошковой проволоки в сталеразливочном ковше, формирования непрерывнолитых заготовок и т. п. Полученные результаты нашли практическое применение для выбора рациональных технологических решений в условиях МК «Азовсталь», а также в дипломном и курсовом проектировании в ПГТУ. В процессе разрешения проблем недостаточного быстродействия при реализации ряда сложных в вычислительном отношении задач авторами проведён ряд бенчмарк-тестов.

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

Для упрощения обработки результатов расчётов модель формирования непрерывнолитой заготовки была полностью реализована на языке MatLab (Octave) с использованием встроенных вычислительных возможностей пакета, а также на C++, Java, Python. Эксплуатация версий разработанной моделирующей программы, реализованных в различных ОС и на различных языках программирования, послужила отправной точкой для проведения тестирования. Кроме того, сопоставлялась скорость выполнения кода, сгенерированного различными компиляторами (gcc в среде Linux и FreeBSD и C++-Builder 6 в среде Windows). Расчёт кинетики формирования непрерывнолитой заготовки либо с выводом промежуточных результатов (консольное приложение, вывод примерно 5000 строк результатов в рабочее окно) или с выводом только начальных и конечных результатов.

Результат тестирования оказался во многом в пользу gcc в среде Unix-подобных систем. Вследствие более развитых средств оптимизации кода по скорости исполнения, хотя без оптимизации C++-Builder демонстрирует лучшие результаты, что отмечалось в публикациях в Интернете. Обращает на себя внимание разница в скорости выполнения при выводе промежуточных результатов, зависящая от организации операций ввода/вывода в ОС. Вне конкуренции оказалась FreeBSD (использовалась версия 5.2.1) с монолитным ядром, а для Linux с модульным ядром и Windows результаты оказались практически одинаковы. Тестирование проводилось на одном и том же компьютере. Аналогичные сопоставления проводились и неоднократно публиковались как в Интернете, так и в прессе, однако для заметно более простых и несколько искусственных бенчмарк-тестов.

Признанным стандартом интегрированного математического пакета для технических вычислений является пакет MatLab, основным недостатком которого является высокая стоимость лицензии как для сетевого, так и для индивидуального использования. Однако для решения задач моделирования разработано большое количество свободного программного обеспечения, либо совместимого с MatLab по языку программирования (Octave, SciLab), либо обеспечивающего аналогичный набор возможностей (язык программирования Python с вычислительными пакетами расширений).

Сопоставление вычислительных возможностей было выполнено и для интегрированных математических систем: MatLab 6.1 (ОС Windows), Octave (на 90 % совместимый с MatLab аналог для ОС Unix и Windows), SciPy 0.3.2 (библиотека численных алгоритмов и графических утилит для программирования на языке Python), Java. Для сопоставления использовались как реальный тест (программа расчёта затвердевания), так и синтетические бенчмарк-тесты. Установлено, что по быстродействию математические пакеты отличаются незначительно (независимо от проприетарного или свободного происхождения), и связаны с технологией реализации тех или иных численных методов или использованных алгоритмов. Возможности оформления качественных документов с графическими иллюстрациями в настроенной Linux-системе, полностью основанной на open source ПО, не уступают, а иногда и превышают возможности работы в Windows-системе с использованием проприетарных продуктов. Высокая эффективность настольных вычислительных систем достигается лишь при условии тщательной настройки системы и использования набора стандартных библиотек (ATLAS, BLAS и LAPACK), собранных из исходного кода, и пересборки необходимых программ. Кроме того, в различных дистрибутивах на первый взгляд мало отличающиеся компоненты могут заметно различаться по возможностям. По набору всевозможного программного обеспечения для решения задач вычислительного характера непревзойдённым является дистрибутив Debian.

Выводы

  1. Перспективным направлением развития методики математического моделирования гидродинамических, тепловых и физико-химических процессов для технических приложений является использование специализированных скриптовых языков программирования, включающих функции, реализующие основные численные методы и возможности создания графических иллюстраций. Проведено сравнительное исследование ряда открытых и коммерческих средств разработки вычислительных программ. Установлено, что в UNIX-подобных ОС открытые средства разработки практически не уступают развитым коммерческим пакетам.
  2. Высокая эффективность настольных вычислительных систем с открытым кодом достигается лишь при условии тщательной настройки системы и использования набора стандартных библиотек
  3. Для практического использования результатов математического моделирования при решении производственных задач или в учебном процессе целесообразно объединение разрозненных моделей в специализированные пакеты расширения для программных сред общего назначения.