Nowe symulacje
Lot Lévy'ego — anomalna dyfuzja
Wykładnik stabilności α kontroluje ciężkość ogona; α=2 to ruch browna, α→1 daje rzadkie długie skoki. Algorytm Mantegny. Rozkład kroków w skali log-log, do 8 wędrowców.
Dyfuzyjnie ograniczona agregacja — fraktal DLA
Algorytm Wittena–Sandera z 1981 roku. Cząstki błądzą losowo aż do kontaktu i przyklejenia; żywe śledzenie wymiaru fraktalnego D_f ≈ 1.71 poprzez N ∝ R^D_f. Cztery tryby kolorystyczne, trzy kształty zarodka.
Równania płytkiej wody — jednowymiarowy solver SWE
Równania Saint-Venanta; schemat Laxa-Friedrichsa. Pękanie tamy, chlupotanie, fala pływowa, skok hydrauliczny. Liczba Froude'a, prędkość fali, zachowanie masy, tarcie Manninga.
🦅 Lot Lévy'ego — anomalna dyfuzja
Czym jest anomalna dyfuzja?
Standardowy ruch Browna ma średniokwadratowe przemieszczenie, które skaluje się liniowo z czasem: MSD ∝ t. Loty Lévy'ego uogólniają to, losując długości kroków z rozkładu stabilnego o ciężkim ogonie, gdzie P(l) ~ l−(1+α) przy α ∈ (0, 2). Ponieważ rozkład nie ma skończonej wariancji dla α < 2, pojedynczy wędrowiec może wykonywać rzadkie, ale dowolnie długie skoki, dając superdyfuzję: MSD ∝ tγ przy γ > 1.
Loty Lévy'ego pojawiają się w całej przyrodzie: wzorce żerowania albatrosów, rozgałęzianie się piorunów, sekwencje przemieszczeń podczas trzęsień ziemi, a nawet wzorce mobilności ludzi w danych z telefonów komórkowych — wszystkie wykazują rozkłady kroków o ciężkim ogonie zgodne ze statystyką Lévy'ego.
Algorytm Mantegny
Bezpośrednie próbkowanie odwrotne z rozkładu stabilnego wymaga kwadratury numerycznej. Algorytm Mantegny (1994) dostarcza efektywnego przybliżenia. Dla symetrycznej zmiennej losowej α-stabilnej:
σ = [Γ(1+α)·sin(πα/2) / (Γ((1+α)/2)·α·2^((α−1)/2))]^(1/α)
u ~ N(0, σ²), v ~ N(0, 1)
l = u / |v|^(1/α)
Przy α = 2 sprowadza się to do rozkładu Gaussa (standardowego ruchu Browna). Symulacja wykorzystuje 6-wyrazowe przybliżenie Lanczosa dla Γ(z), aby uniknąć zewnętrznych bibliotek matematycznych.
Odczytywanie wykresu log-log
Dolny panel pokazuje histogram zakumulowanych długości kroków w skali log-log. Dla prawdziwego rozkładu potęgowego histogram opada jako linia prosta o nachyleniu −(1 + α). Przy α = 2 (rozkład Gaussa) ogon opada szybciej niż jakikolwiek rozkład potęgowy, a prawy koniec histogramu zakrzywia się w dół. Przy α = 1.2 histogram pozostaje niemal liniowy na wielu rzędach wielkości kroku — charakterystyczna sygnatura stabilnego rozkładu Lévy'ego.
🌿 Dyfuzyjnie ograniczona agregacja (DLA)
Model Wittena–Sandera
Wprowadzony przez Wittena i Sandera w 1981 roku, DLA jest jednym z najprostszych algorytmów generujących geometrię fraktalną. Reguły są minimalne: umieść cząstkę-zarodek w początku układu współrzędnych; wypuść nową cząstkę z okręgu, którego promień nieznacznie przekracza obecny klaster; pozwól jej błądzić losowo, aż znajdzie się przy klastrze, po czym przykleja się na stałe. Powtórz.
Mimo prostoty, powstały klaster jest fraktalem o wymiarze D_f ≈ 1.71 w 2D (w porównaniu do 2.0 dla wypełnionego dysku i 1.0 dla linii). Rozgałęzianie się zachodzi, ponieważ końcówki klastra przechwytują dyfundujące cząstki preferencyjnie z powodu większego przekroju wychwytu — zjawisko znane jako niestabilność rozszczepiania się wierzchołków.
Szczegóły implementacji
Symulacja wykorzystuje płaską tablicę zajętości
Uint8Array dla sprawdzania sąsiadów w czasie O(1).
Cząstki są tworzone na okręgu o promieniu 1.2 × cluster_radius +
30 px i usuwane, jeśli oddalą się poza 1.5 × tego promienia, co
zapobiega nieskończonemu błądzeniu. Każda klatka animacji
uruchamia partię do 10 cząstek, utrzymując płynną liczbę klatek
nawet przy celach na poziomie 5000 cząstek.
Suwak prawdopodobieństwa przyklejenia (domyślnie 1.0) wprowadza wariant DLA o zredukowanym szumie: przy niższych wartościach cząstki częściowo chybiają przy pierwszym kontakcie, dając gęstsze, mniej rozgałęzione klastry, bardziej przypominające wzory lepkiego palczastego wypierania.
Szacowanie wymiaru fraktalnego
Żywe oszacowanie D_f wykorzystuje najprostszy proxy zliczania pudełek: jeśli N cząstek zajmuje klaster o promieniu R, to D_f ≈ log(N)/log(R). Zwykle zbiega to do wartości między 1.65 a 1.75, gdy klaster przekroczy kilkaset cząstek. Prawdziwy wymiar fraktalny DLA został precyzyjnie obliczony jako D_f = 1.713 ± 0.003 przez Meakina i współpracowników za pomocą symulacji na dużą skalę.
🌊 Równania płytkiej wody (jednowymiarowe SWE)
Równania Saint-Venanta
Jednowymiarowe równania Saint-Venanta (płytkiej wody) opisują uśredniony po głębokości przepływ w kanale, gdzie pozioma skala długości znacznie przewyższa głębokość wody. Tworzą one hiperboliczny układ praw zachowania:
∂h/∂t + ∂(hu)/∂x = 0 (zachowanie masy)
∂(hu)/∂t + ∂(hu² + ½gh²)/∂x = S (pęd)
gdzie h to głębokość wody, u to uśredniona po głębokości prędkość, g = 9.81 m/s² to przyspieszenie ziemskie, a S to człon źródłowy tarcia Manninga: S = −g·n²·u·|u|·h−1/3.
Schemat Laxa-Friedrichsa
Symulacja wykorzystuje jawną metodę różnic skończonych Laxa-Friedrichsa, która jest dokładna pierwszego rzędu w przestrzeni i czasie, ale bezwarunkowo stabilna zgodnie z warunkiem CFL. Krok czasowy jest obliczany adaptacyjnie w każdej klatce:
dt = CFL · dx / max(|u| + c) gdzie c = √(gh)
Suwak CFL (0.1–0.48) pozwala obserwować efekty dyfuzji numerycznej: niższe wartości dają gładsze, ale wolniejsze wyniki; wartości zbliżające się do 0.5 wyostrzają fronty fal, ale mogą powodować niewielkie oscylacje w pobliżu skoków.
Scenariusze
- Pękanie tamy: klasyczny problem Riemanna — nagłe usunięcie tamy między dwiema kolumnami wody o różnej wysokości. Dokładne rozwiązanie składa się z rozprzestrzeniającej się w lewo fali rozrzedzenia i rozprzestrzeniającego się w prawo boru (fali uderzeniowej).
- Chlupotanie: sinusoidalny profil początkowej głębokości w zamkniętym zbiorniku daje oscylacje fali stojącej o częstotliwości naturalnej f ≈ (1/2L) √(g·h̄).
- Fala pływowa: sinusoidalny dopływ na lewej granicy generuje pociąg fal postępowych. Przy podkrytycznych liczbach Froude'a (Fr < 1) zaburzenie rozprzestrzenia się w prawo bez załamywania.
- Stopień: dopływ o wysokiej prędkości w lewej trzeciej części kanału tworzy bor hydrauliczny, który stopniowo rozprzestrzenia się przez nieruchomą wodę.
Liczba Froude'a
Liczba Froude'a Fr = |u|/c jest odpowiednikiem liczby Macha dla płytkiej wody. Dla Fr < 1 (przepływ podkrytyczny) informacja może rozprzestrzeniać się zarówno w górę, jak i w dół nurtu. Dla Fr > 1 (przepływ nadkrytyczny) zaburzenia mogą podróżować tylko w dół nurtu. Przejście Fr = 1 odpowiada skokowi hydraulicznemu w stanie ustalonym i jest oznaczone przerywaną pomarańczową linią na wykresie prędkości.
Co dalej
Fala 58 prawdopodobnie zbada więcej teorii prawdopodobieństwa,
złożone wzory sztuki generatywnej lub symulacje fizyczne oparte na
równaniach różniczkowych zwyczajnych/cząstkowych. Kolejka obejmuje
cell-growth-morphogenesis (reakcja-dyfuzja + komórki
sterowane siłami), origami-fold (przeglądarka wzorów
zagięć) oraz 3d-generative-art (powierzchnie giroidalne
w Three.js).