Strona główna Dynamika Płynów Równania wody płytkiej

🌊 Równania wody płytkiej

Solver równań wody płytkiej 1D (Saint-Venanta) ze schematem różnic skończonych Laxa-Friedrichsa. Symuluj problemy Riemanna przerwania tamy (fala rozrzedzeniowa + odskok), oscylacje sloshingu, napływ fali pływowej i skok hydrauliczny. Pokazuje profil zwierciadła wody, pole prędkości i liczbę Froude'a. Współczynnik tarcia Manninga steruje szorstkością dna. Błąd zachowania masy śledzony na żywo.

Dynamika Płynów2DŁatwy60 FPS
shallow-water-equations ↗ Otwórz osobno
Interfejs samej symulacji jest w języku angielskim.

O tej symulacji

Ta symulacja rozwiązuje jednowymiarowe równania wody płytkiej (Saint-Venanta) — zachowanie masy ∂h/∂t + ∂(hu)/∂t = 0 i pędu ∂(hu)/∂t + ∂(hu²+½gh²)/∂x = 0 — za pomocą strumienia w stylu Laxa-Friedrichsa i adaptacyjnego kroku czasowego ograniczonego warunkiem CFL, dzięki czemu schemat pozostaje stabilny przy zmieniających się prędkościach fali. Cztery scenariusze korzystają z tego samego solvera: klasyczne przerwanie tamy (skok głębokości h), zbiornik sloshingu (sinusoidalna powierzchnia początkowa), pociąg fal wymuszony na granicy oraz przemieszczający się skok hydrauliczny — pozwalając porównać, jak ta sama fizyka wody płytkiej daje odskoki (bore), oscylacje sloshingu i ustalone pociągi fal.

🔬 Co pokazuje

Jednowymiarową kolumnę wysokości wody h(x) i uśrednionego głębokościowo pędu hu(x), krokowaną schematem objętości skończonych. Funkcja strumienia oblicza hu oraz hu·u+½gh² na każdej ściance komórki, a warunek CFL dt = CFL·dx/max(|u|+√(gh)) utrzymuje jawną aktualizację stabilną nawet gdy odskok tamy przyspiesza.

🎮 Jak korzystać

Wybierz scenariusz (Przerwanie tamy, Sloshing, Fala, Skok), następnie przeciągnij suwaki Wysokość lewa i Wysokość prawa, by ustalić początkowe głębokości wody po obu stronach tamy, dostosuj współczynnik szorstkości Manninga dla tarcia dna oraz liczbę CFL, by wymienić stabilność na szybkość. Całkowita masa jest śledzona względem wartości początkowej (mass0), byś mógł sprawdzić zachowanie masy w trakcie działania symulacji.

💡 Czy wiesz, że?

Problem przerwania tamy ma dokładne rozwiązanie analityczne (Rittera) dla dna bez tarcia, dlatego jest standardowym podręcznikowym testem do walidacji każdego nowego numerycznego schematu wody płytkiej, zanim zostanie zastosowany do rzek, tsunami czy terenów zalewowych.

Najczęściej zadawane pytania

Czym są równania wody płytkiej (Saint-Venanta)?

To uproszczenie równań Naviera-Stokesa uśrednione po głębokości, ważne gdy pozioma skala długości jest znacznie większa niż głębokość wody. Śledzą jedynie wysokość h(x,t) i scałkowany po głębokości pęd hu(x,t), dlatego można je tanio rozwiązywać w 1D, wciąż odwzorowując fale, odskoki (bore) i sloshing.

Co fizycznie dzieje się w scenariuszu przerwania tamy?

Ustawienie różnych wysokości lewej (hL) i prawej (hR) strony i ich uwolnienie modeluje nagłe zniszczenie tamy: wyższa kolumna zapada się w niższą, tworząc podobny do fali uderzeniowej odskok (bore) posuwający się w stronę płytszej strony oraz falę rozrzedzeniową cofającą się w stronę głębszej strony — dokładnie jak w prawdziwej fali powodziowej.

Dlaczego symulacja potrzebuje kroku czasowego ograniczonego warunkiem CFL?

Jawne schematy objętości skończonych są stabilne tylko wtedy, gdy informacja nie przemieszcza się o więcej niż jedną komórkę siatki na krok czasowy. Ponieważ prędkość fali wynosi u±√(gh), kod przelicza dt = CFL·dx/max_prędkość_fali w każdym kroku, aby szybki odskok w scenariuszu Tama lub szybki scenariusz Skok nie wyprzedził schematu numerycznego i nie spowodował jego eksplozji.

Co kontroluje suwak szorstkości Manninga?

Współczynnik Manninga reprezentuje tarcie dna wynikające z koryta rzeki lub powierzchni kanału. Zwiększenie go dodaje człon oporu, który z czasem usuwa pęd z przepływu, tłumiąc oscylacje w scenariuszu Sloshing i spowalniając odskok w scenariuszu Tama, podobnie jak szorstkie koryto rzeki spowalnia rzeczywistą wodę powodziową.

Dlaczego śledzona jest całkowita masa podczas symulacji?

Ponieważ zdyskretyzowane równania są zapisane w postaci zachowawczej (różnice strumieni między sąsiednimi komórkami), całkowita objętość wody Σh·dx powinna pozostać równa wartości początkowej mass0 dla dowolnej zamkniętej lub okresowej dziedziny — śledzenie jej to bieżąca kontrola, czy schemat numeryczny sztucznie nie tworzy ani nie niszczy wody.

Podobne symulacje