Discrete Scheme

The Local Inertial Approximation to the Shallow Water Equations (SWE-LIA) utilizes a simplified momentum equation which ignores the advection, diffusion, and Coliolis terms. The semi-discrete form of the second fractional step may be written as

1) \displaystyle \frac{u^{n+1}_{N,f}- u^n_{N,f}}{\Delta t} = -g\frac{\partial z_{s,f}^{n + \theta}}{\partial N} - c_{f,f} u_{N,f}^{n+1} + \frac{\tau _{s,N}}{\rho h_f^n} - \frac{1}{\rho} \frac{\partial p_a}{\partial N}

Barotropic Pressure Gradient

In the LIA-SWE model, the barotropic pressure gradient term is treated similar the ELM-SWE model. The term is computed at computational faces utilizing the two-point stencil described above and treats the water levels semi-implicitly. The term is may be written as

2) g \nabla z_s \cdot \textbf{n}_f = g \frac{\partial z_s^{n+\theta} }{\partial N}

Solution Procedure

The momentum equation above can be rearranged to obtain an expression for the velocity at n+1 as

3) \displaystyle u_{N,f}^{n+1} = - \frac{\Delta t g} {1 + \Delta t c_{f,f} } \frac{\partial z_{s,f}^{n+\theta}} {\partial N} + F_f

where

F_f = \frac{ B_f^n} {1 + \Delta t c_{f,f} }
B_f^n=u_{N,f}^n+\Delta t\left(\frac{ \tau_{s,N} } {\rho h_f^n}-\frac{1}{\rho}\frac{\partial p_a}{\partial N}\right)

To obtain a discrete implicit equation for the water volume, the above equation is inserted into the discrete continuity equation to obtain

4) \displaystyle \Omega_i^{n+1} + \sum_{j \in \text C (i)} a_{i,j} z_{s,j}^{n+1} = b_i

where

a_{i,j} = - \frac{ \Delta t^2 \theta^2 g A_k } { \left ( 1+ \Delta t c_{f,k} \right ) \Delta x_N \ }, j \in \text{N}(i)
a_{i,i} = - \sum_{j \in \text{N} (i)} a_{i,j}
b_i = \Omega_i^n + \Delta t Q_i + \frac{1 - \theta}{\theta} \sum_{j \in \text{C}(i)} a_{i,j} z_{s,j}^n + \Delta t \sum_{k \in \text{K}(i)} \left [ \theta F_k + (1-\theta) u_{N,k}^n \right ] A_k

The system of equations is solved using the same Newton-like iterations used for the DWE solver.

Discrete Boundary Conditions

The boundary conditions are discretized in manner as in the ELM-SWE solver as:

  • Water surface elevation: The water surface elevation boundary condition is directly implemented as . The internal cell is then discretized as described above and the terms containing the boundary water surfaces are placed on the right-hand-side of the system of equations.
  • Normal Depth: The friction slope, , is specified and utilized to compute a flow at each computation face as . Boundary face flows are included in the internal cells as a source term on the right-hand-side of the system of equations.
  • Flow: The flow boundary condition is specified at each computational face based on the local conveyance. Boundary face flows are included in the internal cells as a source term on the right-hand-side of the system of equations.

Solution Algorithm.

The solution algorithm of the SWE-LIA is similar to the DWE solver, except that the face hydraulic property tables are updated during the outer loop based on a time-averaged water surface elevation. 

The complete solution algorithm is given here:

  1. The geometry, local orthogonality and sub-grid bathymetry data is obtained or pre-computed.
  2. Solution starts with z_s^0 as the provided initial condition at time-step n = 0.
  3. Boundary conditions are provided for the next time step n+1 .
  4. Initial guessz_s^{n+1} = z_s^n.
  5. Compute the time-averaged water surface elevation z_s^{n+1/2} and subgrid bathymetry quantities that depend on it (face area, horizontal surface area, hydraulic radius, Manning's n, etc.).
  6. Update hydraulic structures.
  7. The coefficients a_{i,j} are computed and the system of equations is assembled.
  8. The system of equations is solved iteratively using the Newton-like algorithm with the given boundary conditions to obtain a candidate solution z_s^{n+1}.
  9. If not converged, return to step 5; otherwise continue with step 10.
  10. The computed z_s^{n+1} is accepted and the velocities u_{N}^{n+1} can be calculated using the discrete version of the momentum equation.
  11. Increment n. If there are more time steps go back to step 3, otherwise end.

The loop provided by steps 5 through 9 has the purpose of updating the coefficients a_{i,j} so that the solution of the nonlinear system (rather than its linearization) is obtained at every time step. As expected, a fully nonlinear solution has very desirable properties such as wetting several cells in a single timestep.