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. WEB安全指南

    说明:本文是Mozilla Web应用部署文档,对运维或者后端开发团队的部署行为进行指导.该部署安全规范内容充实,对于部署有很大意义.同时也涉及到了许多web前端应用安全的基本知识,如CSP, TOK ...

  2. Microsoft Porject Online 学习随手记一:环境创建和数据导入

    没有想像的简单,也没那么复杂 Project OL之前是Dynamics 365 Enterprise P1中的一个模块,目前最新版本只能简单创建并且已经没有Enterprise P1选项. 主要流程 ...

  3. Java:动态代理小记

    Java:动态代理小记 对 Java 中的 动态代理,做一个微不足道的小小小小记 概述 动态代理:当想要给实现了某个接口的类中的方法,加一些额外的处理.比如说加日志,加事务等.可以给这个类创建一个代理 ...

  4. Idea Maven auto Import

  5. 理解ASP.NET Core - 路由(Routing)

    注:本文隶属于<理解ASP.NET Core>系列文章,请查看置顶博客或点击此处查看全文目录 Routing Routing(路由):更准确的应该叫做Endpoint Routing,负责 ...

  6. [Beta]the Agiles Scrum Meeting 5

    会议时间:2020.5.19 20:00 1.每个人的工作 今天已完成的工作 成员 已完成的工作 issue yjy 为评测机增加更多评测指标 评测部分增加更多评测指标 tq 为评测机增加更多评测指标 ...

  7. Linux基础入门级命令文档

    Linux系统上命令的使用格式,及常用命令示例 1.命令提示符 登录系统后,第一眼看到的内容是: [root@node01 ~]# 上图就是 Linux 系统的命令提示符.那么,这个提示符的含义是什么 ...

  8. 在Ubuntu下安装Solr

    使用wget命令去官网下载solr的压缩包. 1 wget https://mirrors.bfsu.edu.cn/apache/lucene/solr/8.6.3/solr-8.6.3.tgz 使用 ...

  9. Go语言核心36讲(Go语言进阶技术十)--学习笔记

    16 | go语句及其执行规则(上) 我们已经知道,通道(也就是 channel)类型的值,可以被用来以通讯的方式共享数据.更具体地说,它一般被用来在不同的 goroutine 之间传递数据.那么 g ...

  10. 精准测试系列分享之一:JaCoCo 企业级应用的优缺点分析

    一.JaCoCo简介 JaCoCo是Eclipse平台下的开源产品,以小型,轻量化著称,常见集成在Eclipse Workbench中,除此之外的启动方式包括对接Ant和Maven,或是命令行的方式进 ...