Logo BSU

Пожалуйста, используйте этот идентификатор, чтобы цитировать или ссылаться на этот документ: https://elib.bsu.by/handle/123456789/300500
Заглавие документа: Многопоточное программирование и кеширование в рамках микросервисной архитектуры для исследования оболочечных конструкций
Другое заглавие: Multithreaded programming and caching within the framework of microservice architecture for the research of shell structures / E. A. Buyvolov, A. A. Semenov
Авторы: Буйволов, Е. А.
Семенов, А. А.
Тема: ЭБ БГУ::ОБЩЕСТВЕННЫЕ НАУКИ::Информатика
Дата публикации: 2023
Издатель: Минск : БГУ
Библиографическое описание источника: Журнал Белорусского государственного университета. Математика. Информатика = Journal of the Belarusian State University. Mathematics and Informatics. – 2023. – № 2. – С. 63-79
Аннотация: Статья посвящена вопросу разработки высокопроизводительного программного обеспечения для расчета тонкостенных оболочечных конструкций, процесс деформирования которых носит существенно нелинейный характер и требует больших вычислительных ресурсов. Использована математическая модель типа Тимошенко (Миндлина – Рейснера), учитывающая геометрическую нелинейность, ортотропию материала, поперечные сдвиги и наличие ребер жесткости. Модель записана в виде функционала полной потенциальной энергии деформации и может быть применена для исследования конструкций различной геометрической формы. Для осуществления расчета использованы метод Ритца и метод Ньютона. При программной реализации показано, каким образом от сервисной архитектуры получилось перейти к эффективной микросервисной архитектуре, заменив один из недостаточно производительных Java-модулей на Python-модуль. Проведена оптимизация вычислительного алгоритма для реализации многопоточного расчета всех стадий вычисления, включая метод Ньютона. Выполнены замеры производительности расчета при различных подходах к реализации многопоточного расчета, а именно parallelStream и ForkJoinPool. Затронуто использование концепции MapReduce в рамках фреймворка Java Stream API. Таким образом, разработано эффективное микросервисное приложение, позволяющее моделировать процесс деформирования оболочечных конструкций, в том числе усиленных ребрами жесткости. Полученный в клиентской части приложения графический результат зависимости прогиба от нагрузки позволяет судить о корректности численного решения. Показана эффективность предложенного алгоритма по сравнению с подходом, реализованным в математическом пакете Maple (на основе анализа устойчивости пологой оболочки двоякой кривизны).
Аннотация (на другом языке): This work is devoted to the development of high-performance software for the calculation of thin-walled shell structures. The process of their deformation is essentially non-linear and requires large computing resources. The study is based on a mathematical model of the Timoshenko (Mindlin – Reissner) type, which takes into account geometric non-linearity, material orthotropy, transverse shears and the presence of stiffeners. The model is written in the form of a functional of the total potential energy of deformation, and can be used to study the structures of various geometric shapes. To carry out the calculation, we use the Ritz method and Newton’s method. In software implementation, it is shown how it is possible to move from a service architecture to an efficient microservice architecture, replacing one of the insufficiently performing Java modules with a Python module. Optimisation is carried out for the implementation of multithreaded calculation of all stages of calculation, including Newton’s method. Measurements of the performance of the calculation are obtained for various approaches to the implementation of multithreaded calculation, namely, parallelStream and ForkJoinPool. The use of the MapReduce concept within the framework of Java Stream API is considered. Thus, an effective micro-service application has been developed that allows simulating the process of deformation of shell structures, including those reinforced with stiffeners. The graphical result of the dependence of the deflection on the load obtained in the client part of the application makes it possible to judge the correctness of the numerical solution. The efficiency of the proposed algorithm is shown by comparing it with the implementation in the Maple mathematical package. The comparison is made on the basis of an analysis of the buckling of a shallow shell of double curvature.
URI документа: https://elib.bsu.by/handle/123456789/300500
ISSN: 2520-6508
DOI документа: 10.33581/2520-6508-2023-2-63-79
Лицензия: info:eu-repo/semantics/openAccess
Располагается в коллекциях:2023, №2

Полный текст документа:
Файл Описание РазмерФормат 
63-79.pdf1,94 MBAdobe PDFОткрыть
Показать полное описание документа Статистика Google Scholar



Все документы в Электронной библиотеке защищены авторским правом, все права сохранены.