11.1 Synopsis

The ShallowWaterSolver is a solver for depth-integrated wave equations of shallow water type. Presently the following equations are supported:




Linearized SWE solver in primitive variables (constant still water depth)


Nonlinear SWE solver in conservative variables (constant still water depth)

11.1.1 The Shallow Water Equations

The shallow water equations (SWE) is a two-dimensional system of nonlinear partial differential equations of hyperbolic type that are fundamental in hydraulic, coastal and environmental engineering. In deriving the SWE the vertical velocity is considered negligible and the horizontal velocities are assumed uniform with depth. The SWE are hence valid when the water depth can be considered small compared to the characteristic length scale of the problem, as typical for flows in rivers and shallow coastal areas. Despite the limiting restrictions the SWE can be used to describe many important phenomena, for example storm surges, tsunamis and river flooding.

The two-dimensional SWE is stated in conservation form as

∂t + ∇⋅F(U) = S(U)

where F(U) = [E(U ),G(U )] is the flux vector and the vector of conserved variables read U = [H, Hu, Hv ]T. Here H(x,t) = ζ(x,t) + d(x) is the total water depth, ζ(x,t) is the free surface elevation and d(x) is the still water depth. The depth-averaged velocity is denoted by u(x,t) = [u,v]T, where u and v are the velocities in the x- and y-directions, respectively. The content of the flux vector is

E(U) = ⌊               ⌋
|      Hu       |
⌈ Hu2  + gH2 ∕2 ⌉
       Huv, G(U) = ⌊              ⌋
|      Hv      |
⌈     Hvu      ⌉
  Hv2 +  gH2∕2,

in which g is the acceleration due to gravity. The source term S(U) accounts for, e.g., forcing due to bed friction, bed slope, Coriolis force and higher-order dispersive effects (Boussinesq terms). In the distributed version of the ShallowWaterSolver only the Coriolis force is included.