Równoległość w oprogramowaniu MES odnosi się do procesu dzielenia i dystrybucji zadań obliczeniowych między wiele procesorów lub rdzeni w celu przyspieszenia analizy i symulacji złożonych problemów inżynierskich. Obliczenia równoległe umożliwiają oprogramowaniu radzenie sobie z większymi i bardziej złożonymi symulacjami poprzez wykorzystanie mocy nowoczesnych wielordzeniowych procesorów, a nawet rozproszonych klastrów obliczeniowych.
Oto kilka kluczowych aspektów zrównoleglania w oprogramowaniu MES:
Dekompozycja domeny : Powszechne podejście do zrównoleglania polega na podzieleniu domeny symulacji na mniejsze poddziedziny. Każda subdomena jest następnie przypisana do innego procesora lub rdzenia, a obliczenia są przeprowadzane jednocześnie na tych oddzielnych częściach. Po zakończeniu lokalnych obliczeń wyniki są łączone w celu uzyskania rozwiązania ogólnego.
Technologia ta jest stosowana w programach RFEM 6 i RSTAB 9 do równoległego obliczania przypadków obciążeń i kombinacji obciążeń. Dla każdego rdzenia uruchamiana jest instancja solwera, która następnie oblicza kolejno przypadki obciążeń lub kombinacje obciążeń.
Wielowątkowość i wieloprzetwarzanie : Oprogramowanie wykorzystujące MES może wykorzystywać techniki wielowątkowości i przetwarzania wieloprocesowego do równoległego wykonywania obliczeń. Wielowątkowość polega na podzieleniu pojedynczego programu na mniejsze wątki, które mogą być wykonywane jednocześnie. Wieloprzetwarzanie oznacza uruchamianie wielu niezależnych procesów lub zadań jednocześnie.
Obie techniki są stosowane w programie RFEM 6.
Uruchomiono kilka niezależnych solwerów do równoległego obliczania przypadków obciążeń i kombinacji obciążeń. Jest to technika przetwarzania wieloprocesowego.
Jeżeli solwer bezpośredni jest wykorzystywany do obliczenia pojedynczego przypadku obciążenia lub kombinacji obciążeń, obciążenie to zostaje rozłożone na kilka wątków, aby rozwiązać układ równań.
Skalowalność : Skalowalność odnosi się do tego, jak dobrze oprogramowanie MES może obsłużyć rosnącą liczbę procesorów lub rdzeni. Dobrze zaprojektowane oprogramowanie wykorzystujące MES do pracy równoległej powinno charakteryzować się dobrą skalowalnością, co oznacza, że wraz z dodawaniem kolejnych procesorów zwiększa się wydajność, a czas symulacji ulega skróceniu.
Biblioteki równoległe i interfejsy API : Wiele pakietów oprogramowania wykorzystujących MES wykorzystuje biblioteki programowania równoległego i interfejsy API (interfejsy programowania aplikacji ) do efektywnej implementacji zrównoleglania. Przykłady obejmują OpenMP, CUDA (do zrównoleglania GPU) i inne.
OpenMP jest wykorzystywany w RFEM 6 do implementacji wielowątkowości.
CUDA nie jest stosowany w RFEM 6. Z tego względu obliczenia nie mogą być przeprowadzane na kartach graficznych lub podobnych akceleratorach obliczeniowych.
Równoległość solwera : W symulacjach MES rozwiązywanie liniowych układów równań jest powszechnym wąskim gardłem. Zaawansowane solwery można łączyć równolegle, aby przyspieszyć rozwiązywanie problemów.
Wstępne i końcowe przetwarzanie : Chociaż duży nacisk kładziony jest na zrównoleglenie fazy solwera, równoległość może być również stosowana do innych aspektów analizy MES, w tym do zadań przetwarzania wstępnego (generowanie siatki, konfiguracja modelu) i przetwarzania końcowego (wizualizacja, analiza danych).
Zarówno w przetwarzaniu wstępnym, jak i w przetwarzaniu końcowym w programach RFEM 6 i RSTAB 9 zastosowano równoległość poprzez wielowątkowość.
Efektywne zrównoleglenie w oprogramowaniu MES może znacznie skrócić czas symulacji, umożliwiając inżynierom i naukowcom efektywną analizę większych i bardziej złożonych problemów.