Skip to content

Stability Conditions and Discretisation

The computational efficiency of any discrete-time numerical simulation algorithm is highly dependent on the time step and the spatial discretisation applied in the simulation. In turn, the feasible time step in a concrete situation depends on, apart from the inherent performance properties of the computational scheme, the dynamics of the flows in the simulated network. It is therefore desirable to optimise the algorithm so that in conditions of variable flow dynamics, which occur during the simulated interval, the total computational effort is minimised, while preserving stable and accurate computations.

It is not possible to give a single general rule for the selection of Dt and Dx covering all possible situations.

It should be noted that the 1D engine assumes a linear variation of all the variables between each time step and grid point. Hence one criterion for Dt and Dx is that they should be small enough to resolve non-linear variations in time and space, respectively. For example, simulation of tidal variations requires time steps in the order of 10-30 minutes in order to fully describe the tidal cycle in time, while fast flows through small pipes may require a time step in the order of 10 seconds. Rapidly changing river geometry requires space steps small enough to describe the topography accurately.

In order to obtain a stable and accurate solution to the finite difference scheme the following conditions have to be fulfilled:

  • the topographic resolution must be sufficiently fine that non-linearities in water levels and discharges are adequately resolved. The maximum allowable value for Dx should be selected on this basis
  • the time step, Dt, should be fine enough to provide an accurate representation of a wave. For example, the maximum time step for a tidal simulation is generally around 30 minutes
  • in general, if structures are active then a smaller time step is required
  • the Courant condition:

\[ C_{r}~=~{\frac{\Delta t(V+{\sqrt{g y}})}{\Delta x}} \]

Equation: Courant number expressing stability requirement relating wave speed to grid discretization.

  • where V is flow velocity can be used as a guide for selecting the time step providing the above conditions are also satisfied. The Courant number expresses the number of grid points a wave, generated from a minor disturbance, will move during one time step. Typically a value of Cr is of the order of 10 to 15, but much higher values have been used (up to 100)
  • the velocity condition:

\[ {\cfrac{V\Delta t}{\Delta x}}\leq1~\mathrm{to}~2 \]

Equation: Velocity stability condition requiring travel distance not to exceed one to two grid cells per time step.

  • can sometimes impose a limitation on the time step in the case of rapidly varying cross sections. It requires that Dt and Dx are selected so that a water body is not transported more than one grid point per time step.