Розпаралелювання розрахунку тривимірних температурних полів у нелінійних анізотропних середовищах методом скінченних елементів

Ключові слова: паралельна реалізація МСЕ, лагранжевий тетраедр, компилятор Numba, бібліотека Joblib, розріджені матриці, COO формат

Анотація

Наведено результати розроблення та комплексного дослідження гібридного паралельного алгоритму методу скінченних елементів (МСЕ) для моделювання тривимірних стаціонарних температурних полів у нелінійних анізотропних середовищах. Виявлено, що традиційні реалізації МСЕ, зокрема – мовою Python, мають обчислювальні обмеження ("вузькі місця") в разі застосування густих сіток через особливість інтерпретатора Python обмежувати одночасне виконання декількох потоків коду в одному процесі GIL (англ. Global Interpreter Lock) та через низьку швидкість оброблення операторів циклу. Встановлено, що обмежувачами обчислювальної продуктивності методу у стандартних алгоритмах є етапи формування локальних внесків (assembly) скінченних елементів та їх агрегації (aggregation) у глобальну матрицю жорсткості GSM (англ. Global Stiffness Matrix), які становлять основну частку витрат часу до моменту розв'язання системи лінійних алгебраїчних рівнянь (СЛАР). З'ясовано, що застосування комбінованої моделі обчислень, яка поєднує JIT (англ. Just-in-Time) компіляцію Numba та багатопроцесорного оброблення даних засобами бібліотеки Joblib, дає змогу ефективно паралелізувати процес Assembly та пришвидшити генерування СЛАР. Оцінено вплив структури зберігання розріджених матриць на загальну тривалість розрахунку тривимірних температурних полів: доведено, що використання формату COO (англ. Coordinate List) усуває проблему "перегонів даних" (data race), даючи можливість кожному процесу генерувати внески в матрицю жорсткості та вектора нев'язок незалежно. Охарактеризовано закономірності масштабованості запропонованого алгоритму, який забезпечує значне пришвидшення етапу агрегації елементів матриці жорсткості (до 337 разів) завдяки заміні повільного поелементного додавання даних у розріджені матриці на ефективне групове об'єднання COO-масивів із подальшим швидким перетворенням у CSR-формат. Виявлено, що після оптимізації етапів формування матриці основне обчислювальне навантаження переходить на етап розв'язання СЛАР (Solver). Оцінено практичну значущість запропонованого програмного забезпечення, яке забезпечує зменшення тривалості генерування СЛАР порівняно з еталонним кодом до 5,93 раза. Наведено наукову новизну роботи, яка полягає в розробленій методиці паралельного формування глобальної матриці жорсткості та вектора нев'язок МСЕ для моделювання тривимірних температурних полів у нелінійних анізотропних середовищах.

Завантаження

Дані завантаження ще не доступні.

Біографії авторів

В. І. Яркун, Національний лісотехнічний університет України, м. Львів

ст. викладач, кафедра інженерії програмного забезпечення

В. П. Карашецький, Національний лісотехнічний університет України, м. Львів

канд. техн. наук, доцент, кафедра інженерії програмного забезпечення

Ю. С. Процик, Національний лісотехнічний університет України, м. Львів

канд. фіз.-мат. наук, доцент, кафедра комп'ютерних наук

Посилання

Bekas, B. O., Prots, A. M., & Hrytsiuk, Y. I. (2026). Software for isolated deployment of a web application in a containerized environment. Scientific Bulletin of UNFU, 36(3), 86–97. https://doi.org/10.36930/40360309

Belhamadia, Y., & Seaid, M. (2024). A mixed finite element method for nonlinear radiation–conduction equations in optically thick anisotropic media. Mathematics and Computers in Simulation, 216, 15–29. https://doi.org/10.1016/j.matcom.2023.08.031

Bouziane, M. T., Benhamou, B., & El Alami, M. (2021). 3D hybrid finite elements for anisotropic heat conduction in a multi-material cylinder and complex geometry. International Journal of Heat and Mass Transfer, 161, article ID 120251. https://doi.org/10.1016/j.ijheatmasstransfer.2020.119795

Cao, H., Tchelepi, H. A., Wallis, J., & Yardumian, H. (2005). Parallel scalable unstructured CPR-type linear solver for reservoir simulation. SPE Annual Technical Conference and Exhibition, 1(1), article ID 96809. https://doi.org/10.2118/96809-MS

Chagas Paz, A. A., Abreu de Souza, M., Wyatt Brock, P., & Ferreira Mercuri, E. G. (2022). Finite element analysis to predict temperature distribution in the human neck with abnormal thyroid: A proof of concept. Computer Methods and Programs in Biomedicine, 227(1), article ID 107234. https://doi.org/10.1016/j.cmpb.2022.107234

Chen, Z. X. (2005). Finite element methods and their applications. Springer, Berlin, 1(1), article number 424. https://doi.org/10.1007/3-540-28078-2

Dalcin, L. D., Paz, R. R., Kler, P. A., & Cosimo, A. (2011). Parallel distributed computing using Python. Advances in Water Resources, 34(9), 1124–1139. https://doi.org/10.1016/j.advwatres.2011.04.013

Fenii, N. S., & Hrytsiuk, Y. I. (2020). Automation of the process of classification of text news from internet sites by neural network methods. Scientific Bulletin of UNFU, 30(4), 123–133. https://doi.org/10.36930/40300421

Gembarovic, J., Löffler, M., & Gembarovic Jr, J. (2004). Simple algorithm for temperature distribution calculations. Applied Mathematical Modelling, 28(2), 173–182. https://doi.org/10.1016/S0307-904X(03)00129-X

Havrysh, V. I., & Hrytsiuk, Y. I. (2023). Mathematical models for the determination of temperature fields in elements of electronic devices with semi-through foreign inclusions. Scientific Bulletin of UNFU, 33(3), 55–65. https://doi.org/10.36930/40330308

Havrysh, V. I., & Shkrab, R. R. (2023). Mathematical models for determining temperature fields in digital device elements with local external heating and taking into account thermal sensitivity. Scientific Bulletin of UNFU, 33(5), 84–92. https://doi.org/10.36930/40330511

Havrysh, V. I., Yatsyshyn, S. I., & Kruk, O. H. (2025). Mathematical modeling and analysis of temperature regimes in electronic devices with thermosensitive elements. Scientific Bulletin of UNFU, 35(3), 67–74. https://doi.org/10.36930/40350307

Homeniuk, S. I., & Kozub, V. Yu. (2022). Parallel implementa-tion of the finite element method for the thermoelasticity problem. Visnik of the Volodymyr Dahl East Ukrainian National University, No. 5 (275), 8–9. https://doi.org/10.33216/1998-7927-2019-256-8-5-9

Hrytsiuk, Y. I., & Havrysh, V. I. (2022). Numerical differentiation of periodic tabular-specified functions using the Fourier polynomial. Scientific Bulletin of UNFU, 32(5), 69–79. https://doi.org/10.36930/40320510

Karashetskyi, V. P., & Yarkun, V. I. (2024). Calculation of three-dimensional stationary potential thermal fields by the finite element method. Information Technologies and Computer Engineering, 1(1), 139–145. https://doi.org/10.31649/1999-9941-2024-59-1-139-145

Kratos Multiphysics Team. (2025). Three-dimensional finite element modeling of thermal stratification using variational multi-scale stabilization. Water, 17(5), article ID 674. https://doi.org/10.3390/w17050674

Krysl, P. (2024). Parallel assembly of finite element matrices on multicore computers. Computer Methods in Applied Mechanics and Engineering, 428, article ID 117076. https://doi.org/10.1016/j.cma.2024.117076

Lee, C. S., Hamon, F., Castelletto, N., Vassilevski, P., & White, J. (2022). An aggregation-based nonlinear multigrid solver for two-phase flow and transport in porous media. Computers & Mathematics with Applications, 113(1), 282–299. https://doi.org/10.1016/j.camwa.2022.03.026

Nangraj, A. R., Sabira, S., & Mallah, G. Y. (2026). Numerical solution of partial differential equations using Finite Element Method (FEM) implemented in Python for scientific computing applications. Center for Management Science Research; Zenodo. https://doi.org/10.5281/zenodo.19874921

Prykhodko, M. A., & Herasymov, H. H. (2008). Thermodynamics and heat transfer: Textbook. NUWEE. URL: https://ep3.nuwm.edu.ua/id/eprint/1847

Rathgeber, F., Ham, D. A., Mitchell, L., Lange, M., Luporini, F., McRae, A. T. T., Bercea, G. T., Markall, G. R., & Kelly, P. H. J. (2016). Firedrake: Automating the finite element method by composing abstractions. ACM Transactions on Mathematical Software, 43(3), article number 24. https://doi.org/10.1145/2998441

Saedi, O. (2024). Towards eco-conscious Python: A comparative analysis of performance, energy efficiency and carbon emissions between CPython and alternative implementations. ResearchGate, 1–15. https://doi.org/10.13140/RG.2.2.12314.04803

Salo, M. F., & Hrytsiuk, Y. I. (2026). Web application for forecasting military needs based on analysis and monitoring of their humanitarian support. Scientific Bulletin of UNFU, 36(3), 45–61. https://doi.org/10.36930/40360305

Sanfui, S., & Sharma, D. (2020). A three-stage graphics processing unit-based finite element analyses matrix generation strategy for unstructured meshes. International Journal for Numerical Methods in Engineering, 121(17), 3824–3848. https://doi.org/10.1002/nme.6383

Sokolovskyy, Y., Nechepurenko, A., Samotii, T., Yatsyshyn, S., Mokrytska, O., & Yarkun, V. (2020). Software and algorithmic support for finite element analysis of spatial heat-and-moisture transfer in anisotropic capillary-porous materials. 2020 IEEE Third International Conference on Data Stream Mining & Processing, pp. 316–320. https://doi.org/10.1109/DSMP47368.2020.9204175

Torskyi, O. I., & Hrytsiuk, Y. I. (2025). Application of machine learning to enhance the efficiency of automated software testing. Scientific Bulletin of UNFU, 35(4), 142–149. https://doi.org/10.36930/40350416

Trotter, J. D., Cai, X., & Funke, S. W. (2022). On memory traffic and optimisations for low-order finite element assembly algorithms on multi-core CPUs. ACM Transactions on Mathematical Software, 48(2), article ID 19, 1–31. https://doi.org/10.1145/3503925

Witkowski, T., Ling, S., Praetorius, S., & Voigt, A. (2015). Software concepts and numerical algorithms for a scalable adaptive parallel finite element method. Advances in Computational Mathematics, 41, 1145–1177. https://doi.org/10.1007/s10444-015-9405-4

Опубліковано
2026-09-24
Як цитувати
Яркун, В. І., Карашецький, В. П., & Процик, Ю. С. (2026). Розпаралелювання розрахунку тривимірних температурних полів у нелінійних анізотропних середовищах методом скінченних елементів. Scientific Bulletin of UNFU, 36(4), 51–58. https://doi.org/10.36930/40360406
Розділ
Інженерія програмного забезпечення