
Numeryczna mechanika płynów (ang. CFD – Computational Fluid Dynamics) jest jednym z narzędzi należących do grupy komputerowego wspomagania prac inżynierskich (ang. CAE – Computer Aided Engineering). Jednym z powodów zwiększenia zainteresowania CFD przez przemysł jest przełamanie bariery sprzętowej, która przez długi czas ograniczała efektywne wykorzystanie tego narzędzia.
Przy obecnych, będących standardem, systemach 64-bitowych, niskich cenach pamięci RAM i wielordzeniowych procesorach, przeprowadzenie obliczeń na dużych modelach jest możliwe już nawet na niedrogich stacjach roboczych. Jednocześnie liniowa skalowalność obliczeń opartych na metodzie objętości skończonej (zaimplementowanej w większości komercyjnych kodów CFD) pozwala w pełni wykorzystać wielordzeniowość procesorów.
Nierozerwalnie związane z dostępnymi mocami obliczeniowymi było zawsze zagadnienie przygotowania modelu do obliczeń, a konkretnie – generacja siatki obliczeniowej w zdefiniowanej geometrii, w której poszukiwane jest rozwiązanie. Przepływ płynu lepkiego opisany jest równaniami cząstkowymi zawierającymi człon nieliniowy, których ogólnych rozwiązań analitycznych, przy obecnym poziomie matematyki, nie znamy. Metody wykorzystywane w komercyjnym oprogramowaniu służącym do obliczeń przepływu bazują najczęściej na metodzie objętości skończonej lub rzadziej metodzie elementu skończonego. W obu tych metodach obszar, w którym występuje przepływ płynu musi zostać podzielony na skończoną ilość małych elementów – siatkę obliczeniową. Im mniejsze będą owe elementy tym rozwiązanie będzie dokładniejsze, jednocześnie obliczenia będą trwały więcej czasu i będą wymagały więcej pamięci. Elementy tworzące siatkę muszą jednocześnie spełniać szereg dodatkowych wymagań. Budowa siatki obliczeniowej była i jest podstawowym zadaniem podczas przygotowywania komputerowej symulacji przepływu, najczęściej również najbardziej czasochłonnym. Dostępne w programach CAD moduły służące do szybkich symulacji często przeprowadzają proces siatkowania w tle bez kontroli użytkownika, co może mieć wpływ na poprawność obliczeń nawet dla prostych zagadnień oszacowania oporów przepływu. Firmy oferujące oprogramowanie do siatkowania skupiają się na rozwijaniu algorytmów pozwalających na jak największą automatyzację procesu generacji siatki. W niniejszym artykule przedstawimy podstawowe informacje dotyczące siatki obliczeniowej i dokonamy przeglądu dostępnych metod siatkowania w programie Ansys Meshing Platform.
Typy siatek obliczeniowych
Dwa podstawowe rozróżnienia typów siatek dotyczą samego typu elementu siatki oraz algorytmu siatkowania. Na rysunku 1 przedstawiono najczęściej stosowane rodzaje elementów siatki.

Elementy sześciościenne gwarantują zwykle lepszą zbieżność obliczeń oraz pozwalają na znaczną redukcję ilości elementów w modelu. Dla przykładu, przy podziale sześcianu o wymiarach 10x10x10 jednostek elementami sześciościennymi o wymiarze jednej jednostki uzyskamy 1000 elementów. Taki sam sześcian wypełniony elementami czworościennymi o takim samym wymiarze charakterystycznym będzie już liczył ponad siedem razy więcej elementów, przy zapewnieniu podobnej dokładności obliczeniowej. Im więcej elementów siatki tym więcej potrzeba dostępnej pamięci operacyjnej komputera oraz tym dłużej trwa proces obliczeń. Dodatkowa zaleta elementów hexa to możliwość ich zorientowania zgodnie z kierunkami przepływu i zagęszczenia siatki w kierunkach występowania dużych gradientów prędkości. Podstawowym problemem jest tu natomiast sama generacja siatki sześciościennej; w praktyce jest ona możliwa do zastosowania tylko w stosunkowo prostych geometriach.

Do złożonych geometrii o dużych krzywiznach i wielu detalach stosuje się zwykle siatki czworościenne ze względu na możliwość właściwie automatycznej generacji siatki z wymaganym minimalnym udziałem użytkownika. Przy rosnącej ilości dostępnej pamięci coraz częściej bardziej opłacalne jest automatyczne wygenerowanie siatki tetra zmniejszając czas potrzebny na przygotowanie modelu. Elementy typu pryzmy i piramidy stosowane są najczęściej przy łączeniu dwóch omówionych już typów siatek oraz przy budowaniu tzw. warstwy przyściennej (patrz ramka).

Poprawne zamodelowanie przepływu w pobliżu ścianek wymaga stosowania zagęszczenia siatki obliczeniowej w tym obszarze. Stosuje się tak zwaną siatkę warstwy przyściennej, której elementy są zagęszczone w kierunku występowania największego gradientu prędkości. W praktyce dobry algorytm siatkowania powinien umożliwiać generację tego typu siatki w okolicy ścianek. Siatki bez warstwy przyściennej stosować można tylko dla przepływów laminarnych, a te w praktyce inżynierskiej są rzadko spotykane.
Osobnym zagadnieniem jest sam sposób generacji siatki obliczeniowej. Najpowszechniej stosowanym algorytmem siatkowania elementami tetra jest tzw. triangulacja Delaunay’a oraz metoda Octree. Triangulacja Delaunay’a została matematycznie opracowana już w 1934 i polega na stworzeniu siatki trójkątów na podstawie zbioru punktów, w oparciu o kryterium maksymalizacji najmniejszego kąta. W efekcie, siatki zbudowane w oparciu o tę metodę składają się z elementów dobrej jakości. Wadą tej metody jest wymaganie geometrii o dobrze określonych powierzchniach. Wszelkiego typu defekty geometrii w postaci szczelin, nachodzących powierzchni itp. uniemożliwiają zastosowanie algorytmu. Wady tej nie ma metoda Octree, w której generacja siatki nie zaczyna się od jej stworzenia na powierzchni modelu tylko w jego objętości, dzięki czemu siatka jest odporna na występujące defekty geometrii. Początkowo duże elementy dzielone są zgodnie z algorytmem Octree i siatka dopasowywana jest do geometrii. Minusem metody jest zwykle większy volume ratio (stosunek wielkości występujących obok siebie elementów) niż w metodzie Delaunay’a.

W przypadku siatek sześciościennych najczęściej stosowana jest metoda polegająca na przeciąganiu przez objętość siatki wygenerowanej na jednej powierzchni. Wygenerowana jest w ten sposób siatka wysokiej jakości o małej liczbie elementów. Ta metoda znajduje zastosowanie jednak tylko do bardzo prostych geometrii, ma także ograniczenia w generowaniu siatki warstwy przyściennej. Dla bardziej skomplikowanych geometrii stosuje się różnego typu algorytmy, wymagające jednak najczęściej dużego wkładu pracy użytkownika (np. blocking w ICEM CFD). Często stosuje się również siatki hybrydowe. Przykładem może być algorytm hexcore, pochodzący z programu TGrid, generujący w okolicy powierzchni siatkę tetra, a w objętości – siatkę hexa.
Należy wspomnieć o jeszcze jednym rozróżnieniu wynikającym pośrednio z odpowiedniego uporządkowania elementów w siatce, a bezpośrednio ze sposobu ich adresowania. Mowa tu o siatkach strukturalnych i niestrukturalnych. Siatka strukturalna to taka, której położenie elementów może być opisane w układzie kartezjańskim trzema indeksami i, j, k. Odpowiednie ponumerowanie pozwala na bezpośrednie odnajdywanie sąsiednich względem siebie elementów, bez konieczności użytkowania dodatkowej struktury danych zawierającej informacje o sąsiadujących elementach. Oczywistym staje się, że siatką strukturalną może być tylko odpowiednio przygotowana siatka składająca się z elementów sześciościennych (w dwuwymiarze – z czworościennych). Stworzenie siatki strukturalnej wymaga dużo więcej pracy i ograniczone jest poprzez poziom skomplikowania geometrii. Siatki strukturalne można zbudować metodą tzw. blockingu używając np. programu ICEM CFD. Aby wykorzystać zalety siatki strukturalnej należy użyć przystosowanego do tego solvera. Obecnie większość komercyjnych programów do obliczeń przepływów to solvery niestrukturalne. Oczywiście siatki strukturalne są zwykle siatkami o wysokiej jakości i niskiej liczbie elementów.
Możliwości AMP
Ansys Meshing Platform (AMP) to narzędzie oferujące różne algorytmy tworzenia siatek, pozwalające wygenerować dobrą siatkę obliczeniową dla większości geometrii spotykanych w przemyśle. Preprocesor do generacji siatki AMP pojawił się na rynku CFD wraz z platformą Workbench 2. Pierwsza wersja AMP 12 zintegrowała w sobie szereg algorytmów generacji siatki wykorzystywanych wcześniej w programach Gambit, TGrid i ICEM CFD, natomiast posiadała kilka słabych punktów głównie związanych z pracą nad dużymi modelami. W kolejnych wersjach 12.1 i 13 dodanych zostało szereg opcji, dzięki którym AMP stał się jednym z popularniejszych uniwersalnych generatorów siatki. Obecnie, czekając na wersję 14, która ma się pojawić pod koniec roku, spójrzmy na aktualnie dostępne w AMP metody siatkowania.
Siatka czworościenna (Tetra):
- patch conforming (Delaunay) – zaadaptowana z programu TGrid,
- patch independent (Octree and Advanced Front Method) – zaadaptowane z programu ICEM CFD.
Siatka sześciościenna (Hexa) i hybrydowa:
- sweep,
- multizone – podstawowa funkcjonalność zaadaptowana z programu TGrid, możliwe dodatkowe opcje np. hexcore,
- cutcell – przeznaczona tylko do solvera Fluent,
- cartesian – siatka kartezjańska (siatka hexa o orientacji elementów zgodnej z kartezjańskim układem współrzędnych).
Poniżej zostały pokrótce scharakteryzowane poszczególne metody wraz z ilustracją przedstawiającą przykładową siatkę.
Tetra Patch conforming (Delaunay)

+ Automatyczna generacja siatki dla większości geometrii
+ Możliwość wygenerowania warstwy przyściennej
+ Możliwość lokalnego zagęszczania siatki
– Duża liczba elementów
– Konieczna geometria bez defektów (dziur, podwójnych powierzchni, krótkich krawędzi itp.)
Tetra Patch independent (Octree)

+ Automatyczna generacja siatki dla większości geometrii
+ Możliwość wygenerowania warstwy przyściennej
+ Możliwość lokalnego zagęszczania siatki
+ Możliwość generacji siatki nawet przy uszkodzonej geometrii
– Duża liczba elementów
– Duży volume ratio elementów
Cutcell

+ Automatyczna generacja siatki dla większości geometrii
+ Elementy hexa
+ Możliwość wygenerowania warstwy przyściennej
+ Możliwość lokalnego zagęszczania siatki
+ Możliwość generacji siatki nawet przy uszkodzonej geometrii
– Elementy polihedralne z hanging nodes tylko do solvera Fluent
Hexcore

+ W większości objętości elementy hexa
+ Możliwość wygenerowania warstwy przyściennej (nie zawsze)
– Konieczna geometria bez defektów (dziur, podwójnych powierzchni, krótkich krawędzi itp.)
– Ograniczona możliwość lokalnego zagęszczania siatki
Hex dominant

+ Automatyczna generacja siatki dla większości geometrii
+ Elementy hexa
– Brak możliwości wygenerowania dobrej warstwy przyściennej
– Brak możliwość lokalnego zagęszczania siatki
– Konieczna geometria bez defektów (dziur, podwójnych powierzchni, krótkich krawędzi itp.)
Cartesian

+ Automatyczna generacja siatki dla większości geometrii
+ Elementy hexa
– Brak możliwości wygenerowania warstwy przyściennej
– Brak możliwość lokalnego zagęszczania siatki
– Konieczna geometria bez defektów (dziur, podwójnych powierzchni, krótkich krawędzi itp.)
Adam Piechna
artykuł pochodzi z wydania 6 (45) Czerwiec 2011