Logo BSU

Please use this identifier to cite or link to this item: https://elib.bsu.by/handle/123456789/300500
Title: Многопоточное программирование и кеширование в рамках микросервисной архитектуры для исследования оболочечных конструкций
Other Titles: Multithreaded programming and caching within the framework of microservice architecture for the research of shell structures / E. A. Buyvolov, A. A. Semenov
Authors: Буйволов, Е. А.
Семенов, А. А.
Keywords: ЭБ БГУ::ОБЩЕСТВЕННЫЕ НАУКИ::Информатика
Issue Date: 2023
Publisher: Минск : БГУ
Citation: Журнал Белорусского государственного университета. Математика. Информатика = Journal of the Belarusian State University. Mathematics and Informatics. – 2023. – № 2. – С. 63-79
Abstract: Статья посвящена вопросу разработки высокопроизводительного программного обеспечения для расчета тонкостенных оболочечных конструкций, процесс деформирования которых носит существенно нелинейный характер и требует больших вычислительных ресурсов. Использована математическая модель типа Тимошенко (Миндлина – Рейснера), учитывающая геометрическую нелинейность, ортотропию материала, поперечные сдвиги и наличие ребер жесткости. Модель записана в виде функционала полной потенциальной энергии деформации и может быть применена для исследования конструкций различной геометрической формы. Для осуществления расчета использованы метод Ритца и метод Ньютона. При программной реализации показано, каким образом от сервисной архитектуры получилось перейти к эффективной микросервисной архитектуре, заменив один из недостаточно производительных Java-модулей на Python-модуль. Проведена оптимизация вычислительного алгоритма для реализации многопоточного расчета всех стадий вычисления, включая метод Ньютона. Выполнены замеры производительности расчета при различных подходах к реализации многопоточного расчета, а именно parallelStream и ForkJoinPool. Затронуто использование концепции MapReduce в рамках фреймворка Java Stream API. Таким образом, разработано эффективное микросервисное приложение, позволяющее моделировать процесс деформирования оболочечных конструкций, в том числе усиленных ребрами жесткости. Полученный в клиентской части приложения графический результат зависимости прогиба от нагрузки позволяет судить о корректности численного решения. Показана эффективность предложенного алгоритма по сравнению с подходом, реализованным в математическом пакете Maple (на основе анализа устойчивости пологой оболочки двоякой кривизны).
Abstract (in another language): 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
Licence: info:eu-repo/semantics/openAccess
Appears in Collections:2023, №2

Files in This Item:
File Description SizeFormat 
63-79.pdf1,94 MBAdobe PDFView/Open
Show full item record Google Scholar



Items in DSpace are protected by copyright, with all rights reserved, unless otherwise indicated.