|
2 | 2 | "cells": [ |
3 | 3 | { |
4 | 4 | "cell_type": "markdown", |
5 | | - "id": "637d7016-f6fc-40d1-a28d-2afa6fb50494", |
| 5 | + "id": "0", |
6 | 6 | "metadata": {}, |
7 | 7 | "source": [ |
8 | 8 | "# 2D Shallow Water Equations 🌊\n", |
|
16 | 16 | }, |
17 | 17 | { |
18 | 18 | "cell_type": "markdown", |
19 | | - "id": "e8035395-5fb0-4d9f-b8cd-b2585c9a9aec", |
| 19 | + "id": "1", |
20 | 20 | "metadata": {}, |
21 | 21 | "source": [ |
22 | 22 | "## Governing Equations\n", |
|
65 | 65 | }, |
66 | 66 | { |
67 | 67 | "cell_type": "markdown", |
68 | | - "id": "f93f5cf1-7a65-49a4-82b6-0940c9ab44d0", |
| 68 | + "id": "2", |
69 | 69 | "metadata": {}, |
70 | 70 | "source": [ |
71 | 71 | "## Operator implementation\n", |
|
76 | 76 | { |
77 | 77 | "cell_type": "code", |
78 | 78 | "execution_count": 1, |
79 | | - "id": "23c0a5bd-d332-46ba-a123-2f2dcc7a4a9b", |
| 79 | + "id": "3", |
80 | 80 | "metadata": {}, |
81 | 81 | "outputs": [], |
82 | 82 | "source": [ |
|
138 | 138 | }, |
139 | 139 | { |
140 | 140 | "cell_type": "markdown", |
141 | | - "id": "eadd14a7-e8c5-411c-8847-00fb9f72380b", |
| 141 | + "id": "4", |
142 | 142 | "metadata": {}, |
143 | 143 | "source": [ |
144 | 144 | "The following function transforms the saved wavefield snapshots and transform them into a video compatible with jupyter notebook." |
|
147 | 147 | { |
148 | 148 | "cell_type": "code", |
149 | 149 | "execution_count": 2, |
150 | | - "id": "d55ba615-2aa8-4e09-a16d-8c3eb84eade9", |
| 150 | + "id": "5", |
151 | 151 | "metadata": {}, |
152 | 152 | "outputs": [], |
153 | 153 | "source": [ |
|
179 | 179 | { |
180 | 180 | "cell_type": "code", |
181 | 181 | "execution_count": 3, |
182 | | - "id": "7c2913ce", |
| 182 | + "id": "6", |
183 | 183 | "metadata": {}, |
184 | 184 | "outputs": [], |
185 | 185 | "source": [ |
|
195 | 195 | }, |
196 | 196 | { |
197 | 197 | "cell_type": "markdown", |
198 | | - "id": "32ba2ef5-9e17-4668-ad81-02d85a6b66dd", |
| 198 | + "id": "7", |
199 | 199 | "metadata": {}, |
200 | 200 | "source": [ |
201 | 201 | "## Example I: Tsunami in ocean with constant depth\n", |
|
221 | 221 | { |
222 | 222 | "cell_type": "code", |
223 | 223 | "execution_count": 4, |
224 | | - "id": "9b704039-286f-4cb7-9e5d-465584c3744a", |
| 224 | + "id": "8", |
225 | 225 | "metadata": {}, |
226 | 226 | "outputs": [ |
227 | 227 | { |
|
271 | 271 | { |
272 | 272 | "cell_type": "code", |
273 | 273 | "execution_count": 5, |
274 | | - "id": "a1790290-c565-4220-a1d5-c5d32a387db3", |
275 | | - "metadata": { |
276 | | - "scrolled": true |
277 | | - }, |
| 274 | + "id": "9", |
| 275 | + "metadata": {}, |
278 | 276 | "outputs": [ |
279 | 277 | { |
280 | 278 | "name": "stdout", |
|
341 | 339 | { |
342 | 340 | "cell_type": "code", |
343 | 341 | "execution_count": 6, |
344 | | - "id": "c5fff152", |
| 342 | + "id": "10", |
345 | 343 | "metadata": {}, |
346 | 344 | "outputs": [ |
347 | 345 | { |
|
1774 | 1772 | }, |
1775 | 1773 | { |
1776 | 1774 | "cell_type": "markdown", |
1777 | | - "id": "2b719339-5442-4caf-8682-29045758c7e6", |
| 1775 | + "id": "11", |
1778 | 1776 | "metadata": {}, |
1779 | 1777 | "source": [ |
1780 | 1778 | "Let's take a look on what the code looks like" |
|
1783 | 1781 | { |
1784 | 1782 | "cell_type": "code", |
1785 | 1783 | "execution_count": 7, |
1786 | | - "id": "d27a6e45-3009-4bd7-841b-14783312fadb", |
| 1784 | + "id": "12", |
1787 | 1785 | "metadata": {}, |
1788 | 1786 | "outputs": [], |
1789 | 1787 | "source": [ |
|
1793 | 1791 | }, |
1794 | 1792 | { |
1795 | 1793 | "cell_type": "markdown", |
1796 | | - "id": "9a447c4b-9bc0-450d-af34-ec5f5eaf6b66", |
| 1794 | + "id": "13", |
1797 | 1795 | "metadata": {}, |
1798 | 1796 | "source": [ |
1799 | 1797 | "## Example II: Two Tsunamis in ocean with constant depth\n", |
|
1804 | 1802 | { |
1805 | 1803 | "cell_type": "code", |
1806 | 1804 | "execution_count": 8, |
1807 | | - "id": "8c71df64-a160-44ec-8bf1-bc6eef334919", |
| 1805 | + "id": "14", |
1808 | 1806 | "metadata": {}, |
1809 | 1807 | "outputs": [], |
1810 | 1808 | "source": [ |
|
1829 | 1827 | { |
1830 | 1828 | "cell_type": "code", |
1831 | 1829 | "execution_count": 9, |
1832 | | - "id": "599ada28-8ff4-49d2-865b-f1c37814913a", |
| 1830 | + "id": "15", |
1833 | 1831 | "metadata": {}, |
1834 | 1832 | "outputs": [ |
1835 | 1833 | { |
|
1888 | 1886 | { |
1889 | 1887 | "cell_type": "code", |
1890 | 1888 | "execution_count": 10, |
1891 | | - "id": "195e4fa1", |
| 1889 | + "id": "16", |
1892 | 1890 | "metadata": {}, |
1893 | 1891 | "outputs": [ |
1894 | 1892 | { |
|
3907 | 3905 | }, |
3908 | 3906 | { |
3909 | 3907 | "cell_type": "markdown", |
3910 | | - "id": "c8edc6c1-9f2f-40e0-b042-005ce38edc56", |
| 3908 | + "id": "17", |
3911 | 3909 | "metadata": {}, |
3912 | 3910 | "source": [ |
3913 | 3911 | "## Example III: Tsunami in an ocean with 1D $\\tanh$ depth variation\n", |
|
3918 | 3916 | { |
3919 | 3917 | "cell_type": "code", |
3920 | 3918 | "execution_count": 11, |
3921 | | - "id": "66379acd-139c-4ac9-82eb-0aed1a1611d9", |
| 3919 | + "id": "18", |
3922 | 3920 | "metadata": {}, |
3923 | 3921 | "outputs": [], |
3924 | 3922 | "source": [ |
|
3941 | 3939 | }, |
3942 | 3940 | { |
3943 | 3941 | "cell_type": "markdown", |
3944 | | - "id": "4ac035d5", |
| 3942 | + "id": "19", |
3945 | 3943 | "metadata": {}, |
3946 | 3944 | "source": [ |
3947 | 3945 | "Let's take a look into how this depth profile $h$ looks in the plot below." |
|
3950 | 3948 | { |
3951 | 3949 | "cell_type": "code", |
3952 | 3950 | "execution_count": 12, |
3953 | | - "id": "a9dd81a8", |
| 3951 | + "id": "20", |
3954 | 3952 | "metadata": {}, |
3955 | 3953 | "outputs": [ |
3956 | 3954 | { |
|
3974 | 3972 | { |
3975 | 3973 | "cell_type": "code", |
3976 | 3974 | "execution_count": 13, |
3977 | | - "id": "f9c3fc00-b277-401a-af3c-3d69d141535b", |
| 3975 | + "id": "21", |
3978 | 3976 | "metadata": {}, |
3979 | 3977 | "outputs": [ |
3980 | 3978 | { |
|
4032 | 4030 | { |
4033 | 4031 | "cell_type": "code", |
4034 | 4032 | "execution_count": 14, |
4035 | | - "id": "b20891b6", |
| 4033 | + "id": "22", |
4036 | 4034 | "metadata": {}, |
4037 | 4035 | "outputs": [ |
4038 | 4036 | { |
|
5391 | 5389 | }, |
5392 | 5390 | { |
5393 | 5391 | "cell_type": "markdown", |
5394 | | - "id": "94d6e979-c316-4f75-94c4-b1271ecf4770", |
| 5392 | + "id": "23", |
5395 | 5393 | "metadata": {}, |
5396 | 5394 | "source": [ |
5397 | 5395 | "## Example IV: Tsunami in an ocean with a seamount\n", |
|
5402 | 5400 | { |
5403 | 5401 | "cell_type": "code", |
5404 | 5402 | "execution_count": 15, |
5405 | | - "id": "cafa2271-d13a-4d83-8838-5137130b400d", |
| 5403 | + "id": "24", |
5406 | 5404 | "metadata": {}, |
5407 | 5405 | "outputs": [], |
5408 | 5406 | "source": [ |
|
5428 | 5426 | }, |
5429 | 5427 | { |
5430 | 5428 | "cell_type": "markdown", |
5431 | | - "id": "e76012b0", |
| 5429 | + "id": "25", |
5432 | 5430 | "metadata": {}, |
5433 | 5431 | "source": [ |
5434 | 5432 | "Let's take a look into how this depth profile $h$ looks in the plot below." |
|
5437 | 5435 | { |
5438 | 5436 | "cell_type": "code", |
5439 | 5437 | "execution_count": 16, |
5440 | | - "id": "52b08af0", |
| 5438 | + "id": "26", |
5441 | 5439 | "metadata": {}, |
5442 | 5440 | "outputs": [ |
5443 | 5441 | { |
|
5461 | 5459 | { |
5462 | 5460 | "cell_type": "code", |
5463 | 5461 | "execution_count": 17, |
5464 | | - "id": "149fb8d8-5c92-4730-a39d-74f8ce340242", |
| 5462 | + "id": "27", |
5465 | 5463 | "metadata": {}, |
5466 | 5464 | "outputs": [ |
5467 | 5465 | { |
|
5519 | 5517 | { |
5520 | 5518 | "cell_type": "code", |
5521 | 5519 | "execution_count": 18, |
5522 | | - "id": "3cce7e29", |
| 5520 | + "id": "28", |
5523 | 5521 | "metadata": {}, |
5524 | 5522 | "outputs": [ |
5525 | 5523 | { |
|
6787 | 6785 | }, |
6788 | 6786 | { |
6789 | 6787 | "cell_type": "markdown", |
6790 | | - "id": "b08916a5-9a5e-4231-9313-cb5d7a0ccd1e", |
| 6788 | + "id": "29", |
6791 | 6789 | "metadata": {}, |
6792 | 6790 | "source": [ |
6793 | 6791 | "## Example V: Tsunami in an ocean with random seafloor topography variations\n", |
|
6798 | 6796 | { |
6799 | 6797 | "cell_type": "code", |
6800 | 6798 | "execution_count": 19, |
6801 | | - "id": "97a8e17b-eb3d-4e74-b962-b9eaa3af98c2", |
| 6799 | + "id": "30", |
6802 | 6800 | "metadata": {}, |
6803 | 6801 | "outputs": [], |
6804 | 6802 | "source": [ |
|
6831 | 6829 | }, |
6832 | 6830 | { |
6833 | 6831 | "cell_type": "markdown", |
6834 | | - "id": "d6ef2c5a", |
| 6832 | + "id": "31", |
6835 | 6833 | "metadata": {}, |
6836 | 6834 | "source": [ |
6837 | 6835 | "Let's take a look into how this depth profile $h$ looks in the plot below." |
|
6840 | 6838 | { |
6841 | 6839 | "cell_type": "code", |
6842 | 6840 | "execution_count": 20, |
6843 | | - "id": "bf708c5a", |
| 6841 | + "id": "32", |
6844 | 6842 | "metadata": {}, |
6845 | 6843 | "outputs": [ |
6846 | 6844 | { |
|
6864 | 6862 | { |
6865 | 6863 | "cell_type": "code", |
6866 | 6864 | "execution_count": 21, |
6867 | | - "id": "f1471ddf-9c13-4014-b6f5-cc57a1d568dc", |
| 6865 | + "id": "33", |
6868 | 6866 | "metadata": {}, |
6869 | 6867 | "outputs": [ |
6870 | 6868 | { |
|
6923 | 6921 | { |
6924 | 6922 | "cell_type": "code", |
6925 | 6923 | "execution_count": 22, |
6926 | | - "id": "b06f9ed5", |
| 6924 | + "id": "34", |
6927 | 6925 | "metadata": {}, |
6928 | 6926 | "outputs": [ |
6929 | 6927 | { |
|
8074 | 8072 | }, |
8075 | 8073 | { |
8076 | 8074 | "cell_type": "markdown", |
8077 | | - "id": "275eb854-965a-4a85-934d-113d88c640fc", |
| 8075 | + "id": "35", |
8078 | 8076 | "metadata": {}, |
8079 | 8077 | "source": [ |
8080 | 8078 | "## Example VI: 2D circular dam break problem\n", |
|
8085 | 8083 | { |
8086 | 8084 | "cell_type": "code", |
8087 | 8085 | "execution_count": 23, |
8088 | | - "id": "2c3c9bb7-f37d-4c18-925b-eac7bfb2ef11", |
| 8086 | + "id": "36", |
8089 | 8087 | "metadata": {}, |
8090 | 8088 | "outputs": [], |
8091 | 8089 | "source": [ |
|
8119 | 8117 | { |
8120 | 8118 | "cell_type": "code", |
8121 | 8119 | "execution_count": 24, |
8122 | | - "id": "d1fa80fd-f9bd-457b-a53f-78d81f45e1d3", |
| 8120 | + "id": "37", |
8123 | 8121 | "metadata": {}, |
8124 | 8122 | "outputs": [ |
8125 | 8123 | { |
|
8177 | 8175 | { |
8178 | 8176 | "cell_type": "code", |
8179 | 8177 | "execution_count": 25, |
8180 | | - "id": "649a4227", |
| 8178 | + "id": "38", |
8181 | 8179 | "metadata": {}, |
8182 | 8180 | "outputs": [ |
8183 | 8181 | { |
|
9428 | 9426 | }, |
9429 | 9427 | { |
9430 | 9428 | "cell_type": "markdown", |
9431 | | - "id": "9ce6aee8-b425-435c-9427-856797293673", |
| 9429 | + "id": "39", |
9432 | 9430 | "metadata": {}, |
9433 | 9431 | "source": [ |
9434 | 9432 | "## What we learned:\n", |
|
0 commit comments