Nonlinear Shallow Water Waves

From WikiWaves
Jump to navigationJump to search
Nonlinear PDE's Course
Current Topic Nonlinear Shallow Water Waves
Next Topic Introduction to KdV
Previous Topic Traffic Waves


We assume that water is incompressible, viscous effects are negligible and that the typical wave lengths are much larger than the water depth. This allows us to assume Shallow Depth. We assume that the problem has not variation in either the [math]\displaystyle{ y }[/math] or [math]\displaystyle{ z }[/math] direction. The fluid is governed by two parameters, [math]\displaystyle{ u(x,t) }[/math], the velocity of the water, and [math]\displaystyle{ h(x,t) }[/math] the water depth (note that this is not the still water depth since the problem is nonlinear).

The theory we present here is discussed in Stoker 1957, Billingham and King 2000 and Johnson 1997.

Equations of Motion

The equation for the conservation of mass can derived by considering a a region [math]\displaystyle{ [x,x+\Delta x] }[/math] Conservation of mass then implies that

[math]\displaystyle{ \partial_t \int_x^{x + \Delta x} \rho h(s,t) \mathrm{d}s = \rho h(x,t)u(x,t) - \rho h(x+\Delta x,t)u(x+\Delta x,t) }[/math]

If we take the limit as [math]\displaystyle{ \Delta x \to 0 }[/math] we obtain

[math]\displaystyle{ \partial_t h(x ,t) + \partial_x (h(x ,t)u(x ,t)) = 0 }[/math]

A second equation comes from conservation of momentum. In integral form this is

[math]\displaystyle{ \partial_t \int_{x}^{x + \Delta x} \rho h u \mathrm{d}x = \left. \rho u^2 h \right|_{x}^{x + \Delta x} + \int_0^{h(x)} P(x,z,t) \mathrm{d}z - \int_0^{h(x + \Delta x)} P(x+\Delta x,z,t) \mathrm{d}z }[/math]

where [math]\displaystyle{ \rho \, }[/math] denotes density, and the pressure [math]\displaystyle{ P \, }[/math] is given by

[math]\displaystyle{ P = \rho g \left(h - z\right) }[/math]

(i.e. we have hydrostatic equilibrium). This then gives us

[math]\displaystyle{ \partial_t \int_{x}^{x + \Delta x} \rho h u \mathrm{d}x = -\left. \rho u^2 h \right|_{x}^{x + \Delta x} + \frac{1}{2}\rho g {h(x)}^2 - \frac{1}{2}\rho g {h(x + \Delta x)}^2 }[/math]

If we then take the limit as [math]\displaystyle{ \Delta x \to 0 }[/math] we obtain

[math]\displaystyle{ \partial_t \left( h u \right) + \partial_x \left(u^2 h + \frac{1}{2} gh^2\right) =0 }[/math]

We can simplify this using the equation derived from conservation of mass to to obtain

[math]\displaystyle{ \partial_t u + u \partial_x u + g \partial_x h = 0 }[/math]

The equations

[math]\displaystyle{ \partial_t h + u \partial_x h + h \partial_x u = 0 }[/math]


[math]\displaystyle{ \partial_t u + u \partial_x u + g \partial_x h = 0 }[/math]

are called the nonlinear shallow water equations. They determine the horizontal water velocity and the local water depth.

We can rewrite them in terms of the local wave speed [math]\displaystyle{ c(x, t) = \sqrt{gh(x, t)} }[/math] as follows:

[math]\displaystyle{ 2\partial_t c + 2u\partial_x c + c\partial_x u = 0 }[/math]

[math]\displaystyle{ \partial_t u + u\partial_x u + 2c \partial_x c = 0 }[/math]

These equation are almost identical to those of compressible gas dynamics. Much of our understanding of the equations for water have been found by researchers studying compressible gas dynamics.

Linearized Equations

We can linearize these equations by assuming that [math]\displaystyle{ u }[/math] is small and that [math]\displaystyle{ h=h_0 + \zeta }[/math] where [math]\displaystyle{ h_0 }[/math] is the average water depth and [math]\displaystyle{ \zeta }[/math] is also assumed small. This gives us

[math]\displaystyle{ \partial_t \zeta + h_0\partial_x u = 0 }[/math]


[math]\displaystyle{ \partial_t u + g \partial_x \zeta = 0 }[/math]

These linear shallow water equations which can be derived from the linear equations for water of finite depth and taking the limit of small depth (see Shallow Depth).


The equations possess characteristics. Adding and subtracting the two equations above we obtain

[math]\displaystyle{ \frac{\partial (u \pm 2c)}{\partial t}+ (u \pm c)\frac{\partial (u \pm 2c)}{\partial x} = 0 }[/math]

This means that on the [math]\displaystyle{ \;C_+ }[/math] characteristic, given by

[math]\displaystyle{ \frac{\mathrm{d} X_+}{\mathrm{d} t} = u + c = u + \sqrt{gh} }[/math]

the [math]\displaystyle{ \;C_+ }[/math] invariant

[math]\displaystyle{ R_+ = u + 2c = u + 2\sqrt{gh} }[/math]

is a constant, and on the [math]\displaystyle{ \;C_- }[/math] characteristic, given by

[math]\displaystyle{ \frac{\mathrm{d} X_-}{\mathrm{d} t} = u - c = u - \sqrt{gh} }[/math]

the [math]\displaystyle{ \;C_- }[/math] invariant

[math]\displaystyle{ R_- = u - 2c = u - 2\sqrt{gh} }[/math]

is a constant.

The functions [math]\displaystyle{ R_{\pm} (u ,c) = u \pm 2c }[/math], are called the Riemannian invariants.

Simple Waves

The problem as formulated can be solved by advancing the solution along the characteristics, but this will in general be quite difficult analytically. However, there is a special class of problems, called Simple Waves in which the solution only changes on one characteristic. They are best illustrated through some examples. Note that the characteristic can meet forming a shock, which is called a bore or a hydraulic jump when it occurs on the surface of the water.

The dam break problem

Assume the water occupies the region [math]\displaystyle{ {x \lt 0 ; 0 \lt z \lt h_0 } }[/math] initially held back by a dam at [math]\displaystyle{ x = 0 }[/math]. At [math]\displaystyle{ t = 0 }[/math], the dam is removed (breaks). What is the height of the water [math]\displaystyle{ h(x,t) \, }[/math] for [math]\displaystyle{ t \gt 0? \, }[/math] The initial condition is therefore

[math]\displaystyle{ h(x,0) = \begin{cases} h_0, & x \lt 0 \\ 0, & x \gt 0 \end{cases} }[/math]

[math]\displaystyle{ u(x ,0) = 0. \, }[/math]

On the characteristic that originates at [math]\displaystyle{ t = 0 }[/math] for [math]\displaystyle{ x \lt 0 }[/math],

[math]\displaystyle{ R_\pm = u \pm 2\sqrt{gh} = \pm 2\sqrt{gh_0} = \pm 2c_0 }[/math]

where [math]\displaystyle{ c_0 = \sqrt{gh_0} }[/math] is the initial (linear) wave speed.

Therefore, if a [math]\displaystyle{ C_+ }[/math] and a [math]\displaystyle{ C_- }[/math] characteristic from this region intersect, then

[math]\displaystyle{ u + 2\sqrt{gh} = 2c_0 , \;\mathrm{and}\; u - 2\sqrt{gh} = -2c_0 }[/math]

and hence, [math]\displaystyle{ u = 0 }[/math] and [math]\displaystyle{ h = h_0 }[/math]. Moreover,

[math]\displaystyle{ \frac{\mathrm{d} X_\pm}{\mathrm{d} t} = u \pm \sqrt{gh} = \pm c_0 }[/math]

so these characteristics are straight lines in the region [math]\displaystyle{ \big\{x \lt -c_0 t \big\} }[/math] (the undisturbed region).

The [math]\displaystyle{ \;C_+ }[/math] characteristic leave the region a[math]\displaystyle{ \big\{x \lt -c_0 t \big\} }[/math] and enter [math]\displaystyle{ \big\{x \gt -c_0 t \big\} }[/math]. For now we will assume that these characteristics fill the domain (and show that this is true shortly). For [math]\displaystyle{ \big\{x \gt -c_0 t \big\} }[/math], the [math]\displaystyle{ C_- }[/math] characteristics are given by

[math]\displaystyle{ \frac{\mathrm{d} X_-}{\mathrm{d} t} = u - \sqrt{gh} }[/math]

and on each of the [math]\displaystyle{ C_- }[/math] characteristics [math]\displaystyle{ R_- = u - 2\sqrt{gh} }[/math] is constant. However, since this region is filled with [math]\displaystyle{ C_+ }[/math] characteristics where [math]\displaystyle{ R_+ = u + 2\sqrt{gh} = 2c_0 }[/math], [math]\displaystyle{ u }[/math] and [math]\displaystyle{ h }[/math] must be constant on each [math]\displaystyle{ C_- }[/math] characteristic. This also means that the [math]\displaystyle{ C_- }[/math] characteristics must be straight lines.

Since the fluid occupies [math]\displaystyle{ \big\{x \lt 0 \big\} }[/math] at [math]\displaystyle{ t = 0 }[/math], these [math]\displaystyle{ C_- }[/math] characteristics must start at the origin, with

[math]\displaystyle{ X_-(t) = \left(u - \sqrt{gh}\right)t }[/math]

which in turn implies that

[math]\displaystyle{ u - \sqrt{gh} = \frac{x}{t} }[/math]

We also have [math]\displaystyle{ R_+ = u + 2\sqrt{gh} = 2c_0 }[/math] from the [math]\displaystyle{ C_+ }[/math] characteristics. We can solve these equations at each point in [math]\displaystyle{ \big\{x \gt -c_0 t \big\} }[/math]. Solving for [math]\displaystyle{ u }[/math] and [math]\displaystyle{ h }[/math] gives

[math]\displaystyle{ h(x, t) = \begin{cases} \frac{h_0}{9}\left(2 - \frac{x}{c_0 t}\right)^2, \quad -c_0 t \lt x\lt 2 c_0 t,\\ h_0,\quad x \lt -c_0 t, \end{cases} }[/math]

[math]\displaystyle{ u(x, t) = \begin{cases} \frac{2}{3} \left (c_0 + \frac{x}{t} \right ), \quad -c_0 t \lt x\lt 2 c_0 t,\\ 0,\quad x \lt -c_0 t. \end{cases} }[/math]

Where we have assumed that, since [math]\displaystyle{ h = 0 }[/math] for [math]\displaystyle{ x = 2c_0 t, }[/math] the [math]\displaystyle{ C_+ }[/math] characteristic only exist in the region [math]\displaystyle{ \big\{x \lt 2c_0 t \big\} }[/math], We will verify this by explicitly calculating them.

It remains to determine the [math]\displaystyle{ C_+ }[/math] characteristic, which originated in [math]\displaystyle{ \big\{x \lt 0 \big\} }[/math], and show they will fill the domain [math]\displaystyle{ \big\{x \lt 2c_0 t \big\} }[/math]. For [math]\displaystyle{ \big\{x \lt -c_0 t \big\} }[/math], the [math]\displaystyle{ \;C_+ }[/math] characteristics are straight lines with slope [math]\displaystyle{ c_0 }[/math] and are given by

[math]\displaystyle{ X_+ (t) = -x_0 + c_0 t, \quad \left(x_0 \gt 0,\;\; t \lt \frac{x_0}{2c_0}\right) }[/math]

When [math]\displaystyle{ t = \frac{x_0}{2c_0},\;\;\ X_{+} (t) = -c_0 t }[/math] so that for

[math]\displaystyle{ t \gt \frac{x_0}{2c_0}, \quad \frac{\mathrm{d} X_{+} (t)}{\mathrm{d} t} = u + \sqrt{gh} }[/math]

and substituting the solution we found for [math]\displaystyle{ h }[/math] and [math]\displaystyle{ u }[/math]

[math]\displaystyle{ \frac{\mathrm{d}X_{+} (t)}{\mathrm{d} t} = \frac{4}{3}c_0 + \frac{X_{+} (t)}{3t} }[/math]

Solving this ODE subject to [math]\displaystyle{ X_+ \left(\frac{x_0}{2c_0}\right) = -\frac{x_0}{2} }[/math] gives

[math]\displaystyle{ X_+ (t) = 2c_0 t - 3\left(\frac{x_0}{2}\right)^{2/3}(c_0 t)^{1/3},\;\; }[/math]

the equation for a characteristic curve. The curves indeed fill the domain [math]\displaystyle{ \big\{x \lt 2c_0 t \big\} }[/math] and all satisfy [math]\displaystyle{ \big\{X_+ (t) \lt 2c_0 t \big\} }[/math]. To summarize, the [math]\displaystyle{ C^{+} }[/math] characteristics are given by

[math]\displaystyle{ X_+ (t) = \begin{cases} 2c_0 t - 3\left(\frac{x_0}{2}\right)^{2/3}(c_0 t)^{1/3},\quad t\gt x_0/2 c_0\\ -x_0 + c_0 t, \quad 0\ \lt t \lt x_0/2 c_0 \end{cases} }[/math]

Characteristics Surface elevation
Characteristics for the dam break problem, blue for [math]\displaystyle{ C_{+} }[/math] and red for [math]\displaystyle{ C_{-} }[/math]. The solid red lines show the curves [math]\displaystyle{ x=-c_0 t }[/math] and [math]\displaystyle{ x=2c_0 t }[/math] (note we have assumed here that [math]\displaystyle{ c_0 =1 }[/math]
Evolution of the fluid surface [math]\displaystyle{ h(x,t) }[/math] for the Dam Break problem


For a unique solution two exist there must be a single [math]\displaystyle{ C_+ }[/math] and [math]\displaystyle{ C_- }[/math] characteristic through each point. When two characteristics of the same kind meet we have a shock forming.

Accelerating Piston

We now consider the problem of water initially at rest occupying the half space [math]\displaystyle{ x\gt 0 }[/math] which is initially at rest. At [math]\displaystyle{ t=0 }[/math] the piston at [math]\displaystyle{ x=0 }[/math] begins to move to the right with constant acceleration [math]\displaystyle{ a }[/math] so that the position of the piston is given by [math]\displaystyle{ \frac{1}{2}at^2 }[/math].

We assume that the [math]\displaystyle{ C_- }[/math] characteristics which originate in the water at [math]\displaystyle{ t=0 }[/math] fill the fluid. On these characteristics

[math]\displaystyle{ R_- = u - 2 c = -2c_0 \, }[/math]

and this condition must hold throughout the fluid. On the [math]\displaystyle{ C_+ }[/math] characteristics we know that [math]\displaystyle{ R_+ = u + 2 c }[/math] must be a constant and hence on the [math]\displaystyle{ C_+ }[/math] characteristics [math]\displaystyle{ u }[/math] and [math]\displaystyle{ c }[/math] must be constant and hence the [math]\displaystyle{ C_+ }[/math] characteristics must be straight lines. Note that this does not mean that the [math]\displaystyle{ C_+ }[/math] characteristics have the same slope and there is no requirement that the [math]\displaystyle{ C_- }[/math] characteristics are straight lines.

The [math]\displaystyle{ C_+ }[/math] characteristic originate from the fluid or from the front of the piston. We consider those which originate from the piston. The [math]\displaystyle{ C_+ }[/math] characteristic which originates from the piston at [math]\displaystyle{ t=t_0 }[/math] must satisfy

[math]\displaystyle{ u+2c = a t_0 + 2c_{\text{plate}} \, }[/math]

where [math]\displaystyle{ a t_0 }[/math] is the velocity of the piston at time [math]\displaystyle{ t=t_0 }[/math] and [math]\displaystyle{ c_{\text{plate}} }[/math] is the speed (related to height) at the plate. We know that [math]\displaystyle{ R_- = u - 2 c =-2c_0 }[/math] through out the fluid, so that if we solve this at the plate (where [math]\displaystyle{ u=at_0 }[/math] and [math]\displaystyle{ c=c_{\text{plate}} }[/math]) then we get

[math]\displaystyle{ c_{\text{plate}} = at_0/2 + c_0\, }[/math]

On the [math]\displaystyle{ C_+ }[/math] characteristics [math]\displaystyle{ u }[/math] and [math]\displaystyle{ c }[/math] are constant and therefore

[math]\displaystyle{ \frac{\mathrm{d}X_+}{\mathrm{d}t} = u+c = at_0 + \left( \frac{1}{2}at_0 + c_0 \right) }[/math]


[math]\displaystyle{ X_+(t,t_0) = \left( \frac{3}{2} a t_0 + c_0 \right) t - c_0 t_0 -a t_0^2 }[/math]

using the condition [math]\displaystyle{ X_+(t_0,t_0) = \frac{1}{2} a t_0^2 }[/math] (the initial value which comes from the position of the piston at [math]\displaystyle{ t=t_0 }[/math]). The slope of these lines increases and eventually meet to form a shock. We find this point of intersection by considering neighboring characteristics and determining when they first intersect.

[math]\displaystyle{ X_+(t,t_0 + \Delta t) = X_+(t,t_0) + \Delta t \frac{\partial X_+}{\partial t_0} (t,t_0) = X_+(t,t_0) }[/math]

It follows that neighbouring characteristics will meet when

[math]\displaystyle{ \frac{\partial X_+}{\partial t_0} (t,t_0) = 0 }[/math]

which implies that

[math]\displaystyle{ t = \frac{2c_0}{3a} + \frac{4}{3}t_0 }[/math]

The first time that a shock forms is the minimum value of this equation. For this piston example, this occurs when [math]\displaystyle{ t_0 = 0 }[/math] and the value of [math]\displaystyle{ t }[/math] is [math]\displaystyle{ t = 2c_0/(3a) }[/math]. At this point a shock is formed and we can no longer find a unique solution by following the characteristics.

Characteristics Surface elevation
[math]\displaystyle{ C_{+} }[/math] characteristics for the accelerating piston, red undisturbed, blue from the piston and the green line shows the transition.
Evolution of the fluid surface [math]\displaystyle{ h(x,t) }[/math] for the accelerating piston.

Piston Moving with Constant Velocity

This example is also known as the Moving Wall Problem, and is connected to Shallow Water Bores.

We consider the case of a piston, with positive constant velocity [math]\displaystyle{ V }[/math] (which is initially at [math]\displaystyle{ x=0 }[/math]), advancing into a semi-infinite expanse of fluid that is initially at rest with depth [math]\displaystyle{ h_0 }[/math].

The [math]\displaystyle{ C_+ }[/math] characteristics which originate in the fluid at [math]\displaystyle{ t=0 }[/math] have slope

[math]\displaystyle{ \frac{\mathrm{d} X_+}{\mathrm{d}t} = \sqrt{gh_0} }[/math]

and the [math]\displaystyle{ C_+ }[/math] characteristic which originate at the piston at [math]\displaystyle{ t=0 }[/math] must satisfy

[math]\displaystyle{ \frac{\mathrm{d} X_+}{\mathrm{d}t} = \sqrt{gh_0} + \frac{3}{2} V }[/math]

so that these two characteristics will intersect at [math]\displaystyle{ t=0 }[/math]. Therefore a shock forms immediately and we can track this by determining the speed of the shock

Speed of the shock

We need the conservation equations in integral form to determine the speed of the shock. Conservation of mass, written as an integral is

[math]\displaystyle{ \partial_t \int_{x_1}^{x_2} \rho h \mathrm{d}x + \left. \rho u h \right|_{x_2}^{x_1} =0 }[/math]

If the shock is located at [math]\displaystyle{ s(t) }[/math] which we assume is located between [math]\displaystyle{ x_1 }[/math] and [math]\displaystyle{ x_2 }[/math], then

[math]\displaystyle{ \partial_t \int_{x_1}^{x_2} h \mathrm{d}x = \partial_t \left( \int_{x_1}^{s(t)} + \int_{s(t)}^{x_2} \right) h \mathrm{d}x = \left( \int_{x_1}^{s(t)} + \int_{s(t)}^{x_2} \right) \partial_t h \mathrm{d}x + h^{+} \partial_t s(t) - h^{-}\partial_t s(t), }[/math]

where [math]\displaystyle{ h^+ }[/math] is the height on the right (positive) side of the jump and [math]\displaystyle{ h^- }[/math] is the height on the left (negative) side. If we take the limit as [math]\displaystyle{ x_1\to x_2 }[/math] we then obtain the following identity

[math]\displaystyle{ h^{+}\partial_t s(t) - h^{-}\partial_t s(t) - u^{+} h^{+} + u^{-} h^{-} = 0 }[/math]

where [math]\displaystyle{ u^+ }[/math] is the height on the right (positive) side of the jump and [math]\displaystyle{ u^- }[/math] is the height on the left (negative) side.

We now need to consider the equation for conservation of momentum. In integral form this is

[math]\displaystyle{ \partial_t \int_{x_1}^{x_2} \rho h u \mathrm{d}x = \left. \rho u^2 h \right|_{x_1}^{x_2} + \int_0^{h(x_1)} P(x_1,z,t) \mathrm{d}z - \int_0^{h(x_2)} P(x_2,z,t) \mathrm{d}z }[/math]

where the pressure [math]\displaystyle{ P }[/math] is given by

[math]\displaystyle{ P = \rho g \left(h - z\right) }[/math]

(i.e. we have hydrostatic equilibrium). We can apply a similar argument as before to obtain

[math]\displaystyle{ h^{+}u^{+}\partial_t s(t) - h^{-}u^{-}\partial_t s(t) = \left(u^{+}\right)^2 h^{+} - \left(u^{-}\right)^2 h^{-} + \frac{1}{2} g \left(h^{+}\right)^2 - \frac{1}{2} g \left(h^{-}\right)^2 }[/math]

Hydraulic Jump

For a hydraulic jump, [math]\displaystyle{ \dot{s}(t) = 0 }[/math], which means that we must solve

[math]\displaystyle{ u^{+} h^{+} - u^{-} h^{-} = 0 \, }[/math]

[math]\displaystyle{ \left(u^{+}\right)^2 h^{+} - \left(u^{-}\right)^2 h^{-} + \frac{1}{2} g \left(h^{+}\right)^2 - \frac{1}{2} g \left(h^{-}\right)^2 =0 }[/math]

If we introduce the variables

[math]\displaystyle{ H = \frac{h^{+}}{h^{-}} }[/math]


[math]\displaystyle{ \mathrm{Fr} = \frac{u^{-}}{\sqrt{gh^{-}}} }[/math]

where [math]\displaystyle{ \mathrm{Fr} }[/math] is the Froude number which is equivalent to the Mach number for gas dynamics. Then we obtain

[math]\displaystyle{ H^2 -1 = 2 \mathrm{Fr}^2 \left(1 - \frac{1}{H}\right) }[/math]

This expression has the roots

[math]\displaystyle{ H=1, \quad H=\frac{1}{2}\left(-1\pm\sqrt{1 + 8 \mathrm{Fr}^2}\right) }[/math]

The only physically meaningful solution is the root which satisfies [math]\displaystyle{ H\gt 1 }[/math]. This is only true providing [math]\displaystyle{ \mathrm{Fr} \gt 1 }[/math], which means that we can only obtain a hydraulic jump if the flow is supercritical.

Below is a video of a hydraulic jump. You can clearly see the point where the flow is changing from supercritical to subcritical (look for the small turbulent region in the channel)

Shallow Water Bore

We now consider a bore, in which the shock wave advances into still water. We denote the fluid speed by [math]\displaystyle{ V = u^{-} }[/math]. We denote the height on the wall side by [math]\displaystyle{ h_1 }[/math] and the height on the other side must be [math]\displaystyle{ h_0 }[/math], i.e. [math]\displaystyle{ h^{+} = h_0 }[/math], [math]\displaystyle{ h^{-} = h_1 }[/math], [math]\displaystyle{ u^{+} = 0 }[/math]. This means that

[math]\displaystyle{ h_{0}\partial_t s(t) - h_{1}\partial_t s(t) + V h_{1}= 0 }[/math]


[math]\displaystyle{ - h_{1}V\partial_t s(t) = - \left(V\right)^2 h_{1} + \frac{1}{2} g \left(h_{0}\right)^2 - \frac{1}{2} g \left(h_{1}\right)^2 }[/math]

which can be solved to obtain the shock speed and the height of the moving fluid.

Below is a video of surfing on the Severn bore, do not believe everything they say. You might also want to check out the Pororoca a tidal bore on the Amazon.

Lecture Videos

Part 1

Part 2

Part 3

Part 4

Part 5

Part 6

Part 7