!function(f,b,e,v,n,t,s) {if(f.fbq)return;n=f.fbq=function(){n.callMethod? n.callMethod.apply(n,arguments):n.queue.push(arguments)}; if(!f._fbq)f._fbq=n;n.push=n;n.loaded=!0;n.version='2.0'; n.queue=[];t=b.createElement(e);t.async=!0; t.src=v;s=b.getElementsByTagName(e)[0]; s.parentNode.insertBefore(t,s)}(window, document,'script', 'https://connect.facebook.net/en_US/fbevents.js'); fbq('init', '366319058984917'); fbq('track', 'PageView'); (function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start': new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0], j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src= 'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f); })(window,document,'script','dataLayer','GTM-5M6SH59');
9 minutes read
7 marca 2017

Dobry rozmiar siatki MES

9 minutes read

Rozmiar siatki to jeden z najbardziej popularnych problemów MESa. Większe elementy dają złe wyniki, za to przy mniejszych obliczenia trwają tak długo, że wyników może nie być wcale. Dlatego dzisiejszy wpis będzie o tym, jak prawidłowo dobrać rozmiar siatki MES i oszacować, przy jakim rozmiarze dokładność obliczeń jest wystarczająca.

Jako przykładu użyję prostej dyskretnie podpartej powłoki. Wynik stanowić będzie mnożnik krytyczny pierwszej postaci wyboczenia.

Warto wspomnieć, że „wynikiem” może być wszystko, co nas interesuje. Może nim być wybrana składowa naprężeń w określonym węźle lub przemieszczenie. Można wybrać dowolną wielkość fizyczną – o ile tylko jej wartość zależy od rozmiaru siatki MES. Ja wybrałem mnożnik obciążenia dlatego, że łatwo uzyskać jego wartość, a LBA szybko się liczy.

Wybierz prawidłowy rozmiar MES

Poniżej pokazany jest model, którego użyłem. Zauważ, jak zmienia się kształt deformacji i wyniki wraz z zagęszczeniem siatki. Powinienem napisać, że sprawdzenie gęstości siatki (nazywane często „zbieżnością siatki”) należy wykonywać przy rozwiązaniu każdego zadania. To trochę prawda, ale spójrzmy prawdzie w oczy – najprawdopodobniej nikt nie robi tego zawsze… po prostu zajmuje to zbyt wiele czasu! Dlatego też proponuję, żeby sprawdzenie takie robić przy najważniejszych projektach (częściach projektu), a uzyskane w ten sposób doświadczenie ekstrapolować na podobne problemy.

Mesh size influence results from linear buckling analysis of a shell.

W tym przykładzie użyłem elementów QUAD4 (czyli normalnych czworokątnych elementów 4-węzłowych, nazywanych też „S4”).

Co zrobić, żeby ustalić dobry rozmiar siatki:

  • Przeprowadź wybraną analizę dla kilku różnych rozmiarów oczka.
  • Sprawdź, gdzie występują największe odkształcenia i naprężenia, być może warto zmodyfikować siatkę w tych regionach.
  • Porównaj dane z obliczeń przy różnych siatkach: wynik, liczbę węzłów w modelu, czas obliczeń.

Dla rozważanej powłoki wykonałem kilka analiz przy różnych rozmiarach MES. Na rysunku powyżej widać wybrane wyniki dla kilku różnych siatek. Warto zauważyć, że przy największym oczku siatki otrzymany kształt wartości własnej różni się od tego uzyskanego przy najmniejszej siatce.

Jaki rozmiar siatki jest „wystarczająco mały”

Na ogół drobniejsza siatka MES daje lepsze wyniki, jednak czas obliczeń mocno się wydłuża. Dlatego też trzeba znaleźć równowagę pomiędzy dokładnością a czasem obliczeń. W niektórych przypadkach można wydłużyć czas obliczeń dwukrotnie, żeby poprawić dokładność o 1% – wydaje się być to nierozsądne. Kiedy rozwiązujesz jakiś problem, najlepiej wiesz, co ma sens i jakiej dokładności potrzebujesz.

W samouczkach na ogół problemy zagęszczenia siatki omawiane są na zadaniach, które rozwiązuje się również analitycznie. Dzięki temu można porównać wynik obliczeń MES ze znanym rozwiązaniem, a to z kolei pozwala otrzymać wartość błędu. Jest to fantastyczne podejście, które może dużo nauczyć, jednak w zadaniach rozwiązywanych na co dzień na ogół nie zna się prawidłowej odpowiedzi… więc tak naprawdę nie da się sprawdzić dokładności obliczeń?

Niestety, w niemalże wszystkich analizach przeprowadzanych w celach komercyjnych lub naukowych rozwiązanie analizowanego problemu jest nieznane. W takich przypadkach „książkowe” podejście nie działa. Zamiast tego trzeba „odgadnąć” poprawną odpowiedź w oparciu o analizę modeli z różnymi wielkościami siatki MES. Zostało to przedstawione na poniższym wykresie:

shell2 chart1

Redukcja rozmiaru siatki prowadzi do powstania większej liczby elementów MES, co z kolei oznacza większą liczbę węzłów w modelu. Jeśli zrobimy wykres przedstawiający wynik (w tym przypadku mnożnik pierwszej wartości własnej) w zależności od liczby węzłów w modelu, to będzie on asymptotycznie zmierzał do poprawnej odpowiedzi (w tym przypadku to 0.6947). Liczba węzłów jest oczywiście tylko jednym z możliwych parametrów. Równie dobrze można wykorzystać liczbę elementów w przeliczeniu na szerokość analizowanej części lub też rozmiar „typowego” elementu skończonego. Jeśli zmieniamy siatkę jedynie na małym obszarze (na przykład w miejscu koncentracji naprężeń), można użyć liczby węzłów w tym obszarze zamiast w całym modelu.

Można wybrać dowolny parametr, taki, jaki jest wygodny w przypadku analizowanego zadania. Podanie liczby węzłów jest najbardziej popularne, głównie dlatego, że jest najłatwiejsze.

Jak zrobić to łatwiej?

Dokładne oszacowanie wartości asymptotycznej na powyższym wykresie może być nieco problematyczne i czasochłonne. Istnieje prosta sztuczka, która ułatwi jej obliczenie: zamiast liczby węzłów na osi poziomej użyjemy 1/liczbę węzłów. W ten sposób poprawną odpowiedź stanowić będzie punkt, dla którego x=0. Oznacza to, że jeśli zrobioną na wykresie krzywą przybliżymy równaniem (na ogół wystarczająca jest aproksymacja linowa, Excel robi ją automatycznie), to wystarczy odczytać wartość y dla x=0.

shell2 chart2

Warto zauważyć, że otrzymana krzywa jest prawie linowa – jest to dość typowe dla większości modeli. Z równania dostarczonego przez Excela bardzo łatwo jest odczytać poszukiwaną wartość. Na tym etapie (kiedy znamy już poprawną odpowiedź) możemy obliczyć, jaki jest błąd szacowania wyników w przypadku stosowania różnych rozmiarów siatki MES. Wykresy znajdujące się poniżej pokazują zależność pomiędzy wartością błędu a czasem trwania obliczeń oraz pomiędzy wielkością błędu a rozmiarem elementu skończonego:

shell2 chart5

Na podstawie powyższych wykresów można łatwo zauważyć, że po przekroczeniu pewnej wartości każdy znaczący wzrost dokładności obliczeń „będzie kosztować” ogromny dodatkowy czas pracy komputera. Jeśli jestem proszony o sprawdzenie zbieżności siatki, to te 2 wykresy stanowią odpowiedź (można też łatwo zmienić rozmiar elementu skończonego na liczbę węzłów). Na ich podstawie można określić, jaki jest czas i błąd obliczeń przy każdej wielkości siatki.

Podjęcie decyzji

Teraz wiesz już, jak dokładne wyniki można otrzymać przy danej siatce MES i jak długo trwa czas obliczeń. Podjęcie decyzji jest zawsze problematyczne. Ja na ogół najpierw analizuję, na ile jestem pewien moich obciążeń i warunków brzegowych w modelu – zwykle są one „oszacowane”, a następnie zwiększone, „żeby się upewnić”. W takim przypadku kilkuprocentowy błąd obliczeń nie ma większego znaczenia.

Dodatkowym wskaźnikiem jest tu oczywiście czas. Jeśli do obliczenia jest 100 podobnych modeli, to zwiększenie czasu obliczeń dwukrotnie potrwa naprawdę długo…

Warto zauważyć, że przedstawiony wyżej wykres zmierza asymptotycznie do 0%… jeśli wykonałeś wszystkie opisane tutaj kroki, a zrobiony przez Ciebie wykres nie zmierza do 0, oznacza to, że użyłeś zbyt dużych elementów. Jeśli nie jesteś pewien, warto zrobić jeden model z bardzo małych elementów – tak na wszelki wypadek.

Jak przyspieszyć proces?

Jeśli zrobisz sprawdzenie zbieżności siatki, przekonasz się, że przy ustaleniu wymaganej dokładności obliczeń czas będzie miał kluczowe znaczenie. To prawda, nie jesteś jednak bezbronny. Spójrz na zdjęcia modeli tej samej powłoki. Siatka o dużym rozmiarze daje na pewno jakieś wyniki, a dobra (drobna) wymaga długiego czasu obliczeń. Wiedząc, gdzie w modelu wystąpi utrata stateczności, wykonałem trzeci model (po prawej), w którym zagęściłem siatkę w ważnych miejscach i pozostawiłem ją zgrubną w pozostałych, gdzie „nic się nie dzieje”.

Decrease mesh size but keep the computing time low!

W ten sposób otrzymuję dokładny wynik bez bardzo długiego czasu obliczeń. Istnieją tu oczywiście pewne ograniczenia, jako że nie zawsze można mieć pewność, gdzie wystąpi zniszczenie modelu. Zawsze jednak warto zrobić na początku zgrubną siatkę, sprawdzić, jakie miejsca w modelu są istotne, a następnie w miejscach tych siatkę zagęścić. Metoda ta nie działa co prawda we wszystkich przypadkach, ale działa w niektórych.

Podsumowanie

  • Zbyt zgrubna siatka MES może prowadzić do dużych błędów
  • Analiza gęstości sitaki pomaga w podjęciu decyzji, jak gęsta siatka powinna być stosowana w analizie, żeby uzyskać wyniki o zadowalającej dokładności
  • Zagęszczenie siatki w miejscach, w których powstają duże odkształcenia/naprężenia/utraty stateczności pozwala na zwiększenie dokładności bez znacznego wzrostu czasu obliczeń.

Chcesz nauczyć się więcej?

To wspaniale! Przygotowałem dla Ciebie darmowy kurs o MES i stateczności! Musisz jedynie zapisać się poniżej.

Author: Łukasz Skotny Ph.D.

Mam ponad 10 lat doświadczenia w praktycznym wykorzystaniu MES w projektowaniu (prowadzę własne biuro projektowe), a do tego przez dekadę byłem wykładowcą na Politechnice Wrocławskiej. Obecnie tutaj dzielę się swoją wiedzą z inżynierii i MES dzięki kursom oraz na blogu!

Read more

Stateczność konstrukcji stalowych da się lubić...

Zapisz się na darmowy kurs ze stateczności

Join the discussion

Comments (0)

Zapisz się na mój Newsletter

otrzymasz darmowy kurs ze stateczności konstrukcji stalowych