Skip to end of metadata
Go to start of metadata
You have selected: River→  Morphology →  Alternate bar formation

Case: Alternate bar formation

Modelling steps→

    Alluvial river beds display different kinds of bed forms. One of these possible bed forms is called ‘alternate bars’. Alternate bars have adopted their name from the fact that the bar and pool occur alternately at the left and the right bank. The pool can decrease the strength of the bank, which can result in bank failure. The bars also cause hindrance to navigation and can block a water intake, if a bar is deposited in front of an irrigation canal. Furthermore, non-migrating alternate bars are considered to be a possible cause of meandering.

    The properties of alternate bars can be predicted by linear theories. In those theories the behaviour of an alternate bar (amplification rate and migration rate) is assumed not to depend on the bar height. In reality however, the behaviour is dependent on the bar height, and is therefore non-linear. By applying Delft3D-FLOW one can investigate the behaviour of bars in a non-linear way.

    Free - vs - forced bars

    Alternate bars can be classified on their origin. ‘Free’ bars spontaneously develop because of an instability of the flow-bed system (Seminara and Tubino, 1989). Bars are called ‘forced’ when they are caused by a physical disturbance or constraint that may be introduced by obstacles (for example bridge piers, groynes) or a distributed forcing effect (gradual change in channel curvature). Because the origin of forcing is static, the forced bars will also become static. Below an example of a Delft3D simulation of both bar types is given.

    Linear theory

    In the past decades, several scientists have tried to explain the processes that are responsible for the formation of non-migrating alternate bars. In the 1960s, it was suspected that the occurrence of alternate bars can be explained by a stability analysis of the mathematical equations for flow and sediment transport. In 1985, two important linear theories were published, which are the base for the present theories: Struiksma et al (1985) and Blondeaux and Seminara (1985). The linear theories result in a free bar diagram, which depends on the shields parameter (a parameter which represents the sediment mobility), the diameter of the sediment and the chosen bed-load transport formula. Below one can see the free bar diagram for a shields parameter of 0.1 and a relative roughness (sediment diameter divided by the water depth) (Vanzo et al., 2011).

    The vertical axis of the figure represents the half-width-to-depth ratio and the horizontal axis the dimensionless wavenumber (π*B/L), in which B is the channel width and L the length of the alternate bar. With this diagram one can investigate the behaviour of an alternate bar for a specific length and a specific water depth. The diagram contains the following information:

    • The blue dotted line represents the length of forced alternate bars
    • The red line represents free bars that are not migrating
    • Bars below the red line (grey area) have a negative growth rate and will therefore not occur according to linear theory
    • The grey dotted line represents the most unstable (with the largest growth rate) free bars. According to linear theory, the most unstable bar is dominant.
    • The black dotted line represents bars that are not migrating. To the left of this line, bars will migrate in upstream direction, whereas bars on the right of this curve will migrate in downstream direction
    • If β > βres (13.28 in this case) the river is super-resonant
    • If β < βres: the river is sub-resonant


    BLONDEAUX, P. & SEMINARA, G. 1985. A unified bar--bend theory of river meanders. Journal of Fluid Mechanics, 157, 449-470.

    SEMINARA, G. & TUBINO, M. 1989. Alternate bars and meandering: Free, forced and mixed interactions. River meandering, Water Resourc.Monogr. Ser. , 12, 267-320.

    STRUIKSMA, N., OLESEN, K. W., FLOKSTRA, C. & DE VRIEND, H. J. 1985. Bed deformation in curved alluvial channels. Journal ofHydraulic Research, 23, 57-79.

    VANZO, D., SIVIGLIA, A., ZOLEZZI, G., STECCA, G. & TUBINO, M. 2011. Interaction between steady and migrating bars in straight channels.RCEM2011, Tsinghua University Press, Beijing, China.

    In this case study we will investigate the formation of alternate bars with the Delft3D-FLOW module and compare the results with linear theory, as described in the ‘conceptual’ tab. The model domain is based on a laboratory flume, in which Zolezzi et al (2005) carried out some experiments to investigate the formation of alternate bars. The flume consisted of a 180° bend and two straight parts, 12 m upstream and 12 m downstream of the bend.  The half-width-depth ratio, which is an important parameter for the behaviour of alternate bars is varied by varying the inflowing discharge. 

    Behaviour of small-amplitude bars

    It was assumed by various authors that the behaviour of alternate bars is linear (not dependent on the bar height) if the amplitude of the bar is very small. To check this assumption, we have imposed alternate bars with small amplitude and various lengths. The migration and amplification rate of these bars was monitored by analysing the Delft3D output files with MATLAB. 

    Influence of the bend

    Whether bars develop only downstream of the bend or both upstream and downstream, depends on the width-to-depth ratio (β) of the river. Laboratory experiments by Zolezzi et al. (2005) have shown that, only downstream of the bend non-migrating alternate bars occur under sub-resonant conditions (β < βres), but under super-resonant conditions (β > βres) the non-migrating alternate bars appear both upstream and downstream. To check this observation, we have done simulations with different discharge (thus different β). 


    ZOLEZZI, G., GUALA, M., TERMINI, D. & SEMINARA, G. 2005. Experimental observations of upstream overdeepening. Journal of Fluid Mechanics, 531, 191-219.

    Grid and bathymetry

    The model domain in this case study is based on a laboratory experiment by Zolezzi et al (2005), see figure. The advantage is that the domain in such a case is quite ideal, which makes it easy to develop a grid. The grid can be generated with Delft3D-RGFGRID (can be started via the GUI).  The following things were important for the generating the grid:

    • Minimum resolution: A bar is properly represented if one wave is covered by at least 20-30 grid cells. A typical forced bar wave length is 12 times the channel width, and a typical free bar wave length is 6 times the channel width. In longitudinal direction, the grid should therefore have a maximum cell length of about 0.2 times the channel width if one wants to represent free bars properly. In lateral direction the wave length of an alternate bar is 2 times the channel width. The grid should therefore contain at least 15 grid cells in lateral direction.
    • Wall effects: If you want to take wall roughness into account, the grid cells along both walls should have a larger resolution. 
    • Computational efficiency: It seems interesting to infinitely increase the grid resolution, however, a very smooth grid also requires a very small time step.   

    In this case study we have used different initial bathymetries. For investigating the initial behaviour of small-amplitude bars we have generated bathymetry files (.dep files) with MATLAB in which small-amplitude bars are imposed on an initial flat bed. For long term simulations, a randomly perturbed bathymetry file was generated with MATLAB. 

    Boundary conditions

    The normal way to simulate a river is to apply a discharge at the inflow boundary and a water level at the downstream boundary. The discharge, corresponding to a certain equilibrium water depth, can be calculated using for example Chézy’s theory:

    Q = C·W·h·√(R·i)

    R = (h·W)/(W+2h)

    In which Q is the discharge [m3s-1], C is the Chézy coefficient [m1/2s-1], W the width of the channel [m], R the hydraulic radius [m] and i the slope of the river [-]. If you want to calculate the equilibrium depth for a certain discharge you have to solve the two equations iteratively. 


    • Specify the discharge per cell if you want to have the inflowing discharge to be distributed uniformly over the channel. If you specify one discharge for the entire open boundary, the discharge per cell will be related to the water depth at each cell. In that case, the boundary can become unstable.
    • To trigger alternate bar formation it might help to perturb the inflowing discharge (for example by specifying for each cell at the open boundary for each time step a discharge which is 1% perturbed from the equilibrium discharge). If you want to focus solely on the influence of a groyne, a bend or another disturbance, it is better not to perturb the inflowing discharge. 

    Time step

    Your time step should be small enough to ensure stability. This can be done by keeping the Courant number well below 10. The Courant number is given below:

    CFL = u·dt/ [dx or dy]

    In which u is the current velocity [m2s-1], dt is the computational time step [s], dx and dy are the grid sizes in x and y direction [m]. 


    ZOLEZZI, G., GUALA, M., TERMINI, D. & SEMINARA, G. 2005. Experimental observations of upstream overdeepening. Journal of Fluid Mechanics, 531, 191-219.

    This section briefly shows some of the results of this case study. For a more extensive overview, one is referred to Verbruggen (2012). 

    Behaviour of small-amplitude bars

    First of all we have investigated how small bars have to be to behave linearly, see left figure. The figure shows that in this case, bars with a bar height of 2% of the water depth are behaving linearly, bars with a larger amplitude show a non-linear process. The figure on the right shows the comparison of the amplification rate of small-amplitude bars (red and blue line) with linear theory (green line).  The difference between the red and blue line is the applied numerical scheme for the morphological updating procedure (see page 334 of the Delft3D-FLOW manual). It is beyond the scope of this guideline to explain this more thoroughly, but it is clear that in this case the ‘central’ scheme is more accurate in calculating the amplification rate of small-amplitude bars. 

    Influence of the bend

    When we apply no perturbation at the inflow boundary or at the bed, we see that in super-resonant conditions (see ‘conceptual’ tab) bars are moving in upstream direction, against the flow direction. 

    Delft3D computations can be post processed by utilizing Quickplot. More freedom is earned by loading the raw data into MatLAB. This can be done by using OpenEarth tools. Besides a MatLAB based GUI post processing program, Muppet, is developed. 

    OpenEarth tools

    One of the possible output files are the trim (map) files. Maps are snap shots of the computed quantities of the entire area.  In OpenEarth tools some functions are available which enable you to extract data from the map files. 

    1. Make a file handle:    

    Matlab function: N = vs_use(‘d:\test\trim-test.dat’)

    2. Display the stored quantities:  

    Matlab function: vs_disp(N)

    A list of all the stored quantities is displayed in the command window. The map file is divided in different groups. Each group consists of different quantities. The number of groups depends on the type of simulation. Examples of some groups and their quantities is given below:

    • ‘map-const’: All the quantities which remain constant during the simulation are placed in this group, like: 
      • XZ: The X-coordinate of the cell centres
      • GSQS: The surface of each grid cell
    • ‘map-series’: All the hydrodynamic quantities that vary over time, like:
      • S1: Water level at each grid cell centre
      • U1: U velocity in U-point
    • Etc.

    3. Extract specific data from the map file (in this example water level data):

    Matlab function: WL = vs_get(N,'map-series',{timestep},'S1',{n_range m_range},'quiet')

    If you want to extract the water level data for all grid cells at timestep 10 to 15, timestep should be 10:15 and m_range and n_range should both be 0.

    Analyzing bar patterns

    To analyze bar patterns one can use Fourier Transforms. The basic idea behind Fourier Transforms is that any function can be represented by a summation of sine and cosine functions, with different resolution. By using Fourier Transforms, one can derive the power spectrum of the pattern, which tells you the main harmonics and their contribution.

    MATLAB can be used to do this operation. If you have for example a matrix ‘SED’ with sedimenatation/erosion data you can do the transform with the following code (note that you probably have to change the dx, dy, n and m for you own application):

    dx = 0.1;   %grid size in x-direction
    dy = 0.03; %grid size in y-direction
    n = 512;    %The resolution in x-direction is divided in m bins
    m = 512;    %The resolution in y-direction is divided in m bins
    Trans = fft2(SED,m,n);                    
    Power = Trans.*conj(Trans)/(m*n); 
    Resolution_x = (0:n-1)./(n*dx);
    Resolution_y = (0:m-1)./(m*dy);
    Surf(Resolution_x, Resolution_y, Power,'LineStyle','none');
    xlabel('Resolution in X-direction')
    ylabel('Resolution in Y-direction')

    An example of such a surface plot can be seen below. Each peak corresponds to a bar pattern with a certain resolution in x and y direction.

    • No labels