Podczas procesu projektowania urządzeń oraz maszyn najważniejszym celem jest spełnienie podstawowych założeń projektowych, takich jak funkcjonalność produktu, odpowiednia wytrzymałość mechaniczna czy ciekawy i wyróżniający się design. Jednak zdecydowana większość projektów ma więcej wymagań, których spełnienie jest bardzo zasobo- oraz czasochłonne.
Przy rozwiązywaniu tego typu problemów efektywne może być zastosowanie komputerów, w celu znalezienia optymalnego rozwiązania. Maszyny są w stanie w krótkim czasie sprawdzić wiele różnorodnych designów i wytypować te najbardziej obiecujące. W zależności od poszukiwanych rozwiązań, można zastosować na przykład metodę DOE (Design of Experiment), kiedy to przy pomocy algorytmów staramy się przedstawić zależności pomiędzy parametrami i ich wpływem na wynik finalny. Innym, bardzo ciekawym sposobem optymalizacji konstrukcji, jest optymalizacja bazująca wprost na geometrii CAD. Do tego typu analiz można zaliczyć między innymi optymalizację topologiczną i topograficzną.
Niestety niejednokrotnie analizowane przez nas problemy z racji swej złożoności wymagają dużych mocy obliczeniowych, co znacząco wpływa na wydłużenie czasu obliczeń. Często również, projektowany komponent jest częścią większego złożenia i przygotowanie takiej analizy bez uwzględnienia otoczenia byłoby zbyt dużym uproszczeniem, a co za tym idzie, mogłoby to doprowadzić do poważnego błędu projektowego. Dlatego w takich przypadkach zastosowanie znajdują substruktury (tzw. superelementy), za pomocą których przedstawia się reprezentację zastępczą otoczenia.
Artykuł ten jest kontynuacją wcześniejszej publikacji, w której przedstawiono główne idee wykorzystania tego typu struktur w obliczeniach MES.
Optymalizacja konstrukcji przy użyciu MES
Optymalizację konstrukcji z wykorzystaniem metody elementów skończonych przeprowadza się w celu znalezienia najlepszego możliwego rozwiązania dla danego problemu inżynierskiego. Analiza optymalizacyjna musi składać się z wszystkich podstawowych danych potrzebnych do przeprowadzenia obliczeń numerycznych, takich jak:
- siatka elementów skończonych reprezentująca analizowaną geometrię,
- podstawowe dane materiałowe takie jak moduł Younga, liczba Poissona czy gęstość materiału dla analiz dynamicznych,
- warunki brzegowe, takie jak na przykład utwierdzenia,
- wymuszenie, np. siłą lub przemieszczeniem.
Niektóre typy analiz nie wymagają warunków brzegowych oraz klasycznie rozumianego wymuszenia. Jest to między innymi analiza modalna, dla której również możliwe jest przeprowadzenie optymalizacji. Celem w tego typu optymalizacji może być między innymi przesunięcie częstotliwości własnych poprzez zmianę masy lub sztywności konstrukcji.
Należy również zauważyć, że podczas analizy optymalizacji przeprowadzane obliczenia mają charakter iteracyjny. Oznacza to, że będą one wielokrotnie powtarzane, aż do momentu uzyskania zadowalającego nas efektu. Ze względu na iteracyjność metody, zalecane jest przygotowywanie modeli, których jedna pętla obliczeniowa trwa stosunkowo krótko. Aby to osiągnąć najłatwiej jest uprościć model do akceptowalnego przez nas minimum, poprzez zmniejszenie ilości elementów lub uproszczenie skomplikowanych złożeń. Inną drogą jest zastosowanie metody substruktur, za pomocą której zastąpić można elementy konstrukcji mające wpływ na zachowanie całego złożenia. Należy jednak pamiętać, że takie uproszczenie spowoduje utratę szczegółowych wyników dla upraszczanych komponentów.
Po poprawnym przygotowaniu analizy bazowej, na potrzeby obliczeń optymalizacyjnych, należy zdefiniować kilka dodatkowych parametrów. Dane te mogą się niewiele różnić w zależności od typu przeprowadzanej optymalizacji, jednak w większości przypadków jest to:
- zdefiniowanie typu optymalizacji wraz z dodatkowymi parametrami dla danego rodzaju optymalizacji,
- definicja zmiennych będących tzw. odpowiedzą modelu, takich jak: masa, objętość, przemieszczenie, naprężenie, częstotliwość, podatność itd.
- ustalenie wartości granicznych dla wcześniej wybranych odpowiedzi,
- wybranie funkcji celu, czyli głównego kierunku w którym będzie podążał algorytm optymalizacji. Może to być na przykład minimalizacja masy komponentu, lub zwiększenie sztywności konstrukcji.
Wybór odpowiedniego rodzaju optymalizacji, oraz dobór poprawnych parametrów dla danego typu obliczeń, jest bardzo ważny. Oczywiście możliwe jest połączenie kilku typów optymalizacji, jak również różnego rodzaju kombinacje parametrów. W programie Optistruct do głównych typów optymalizacji zaliczyć można: optymalizację topologiczną, topograficzną, size oraz shape. Poniżej krótko przedstawiono każdą z nich.
Optymalizacja topologiczna polega na znalezieniu najlepszego kształtu optymalizowanej konstrukcji poprzez odpowiednie rozłożenie materiału w przestrzeni rozwiązania. Metoda ta bazuje na zmianie „gęstości” elementów w zakresie 0-1, gdzie dla wyników bliskich 1 elementy są najważniejsze dla osiągnięcia celu optymalizacji, natomiast dla wartości 0 elementy praktycznie nic nie wnoszą do poprawy uzyskanego wyniku. Tego typu optymalizacje mogą zostać przeprowadzone zarówno dla elementów typu przestrzennego (solid), jak również płytowych elementów typu shell.

Optymalizacja topograficzna, w przeciwieństwie do wcześniej przedstawionej optymalizacji topologicznej, możliwa jest do wykonania wyłącznie dla elementów płytowych (shell). Polega ona na „przetłaczaniu” powierzchni w taki sposób, aby uzyskać zadowalającą poprawę właściwości konstrukcji (np. zwiększenie sztywności płaskiej blachy spowodowane odpowiednimi przetłoczeniami).

Przygotowując optymalizację topologiczną oraz topograficzną, możliwe jest wybranie dodatkowych parametrów. Są to przede wszystkim wartości opisujące zakres szerokości dla elementów o maksymalnej gęstości, jak również odstępy pomiędzy kolejnymi wystąpieniami. Możliwe jest też zdefiniowanie płaszczyzn lub środków symetrii dla szukanego rozwiązania, oraz definicji szyku – powtórzeń.
Kolejna z głównych typów optymalizacji polega na zmianie parametru grubości elementów powierzchniowych shell. Metoda ta nazywa się optymalizacją size i jest szeroko stosowana w obliczeniach konstrukcji składających się z elementów standardowych, takich jak profile, kątowniki itd. Podczas doboru grubości, możliwe jest ograniczenie się do zestawu wcześniej wprowadzonych standardowych wymiarów, jak również danie solverowi całkowitej dowolności podczas obliczeń.
Wcześniej przytoczone sposoby optymalizacji określane są jako obliczenia wczesnej fazy projektu. Ostatni prezentowany rodzaj tego typu analiz nazywany jest optymalizacją wykończeniową i polega na przesuwaniu węzłów tworzących elementy w celu poprawy wyników. Takie analizy nazywamy optymalizacją shape. Translacje odbywać się mogą zarówno w sposób całkowicie dowolny (free shape), lub zawierać się we wcześniej zdefiniowanych kształtach (shape bazujące na morphingu).
Przygotowanie i implementacja substruktury
Opis przygotowania substruktury oraz porównanie uzyskiwanych wyników przedstawiono w poprzednim artykule [5]. Należy jednak zwrócić uwagę, że na potrzeby przeprowadzenia analizy optymalizacji, wcześniej przygotowaną substrukturę należy przystosować do oprogramowania Optistruct. Zadanie to można wykonać na dwa sposoby:
- Wygenerować nową substrukturę przy pomocy solvera Optistruct,
- Przetłumaczyć wcześniej przygotowane w Abaqusie macierze na dane rozumiane przez oprogramowanie Optistructa.
Pierwsza metoda polega na przygotowaniu modelu w sposób analogiczny jak w przypadku pakietu Abaqus. Należy stworzyć model obliczeniowy, następnie utworzyć set nodów, które będą połączeniem pomiędzy nowo powstałą substrukturą, a późniejszym modelem. Dla utworzonego seta należy odebrać wszystkie stopnie swobody. Następnym krokiem jest dodatnie karty PARAM, w której powinien znajdować się parametr EXTOUT DMIGPCH. Jest to informacja dla programu, że żądamy od niego przygotowania oraz zapisu danych macierzowych analizowanej struktury. Na koniec należy przygotować odpowiedni step. Jest to bardzo ważne, ponieważ dla analiz statycznych uzyskamy wyłącznie macierz sztywności. Jeśli interesują nas dodatkowo macierze mas lub tłumienia należy przeprowadzić analizę dynamiczną. Przykładem tego typu obliczeń jest analiza modalna. Po udanych obliczeniach w katalogu z wynikami znajdziemy dodatkowy plik .pch zawierający wyżej wspomniane macierze. Plik ten ma budowę zbliżoną do plików wsadowych Optistructa, takich jak .fem czy .bdf [1].

Drugim sposobem zastosowania substruktury na potrzeby analizy optymalizacji jest wykorzystanie wcześniej przygotowanego w Abaqusie superelementu. Aby dokonać implementacji tego typu wyników, potrzebny będzie dostęp do plików analizy Abaqus, takich jak .mdl, .prt, .sim oraz .stt. Niestety, aktualnie nie jest możliwa bezpośrednia konwersja pliku .mtx (zawierającego postać macierzową substruktury wygenerowanej przy pomocy Abaqusa). Aby dokonać konwersji substruktury należy wykonać w linii komand Abaqusa polecenie:
abaqus tonastran job=job_name input=input_name substructureGdzie job oznacza nazwę procesu oraz pliku wyjściowego. Jako input podajemy nazwę plików substruktury Abaqus bez rozszerzenia (są to pliki kończące się xxx_Zx.xxx, gdzie Zx to numer wygenerowanej substruktury). Po wykonaniu polecenia otrzymujemy plik .bdf zawierający macierzowy opis substruktury gotowy do użycia podczas analiz w programie Optistruct [4].
Posiadając pliki zawierające substrukturę kompatybilną z pakietem Optistruct można przejść do jej implementacji. Zastosowanie macierzy substruktury jest bardzo proste i ogranicza się do zdefiniowania trzech lub czterech dodatkowych parametrów w karcie PARAM. Są to K2GG, M2GG, D2GG oraz INCLUDE. Pierwszy z parametrów zawiera nazwę macierzy sztywności, w naszym przypadku macierz ta nosi nazwę CSTIF. Drugi parametr analogicznie do pierwszego zawiera nazwę macierzy mas; jej nazwę można odnaleźć w pliku substruktury (w naszym przypadku była to macierz MASS). Trzecim parametrem jest nazwa macierzy tłumienia; w naszym przypadku nie jest ona obliczana. Ostatnimi potrzebnymi danymi jest nazwa pliku zawierającego substrukturę. Należy pamiętać o pełnym nazewnictwie, wraz z rozszerzeniem, oraz poprawnej lokalizacji pliku.
Model testowy, przygotowanie analizy oraz interpretacja wyników
Optymalizacja została przygotowana i przeprowadzona dla bardzo prostego modelu wiatraczka, którego model CAD pobrano z portalu GrabCAD [2]. Jest to ta sama geometria, która została użyta na potrzeby przygotowania substruktury w poprzednim artykule. Oczywiście przedstawiona metoda może z powodzeniem zostać zaaplikowana również do znacznie bardziej skomplikowanych złożeń. Podejście do optymalizacji z wykorzystaniem substruktur pokazuje swoje zalety przede wszystkim dla bardzo rozbudowanych modeli, kiedy to zastąpienie jakiejś części analizowanego układu przez superelement pozwala znacząco zredukować czas obliczeń. Jest to ogromnie ważne w tego typu analizach, ze względu na ich iteracyjny charakter. Na schemacie (Rys. 5) został przedstawiony model CAD analizowanego złożenia. Aby dodatkowo skrócić czas obliczeń, we wszystkich możliwych miejscach zastosowano wspólną siatkę, w celu uniknięcia zasobożernych połączeń typu TIE.
Tak jak dla modelu analizowanego w poprzednim artykule, zdecydowano się na zastąpienie substrukturą dwóch komponentów podstawy, to jest czerwonej oraz szarej podstawki.

Następnym krokiem było wybranie typu optymalizacji, która zostanie przeprowadzona. Model ten ze względu na swoją konstrukcję oraz zastosowanie, idealnie nadaje się do optymalizacji topologicznej z wykorzystaniem trójwymiarowej przestrzeni roboczej (design space). Decydując się na tego typu optymalizację bardzo ważne jest wybranie poprawnych płaszczyzn rozformowywania (tzw. draw direction). Umożliwi to wyprodukowanie uzyskanego rozwiązania przy pomocy tradycyjnych metod wytwarzania, jakimi są np. formy wtryskowe. Pomijając ten parametr, możemy spodziewać się kształtu lepiej spełniającego nasze wytyczne, jednak bardzo często urzeczywistnienie takiego rozwiązania jest możliwe wyłącznie przy pomocy druku przestrzennego. Niestety zastosowanie tego typu procesu wytwarzania praktycznie wyklucza tanią, seryjną produkcję danego kształtu.
Kolejną ważną kwestią jest wybór przypadku obciążeniowego, dla którego będzie przeprowadzana optymalizacja. Optistruct pozwala na bardzo szeroki wachlarz typów analiz oraz obciążeń. Są to między innymi analizy statyczne czy analiza modalna. Ponadto możliwe jest przeprowadzenie optymalizacji dla analiz dynamiki liniowej, takich jak analiza harmoniczna czy PSD.
W naszym przypadku zdecydowano się na analizę liniowej statyki, z wykorzystaniem jednego wymuszenia przy pomocy siły jednostkowej. Tego typu analizy są najprostsze do przygotowania i bardzo często dają bardzo zadowalające wyniki. Oczywiście podczas optymalizacji możliwe jest złożenie kilku przypadków obciążeniowych, zarówno w ramach jednego typu analizy, jak również kombinacja wyników dla różnych analiz.
Po przygotowaniu analizy statycznej i jej sprawdzeniu, można przejść do ustawienia optymalizacji. Jak już wspomniano wcześniej, zdecydowano się przeprowadzić analizę topologiczną dla elementów przestrzennych. Dodatkowo zdefiniowano kierunki rozformowywania, tak aby ułatwić późniejszy proces produkcji wyrobu. Ponadto zdefiniowano parametry mindim oraz maxdim, które odpowiadają za rozmiary powstałych struktur [1]. Jako typ analizy, zdecydowano się na przeprowadzenie obliczeń statyki liniowej z wykorzystaniem wymuszenia jednostkowego. Dla tego typu obliczeń idealną funkcją celu była minimalizacja wartości compliance, czyli podatności konstrukcji. Wartość ta w uproszczeniu jest przeciwnością sztywności konstrukcji, dlatego minimalizując tę wartość, zwiększamy sztywność. Zdecydowano się dodatkowo na ograniczenie ilości materiału, który może pozostać w naszej strukturze po zakończeniu obliczeń. Brak takich wytycznych może prowadzić do „znalezienia” przez algorytm najlepszego rozwiązania dla konstrukcji początkowej. Dzieje się tak, ponieważ pomijając masę konstrukcji, największą sztywność uzyskujemy w przypadku kiedy nie usuniemy materiału wcale. Dlatego wybierając ilość materiału, jaka ma pozostać po optymalizacji, ważne jest, aby nie była ona zbyt duża ani za mała. Dla badanego przypadku było to 30% objętości początkowej.

Na rysunku 6 przedstawiono uzyskane wyniki. Jak widać od samego początku algorytm zdecydował się na usunięcie materiału znajdującego się w miejscu silnika elektrycznego. Oczywiście rozwiązanie to z punktu widzenia optymalnego kształtu jest najlepsze, jednak chcąc zachować użyteczność analizowanej konstrukcji należy zastanowić się w jaki sposób będziemy wprowadzać wiatrak w ruch. W celu uniknięcia tego typu problemów należałoby wykluczyć z optymalizacji kluczowe dla konstrukcji miejsca. Jednak na potrzeby przykładu, zdecydowano się nie zwiększać skomplikowania modelu. Następnie algorytm zaczyna usuwać materiał znajdujący się u dołu konstrukcji. Patrząc na wyniki, bardzo szybko można zorientować się w jaki sposób zostały wybrane kierunki rozformowywania. Finalnie otrzymujemy kształt pokazany na dolnym prawym obrazku.
Należy pamiętać, że przedstawiony przykład jest typowo akademicki. Dla analizowanej konstrukcji bardziej kompletnym przykładem byłoby przeprowadzenie optymalizacji z uwzględnieniem wszystkich ograniczeń projektowych takich jak: miejsca mocowania do podstawki, ograniczenia miejsca dla silnika elektrycznego, miejsca na przewody elektryczne, odpowiednia cyrkulacja powietrza, czy chociażby spełnienie norm bezpieczeństwa dla tego typu produktów.
Podsumowanie
Wykorzystanie optymalizacji konstrukcji podczas procesu projektowania produktu pozwala na znalezienie rozwiązań najlepszych dla danego typu konstrukcji. Metoda ta umożliwia w stosunkowo krótkim czasie zbadanie wielu rozwiązań i znalezienie tych najlepszych. Ponadto, wykorzystując tę metodę możliwe jest zredukowanie ilości materiału potrzebnego do produkcji komponentu. Skutkuje to bardzo dużą redukcją kosztów w przypadku produkcji wielkoseryjnej. Nierzadko również optymalizacja wykorzystywana jest w celu znalezienia rozwiązania dla przekroczonych naprężeń dopuszczalnych w konstrukcji lub np. zmiany postaci drgań dla danej częstotliwości własnej.
Dodatkowo, wykorzystując substruktury możliwe jest zastosowanie optymalizacji do problemów znacznie bardziej złożonych aniżeli ten przedstawiony w artykule. Substruktury pozwalają na zastosowanie podczas optymalizacji całych układów, przez co nie trzeba uciekać się do daleko idących uproszczeń. Tego typu podejście może być jedynym, przy pomocy którego w stosunkowo krótkim czasie możliwe jest wykonie optymalizacji skomplikowanego układu, bez jednoczesnej utraty informacji na temat jego zachowania.
Maciej Majerczak
Bibliografia:
[1] Optistruct 2019.2 QRG documentation
[2] https://grabcad.com
[3] P.L.C. van der Valk: Model Reduction & Interface Modeling in Dynamic Substructuring, MSc. Thesis, 2014
[4] Abaqus 2017 documentation
[5] M. Majerczak: Wykorzystania substruktur w analizach MES, Projektowanie i Konstrukcje Inżynierskie, 5 (140) maj 2019
artykuł pochodzi z wydania 10 (145) październik 2019











































