Гнєздовський О. В. Відкрита об’єктно-орієнтована архітектура систем скінченно-елементного аналізу

English version

Дисертація на здобуття ступеня доктора філософії

Державний реєстраційний номер

0824U001318

Здобувач

Спеціальність

  • 122 - Комп’ютерні науки

25-12-2023

Спеціалізована вчена рада

ДФ 17.051.073

Запорізький національний університет

Анотація

Дисертаційна робота присвячена розробці відкритої об’єктно-орієнтованої архітектури, яка може бути застосована при розробці як універсальних, так і спеціалізованих систем скінченно-елементного аналізу широких класів крайових задач. В наш час велика кількість актуальних проблем науки та техніки призводять до необхідності розв’язання різних типів крайових задач. Для більшості з них на сьогодні неможливо отримати точні аналітичні розв’язки, що потребує створення відповідного математичного та програмного забезпечення для наближеного чисельного розв’язання диференційних рівнянь (звичайних та у частинних похідних) або їх систем. Найбільш поширеним на сьогодні способом наближеного розв’язання крайових задач є метод скінченних елементів (МСЕ). Для його використання створено значну кількість як універсального, так і спеціалізованого програмного забезпечення (ПЗ). Серед найбільш відомих програм скінченно-елементного аналізу (пропрієтарних та з відкритим кодом) можна відзначити Abaqus, Ansys, FreeFEM, Mathematica, Nastran, OpenCAD та багато інших. Тут слід зазначити, що на сьогодні такого ПЗ розроблено (і постійно продовжує розроблятися) велика кількість, оскільки воно призначено як для розв’язання різних типів задач, так і різних форм застосування (комерційного, навчального, наукового, open source тощо). Крім того, постійно змінюються можливості обчислювальної техніки (широкого розповсюдження останнім часом отримали багатопроцесорні системи) і вимоги практики (наприклад, необхідність враховувати застосування нових типів матеріалів, таких як композити або матеріали з пам’яттю). Переважну більшість з наявних програм скінченно-елементного аналізу реалізовано мовами програмування С та С++. Слід зазначити, що внесення змін в таке ПЗ для його адаптації до вирішення нових класів задач через складність С/С++ є нетривіальною процедурою. Тому на практиці виникає завдання створення таких програм для скінченно-елементного аналізу, які б, з одного боку, мали відкриту й просту архітектуру, а, з іншого боку, підтримували можливість легкого внесення в них змін для розширення функціональності. Іншими словами, мали б у порівнянні з ПЗ, написаним на мовах С/С++, високу швидкість розробки. Останнім часом однією з найбільш популярних при розробці наукового ПЗ є мова програмування Python, яка початково створювалася для підвищення ефективності роботи програміста. Вона має легкий для розуміння синтаксис і зараз для неї розроблено велику кількість бібліотек, що реалізують різний математичний функціонал (наприклад, NumPy та SciPy, що використовуються для наукових розрахунків). Проте, до сьогодні систем скінченно-елементного аналізу на Python розроблено відносно мало. Серед них можна виділити, наприклад, fempy, FEniCS, PolyFEM, SfePy, втім частина з них має лише python-інтерфейс, але написана на С++. Це можна пояснити тим фактом, що прийнято вважати швидкість роботи python-програм нижчою, ніж у аналогів, написаних на С++. Тим не менш, динамічна типізація Python і його можливості продуктивної розробки програм роблять його перспективним засобом створення нового ефективного ПЗ для чисельного вирішення широких класів крайових задач з використанням МСЕ. Тому розробка відкритої архітектури ПЗ для МСЕ є актуальною в наш час задачею. Таким чином, створення нового ПЗ скінченно-елементного аналізу з відкритою архітектурою і програмним кодом, яке б давало змогу користувачам розв’язувати широкі класи крайових задач на сучасних комп’ютерних платформах є актуальною й важливою задачею. На логічному рівні будь-яке сучасне ПЗ для скінченно-елементного аналізу за своєю архітектурою може бути поділено на три окремі складові (підсистеми): 1) препроцесор – підсистема автоматизації підготовки вихідних даних для чисельного розрахунку (у більшості випадків це генератор скінченно-елементної моделі вихідної геометричної області, для якої виконується розрахунок); 2) процесор – підсистема, що безпосередньо реалізує скінченно-елементний розрахунок задачі (центральний елемент будь-якого ПЗ чисельного аналізу); 3) постпроцесор – підсистема, що автоматизує аналіз великих масивів числової інформації, отриманих як результат роботи процесору (частіше за все у вигляді різноманітних зображень полів досліджуваних функцій). Генерація скінченно-елементної моделі, яку покладено на препроцесор, в загальному вигляді може бути поділена два окремих етапи: 1) побудова формального опису геометричної області, для якої виконується розрахунок, у певному форматі, який є придатним для подальшої автоматичної обробки;...

Публікації

Розрахунок напружено-деформованого стану металевих паль / О. В. Гнєздовський та ін. Запорізького національного університету. Фізико-математичні науки. 2020. С. 14–19

М.С Ігнатченко О.В Кудін О.В Гнездовський. Об’єктно-орієнтована реалізація бібліотеки скінченно-елементного аналізу мовою програмування python. Вісник Запорізького національного університету. Фізико-математичні науки. 2020. № 1. С. 138–147.

Designing an object-oriented architecture for the finite element simulation of structural elements / O. Hniezdovskyi et al. Eastern-European Journal of Enterprise Technologies. 2022. Vol. 6. P. 78-84. (SCOPUS, Q3)

Файли

Схожі дисертації