Rozwiązywanie problemów z modelami w Abaqus

Ten blog to obszerne omówienie procesu rozwiązywania problemów z modelami w Abaqus/Standard, ze szczególnym uwzględnieniem problemów ze zbieżnością. Zawiera szczegółowe porównanie Abaqus/Standard i Abaqus/Explicit, używając metod i strategii iteracyjnych, podkreślając istotę zrozumienia cech modelu, stosując systematyczne podejścia i zachowując wytrwałość w obliczu problemów. 

Rozwiązywanie problemów z modelami w Abaqus/Standard może być skomplikowane, szczególnie w przypadku problemów ze zbieżnością w analizach strukturalnych. 

Ten blog skupia się na debugowaniu modeli w Abaqus w rozumieniu rozwiązywania problemów ze zbieżnością w Abaqus/Standard. Debugowanie może się odnosić do wielu aspektów, od tworzenia siatki i rozwiązywania problemów z nią, po poprawianie podstawowych błędów w modelowaniu, błędnych słów kluczowych itd. Jednak celem tego blogu jest przedstawienie sposobów na rozwiązywanie problemów ze zbieżnością w Abaqus/Standard. 

Zrozumienie zbieżności w Abaqus/Standard vs Abaqus/Explicit 

Abaqus/Standard to oryginalny kod solvera Abaqus, powstały na początku lat 80-tych. Jest to solver metody elementów skończonych, określany również solverem niejawnym (implicite), z wieloma możliwościami. Obejmują one ogólne nieliniowe analizy statyczne i dynamiczne, ale również analizy liniowe, w tym liniową dynamikę, przepływ ciepła, akustykę, efekt piezoelektryczny i inne zagadnienia. 

Abaqus/Standard w ogólności korzysta z podejścia iteracyjno-przyrostowego. Jest zbudowany wokół metody Newtona-Raphsona, techniki numerycznej używanej do rozpoznawania problemów ze zbieżnością, co wymaga zaawansowanej strategii debugowania. 

Poprawne zakończenie działania tej metody skutkuje tzw. zbieżnością, podczas gdy jej niepoprawne zakończenie oznacza brak zbieżności. Rozróżnienie między tymi dwoma stanami jest kluczowe do efektywnego rozwiązywania problemów ze zbieżnością. 

Z kolei Abaqus/Explicit to solver do zagadnień z grupy tzw. jawnej dynamiki (explicit dynamics), który powstał ok. roku 1992. Jest to jawny solver operujący na zupełnie innej technologii. Abaqus/Explicit ma wiele możliwości, takich jak ogólne nieliniowe analizy dynamiczne, ale również przepływ ciepła i akustyka w sprzężeniu z zagadnieniami strukturalnymi, metodami stosowanymi do dużych deformacji oraz niezawodnymi algorytmami kontaktu odpowiednimi dla złożonych modeli 3D. 

Użytkownicy napotykający poważne problemy ze zbieżnością w Abaqus/Standard mogą rozważyć użycie Abaqus/Explicit. Ponieważ interfejsy obu solverów są bardzo podobne, przejście do Abaqus/Explicit może pomóc uniknąć wyzwań związanych ze zbieżnością napotkanych w symulacjach Abaqus/Standard. 

Mój plik .log zawierał informację o błędzie, ale to są problemy niższego poziomu, związane z systemem, które musiałbym sprawdzić osobno. Tutaj napotykamy typowy problem ze zbieżnością. Po zidentyfikowaniu powodu, dla którego analiza nagle zostaje przerwana, musimy przyjrzeć się plikowi .msg. 

W pierwszej kolejności sprawdzamy dolną część pliku .msg. Lubię to robić mając plik .odb otwarty w Abaqus/Viewer z wyświetlonym zdeformowanym kształtem w ostatniej zapisanej chwili. W tym przypadku jednak oglądanie zdeformowanego kształtu elementu z 1 modelem niewiele pomoże, więc pokazany jest tylko plik .msg. 

W tym przypadku komunikat o błędzie wskazuje, że wymagany przyrost czasowy jest mniejszy niż wartość określona jako minimalna możliwa do użycia. Jest to bardzo ogólnikowa wiadomość. 

Często komunikaty o błędach powtarzają to, co już wiadomo. Wiedząc, że nadmierna redukcja przyrostu czasowego spowodowała błąd, mogę cofać się w pliku .msg, sprawdzając krytyczne węzły i elementy i znajdując je w zdeformowanej siatce. Muszę zidentyfikować wzory w liczbach, więc zadaje sobie pytania, takie jak: 

Wzory liczb mogą pomóc zidentyfikować obszar siatki, który powoduje problem. Możesz szybko zlokalizować te wystąpienia na wyświetlonej siatce. 

Ponieważ analiza została nagle przerwana, dobrze mieć zapisane jakieś pośrednie wyniki. Musisz sformułować hipotezę, aby rozwiązać problem. Hipoteza ta musi zgadzać się ze zidentyfikowanym problematycznym obszarem siatki i potencjalnymi problemami związanymi z cechami modelu. 

Musisz przestudiować dostępne wyniki poprzez animacje lub wykresy konturowe naprężeń i przemieszczeń, aby dopracować hipotezę. Z roboczą hipotezą można przystąpić do kolejnego kroku, którym jest modyfikacja modelu, aby rozwiązać hipotetyczny problem. 

Jeśli masz szczęście, po zaimplementowaniu poprawki, problem zostanie rozwiązany. Jednak jeśli tak się nie stanie lub pojawią się nowe komplikacje to przyczyną może być błędna hipoteza. W takich przypadkach, szczególnie rozwiązując problemy ze zbieżnością, kluczowe jest ćwiczenie wytrwałości. 

W tym przypadku problemy można zaobserwować w węźle numer 2 – tam skaczą korekcje. Jest to spodziewane, ponieważ spośród dwóch węzłów, ten jako jedyny może się swobodnie poruszać (węzeł 1 jest całkowicie utwierdzony). Siatka jest w równowadze, ale występuje problem ze znalezieniem innego stanu równowagi z nieco większym obciążeniem. To prowadzi mnie do hipotezy, że coś jest nie tak z nieliniową sztywnością. 

Aby przyjrzeć się bliżej problemowi, musielibyśmy zastosować technikę promowaną w szkoleniu – sterowanie przemieszczeniem. Zamiast przykładać siłę, możemy rozciągnąć sprężynę warunkiem brzegowym i obserwować wyniki. Ten model ma proste obciążenie siłą, które można łatwo zamienić na sterowanie przemieszczeniem. Przykładając wymuszone przemieszczenie, możemy zmodyfikować model i z powodzeniem zakończyć analizę. 

Wykres siły w stosunku do przemieszczenia dla węzła 2 w analizie sterowanej przemieszczeniem pokazuje, że niemonotoniczne zachowanie siła-ugięcie utrudnia zwiększanie siły w procedurze statycznej. To wyraźnie eksponuje problem polegający na tym, że nie ma stanu równowagi w pobliżu stanu równowagi, w którym siła wynosi ok. 2. To zachowanie wynika z domyślnego ustawienia amplitudy w analizach statycznych w Abaqus, utrudniając przykładanie siły. 

Istnieje kilka rozwiązań, które można rozważyć w przypadku tego problemu: 

Ten przykład pokazuje szersze zawiłości debugowania analiz nieliniowych, podkreślając potrzebę metodycznego podejścia, aby zidentyfikować i rozwiązać problemy ze zbieżnością.  

Przykład: Płyta przeciągana przez pierścień

Drugi omawiany przypadek ilustruje problem ze zbieżnością często spotykany w analizach MES na przykładzie cienkiego sprężystego dysku przeciąganego osiowo przez sztywny pierścień z eliptycznym przekrojem. Dysk ma być całkowicie przeciągnięty, ale analiza zostaje przerwana, prowadząc do niemile widzianej wiadomości wskazującej, że nie została poprawnie ukończona. Ten przykład podkreśla częstą frustrację z powodu problemów ze zbieżnością w tego typu analizach. 

Przyjrzyjmy się krokowi, który zdefiniowałem. Używa on już sterowania przemieszczeniem, więc nie ma co liczyć na rozwiązanie problemu poprzez zmianę na nie. 

Istotne cechy modelu to: 

Po zidentyfikowaniu kluczowych cech modelu, można przystąpić do identyfikacji trudności i zrozumienia jak używać tych cech, aby uzyskać dobry wynik. Zrozumienie stabilności w kontekście materiałów hipersprężystych przed ich użyciem w modelu jest kluczowe, ponieważ materiały hipersprężyste powinny być stabilne w zakresie spodziewanych odkształceń. 

Możemy napotkać problemy z kontaktem. Przykładowo, może zachodzić konieczność włączenia solvera niesymetrycznego, gdy pojawi się problem ze zbieżnością w modelu z kontaktem w Abaqus/Standard. Kontakt może wymagać tego solvera, szczególnie jeśli w modelu występuje tarcie. Musimy unikać nadmiernych więzów i uważać na konflikt z procedurą statyczną symulując proces quasi-statyczny taki jak ten. 

Model przechodzi przez krok tylko częściowo, wyrzucając wiadomość wskazującą na to, że analiza nie została ukończona. W pliku .msg występują liczne wiadomości o ujemnych wartościach własnych. W oparciu o residua i średnią siłę czasową, ewidentne jest to, że model jest w akceptowalnym stanie równowagi. 

Sformułujmy rozsądną roboczą hipotezę na tym etapie. Korzystamy z zaleceń dotyczących kontaktu. Mamy kontakt ogólny i włączony jest solvery niesymetryczny, ze względu na tarcie. Materiał hipersprężysty jest stabilny. Ze względu na ich położenia, nie ma możliwości wystąpienia nadmiernych więzów. 

Zwracamy uwagę na liczne komunikaty o ujemnych wartościach własnych. To, w powiązaniu z animacją częściowych wyników, prowadzi do hipotezy o występowaniu wyboczenia. Potrzebna nam jest strategia rozwiązania pozwalająca na przejście przez zachowanie powyboczeniowe i całkowite przeciągnięcie dysku. W rozwiązaniu tego problemu pomóc mogą różne techniki, takie jak metoda Riksa, analiza statyczna ze stabilizacją, analiza quasi-statyczna z procedurą dynamic implicit (niejawną) czy procedura dynamic explicit (jawna). 

Zmieńmy analizę statyczną na quasi-statyczną z procedurą dynamic implicit w Abaqus/Standard.

Pozwalamy na bardzo mały przyrost i zwiększamy dozwoloną liczbę redukcji przyrostu. W niektórych przypadkach, gdy symulacja przechodzi gładko z rozsądnie dużym przyrostem, ale obserwowane jest wyboczenie, musimy przejść na mały przyrost. Czasami może to potrzebować minimalnego przyrostu i więcej niż pięciu redukcji (domyślna wartość). Przeprowadzając analizę dynamic implicit, ważne jest traktowanie czasu jako fizycznego a nie znormalizowanej wielkości jak w analizach statycznych. 

Rozwiązanie tego problemu ze zbieżnością leży w zmodyfikowaniu procedury symulacji. Problematyczny obszar krzywej jest nawigowany, pozwalając symulacji na poprawne ukończenie. 

Ten przykład podkreśla istotę zrozumienia specyficznych cech symulacji i stosowania dopasowanych strategii, aby rozwiązać problemy ze zbieżnością w złożonych analizach MES. 

Przykład: Ściskanie i relaksacja o-ringu 

Ostatni przykład to hipersprężysty/lepkosprężysty o-ring podlegający ściskaniu a następnie relaksacji. Zielony okrągły komponent na rysunku przedstawia pierścień typu o-ring. W kroku statycznym, sztywna płyta wciska pierścień w rowek w sprężystym materiale. Płyta jest utwierdzona, podczas gdy uszczelka podlega relaksacji w drugim kroku z procedurą *VISCO. 

Ten model zawiera takie cechy, jak kontakt ogólny, warunki brzegowe i płaszczyzny symetrii. Po uruchomieniu analizy, pierwszy krok nie został ukończony. W proces debugowania wchodzi dokładne sprawdzanie częściowych wyników, animacji i pliku .msg aby zidentyfikować źródło problemu. 

Plik .msg wskazuje, że podczas gdy równowaga jest dobra, występują problemy z kontaktem. Zwróć uwagę na komunikaty o przyleganiu i poślizgu. 

Robocza hipoteza jest taka, że o-ring doświadcza zjawiska stick-slip, które powoduje trudności w analizie statycznej. Obejściem jest zastosowanie analizy quasi-statycznej z procedurą dynamic implicit. W tym przypadku, zmiana procedury tylko pogarsza sytuację, co może się zdarzyć. Plik .msg wskazuje problem z kontaktem krawędź do powierzchni w węzłach 4 i 4559, które znajdują się na ostrej krawędzi rowka. 

Sprawdźmy krawędzie w kontakcie ogólnym. Możemy zwizualizować GENERAL_CONTACT_EDGES_3 w domenie kontaktu w Abaqus/Viewer. Zauważamy, że występują niepożądane krawędzie na brzegach z symetrią. Kontakt ogólny w Abaqus/Standard posiada opcje usunięcia krawędzi z jego domeny. Skorzystajmy z nich i spróbujmy ponownie. 

Gdy cały model działa, możemy rozważyć powrót do analizy statycznej. Wprowadzanie jednej zmiany na raz działa najlepiej, więc nie zmieniamy na razie typu analizy. 

Zmieniamy kontakt, żeby usunąć krawędzie na płaszczyźnie symetrii i przestawiamy pierwszy krok na analizę dynamiczną. To daje czas fizyczny i efekt lepkosprężysty. Wprowadza to również efekt bezwładności. Oznacza to, że musimy zwrócić szczególną uwagę na czas w tym kroku. 

Korzystam z czasu 0.1 dla tego kroku i czasu relaksacji 30 s. Ponieważ szybkość obciążenia dla tego małego pierścienia jest niewielka w porównaniu z czasem relaksacji, 0.1 wydaje się być dobrym czasem do użycia w tym kroku. 

Chociaż krok 1 zakończył się z sukcesem, symulacja nadal nie kończy się poprawnie. Przechodzimy przez krok ze ściskaniem i do kroku VISCO, ale wtedy następuje przerwanie analizy. Sprawdzając częściowe wyniki, animacje i ostatni zapisany wynik w drugim kroku, obserwujemy wzór deformacji w siatce z elementami o zredukowanym całkowaniu. 

Wykres zdeformowanego kształtu uszczelki wskazuje występowanie zjawiska hourglassingu (klepsydrowania) w elementach C3D8RH. Tu wymagana jest wytrwałość. Możemy wyeliminować elementy o zredukowanym całkowaniu i skorzystać z elementów o pełnym całkowaniu, aby pozbyć się zjawiska hourglassingu. Następnym krokiem jest zmiana elementu prostopadłościennego na C3D8H i ponowna próba. Daje to w końcu kompletny wynik. W wolnej chwili można popracować na usprawnieniami modelu. 

Zdecydowałem się zagęścić siatkę i zaokrąglić krawędź rowka. Często łatwiej o zbieżność, gdy krawędź jest zaokrąglona. Promień zaokrąglenia powinien być wystarczająco duży, żeby pozwolić siatce się do niego dostosować. Jeśli potrzebujesz ostrzejszej krawędzi, użyj bardziej zagęszczonej siatki. 

Po wprowadzeniu tych zmian symulacja kończy się sukcesem. Ten przykład demonstruje istotę wytrwałości i zdolności adaptacji w rozwiązywaniu problemów ze zbieżnością. 

Ogólne techniki debugowania i strategie dla modeli MES 

Debugowanie problemów ze zbieżnością w Abaqus/Standard może być zniechęcające. Ważna jest checklista przy identyfikowaniu i rozwiązywaniu tych trudności w modelu. 

Oto kluczowe kroki do zapamiętania, aby efektywnie debugować modele w Abaqus/Standard: 

Ostatnią rzeczą do zapamiętania jest to, że poprzez szkolenie i doświadczenie, można zrozumieć trudności związane z konkretnymi cechami modelu. Pozwala to zwiększyć zdolności formułowania hipotez i implementowania praktycznych rozwiązań problemów ze zbieżnością. 

Oto lista zalecanych kursów i dodatkowych materiałów: 

Te zasoby edukacyjne są dostępne na stronie SIMULIA. Zachęcam do ich eksplorowania, jeśli chcesz zwiększyć swoje zdolności rozwiązywania problemów ze zbieżnością w Abaqus/Standard. 

Podsumowanie 

Podsumowując, rozwiązywanie problemów ze zbieżnością w Abaqus/Standard jest skomplikowanym procesem, który wymaga głębokiego zrozumienia cech modelu i potencjalnych problemów. Przeszkolenie i doświadczenie pomagają formułować celne hipotezy, aby implementować skuteczne rozwiązania. Metoda Newtona-Raphsona jest trzonem solvery i gdy występują problemy ze zbieżnością, stosowane jest systematyczne podejście do diagnozowania i rozwiązywania problemów. 

Częściowe wyniki, komunikaty o błędach i animacje są bezcenne w tym procesie i prowadzą modyfikacje do osiągnięcia sukcesu. Wytrwałość jest konieczna, gdyż początkowe próby mogą tylko czasami rozwiązywać problemy. 

W końcu, systematyczne i poparte wiedzą podejście, wspierane wytrwałością, jest kluczowe w opanowaniu debugowania modeli MES w Abaqus/Standard. 

Jeśli chcesz dowiedzieć się więcej na ten temat, zapraszamy do obejrzenia nagranej sesji tutaj


Randy Marlow

Dr Marlow ma ponad 30 lat doświadczenia w zakresie analiz inżynierskich i mechaniki stosowanej. Jest starszym ekspertem w Dassault Systemes SIMULIA, gdzie pracuje od 22 lat. Dr Marlow jest uznanym ekspertem w zastosowaniach programów MES Abaqus/Standard i Abaqus/Explicit. Pomagał użytkownikom Abaqusa z większości głównych producentów i dostawców z branży motoryzacyjnej. Uzyskał swoje wykształcenie w teoretycznej i stosowanej mechanice na Uniwersytecie w Illinois. Ukończył również studia inżynierskie z mechaniki inżynierskiej na Uniwersytecie Missouri-Rolla.