1D RKDG to shallow water equations
RKDG to shallow water equations
1.Governing Equations
2.Discrete with DGM
ODE:
It is important to point out that at dry cells no flux is flow inside the elemnt. Therefor, for dry cells
3.Numerical Flux
3.1.HLL flux function
Formulations are given as
Wave Speed is suggested by Fraccarollo and Toro (1995)
\(u^*\) and \(c^*\) is defined by
for wet-dry interface, the wave speed is giving as
- left-hand dry bed
- right-hand dry bed
- both sides are dry
Noticing. 1
For flux terms, the discharge \(q^2\) is divided by water depth \(h\)
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
defining \(Q = TU\), the numerical flux \(\hat{\mathbf{F}}\) can be obtained through the evaluation of numerical flux \(\mathbf{F}\) by
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
where
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
-
\(t = T/2\)
-
\(t = 3T/4\)
-
\(t = T\)