Fluent: Obliczenia równoległe
From Centrum Komputerów Dużej Mocy, ICM Uniwersytet Warszawski
| FLUENT | |
|---|---|
| |
| Produkt: | FLUENT |
| Producent: | ANSYS |
| Licencja: | |
| Zainstalowany na: | halo2 rekin labuz1 labuz3 lab edukacyjny |
| Wersja: | 12.1, 13.0.LM2, 14.0 |
| Email: | fluent@icm.edu.pl |
| Program Fluent | |
| Licencja krajowa | |
| Fluent w ICM | |
| Uruchamianie | |
| Obliczenia równoległe | |
| Program Gambit | |
| Gambit w ICM | |
| Uruchamianie | |
| Program Tgrid | |
| Tgrid w ICM | |
| Uruchamianie | |
| Obliczenia w ICM | |
| Tryb wsadowy | |
| Fluent sekwencyjny | |
| Fluent równoległy | |
| Wstawianie do kolejki | |
| Rozmaitości | |
| Projekty użytkowników | |
| Linki | |
Program FLUENT umożliwia obliczenia w trybie równoległym. Równoległość jest realizowana w oparciu o podział obszaru obliczeniowego na podobszary. Obliczenia związane z każdym podobszarem są wykonywane niezależnie (równolegle) na procesorach przydzielonych do realizacji zadania. Oczywiście niezbędna jest wymiana informacji między procesorami w celu "uzgodnienia" wartości rozwiązań na stykających się ze sobą brzegach podobszarów. W ICM obliczenia w trybie równoległym z wykorzystaniem programu FLUENT mogą być wykonywane na klastrze halo.
Wykonanie obliczeń w trybie równoległym składa się z dwóch etapów:
- Podział obszaru obliczeniowego (na podstawie pliku
.caslub pliku z siatką). - Uruchomienie Fluenta w wersji równoległej. Przykładowy skrypt kolejkowy.
Contents |
Podział obszaru obliczeniowego
Podział obszaru powinien spełniać trzy warunki:
- Liczba komórek w podobszarach powinna być w miarę równa;
- Podział powinien minimalizować liczbę wspólnych dla podobszarów ścianek komórek (bądź krawędzi, w przypadku 2D);
- Liczba sąsiadów każdego obszaru powinna być jak najmniejsza.
Podział obszaru może zostać wykonany automatycznie (Parallel, Auto Partition) podczas działania Fluenta w trybie równoległym - lub też może zostać wykonany "ręcznie" we Fluencie działającycm w trybie sekwencyjnym lub równoległym, poprzez wydanie polecenia Parallel, Partition i odpowiednie ustawienie opcji. Informacja o dokonanym podziale obszaru zapisana w pliku .cas może zostać wykorzystana w kolejnych obliczeniach.
Bez względu na sposób dokonania podziału (automatyczny lub "ręczny"), zestaw dostępnych metod podziału jest taki sam. Metody podziału to różne warianty bisekcji oraz metoda METIS.
Metoda bisekcji
Metoda bisekcji polega na dzieleniu obszaru "na pół", przy czym proces jest powtarzany tak długo, aż w wyniku kolejnych podziałów powstanie liczba podobszarów odpowiadająca liczbie procesorów. Na przykład, aby podzielić obszar obliczeniowy na 4 części, program najpierw podzieli cały obszar na dwie części, a następnie każdą z części ponownie podzieli na pół. Aby podzielić obszar na trzy części, w pierwszym kroku zostanie on podzieli na dwie części, z ktorych jedna będzie w przybliżeniu dwa razy większa od drugiej, a następnie podzieli większą część na dwie. W ten sposób powstaną trzy podobszary.
Kierunek przeprowadzania bisekcji zależy od wybranego schematu i przebiega np. zgodnie w układem współrzędnych (Cartesian Axes), zgodnie z osiami głównymi (Principal Axes), zgodnie z wybraną współrzędną (np. Cartesian Y-coordinate), itd. Metoda bisekcji "nie widzi" kształtu obszaru.
|
|
|
| Cartesian Axes | Cartesian X-Coordinate | Cartesian Y-Coordinate |
|
|
|
| Principal Axes | Principal Y-Coordinate | Metis |
|
|
|
| Polar Axes | Polar R-Coordinate | Polar Theta-Coordinate |
Metis
Metoda bisekcji "nie widzi" kształtu obszaru i dlatego w przypadku podziału obszarów o złożonej geometrii najlepsze wyniki osiąga się stosując metodę Metis, bazującą na algorytmie podziału nieregularnych grafów. Metoda ta jako jedyna z dostępnych we Fluencie uwzględnia kształt obszaru podczas dokonywania podziału.
|
|
|
| Metis | Cartesian Axes | Principal Axes |
Jakość podziału
Jakość podziału można ocenić na podstawie wartości kilku wskaźników generowanych przez program Fluent po dokonaniu podziału. W szczególności Cell count podaje minimalną i maksymalną liczbę komórek w podobszarach, zaś Partition boundary face count to minimalna i maksymalna liczba ścianek sąsiadujących ze ściankami innych podobszarów.
Celem jest osiągnięcie możliwie małych wartości wskaźników Partition boundary face count ration oraz Partition boundary cell count ratio przy zachowaniu możliwie równego obciążenia, czyli równej liczby komórek w podobszarach (Mean cell count deviation).
Optymalny podział obszaru jest ściśle związany z jego kształtem oraz pokrywającą go siatką dyskretyzacji i dlatego dobrze jest wypróbować różne metody i wybrać najlepszą.
Na zakończenie...
W ogólnym przypadku czas obliczeń ulega skróceniu w miarę wzrostu liczby procesorów. Jednak większa liczba procesorów wykorzystanych w obliczeniach zwiększa równocześnie czas potrzebny do komunikacji między procesorami. Dlatego też liczba procesorów powinna być dopasowana do rozmiaru i rodzaju zadania.
