|
Теоретические основы информатики
Многопоточное программирование и кеширование в рамках микросервисной архитектуры для исследования оболочечных конструкций
Е. А. Буйволов, А. А. Семенов Санкт-Петербургский государственный архитектурно-строительный университет, ул. 2-я Красноармейская, 4, 190005, г. Санкт-Петербург, Россия
Аннотация:
Статья посвящена вопросу разработки высокопроизводительного программного обеспечения для расчета тонкостенных оболочечных конструкций, процесс деформирования которых носит существенно нелинейный характер и требует больших вычислительных ресурсов. Использована математическая модель типа Тимошенко (Миндлина – Рейснера), учитывающая геометрическую нелинейность, ортотропию материала, поперечные сдвиги и наличие ребер жесткости. Модель записана в виде функционала полной потенциальной энергии деформации и может быть применена для исследования конструкций различной геометрической формы. Для осуществления расчета использованы метод Ритца и метод Ньютона. При программной реализации показано, каким образом от сервисной архитектуры получилось перейти к эффективной микросервисной архитектуре, заменив один из недостаточно производительных Java-модулей на Python-модуль. Проведена оптимизация вычислительного алгоритма для реализации многопоточного расчета всех стадий вычисления, включая метод Ньютона. Выполнены замеры производительности расчета при различных подходах к реализации многопоточного расчета, а именно parallelStream и ForkJoinPool.
Затронуто использование концепции MapReduce в рамках фреймворка Java Stream API. Таким образом, разработано эффективное микросервисное приложение, позволяющее моделировать процесс деформирования оболочечных конструкций, в том числе усиленных ребрами жесткости. Полученный в клиентской части приложения графический результат зависимости прогиба от нагрузки позволяет судить о корректности численного решения. Показана эффективность предложенного алгоритма по сравнению с подходом, реализованным в математическом пакете Maple (на основе анализа устойчивости пологой оболочки двоякой кривизны).
Ключевые слова:
оболочки; устойчивость; микросервисная архитектура; многопоточное программирование; Python; Vue.js; Maple.
Поступила в редакцию: 11.01.2023 Исправленный вариант: 19.03.2023 Принята в печать: 02.06.2023
Образец цитирования:
Е. А. Буйволов, А. А. Семенов, “Многопоточное программирование и кеширование в рамках микросервисной архитектуры для исследования оболочечных конструкций”, Журн. Белорус. гос. ун-та. Матем. Инф., 2 (2023), 63–79
Образцы ссылок на эту страницу:
https://www.mathnet.ru/rus/bgumi434 https://www.mathnet.ru/rus/bgumi/v2/p63
|
Статистика просмотров: |
Страница аннотации: | 76 | PDF полного текста: | 35 | Список литературы: | 28 |
|