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.
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.
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.