Правильная ссылка на статью:
Читалов Д.И., Калашников С.Т..
Разработка графической оболочки для параллельных расчетов на базе платформы OpenFOAM
// Кибернетика и программирование.
2019. № 4.
С. 36-50.
DOI: 10.25136/2644-5522.2019.4.29202 URL: https://nbpublish.com/library_read_article.php?id=29202
Аннотация:
Графические интерфейсы являются важнейшим элементом человеко-компьютерного взаимодействия. Они обеспечивают формирование входных данные для программ и визуализацию результатов. Коммерческое программное обеспечение преимущественно поставляется со встроенными графическими средствами взаимодействия. При этом некоторые открытые программные решения, в частности, платформа OpenFOAM лишена встроенных средств взаимодействия. Данная проблема сохраняет свою актуальность, поскольку существующие графические интерфейсы имеют недостатки. В настоящей работе представлен поэтапный процесс разработки графической оболочки для реализации взаимодействия пользователя с платформой OpenFOAM – для постановки численных экспериментов применительно к задачам механики сплошных сред (МСС) в режиме параллельного выполнения. Для достижения поставленной цели определен список задач и необходимых инструментов: язык программирования Python 3.5, фреймворк описания элементов интерфейса PyQt5, интегрированная среда разработки PyCharm. Приведены диаграммы, демонстрирующие взаимосвязь модулей программы, и механизм работы программы. Сформулированы результаты разработки и тестирования приложения на примере проекта одной из стандартных задач МСС, входящих в дистрибутив платформы OpenFOAM. Сформулирована научная новизна исследования, в частности: сериализация параметров численного эксперимента с помощью модуля Pickle языка Python и таблиц базы данных в формате SQLite, возможность создания различных версий файлов с параметрами задач МСС, возможность запуска консольных команд с помощью bash-скриптов. Также определена практическая ценность работы и дальнейшие перспективы.
Ключевые слова:
численное моделирование, механика сплошных сред, параллельные вычисления, OpenFOAM, открытое программное обеспечение, графический интерфейс пользователя, язык программирования Python, библиотека PyQt, СУБД SQLite, bash-скриптинг
Abstract:
Graphical interfaces are an essential element of human-computer interaction. They provide the formation of input data for programs and visualization of results. Commercial software predominantly comes with integrated graphical communication tools. At the same time, some open-source software solutions, in particular, the OpenFOAM platform, have no built-in interaction tools. This problem remains relevant because existing graphical interfaces have disadvantages. This paper presents a phased process for developing a graphical shell for implementing user interaction with the OpenFOAM platform - for setting up numerical experiments in relation to the tasks of continuum mechanics (MSS) in parallel execution mode. To achieve this goal, a list of tasks and necessary tools is defined: the Python 3.5 programming language, the PyQt5 interface element description framework, and the PyCharm integrated development environment. The diagrams showing the interconnection of the program modules and the mechanism of the program. The results of the development and testing of the application are formulated using the example of a project of one of the standard tasks of the MSS included in the distribution platform platform OpenFOAM. The scientific novelty of the study is formulated, in particular: serialization of the parameters of a numerical experiment using the Python Pickle module and database tables in SQLite format, the ability to create various versions of files with MCC task parameters, the ability to run console commands using bash scripts. The practical value of the work and further prospects are also determined.
Keywords:
graphical user interface, open source software, OpenFOAM, parallel computing, continuum mechanics, numerical simulation, Python programming language, PyQt library, SQLite DBMS, bash-scripting