Швиденько про Методи Оптимізації Геометрії


Ця тема є дуже і дуже глибкою. Тут неможна так швиденько три слова сказали і забули. Але… але перш ніж глибоко лізти в оптимізацію до неї ще треба доповзти. А всі люди в нас дуже нетерплячі.

Тому в рамках публікацій:

Що не так с Generative Design у Autodesk?

Треба хоч пару слів сказати про те які ще є варіанти. Якщо Вас ця тема цікавить – пишіть відгуки, може доповземо до повноцінної серії трохи швидше.

В попередніх публікаціях були наведені приклади двох ріхних типов shape/topology optimization:

  • density based
  • level-set

Перший можна перекласти як на “базі щільності” другий: “набір/сукупність рівнів/ступенів”. Простіше за все повторити зображження та додати опис:

https://link.springer.com/article/10.1007/s00158-021-03024-9

Ці два рисунка як раз і демонструють різницю.

У тому що має назву з “щільністю” на початку вся геометрія має однакову щільність поступово збільшуючи щільність там де це корисно і зменьшуючи там де в цьому немає потреби. Але церез те що на початку щільність дуже слабо відрізняється – алгоритму дуже складно визначитись з пріорітетами щодо того де щільність додати а де не змінювати. То ж компьютеру доводиться гратися з маленькими кроками і робити велику кількість ітерацій (кроків)

У тому де є щось про “рівні” – ми маємо початкову структуру з певною кількістю “дірок”. Насправді суцільних дірок там немає, бо цей метод також грається щільністю, але через наявність краще визначенної структури алгоритмустає значно простіше працювати, і як бачимо в нас не співпадає не тільки початкова структура (геометрія) з фінішною але і початкова кількість дірок у “сирі” з кінцевою. Проблема цього методу полягає в тому що треба задати почткову структуру (та кількість/розмір) дірок.. І це впливає на результат який ми будемо отримувати. Умовно зі збільшенням кількості дірок, та зменьшенням їх розміру цей метод умовно перетворюється на перший.

ТАкож слід скзати що при коректній постановці ці результати можуть видавати дуже схожі^

density based
level-set

Проблемами цих методів є те, що ми працюємо не з тією геометрією що нам демонструє програма, а з тією що була на початку, тільки в різних точках маємо різну щільність. І повірте це дуже важливо. Коротко про це можна почитати в публікації з циклу порівняння соліда та фьюжа. Більш детально вже пізніше.

Наступний варіант це Node-Based (freeform)

початкова
оптимізована
https://www.cee.ed.tum.de/en/st/research/optimization/node-based-structural-optimization/

Можна побачити що в цьому випадку топологія не зазнає принципових змін, але геометрія в результаті може бути досить складною. В данному випадку переміщуються всі вузли або на кордоні (а потім робиться повторна розбивка – ремешінг) або зміщуюються взагалі всі вузли (граничні більше, ті що в середені – меньше, якщо мова йде про 3Д). В 3Д використовується переважно для вирішення задач ггазо-гідродинаміки, або простих задач міцності. А от для оболонок – можна досить сильно розгулятися, особливо якщо гратися не тільки положенням точок, але й товщиною в конкретних точках (це можливо реалізувати для композиційних матеріалів, варіюючи кількість шарів, для пластикових деталей, і, з певними обмеженнями, для металевих листів). Іноді таку оптимізацію товщин називають Sizing optimization (і її можна виконувати не тільки для Shell але і здля тонкотінних 3D об’єктів) Сюди ж іноді додають оптимізацію і шарів для композиційних матеріалів (мова йде не тільки про товщину, але і про кількість шарів, їх орієнтацію по шарам, тощо). Що ж до оптимізації геометрії оболонок – topography/topometry optymization

https://www.researchgate.net/publication/264886208_Structural_optimization_of_a_thin-shell_bridge_structure

Наступним варіантом є метод часток – Lattice Based.

Тобто якщо в усіх попередніх варіантах, навіть граючись щильністю ми намагалися все одно отримати суцільну конструкцію, то тепер за допомогою часток, ми можемо реалізувати ту саму змінну щільність. частки можуть мати дуже різні форми і змінюючи товщини її елементів – змінюємо відносну щільність. Тим хто займається 3Д друком – тема більш ніж знайома.

Здебільшого ніхто не моделює в розрахунках всі ці частки. достатньо просто провести оптимізаціє на базі щільності, але з трохи іншими налаштунками, не вимагаючи того, щоб вся щільність розподілилась по зонах з 100% (точніше 70+) та 0% (точніше 30-) з максимально швидкими переходами. В цьому випадку плавний перехід щільності – є більш раціональним підходом.

Наступний варіант можна назвати розвитком методу часток. Принаймні для тих хто не в темі він виглядає саме так. Хоча насправді це значно більш складна технологія: Signed Distance Function

https://ntopology.com/

Це не всі варіанти, але найбільш поширенні з тих що мають відношення до оптимізації форми.

А ще є Parametric optimization – параметрична оптимізація, де граються конкретними параметрами (геометричними розмірами, наявністю/відсутністю окремих структурних елементів, параметрами товщин (більш глобальними ніж те що було описано вище), матеріалу і багато чого іншого). Звісно це можливо робити тільки якщо модель (в тому числі геометрія) керується цими параметрами, то ж здебільшого це для поєнання оптимізаціїї та “Feature-Based (History-Based) modeling”

А ще є “Процедурна оптимізація” по суті те ж саме що і написано вище, але для іншого способу створення геометрії, тим що називають процедурною генераціює, обчислювальним дизайном (Computational Design) та багатьма іншими речами.

Ну десь так. Начебто все, і начебто не надто довго.


Одна відповідь до “Швиденько про Методи Оптимізації Геометрії”

Залишити відповідь

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *