RUS  ENG
Full version
JOURNALS // Journal of the Belarusian State University. Mathematics and Informatics // Archive

Journal of the Belarusian State University. Mathematics and Informatics, 2023 Volume 2, Pages 63–79 (Mi bgumi434)

Theoretical foundations of computer science

Multithreaded programming and caching within the framework of microservice architecture for the research of shell structures

E. A. Buyvolov, A. A. Semenov

Saint Petersburg State University of Architecture and Civil Engineering, 4 $2^{nd}$ Krasnoarmeiskaya Street, Saint Petersburg 190005, Russia

Abstract: 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 microservice 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.

Keywords: shells; buckling; microservice architecture; multithreaded programming; Python; Vue.js; Maple.

UDC: 539.3+004.02+004.942

Received: 11.01.2023
Revised: 19.03.2023
Accepted: 02.06.2023

DOI: 10.33581/2520-6508-2023-2-63-79



© Steklov Math. Inst. of RAS, 2024