Розпаралелювання розрахунку тривимірних температурних полів у нелінійних анізотропних середовищах методом скінченних елементів
Анотація
Наведено результати розроблення та комплексного дослідження гібридного паралельного алгоритму методу скінченних елементів (МСЕ) для моделювання тривимірних стаціонарних температурних полів у нелінійних анізотропних середовищах. Виявлено, що традиційні реалізації МСЕ, зокрема – мовою 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

Ця робота ліцензується відповідно до Creative Commons Attribution 4.0 International License.



