RKDG to shallow water equations

1.Governing Equations

\[\frac{\partial U}{\partial t} + \frac{\partial F}{\partial x} = 0
\]
\[U = \begin{bmatrix} h \cr q \end{bmatrix} \quad
F = \begin{bmatrix} q \cr gh^2/2 + q^2/h \end{bmatrix}\]

2.Discrete with DGM

\[\begin{equation} U_h = \sum{l_j U_j} \quad F_h(U) = \sum{l_j F(U_j)} \end{equation}
\]
\[\begin{equation}\int_{\Omega} l_i l_j \frac{\partial U_j}{\partial t} dx+
\int_{\Omega} l_i \frac{\partial l_j}{\partial x} F(U_j) dx= 0 \end{equation}\]
\[\begin{equation} \int_{\Omega} l_i l_j \frac{\partial U_j}{\partial t} dx +
\int_{\Omega} l_i \frac{\partial l_j}{\partial x} F(U_j) dx+
\oint_{\partial \Omega} l_i l_j (F^* - F)\cdot \vec{n} ds = 0 \end{equation}\]
\[\begin{equation} JM \frac{\partial U}{\partial t} + JMD_x F(U) + J_E M_E (F^* - F)\cdot \vec{n} = 0 \end{equation}
\]

ODE:

\[\begin{equation} \frac{\partial U}{\partial t} = -\frac{\partial r}{\partial x}D_r F(U) + \frac{J_E}{J}M^{-1} M_E (F^* - F)\cdot \vec{n}=L(U(t)) \end{equation}
\]
\[\begin{equation} rhs = -\frac{\partial r}{\partial x}D_r F(U) + \frac{J_E}{J}M^{-1} M_E (F - F^*)\cdot \vec{n}\end{equation}
\]

It is important to point out that at dry cells no flux is flow inside the elemnt. Therefor, for dry cells

\[\begin{equation} rhs = \frac{J_E}{J}M^{-1} M_E (F - F^*)\cdot \vec{n}\end{equation}
\]

3.Numerical Flux

3.1.HLL flux function

Formulations are given as

\[F^{HLL} = \left\{ \begin{matrix}
F^- \cr
\frac{S_R F^- - S_L F^+ + S_L S_R(U^+ - U^-)}{S_R S_L} \cr
F^+ \end{matrix} \right.
\begin{matrix}
S_L \geq 0 \cr
S_L < 0 < S_R \cr
S_R \leq 0
\end{matrix}\]

Wave Speed is suggested by Fraccarollo and Toro (1995)

\[S_L = min(u^- - \sqrt{gh^-}, u^* - c^*)
\]
\[S_R = min(u^+ + \sqrt{gh^+}, u^* + c^*)
\]

\(u^*\) and \(c^*\) is defined by

\[u^* = \frac{1}{2}(u^- + u^+) + \sqrt{gh^-} - \sqrt{gh^+}
\]
\[c^* = \frac{1}{2}(\sqrt{gh^-} + \sqrt{gh^+}) + \frac{1}{4}(u^- - u^+)
\]

for wet-dry interface, the wave speed is giving as

  1. left-hand dry bed
\[\begin{equation}
S_L = u^+ - 2\sqrt{g h^+} \quad S_R = u^+ + \sqrt{g h^+}
\end{equation}\]
  1. right-hand dry bed
\[\begin{equation}
S_L = u^- - \sqrt{g h^-} \quad S_R = u^- + 2\sqrt{g h^-}
\end{equation}\]
  1. both sides are dry
\[\begin{equation}
S_L = 0 \quad S_R = 0
\end{equation}\]

Noticing. 1

For flux terms, the discharge \(q^2\) is divided by water depth \(h\)

\[F = \begin{bmatrix} q \cr gh^2/2 + q^2/h \end{bmatrix}
\]

so a threadhold of water depth \(h_{flux}\) ( \(10^{-3}\)m ) is add into flux function SWEFlux.m. When \(h\) is less than \(h_{flux}\), the \(q^2/h\) is approximated to 0 as there is no flow at this node.

Noticing. 2

When defining the dry beds, another threadhold of water depth \(h_{dry}\) is used. It is convenient to deine \(h_{dry}\) equals to \(h_{flux}\).

3.2.Rotational invariance

\[T = \begin{bmatrix} 1 & 0 \cr
0 & n_x\end{bmatrix} \quad
T^{-1} = \begin{bmatrix} 1 & 0 \cr
0 & n_x\end{bmatrix}\]
\[\mathbf{F} \cdot \mathbf{n} = \mathbf{F} \cdot n_x = T^{-1}\mathbf{F}(TU)
\]

defining \(Q = TU\), the numerical flux \(\hat{\mathbf{F}}\) can be obtained through the evaluation of numerical flux \(\mathbf{F}\) by

\[\hat{\mathbf{F}} \cdot n = T^{-1}\mathbf{F}^{HLL}(Q)
\]

4.Limiter

Note: discontinuity detector from Krivodonova (2003) is not working

For better numerical stability, minmod limiter is used in limiting the discharge and elevation.

Check testing/Limiter1D/doc for more details about minmod limiter.

5. Positive preserving limiter

For the thin layer approach, a small depth ( \(h_{positive} = 10^{-3} m\)) and zeros velocity are prescribed for dry nodes.

The first step is to define wet elements. After each time step, the whole domain is calculated; If the any depth of nodes in \(\Omega_i\) is greater than \(h_{positive}\), then the element is defined as wet element, otherwise the water height of all nodes are remain unchanged.

The second step is to modify wet cells; If the depth of any nodes is less than \(h_{positive}\), then the flow rate is reset to zero and the new water depth is constructed as

\[\begin{equation}
\mathrm{M}\Pi_h h_i(x) = \theta_1 \left( h_i(x) - \bar{h}_i \right) + \bar{h}_i
\end{equation}\]

where

\[\begin{equation}
\theta_1 = min \left\{ \frac{\bar{h}_i - \xi }{\bar{h}_i - h_{min}}, 1 \right\}, \quad h_{min} = min\{ h_i (x_i) \}
\end{equation}\]

It is necessary to fulfill the restriction that the mean depth \(\bar{h}_i\) is greater than \(\xi\), i.e. \(10^{-4}\)m. In the function PositiveOperator, if the mean depth of element is less than \(\xi\), all nodes will add a small depth \(\xi - \bar{h}_i\) to re-fulfill the restriction.

At last, all values of water height at nodes with negative \(h_i(x_j) <0\) will be modified to zero and the discharge of dry nodes ( \(h_i \le h_{positive}\) ) will be reseted to zero.

6. Wet/Dry reconstruction

No special treatment is introduced in the model at the moment.

5.Numerical Test

5.1.Wet dam break

Model Setting value
channel length 1000m
dam position 500m
upstream depth 10m
downstream depth 2m
element num 400
Final Time 20s

5.2.Dry dam break

Model Setting value
channel length 1000m
dam position 500m
upstream depth 10m
downstream depth 0m
element num 400
Final Time 20s

5.3.Parabolic bowl

Model Setting value
channel length 2000m
\(h_0\) 10m
\(a\) 600m
\(B\) 5m/s
\(T\) 269s

Exact solution

\[\begin{equation}
Z(x,t) = \frac{-B^2 \mathrm{cos}(2wt) - B^2 - 4Bw \mathrm{cos}(wt)x}{4g}
\end{equation}\]
  1. \(t = T/2\)

  2. \(t = 3T/4\)

  3. \(t = T\)

1D RKDG to shallow water equations的更多相关文章

  1. 论文翻译:2018_Source localization using deep neural networks in a shallow water environment

    论文地址:https://asa.scitation.org/doi/abs/10.1121/1.5036725 深度神经网络在浅水环境中的源定位 摘要: 深度神经网络(DNNs)在表征复杂的非线性关 ...

  2. BJ2 斜率限制器

    BJ2 斜率限制器 本文介绍斜率限制器取自于 Anastasiou 与 Chan (1997)[1]研究,其所利用的斜率限制器也是 Barth 与 Jespersen 限制器的一种修正形式,并且包含一 ...

  3. 体积与边精确积分DGM方法

    Triangular DGM 1. Basis functions decomposing the domain \(\Omega\) into \(N_e\) conforming non-over ...

  4. TRANSFORM YOUR HABITS

    TRANSFORM YOUR HABITS3rd EditionNote from James Clear:I wrote Transform Your Habits to create a free ...

  5. TPO 02 - The Origins of Cetaceans

    TPO 02 - The Origins of Cetaceans It should be obvious that cetaceans[n. 鲸目动物]-whales, porpoises [n. ...

  6. 洛谷P3070 [USACO13JAN]岛游记Island Travels

    P3070 [USACO13JAN]岛游记Island Travels 题目描述 Farmer John has taken the cows to a vacation out on the oce ...

  7. BZOJ_3049_[Usaco2013 Jan]Island Travels _状压DP+BFS

    BZOJ_3049_[Usaco2013 Jan]Island Travels _状压DP+BFS Description Farmer John has taken the cows to a va ...

  8. viva correction statements

    * List of amendments| No. | Location     | Amendments                                                ...

  9. [Usaco2013 Jan]Island Travels

    Description Farmer John has taken the cows to a vacation out on the ocean! The cows are living on N ...

随机推荐

  1. go-zero 实战之 blog 系统

    go-zero 实战项目:blog 本文以 blog 的网站后台为例,着重介绍一下如何使用 go-zero 开发 blog 的用户模块. 本文涉及的所有资料都已上传 github 仓库 kougazh ...

  2. spring security中动态更新用户的权限

    在程序的执行过程中,有时有这么一种需求,需要动态的更新某些角色的权限或某些人对应的权限,当前在线的用户拥有这个角色或拥有这个权限时,在不退出系统的情况下,需要动态的改变的他所拥有的权限. 需求:张三 ...

  3. 【做题记录】[NOI2008] 假面舞会—有向图上的环与最长链

    luogu 1477 [NOI2008] 假面舞会 容易发现: 如果图中没有环,那么面具种数一定是所有联通块内最长链之和,最少为 \(3\) . 如果有环,则面具种数一定是所有环的大小的最大公约数. ...

  4. 阿里P7面试官:请你简单说一下类加载机制的实现原理?

    面试题:类加载机制的原理 面试官考察点 考察目标: 了解面试者对JVM的理解,属于面试八股文系列. 考察范围: 工作3年以上. 技术背景知识 在回答这个问题之前,我们需要先了解一下什么是类加载机制? ...

  5. 2021CCPC华为云挑战赛 部分题题解

    CDN流量调度问题 题看了没多久就看出来是\(DP\)的题,然后就设了状态\(f[i][j]\)表示到前\(i\)个点时已经用了\(j\)个节点的最小总代价,结果发现转移时\(O(nm^2)\),但这 ...

  6. Mac sourceTree每次都输入密码

    打开终端 依次输入以下三条命令 curl http://github-media-downloads.s3.amazonaws.com/osx/git-credential-osxkeychain - ...

  7. 『动善时』JMeter基础 — 57、Linux系统中运行JMeter脚本

    目录 1.Linux系统中安装Java环境 (1)解压Java安装包 (2)配置Java环境变量 (3)验证Java环境是否配置成功 2.Linux系统中安装JMeter (1)下载JMeter (2 ...

  8. 学习JS的第四天

    一.循环 1.循环嵌套 1.一个循环内包含完整的另一个循环语句. 2.被包含的循环语句叫内循环,包含别的循环的循环语句叫外循环. 3.外循环每执行一次循环,内循环都会完全执行所有循环次数. 4.循环嵌 ...

  9. [python]Pytest+selenium+git+jenkins持续集成

    1安装pytest框架 &pip install pytest   #pytest &pip install pytest-html  #pytest html测试报告 2.工程介绍 ...

  10. 10分钟简单学习net core集成jwt权限认证,快速接入项目落地使用

    什么是JWT JSON Web Token(JWT)是目前最流行的跨域身份验证.分布式登录.单点登录等解决方案. JWT的官网地址:https://jwt.io/ 通俗地来讲,JWT是能代表用户身份的 ...