🌊 Цунамі
Симуляція цунамі: підводний землетрус породжує хвилю, що зростає й уповільнюється на мілководді. Батиметрія, довжина хвилі та висота накату.
Про цю симуляцію
Цей симулятор чисельно інтегрує 2D-лінеаризовані рівняння мілководдя (Shallow Water Equations) на сітці 220×220, використовуючи явну леп-фрог-схему (Штермера–Верле) скінченних різниць: η_next = damp·(2η − η_prev) + dt²·∇·(c²∇η), де c² = gH — локальна квадратна швидкість хвилі, задана обраним пресетом батиметрії (материк, острів, басейн або жолоб). Клацання по океану додає гаусів підйом морського дна до η та η_prev, імітуючи те, як підводний землетрус зміщує стовп води над собою. Оскільки c залежить від глибини, хвилі перетинають океан глибиною 4 км зі швидкістю близько 200 м/с і сповільнюються приблизно до 10 м/с на шельфі, стискаючи довжину хвилі та підсилюючи висоту — ефект шоалінгу, або закон Гріна — тоді як поглинальні межі дають енергії вийти за межі сітки, а не відбитися.
Що показано
Два взаємопов'язані поля стану — підвищення поверхні η та залежна від глибини швидкість хвилі c=√(gH) — еволюціонують за лінійним хвильовим рівнянням мілководдя на сітці, розфарбованій згідно з обраною батиметрією: темно-синій відкритий океан, шельф, що мілішає, і зелена суша, з живими показниками Крок / Макс η / Швидкість / Енергія.
Як користуватися
Оберіть пресет батиметрії, тоді клацніть або перетягніть по океану, щоб викликати гаусів підйом морського дна («землетрус»). Налаштуйте висоту підйому та радіус джерела, щоб змінити початкову енергію, підберіть Абсорбцію, щоб контролювати, як швидко леп-фрог-інтегратор розсіює енергію на відкритих межах, і використовуйте Пауза/Скинути, щоб зупинити або перезапустити прогін.
А чи знали ви?
У відкритому океані ця змодельована хвиля майже непомітна — заввишки менше метра на сотнях клітинок сітки — тому що довжина хвилі значно перевищує глибину; лише шоалінг за законом Гріна біля берега стискає ту саму енергію в накат заввишки кілька метрів, який реальні системи попередження про цунамі покликані прогнозувати.
Часті запитання
Які рівняння насправді розв'язує цей симулятор?
Він розв'язує 2D лінійне хвильове рівняння мілководдя для підвищення поверхні η: η_next = damp·(2η − η_prev) + dt²·∇·(c²∇η), де c² = gH задається локальною глибиною води H. Це інтегрується за допомогою явної леп-фрог-схеми (Штермера–Верле) скінченних різниць на сітці 220×220, з використанням усереднених на півкроці значень c² на кожній грані клітинки, щоб швидкість хвилі плавно змінювалася відповідно до підстильної батиметрії.
Чому хвиля сповільнюється і стає вищою біля берега?
Швидкість хвилі c = √(gH), тому вона падає приблизно з 200 м/с у воді глибиною 4 км до приблизно 10 м/с на мілкому шельфі. Коли хвиля сповільнюється, її довжина стискається, а потік енергії зберігається, що змушує амплітуду зростати — це ефект шоалінгу, відомий як закон Гріна, той самий механізм, завдяки якому реальні цунамі перетворюються з ледь помітної хвилі у відкритому океані на руйнівну прибережну хвилю.
Що викликає хвилю — як працює клацання по океану?
Клацання або перетягування по канвасу додає гаусоподібний горб висотою «висота підйому» та радіусом «радіус джерела» до обох масивів підвищення — поточного та попереднього — у цій точці сітки (оминаючи сушу та дуже мілкі клітинки), що леп-фрог-схема сприймає як миттєвий підйом морського дна — імітуючи вертикальне зміщення, яке підводний землетрус надає стовпу води безпосередньо над розломом.
Чому пресети батиметрії (материк, острів, басейн, жолоб) виглядають так по-різному?
Кожен пресет просто заповнює масив глибини H(x,y) різною функцією перед початком симуляції: «Материк» спускається від абісальної рівнини глибиною 4000 м через шельф до суші; «Острів» — це затоплений вулканічний конус; «Басейн» — замкнута глибока улоговина з мілким обідком; «Жолоб» прорізає параболічну западину глибиною 8000 м біля одного краю з береговою лінією на іншому. Оскільки c² = gH, ці форми безпосередньо визначають, як швидко і наскільки сильно хвилі поширюються та заломлюються.
Чи достатньо ця симуляція фізично точна, щоб моделювати реальне цунамі?
Вона правильно відтворює основну фізику — поширення довгих хвиль зі змінною швидкістю, підсилення шоалінгом та збереження енергії за допомогою симплектичної леп-фрог-схеми — саме той клас рівнянь, який використовують реальні центри попередження про цунамі. Проте це спрощення: вона ігнорує обвалення хвиль, ефект Коріоліса, дисперсію та тривимірну динаміку стовпа води, тому висоту накату тут варто сприймати як ілюстративну, а не як інженерний прогноз для узбережжя.
Викличте підйом морського дна і спостерігайте, як хвиля поширюється сіткою мілководдя, мчачи через глибоку воду і накопичуючись, досягаючи берега.
2D · HTML5 Canvas 2D · ціль 60 FPS · працює повністю на стороні клієнта, без встановлення