💨 Płyn metodą Lattice-Boltzmann
Metoda Lattice Boltzmann (D2Q9) symulująca ścieżkę wirową Kármána i obliczeniową mechanikę płynów.
O metodzie Lattice-Boltzmann
Od mikroskali do makroskali
W przeciwieństwie do tradycyjnych solverów Naviera-Stokesa, LBM symuluje płyn jako siatkę cząstek przemieszczających się i zderzających. Każda komórka przechowuje 9 funkcji rozkładu f_i reprezentujących populacje cząstek poruszające się w każdym z kierunków D2Q9. Po zderzeniu (relaksacja do równowagi) i przemieszczeniu (przesunięcie f_i do sąsiednich komórek), makroskopowa gęstość ρ = Σf_i i prędkość u = Σf_i·c_i/ρ wyłaniają się w naturalny sposób.
Ścieżka wirowa Kármána
Przy liczbach Reynoldsa między 40 a kilkaset, przepływ wokół walca staje się niestabilny. Wiry odrywają się na przemian z obu stron przeszkody, tworząc regularny wzór znany jako ścieżka wirowa Kármána. Częstotliwość odrywania f, średnica walca D i prędkość przepływu U są powiązane liczbą Strouhala St = f·D/U ≈ 0,21 przy Re=100. Zjawisko to wstrząsnęło mostem Tacoma Narrows aż do jego zniszczenia w 1940 roku.
Liczba Reynoldsa
Liczba Reynoldsa Re = U·L/ν (siły bezwładności / siły lepkości) determinuje charakter przepływu: Re < 5 daje gładki, pełzający przepływ z symetryczną recyrkulacją; Re ~ 40–200 daje okresową ścieżkę wirową Kármána; Re > 1000 prowadzi do turbulentnych, chaotycznych śladów. W LBM lepkość wiąże się z czasem relaksacji τ = 3ν + 0,5, a stabilność wymaga τ > 0,5.
O tej symulacji
Ta symulacja uruchamia prawdziwy solver płynu metodą Lattice-Boltzmann (LBM) bezpośrednio na siatce 160×80 D2Q9: każda komórka przechowuje dziewięć dyskretnych funkcji rozkładu cząstek fi, po jednej na każdy kierunek sieci, które relaksują do lokalnej równowagi (zderzenie BGK, czas relaksacji τ = 3ν + 0,5), a następnie przemieszczają się do sąsiednich komórek w każdym kroku. Makroskopowa gęstość ρ = Σfi i prędkość u = Σfici/ρ wyłaniają się z tych mikroskopowych aktualizacji, zamiast być rozwiązywane bezpośrednio, co czyni LBM fundamentalnie innym od klasycznego solvera Naviera-Stokesa. Kołowa przeszkoda (lub, w trybie Przepływu w rurze, dwie równoległe ścianki) stosuje warunki brzegowe bez poślizgu typu bounce-back, a wlot o stałej prędkości po lewej stronie oraz otwarty wylot po prawej napędzają przepływ.
🔬 Co pokazuje
Przepływ wokół cylindrycznej przeszkody (lub przez rurę) obliczany komórka po komórce schematem sieciowym Boltzmanna D2Q9. W zależności od lepkości ν i prędkości wlotowej, ślad pozostaje gładki i symetryczny (niskie Re), tworzy naprzemienną ścieżkę wirową Kármána (Re ≈ 40–200), lub staje się chaotyczny i turbulentny (Re > ~500). Możesz przełączać widok między prędkością, przybliżonym polem wirowości i gęstością/ciśnieniem.
🎮 Jak korzystać
Wybierz preset — Pełzający (Re=5), Kármán (Re=100), Turbulentny (Re=500) lub Przepływ w rurze — lub ustaw samodzielnie lepkość ν, prędkość wlotową i rozmiar przeszkody za pomocą suwaków. Kliknij w dowolnym miejscu na płótnie, by przesunąć walec i obserwować, jak ślad reorganizuje się w czasie rzeczywistym. Przełączaj zakładki widoku (Prędkość / Wirowość / Ciśnienie), by zobaczyć różne pola, i odczytuj na żywo liczbę Reynoldsa, współczynnik oporu i liczbę Strouhala w panelu statystyk przepływu.
💡 Czy wiesz, że?
Naprzemienne odrywanie wirów, które możesz tu wywołać przy Re ≈ 100, to to samo zjawisko ścieżki wirowej Kármána, które w 1940 roku doprowadziło do zniszczenia mostu Tacoma Narrows. Sama metoda LBM wywodzi się z automatów komórkowych typu lattice-gas z lat 80. XX wieku i jest dziś wykorzystywana w rzeczywistych inżynierskich kodach CFD, ponieważ jej lokalne, oparte na siatce aktualizacje bardzo dobrze zrównoleglają się na GPU.
Najczęściej zadawane pytania
Czym jest metoda Lattice-Boltzmann i czym różni się od solverów Naviera-Stokesa?
LBM dyskretyzuje przestrzeń na sieć (tutaj 160×80 komórek) i śledzi dziewięć funkcji rozkładu cząstek na komórkę zamiast bezpośrednio rozwiązywać równania Naviera-Stokesa dla ciśnienia i prędkości. Każdy krok symulacji naprzemiennie wykonuje lokalne zderzenie (relaksację f_i do wartości równowagowej f_i^eq w czasie relaksacji τ) i krok przemieszczenia, który przesuwa każde f_i do sąsiedniej komórki w jego kierunku sieciowym. Gęstość i prędkość są po prostu obliczane jako momenty funkcji rozkładu. Ta lokalna, jawna reguła aktualizacji sprawia, że LBM jest łatwa do zrównoleglenia, w przeciwieństwie do tradycyjnych solverów Naviera-Stokesa opartych na równaniu Poissona dla ciśnienia.
Co oznacza model sieciowy D2Q9?
D2Q9 oznacza dwuwymiarową sieć z 9 dyskretnymi kierunkami prędkości na komórkę: jeden kierunek spoczynkowy, cztery sąsiedzi wzdłuż osi i cztery sąsiedzi po przekątnej, każdy z własną wagą sieciową (4/9, 1/9 lub 1/36). To standardowy, minimalny szablon dla dwuwymiarowej symulacji przepływu quasi-nieściśliwego i dokładnie to implementuje ta symulacja za pomocą tablic CX/CY/W w kodzie.
Jak suwaki Lepkości i Prędkości wlotowej odnoszą się do liczby Reynoldsa?
Symulacja oblicza liczbę Reynoldsa jako Re = U·L/ν, gdzie U to prędkość wlotowa, L to średnica przeszkody (dwukrotność wartości suwaka Rozmiar przeszkody), a ν to wartość suwaka Lepkość, która ustala też czas relaksacji LBM τ = 3ν + 0,5. Obniżenie lepkości lub podniesienie prędkości wlotowej zwiększa Re i przesuwa przepływ od gładkiego, pełzającego ruchu w stronę odrywania wirów, a ostatecznie turbulencji; cztery presety to po prostu wstępnie dobrane kombinacje tych dwóch suwaków.
Dlaczego za przeszkodą tworzy się ścieżka wirowa Kármána?
Gdy Re wzrośnie powyżej mniej więcej 40, symetryczny ślad za walcem staje się niestabilny wobec małych zaburzeń, a wiry zaczynają odrywać się na przemian z góry i z dołu przeszkody zamiast pozostawać przyklejone. To okresowe odrywanie to ścieżka wirowa Kármána, a jej częstotliwość f podlega zależności Strouhala St = f·D/U ≈ 0,21 blisko Re = 100, czyli stałej wartości raportowanej przez symulację w panelu statystyk przepływu.
Co właściwie pokazują tryby widoku Prędkość, Wirowość i Ciśnienie?
Prędkość koloruje każdą komórkę według wielkości jej lokalnego wektora prędkości, obliczonego z pierwszego momentu prędkości funkcji rozkładu. Wirowość przybliża lokalną rotację pola prędkości za pomocą różnic skończonych między pędem sąsiednich komórek, uwydatniając wirujące rdzenie oderwanych wirów w kolorze czerwonym/niebieskim. Tryb ciśnienia/gęstości koloruje komórki według ρ = Σf_i, co w tym niemal nieściśliwym schemacie LBM jest proporcjonalne do lokalnego ciśnienia poprzez równanie stanu podobne do gazu doskonałego.