Views

Fluent: Obliczenia równoległe

From Centrum Komputerów Dużej Mocy, ICM Uniwersytet Warszawski

Jump to: navigation, search
FLUENT
Grafika:Fluent_ansys_logo.gif
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 .cas lub 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.

Grafika:Cartesian axes2.jpg Grafika:Cartesian x2.jpg Grafika:Cartesian y2.jpg
Cartesian Axes Cartesian X-Coordinate Cartesian Y-Coordinate
Grafika:Principal axes2.jpg Grafika:Principaly2.jpg Grafika:Metis2.jpg
Principal Axes Principal Y-Coordinate Metis
Grafika:Polar axes.jpg Grafika:Polar r2.jpg Grafika:Polar theta2.jpg
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.

Grafika:metis4.jpg Grafika:cartesian4.jpg Grafika:principal4.jpg
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.

Linki