Katarzyna Jesionek Zastosowanie symulacji dynamiki cieczy oraz ośrodków sprężystych w symulatorach operacji chirurgicznych. Jedną z metod symulacji dynamiki cieczy jest zastosowanie metody siatkowej Boltzmanna. Metoda ta opiera się na wykorzystaniu równania Boltzmanna. Możemy bowiem przejść z przestrzeni fazowej, w której znajdują się wszystkie cząstki (atomy) reprezentujące badany układ, do przestrzeni konfiguracyjnej położeń i pędów jednej cząstki. Wprowadza się w tym celu pojęcie funkcji rozkładu. Funkcja rozkładu jest zdefiniowana jako liczba cząsteczek w skończonym elemencie przestrzeni prędkości i położeń f(r, v) [1, 2, 3, 4]. Można pokazać, że z dokładnością drugiego rzędu równanie Boltzmanna można zdyskretyzować. W tym celu wprowadzane są dyskretne wektory prędkości i dyskretną funkcję rozkładu. Równanie to nazywane jest siatkowym równaniem Boltzmanna: Cała przestrzeń pokrywana jest jednorodną, kartezjańską siecią. Ogranicza się też dozwolone kierunki wektora prędkości. Co ciekawe ilość tych kierunków jest zwykle dosyć mała (od kilku do kilkunastu). Dla modelu 2D wymagane jest co najmniej 9 wektorów prędkości, a dla modelu 3D: 13. Siatka D2Q9 i dyskretyzacja funkcji rozkładu oraz prędkości pokazana jest na rys. 1 [1, 2, 3, 4]. 1
Rys. 1. Siatka D2Q9 i dyskretyzacja funkcji rozkładu oraz prędkości [3, 4]. Znajomość funkcji rozkładu w każdym punkcie badanego układu umożliwia wyznaczenie hydrodynamicznych wielkości makroskopowych takich, jak gęstość i prędkość. Wielkości opisujące hydrodynamikę badanego układu wyrazić można przez kolejne momenty funkcji rozkładu. Korzystając z jej dyskretnej postaci, wielkości makroskopowe takie jak gęstość oraz prędkość lokalną możemy wyznaczyć w następujący sposób: gdzie: f i jest dyskretną funkcją rozkładu, e i są dozwolonymi kierunkami wektora prędkości, a zakresy sumowania w powyższych wzorach zależą od ilości dozwolonych wektorów prędkości. Główny algorytm metody LBM można przedstawić w dwóch krokach: relaksacja i propagacja. W kroku relaksacji obliczane są funkcje f*: f eq jest funkcją równowagową. Krok ten przedstawiony jest na rys. 2. Na podstawie funkcji rozkładu oznaczonych na rysunku przez czarne strzałki i kropkę obliczane są funkcje f* oznaczone czerwonym kolorem. Jak widać w tym kroku nie są potrzebne informacje o stanie sąsiednich węzłów i ten krok obliczany jest lokalnie w każdym węźle [1, 2, 3, 4]. 2
Rys. 2. Krok relaksacji [1] W kroku propagacji natomiast obliczone poprzednio funkcje f* są przekazywane do odpowiednich sąsiadów. W tym kroku następuje jedynie komunikacja między węzłami i nie wykonywane są obliczenia. Rys. 3. Krok propagacji [1]. Główną zaletą LBM jest więc możliwość przydzielenia każdemu węzłowi osobnego wątku, w którym wykonywane są obliczenia i między którymi odbywa się komunikacja. Jest to możliwe dzięki zastosowaniu nowoczesnych kart graficznych, które posiadają kilka tysięcy rdzeni i technologii CUDA. Oprogramowanie Sailfish wykorzystuje tą technologię. Porównanie wyników z wartościami teoretycznymi i obliczonymi inną metodą pozwala walidować otrzymane wyniki i poprawność skalowania jednostek. Porównanie takie pokazane jest na rys. 4. Porównanie to przeprowadzono dla trójwymiarowego cylindra. Na rysunku pokazany jest profil prędkości w połowie wysokości cylindra. Symulacja napędzana była różnicą ciśnień o wartości 6.5 Pa. W obecnym semestrze trwały prace nad walidacją symulacji dla geometrii U-rurki. Symulacja napędzana była różnicą ciśnień o wartości 27 Pa. Wyniki porównywane są z wynikami uzyskanymi metodą FVM. 3
Rys. 4. Profil prędkości [m/s] w połowie wysokości cylindra wyniki symulacji (LBM) i teoretyczny rozkład prędkości Poiseulle a. 4
Rys. 5. Profil prędkości [m/s] w środkowej części u-rurki dla przepływu wywołanego różnicą ciśnień 27 Pa. Metoda LBM pozwala generować przepływy zależne od czasu. W tym przypadku skoncentrowałam się nad przepływem pulsacyjnym przez U-rurkę napędzanym okresową różnicą ciśnień o przebiegu sinusoidalnym o amplitudzie 27Pa dla różnych konfiguracji symulacji. Celem tych symulacji było znalezienie zakresu parametrów dla których wyniki będą poprawne i zgodne. Ponadto nowe warunki brzegowe, które zapewniłyby swobodny wypływ, zostały ostatecznie wprowadzone do programu Sailfish. Bibliografia: 5
[1] S. Succi, The Lattice Boltzmann Equation for Fluid Dynamics and Beyond (Numerical Mathematics and Scientific Computation) [2] M. C. Sukop, D. T. Thorne, Lattice Boltzmann modeling: an introduction for geoscientists and engineers [3] M. Matyka, Symulacje komputerowe cieczy LBM w CUDA [4] M. Matyka, Modelowanie numeryczne transportu płynów przez ośrodki porowate 6