When the slope of a non-cohesive bed, ϕb, is larger than the angle of repose, ϕR, the bed material will slide (avalanche) to form a new slope approximately equal to the angle of repose. The process of avalanching is simulated by enforcing |ϕb| ≤ ϕR while maintaining mass conservation between adjacent cells (Sánchez and Wu 2011a). When the angle of repose is exceeded, the bed change due to avalanching between cell P and its adjacent cell N is given by (see figure below)

1) \frac{(z_{bN}+\Delta z_{bN}^{a})-(z_{bP}+\Delta z_{bP}^{a})}{\delta }=\mathrm{sgn}\phi _{b}\tan \phi _{r}

where

\Delta z_{b}^{a} = avalanching bed change [m]

δ = cell center distance between cells P and N,

\mathrm{sgn}\,(X)=\left\{\begin{array}{l} -1\,\,\mathrm{for}\,\,X\geq 0\\ 1\,\,\,\,\,\,\mathrm{for}\,\,X<0 \end{array}\right. = sign function

\tan \phi _{b}=\frac{z_{bN}-z_{bP}}{\delta }


Figure 3 32. Avalanching between two cells.


The sgn(X) function accounts for the fact that the bed slope may have a negative or positive sign. The corresponding mass balance equation is given by

2) A_{N}\Delta z_{b,N}^{a}+A_{p}\Delta z_{b,P}^{a}=0

where A is the cell area and \Delta z_{b}^{a} is the avalanching bed change. Combining the last two equations leads to

3) \Delta z_{b,P}^{a}=\frac{A_{N}\delta }{A_{P}+A_{N}}\left(\tan \phi _{b}-\mathrm{sgn}\phi _{b}\tan \phi _{R}\right)\mathrm{H}\left(\left| \phi _{b}\right| -\phi _{R}\right)

where H(X) is the Heaviside step-function equal to 1 for X ≥ 0 and equal to 0 for X < 0. H(X) represents the activation of avalanching. The above equation is exact but limited to avalanching between two cells. Avalanching may occur over multiple cells and induce additional avalanching at neighboring cells. A relaxation approach is adopted as follows (see figure below):

4) \Delta z_{b,P}^{a}=\alpha _{a}\sum _{N}\frac{A_{N}\delta }{A_{P}+A_{N}}\left(\tan \phi _{b}-\mathrm{sgn}\phi _{b}\tan \phi _{R}\right)\mathrm{H}\left(\left| \phi _{b}\right| -\phi _{R}\right)

where αa is the under-relaxation factor (approximately 0.25 to 0.5). αa is used to stabilize the avalanching process and avoid overshooting.


Figure 3 33. Avalanching computational stencil. 

The above equation may be applied to any grid geometry type (i.e. triangle, rectangle, etc.) and for situations in which neighboring cells are joined at corners without sharing a cell face. The above equation is implemented by sweeping through all computational cells to calculate \Delta z_{b}^{a} and then modifying the bathymetry as

5) z_{b}^{m+1}=z_{b}^{m}+\Delta z_{b}^{a}

where the superscript m indicates the avalanching iteration. The sweeping process is repeated until avalanching no longer occurs. The above avalanching procedure is relatively simple and is very stable. The algorithm parameters are the maximum number of iterations, the relaxation factor, and the angle of repose. Because the algorithm is called every time step it is not necessary to iterative until convergence every time step and usually about 3 to 6 iterations are sufficient for good results.