Note
Go to the end to download the full example code.
Analytical solution of a dam-break problem on a dry slope with friction (Mangeney et al.)
This script presents a one-dimensional analytical solution of a dam-break problem, as proposed by Mangeney et al. (2000), for gravity-driven flow on a dry, inclined plane, including basal friction.
Model Assumptions
Instantaneous dam break at time \(t = 0\).
The downstream domain (\(x > 0\)) is initially dry, while the upstream side (\(x < 0\)) contains a fluid column of height \(h_0\).
The flow occurs on a constant slope inclined at an angle \(\theta\).
Basal friction is modeled via a constant friction angle \(\delta\), leading to a constant horizontal acceleration.
The fluid is incompressible, homogeneous, and only subject to gravity and basal friction.
The initial fluid volume is considered infinite.
Basic equations
As a reminder, the general formula of the Saint-Venant equation system is:
with:
\(h\) the fluid depth
\(u\) the fluid velocity
\(g\) the gravitational acceleration
\(\theta\) the surface slope
\(S\) source term
Here is equation 1 and 2 from Mangeney (2000) with the same notation and in 1D:
with \(F = g \cos{\theta} \tan{\delta}\), the source term integrating the dissipative effects due to friction for a Coulomb-type friction law.
The general form for an hydrostatic model with basal friction (Coulomb-type friction law) can be expressed:
with \(\gamma = \frac{1}{R}\), \(R\) being the radius of curvature.
Since we are on a flat surface and with a flow restricted only by internal friction, we have \(\gamma = 0\) and \(\mu = \tan{\delta}\), allowing to obtain Mangeney’s relation.
Initial Conditions
\[\begin{split}h(x, 0) = \begin{cases} h_0 > 0 & \text{for } x < x_0, \\\\ 0 & \text{for } x_0 < x, \end{cases}\end{split}\]\[u(x, 0) = 0\]
where \(x_0\) is the initial dam location and \(h_0\) is the height of the water column.
Analytical Solution
The analytical expressions for fluid height and velocity at time t are given by:
\[\begin{split}h(x, t) = \begin{cases} h_0 & \text{if } x \leq x_A(t), \\\\ \frac{1}{9g cos(\theta)} \left(2 c_0 - \frac{x-x_0}{t} + \frac{1}{2} m t \right)^2 & \text{if } x_A(t) < x \leq x_B(t), \\\\ 0 & \text{if } x_B(t) < x, \end{cases}\end{split}\]\[\begin{split}u(x,t) = \begin{cases} 0 & \text{if } x \leq x_A(t), \\\\ \frac{2}{3} \left( \frac{x-x_0}{t} + c_0 + mt \right) & \text{if } x_A(t) < x \leq x_B(t), \\\\ 0 & \text{if } x_B(t) < x, \end{cases}\end{split}\]
where
\[\begin{split}\begin{cases} x_A(t) = x_0 + \frac{1}{2}mt^2 - c_0 t, \\\\ x_B(t) = x_0 + \frac{1}{2}mt^2 + 2 c_0 t \end{cases}\end{split}\]
with \(c_0\) the initial wave propagation speed defined by:
and \(m\) the constant horizontal acceleration of the front defined by:
Implementation
The following example replicates the case shown in Figure 3 of Mangeney et al. (2000).
First import required packages and define the spatial domain. For following examples we will use a 1D space from -100 to 1000 m.
import numpy as np
from tilupy.analytic_sol import Mangeney_dry
x = np.linspace(-100, 1000, 1000)
Case 1: No friction (\(\delta = 0°\)), slope \(\theta = 30°\), initial height \(h_0 = 20 m\).
case_1 = Mangeney_dry(h_0=20, x_0=0, theta=30, delta=0)
Compute and plot the fluid height at times \(t = {0, 5, 10, 15} s\).
case_1.compute_h(x, [0, 5, 10, 15])
ax = case_1.plot(show_h=True, linestyles=["", ":", "--", "-"])
![Flow height for t=[0, 5, 10, 15]](../../_images/sphx_glr_plot_as_h_u_mangeney_001.png)
Compute and plot the fluid velocity at times \(t = {0, 5, 10, 15} s\).
case_1.compute_u(x, [0, 5, 10, 15])
ax = case_1.plot(show_u=True, linestyles=["", ":", "--", "-"])
![Flow velocity for t=[0, 5, 10, 15]](../../_images/sphx_glr_plot_as_h_u_mangeney_002.png)
Case 2: Add basal friction (\(\delta = 20°\)), same slope and initial height.
case_2 = Mangeney_dry(h_0=20, x_0=0, theta=30, delta=20)
Compute and plot the fluid height at times \(t = {0, 5, 10, 15} s\).
case_2.compute_h(x, [0, 5, 10, 15])
ax = case_2.plot(show_h=True, linestyles=["", ":", "--", "-"])
![Flow height for t=[0, 5, 10, 15]](../../_images/sphx_glr_plot_as_h_u_mangeney_003.png)
Original reference:
Mangeney, A., Heinrich, P., & Roche, R., 2000, Analytical solution for testing debris avalanche numerical models, Pure and Applied Geophysics, vol. 157, p. 1081-1096.
Total running time of the script: (0 minutes 0.167 seconds)