Розробка об’єктно-орієнтованої архітектури скінченно-елементного моделювання елементів конструкцій

Автор(и)

DOI:

https://doi.org/10.15587/1729-4061.2022.268018

Ключові слова:

метод скінченних елементів, об’єктно-орієнтоване програмування, шаблон проєктування, теорія пружності, PyFEM

Анотація

Розроблено архітектуру та програмну реалізацію бібліотеки класів скінченно-елементного аналізу задач теорії пружності з відкритим програмним кодом. Практична необхідність таких систем пов’язана з тим, що у сучасній техніці виникають нові типи матеріалів, розрахунок елементів конструкцій яких має певні особливості. Як наслідок, необхідно оновлювати відповідне наукове програмне забезпечення чи, навіть, створювати нове. Гнучка програмна архітектура розробляється з метою зменшення часу та складності таких оновлень. Проаналізовано наявні реалізації методу скінченних елементів з відкритим програмним кодом та виявлено, що відсутні системи, спрямовані на максимально гнучку та зрозумілу для користувача архітектуру. Запропонована в роботі система абстрактних класів відповідає відомим SOLID принципам об’єктно-орієнтованого проєктування та дозволяє масштабувати вже розроблену програму аналізу для нових задач у легкий та зрозумілий спосіб. Для тестування якості розробленої системи з точки зору програмної інженерії використано метрики коду індекс ремонтопридатності та цикломатична складність. Значення вказаних метрик для модулів ядра системи PyFEM змінюються в таких діапазонах: від 1 до 18 для індексу ремонтопридатності, від 22 до 100 для цикломатичної складності. Виконано тестування PyFEM на задачі визначення напружено-деформованого стану лопатки ротора турбіни. Завдяки простоті реалізації вдалося побудувати набір ефективних й інтуїтивно-зрозумілих класів, що дозволяють виконувати чисельне розв’язання статичних і динамічних задач теорії пружності. Розроблена бібліотека класів може бути використана при розробці як універсального, так і спеціалізованого програмного забезпечення, призначеного для аналізу мультифізичних задач

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

Олексій Валентинович Гнєздовський, Національний університет «Запорізька політехніка»

Старший викладач

Кафедра інформаційних технологій в туризмі

Олексій Володимирович Кудін, Запорізький національний університет

Кандидат фізико-математичних наук, доцент

Кафедра програмної інженерії

Юрій Олександрович Бєлоконь, Запорізький національний університет

Доктор технічних наук, доцент

Кафедра обробки металів тиском

Дмитро Олегович Кругляк, Запорізький національний університет

Кандидат технічних наук, доцент

Кафедра обробки металів тиском

Сергій Віталійович Ільїн, Запорізький національний університет

Кандидат технічних наук

Кафедра теплоенергетики та гідроенергетики

Посилання

  1. Breslavskyi, D. V., Korytko, Yu. M., Tatarinova, O. A. (2017). Proektuvannia ta rozrobka skinchennoelementnoho prohramnoho zabezpechennia. Kharkiv, 232. Available at: http://library.kpi.kharkov.ua/files/new_postupleniya/prropz.pdf
  2. Logg, A., Mardal, K.-A., Wells, G. (Eds.) (2012). Automated Solution of Differential Equations by the Finite Element Method. Lecture Notes in Computational Science and Engineering. doi: https://doi.org/10.1007/978-3-642-23099-8
  3. Choporov, S., Gomenyuk, S., Kudin, O., Lisnyak, A. (2018). Design patterns for object-oriented scientific software. CEUR Workshop Proceedings, 441–444. Available at: https://ceur-ws.org/Vol-2105/10000441.pdf
  4. Cimrman, R., Lukeš, V., Rohan, E. (2019). Multiscale finite element calculations in Python using SfePy. Advances in Computational Mathematics, 45 (4), 1897–1921. doi: https://doi.org/10.1007/s10444-019-09666-0
  5. Hecht, F. (2012). New development in freefem++. Journal of Numerical Mathematics, 20 (3-4). doi: https://doi.org/10.1515/jnum-2012-0013
  6. Xie, J., Ehmann, K., Cao, J. (2022). MetaFEM: A generic FEM solver by meta-expressions. Computer Methods in Applied Mechanics and Engineering, 394, 114907. doi: https://doi.org/10.1016/j.cma.2022.114907
  7. Renard, Y., Poulios, K. (2021). GetFEM: Automated FE Modeling of Multiphysics Problems Based on a Generic Weak Form Language. ACM Transactions on Mathematical Software, 47 (1), 1–31. doi: https://doi.org/10.1145/3412849
  8. Badia, S., Verdugo, F. (2020). Gridap: An extensible Finite Element toolbox in Julia. Journal of Open Source Software, 5 (52), 2520. doi: https://doi.org/10.21105/joss.02520
  9. Khara, B., Balu, A., Joshi, A., Sarkar, S., Hegde, C., Krishnamurthy, A., Ganapathysubramanian, B. (2021). NeuFENet: Neural Finite Element Solutions with Theoretical Bounds for Parametric PDEs. arXiv. doi: https://doi.org/10.48550/arXiv.2110.01601
  10. Mitusch, S. K., Funke, S. W., Kuchta, M. (2021). Hybrid FEM-NN models: Combining artificial neural networks with the finite element method. Journal of Computational Physics, 446, 110651. doi: https://doi.org/10.1016/j.jcp.2021.110651
  11. Uriarte, C., Pardo, D., Omella, Á. J. (2022). A Finite Element based Deep Learning solver for parametric PDEs. Computer Methods in Applied Mechanics and Engineering, 391, 114562. doi: https://doi.org/10.1016/j.cma.2021.114562
  12. Grementieri, L., Galeone, P. (2022). Towards Neural Sparse Linear Solvers. arXiv. doi: https://doi.org/10.48550/arXiv.2203.06944.
  13. Trushevskyi, V. M., Shynkarenko, H. A., Shcherbyna, N. M. (2014). Metod skinchennykh elementiv i shtuchni neironni merezhi. Liviv: LNU imeni Ivana Frankach, 396.
  14. Geuzaine, C., Remacle, J.-F. (2009). Gmsh: A 3-D finite element mesh generator with built-in pre- and post-processing facilities. International Journal for Numerical Methods in Engineering, 79 (11), 1309–1331. doi: https://doi.org/10.1002/nme.2579
  15. Netgen/NGSolve. Available at: https://ngsolve.org/
  16. Weisfeld, M. (2019). The Object-Oriented Thought Process. Addison-Wesley, 412.
  17. Ihnatchenko, M. S., Kudin, O. V., Gnezdovskiy, O. V. (2020). Object-oriented implementation of the finite element analysis library in the python programming language. Visnyk of Zaporizhzhya National University. Physical and Mathematical Sciences, 1, 138–147. doi: https://doi.org/10.26661/2413-6549-2020-1-18
  18. Turan, O., Tanriöver, Ö. Ö. (2018). An Experimental Evaluation of the Effect of SOLID Principles to Microsoft VS Code Metrics. AJIT-e: Online Academic Journal of Information Technology, 9 (34), 7–24. doi: https://doi.org/10.5824/1309-1581.2018.4.001.x
  19. Ranjan, A., Rakshith, A. (2021). Analysis of Industrial Gas Turbine Blade. International Research Journal of Engineering and Technology, 8 (5), 4247–4251.
  20. Yuriy, B., Aleksandr, Z., Karina, B. (2017). The investigation of nanostructure formation in intermetallic γ-TiAl alloys. 2017 IEEE International Young Scientists Forum on Applied Physics and Engineering (YSF). doi: https://doi.org/10.1109/ysf.2017.8126640
  21. Sereda, B., Sereda, D., Belokon, Y. (2015). Investigation of corrosion and oxidation of γ-TiAl alloys obtained in self propagating high temperature synthesis. Materials Science and Technology Conference and Exhibition. Vol. 2. Columbus, 1249–1255.
Розробка об’єктно-орієнтованої архітектури скінченно-елементного моделювання елементів конструкцій

##submission.downloads##

Опубліковано

2022-12-30

Як цитувати

Гнєздовський, О. В., Кудін, О. В., Бєлоконь, Ю. О., Кругляк, Д. О., & Ільїн, С. В. (2022). Розробка об’єктно-орієнтованої архітектури скінченно-елементного моделювання елементів конструкцій. Eastern-European Journal of Enterprise Technologies, 6(2 (120), 78–84. https://doi.org/10.15587/1729-4061.2022.268018