PrePoMax – kluczowe zmiany i nowe funkcjonalności w darmowym programie do analiz MES
Czym jest PrePoMax? – przypomnienie
W październiku 2020 r. opublikowany został artykuł w temacie oprogramowania PrePoMax. Najlepszy darmowy program do analiz MES? [O programie + TEST], przedstawiający nowe, szybko rozwijające się środowisko do przygotowywania symulacji numerycznych metodą elementów skończonych. Dokładniej rzecz ujmując, jest to pre- i postprocessor do otwartego solvera MES CalculiX.
Program jest całkowicie darmowy do wszelkich zastosowań i ma wiele zalet, takich jak wygoda obsługi (w przeciwieństwie do jego konkurencji wśród bezpłatnych programów MES) czy rozbudowane możliwości. Od czasu publikacji wspomnianego artykułu PrePoMax spotkało wiele dobrych zmian. Dotyczą one nie tylko nowych funkcjonalności, ale też praktycznie wszystkich innych aspektów istnienia i dostępności programu. Te istotne zmiany zostaną szczegółowo przedstawione w niniejszym artykule.
Ogólne zmiany w programie
Zdecydowanie najistotniejszą nowością jest fakt, iż PrePoMax w czerwcu 2021 przyjął status open-source, czyli otwartego oprogramowania. W praktyce oznacza to, że jego kod źródłowy jest publicznie dostępny w serwisie GitLab. Link do niego można znaleźć w zakładce Downloads nowej strony programu, o której mowa będzie w dalszej części artykułu. Dostępność kodu źródłowego pozwala użytkownikom na dokonywanie własnych modyfikacji na zasadach licencji GPLv3. Umożliwia też lepsze zrozumienie działania programu i większą pomoc jego twórcy w usprawnianiu go.
Kolejną z ogólnych nowości jest powstanie osobnej strony internetowej programu (wcześniej była mu poświęcona jedynie zakładka na uczelnianej stronie autora) dostępnej tutaj. Oprócz zakładki Downloads z poszczególnymi wersjami programu do pobrania i linkiem do repozytorium z kodem źródłowym, można tam znaleźć kilka innych przydatnych odnośników. Jest m.in. sekcja News z wpisami o kolejnych wersjach czy Features z listą wspieranych funkcjonalności. Kolejne dwie zakładki są bezpośrednio związane z dwiema innymi kluczowymi nowościami i zostaną dalej omówione.
Z sekcji Documentation można pobrać podręcznik użytkownika opisujący wszystkie opcje i funkcje programu. Jest on uaktualniany tak, by zawsze uwzględniał zmiany wprowadzane w kolejnych wersjach PrePoMax’a . Pomimo łatwej i wygodnej obsługi tego środowiska, może on stanowić przydatne źródło dla użytkowników, zwłaszcza tych, którzy nie pracowali wcześniej w komercyjnym Abaqusie, na którym oparty jest solver CalculiX a więc i PrePoMax. W przyszłości może też powstać polska wersja tego podręcznika. W zakładce Documentation jest też dostępny pdf z opisem kilkunastu przykładowych analiz do wykonania w programie i zestaw plików z modelami CAD wykorzystywanymi w tych ćwiczeniach. Planowane jest dalsze uaktualnianie tego dokumentu.
Z kolei sekcja Forum prowadzi do utworzonej w lutym 2022 r. grupy dyskusyjnej na platformie discourse. Jest to miejsce, w którym można szukać pomocy w przypadku problemów z symulacjami (innym takim miejscem jest analogiczna grupa discourse CalculiX’a), ale przede wszystkim zgłaszać błędy w programie i dodawać prośby o nowe funkcjonalności. Warto podkreślić, iż autor PrePoMax’a bardzo szybko naprawia wszelkie zgłoszone błędy, więc w przypadku napotkania takowych podczas pracy w programie, najlepiej skorzystać od razu z forum, by problem mógł zostać wyeliminowany, co usprawnia pracę także innych użytkowników.
Ostatnią ważną nowością jest powstanie kanału YouTube, na którym regularnie udostępniane są filmiki instruktażowe, pokazujące jak wykonać różnego typu analizy w PrePoMax. Link do odpowiedniej playlisty znajduje się tutaj. Warto dodać, że każdy z tych materiałów uwzględnia weryfikację wyników symulacji przy pomocy obliczeń analitycznych. Dlatego też przykłady te są stosunkowo proste (przynajmniej pod względem geometrii), ale wystarczające do zrozumienia tego jak działają poszczególne funkcjonalności programu.
Nowe funkcjonalności w oprogramowaniu PrePoMax
W ciągu ponad 1,5 roku od opublikowania poprzedniego artykułu z tej serii, PrePoMax zyskał wiele nowych funkcjonalności. Opisane tu zostaną jedynie te najważniejsze nowości, dotyczące kolejnych typów wspieranych analiz czy narzędzi szczególnie ułatwiających pracę.
Pierwszą kluczową zmianą, wprowadzoną wraz z opublikowaniem kodu źródłowego wersji 1.1.0, było dodanie wsparcia dla analiz termicznych i termomechanicznych. Była to długo oczekiwana i istotna dla wielu użytkowników funkcjonalność. Zaimplementowane zostały trzy typy procedur obliczeniowych (w CalculiX nazywanych krokami) – przepływ ciepła, niesprzężona analiza termomechaniczna i sprzężona analiza termomechaniczna. Wszystkie z opcją analizowania zarówno stanu ustalonego, jak i nieustalonego. Wraz z tymi procedurami, pojawiły się nowe typy obciążeń (skupione, powierzchniowe i objętościowe źródła ciepła, konwekcja i promieniowanie cieplne) oraz warunek brzegowy temperatury. Dodana została również możliwość określania temperatury początkowej dla analiz zależnych od czasu oraz definiowania wartości temperatury w analizach czysto mechanicznych (co pozwala uwzględnić w nich rozszerzalność cieplną czy właściwości materiałów zależne od temperatury). Wprowadzono też wsparcie dla kontaktu termicznego z możliwością zdefiniowania kontaktowej przewodności cieplnej. Oczywiście pojawiła się również możliwość definiowania właściwości termicznych materiałów i uzależniania właściwości mechanicznych od temperatury. Jest to więc pełne wsparcie dla analiz termicznych i termomechanicznych oferowanych przez CalculiX.
Drugą istotną nowością w kwestii typów wspieranych symulacji było wprowadzenie w wersji 1.2.0 możliwości wykonywania analiz 2D. Od tej wersji tworząc nową analizę w PrePoMax należy wybrać nie tylko układ jednostek (domyślnie z milimetrami), ale też przestrzeń modelu. Oprócz domyślnego 3D, dostępne są analizy płaskiego stanu naprężeń, płaskiego stanu odkształceń oraz osiowosymetryczne. Pozwala to sprawnie liczyć zagadnienia, które da się uprościć do dwuwymiarowych na jeden z wymienionych sposobów. Nic nie stoi też na przeszkodzie, by skorzystać z tej funkcjonalności do przeprowadzania analiz termicznych 2D. W tej wersji dodane zostało też wsparcie dla sprężyn punktowych i powierzchniowych (modelowanie np. konstrukcji na podłożu sprężystym) oraz elementów membranowych (powłokowe były już dostępne w chwili pisania poprzedniego artykułu).
Kolejną kluczową zmianą było dodanie niezwykle przydatnego narzędzia, które automatycznie wyszukuje i tworzy pary kontaktowe lub więzy typu tie (trwałe połączenia) przy zadanych kryteriach odległości i wzajemnego ułożenia powierzchni. Narzędzie to działa bardzo dobrze i rzadko wymaga ręcznych poprawek. Sprawdza się nawet w przypadku analiz 2D.
Najnowsza „duża” wersja PrePoMax, czyli 1.3.0, wprowadziła z kolei wsparcie dla specyficznego typu symulacji – analiz zużycia ściernego w kontakcie w oparciu o model Archarda. Dodano też możliwość definiowania amplitud, które pozwalają kontrolować zmienność obciążeń i warunków brzegowych w czasie.
W PrePoMax jest jeszcze wiele innych, mniejszych nowości, które nie zostały tu wymienione. Należy do nich m.in. eksportowanie zdeformowanej siatki, nowe mapy kolorów do wykresów konturowych czy wyświetlanie w wynikach naprężeń wg kryterium Tresci oraz odkształceń głównych i tworzenie wykresów punktowych w oparciu o kontury. Usprawniona została także biblioteka materiałów.
Warto jeszcze wspomnieć o tym, iż od pewnego czasu dla CalculiX dostępny jest znacznie szybszy od standardowego Spooles’a, solver PaStiX. Pierwotnie zdarzały się w jego przypadku problemy z dokładnością wyników, ale powinny one być już naprawione. Niemniej jednak zaleca się ostrożność przy jego używaniu. PrePoMax pozwala łatwo wskazać plik wykonywalny solvera i wybrać, który solver ma być wykorzystywany, więc wystarczy pobranie odpowiednich plików, np. ze strony prof. Rokacha – tutaj.
Podsumowanie
Jak można zauważyć, PrePoMax wspiera już znaczną część funkcjonalności oferowanych przez CalculiX. Ponadto, jest nadal intensywnie rozwijany i wkrótce powinna pojawić się kolejna wersja. Twórca programu obecnie pracuje nad znacznym ulepszeniem i rozbudowaniem funkcji związanych z wyświetlaniem informacji o modelu bezpośrednio na nim. Jest duża szansa, że w przyszłości dodane zostaną takie brakujące cechy jak możliwość przeprowadzania analiz dynamicznych (obecnie dostępna jest tylko podstawowa procedura do wyznaczania częstości drgań własnych) czy obsługa elementów prętowych – belek i kratownic.
Brakuje jeszcze wsparcia dla zaawansowanych modeli materiałów, takich jak hipersprężystość czy orto-/anizotropia, ale autor słusznie uzasadnia to możliwością definiowania tych cech przy pomocy wbudowanego edytora słów kluczowych. W pierwszej kolejności dodawane są funkcjonalności, do których nie wystarczy to narzędzie.
Dla niektórych użytkowników istotną niedogodnością jest brak możliwości generowania siatek złożonych z elementów sześciościennych (tzw. hex). Wynika to z faktu, iż PrePoMax wykorzystuje do tworzenia siatek otwarty mesher Netgen, który nie wspiera tego typu elementów. W przyszłości może jednak zostać dodany drugi mesher Gmsh, który również jest programem open-source i pozwala tworzyć siatki z elementami typu hex. Do tego czasu można generować takie siatki we wspomnianym Gmsh lub również darmowym Salome-Meca i importować je do PrePoMax’a – w takiej formie są wspierane. Przykład takiej procedury, z wykorzystaniem Gmsh, został przedstawiony w jednym z filmików na wcześniej wymienionym kanale na YouTube.
Na sam koniec pozostaje jedynie zachęcić czytelników do przetestowania programu PrePoMax i obserwowania jego strony, by być na bieżąco z jego szybkim rozwojem.