• No results found

6. ASSESSMENT OF COMPUTER SOFTWARE PROGRAMS

6.2 Two-dimensional program

The first objective was to obtain a two-dimensional program. To do this the project searched the literature on this subject both in the University library information and on the

The first was from Cornel Beffa, a Swiss researcher working at NIWA (the National Institute for Water and Atomspheric Research) in Christchurch.. He was doing a Post- Doctoral year at this centre, and had a program, ’ 2de’ that he was willing to give to me for my work.

We were also fortunate to organise a collaboration with another doctoral student, Lorenzo Nettuno, at the University of Pavia in Italy. This latter collaboration did not procede due to the timing between the two parties.

The third reply was received from the Danish Hydraulic Institute New Zealand agent Barnett Consultants (now part of Royds Consulting). This option allowed the use of the Institute’ s MIKE21 two-dimensional program provided it was purchased by the University at 20 % of its full commercial price. The University unfortunately did not have the funds for this dissertation to do this therefore this option did not proceed any further.

The fourth reply was received from Wallingford HR for use of their program Telmarc-2D. This was too expensive at about $150 000. Discussion with the staff at Wallingford also revealed that the program had volume conservation problems and that they achieved better results with their one-dimensional program Salmon-F.

However having only one program did not matter as the project would be successful provided the program was capable of giving results.

6.2.1 Program Requirements

This section outlines the abilities that the program needs to be able to undertake the analysis of a floodplain.

Ideally a program needs to solve the full conservation form of the equations as developed in Appendix 1. These are:

a) Continuity of mass, ∂ ∂ ∂ ∂ ∂ ∂ z t x hu y hv w + ( )+ ( ) 0= (6-1) b) Continuity of momentum, ∂ ∂thu)+ ∂ ∂ α ρ ρ ∂ ∂ x u h gh z x xx w ( 2 )+ + ∂ ∂y(α ρxy uvh)+τxb +h y xy ∂τ ∂ + h x xx ∂τ ∂ = 0 (6-2) ∂ ∂thv)+ ∂ ∂ α ρ ρ ∂ ∂ x uvh gh z x yx w ( )+ + ∂ ∂y(α ρyy v h2 )+τyb + h x yx ∂τ ∂ + h y yy ∂τ ∂ = 0 (6-3)

where h is the depth of flow; u and v are the velocities in the x and y directions;

α α α αxx, yx, xy, yy, are coefficients for the cross derivates; τxx, τyy are the shear stresses due

to turbulence in the longitudinal directions x and y; and τxy, τyx, are the shear stresses due to

turbulence in the lateral directions.

The full conservation form can handle subcritical as well as supercritical conditions. It can also handle shocks as it takes all the momentum factors into consideration.

Some programs only solve the non-conservation form of the equations. This form of the equations is really an energy equation and does not fully handle momentum. This means that this form cannot handle shocks. A hydraulic jump (a form of shock) does not conserve energy through it. However a hydraulic jump conserves momentum. Therefore a solution

The evaluation examined the form of the equations that the program uses and the method that it used to solve them.

6.2.1.2 Types of Computational Techniques to Solve the Shallow Water Flow Equations A two-dimensional water flow program can use any of the following methods.

i) Finite difference - This is the most common form of numerical technique. This method uses numerical schemes that represent the differences between points on a calculation domain to allow the modeller to solve the partial differential equations. This method can use the differential or integral form of the equations. This technique normally uses a uniform grid but there are techniques available to use finer meshes at places of interest.

ii) Cell integral method - This method is similar to the finite difference method except that the equations are put into integral form. The major difference is that the cell integral method divides the domain into cells instead of points. The integral form provides a better solution when flow passes through a shock or from supercritical to subcritical flow.

iii) Finite element - This method uses elements or areas linked to nodes that are either within or on the boundary of the element to discretise the calculation domain. The main benefit with this method is that it can use a non-uniform grid. Non-uniform grids allow better solutions by computational methods as the calculation domain can be refined in complicated areas to ensure a good solution.

iv) Boundary Element - This method is similar to finite element except that the elements are on the boundaries of the problem. This is not suitable for the solution of flow over an initially dry area as the boundary will change all the time. This makes the technique very unfriendly to use for this type of problem.

v) Finite Volume - This is the latest technique to be used for fluid flow analysis. The technique simply stated solves the Divergence theorem using a numerical technique. Stating this numerically means that the change in the value of a variable in a cell is equal to the net change from the fluxes in and out of the cell. This is similar to cell integral. However the main advantage is that the modeller can use a non-rectangular grid. Ideally the program would use this technique.

A program can also use these methods with either the:

i) Implicit method - This method formulates series of simultaneous equations to calculate the differences in the unknowns for the next time step for the whole calculation domain. The coefficients of the matrix are calculated from variables at the calculated time step and the boundary conditions at the next time step. The modeller knows the latter. The principle benefit of this method is that the modeller can use it for large time steps. The only problem with a large time step is that the solution will lose its accuracy.

For the two-dimensional problem a large time step is only possible where there is flow over the whole area. If the area is initially dry then the solution can only proceed one space step per time step limiting the time step of the method to that of the explicit method ie the Courant condition. In this case the method is slower as it requires more calculations for one time step than the explicit method.

ii) Explicit method - this method uses the results for the previous time step for a point and solves an equation to give the result for the next point. The solution proceeds from the boundary conditions for each time step using the changes in variables in the adjacent cells. This means that it can only proceed at a Courant number less than one ie the wave can only proceed at less than one space step per time step.

6.2.1.3 Method of handling input data.

For a two-dimensional model the problem domain is an area of ground that has to have its topography and flow resistances adequately described. The input needs to give inflows and downstream boundary conditions as well as the variables that describe the lateral and longitudinal turbulence. The user needs to specify the period of the run and the time spacing to save the results.

The input data can be considerable. A large model could have up to 250 000 points in it.

6.2.1.4 Requirement for Flood Plain Analysis

The program needs the following developments to be able to undertake an analysis of a flood plain:

i) handle a large number of points.

The program needs to handle up to at least 50 000 points preferably up to 250 000. Therefore the modeller needs to be able to handle data easily and effectively. The major inputs are the digital terrain model points or a grid of points derived from them and the resistances of the model area. These data need to be able to be imported from a survey program or Geographic Information System program.

ii) start with an initially dry flood plain.

This is important as the water flow directions are determined by this procedure. It is a clumsy and time-consuming procedure to guess the flow directions for water flow initially on the flood plain. There are so many possibilities any guess would require the water to flow for a period to settle down. It would also require all the cells to be wet to start with which is not realistic as not all areas of a flood plain are flooded. What would happen is that this water would flow with the flood flows resulting in extra water in the flood plain

results. Hence a model that starts with an intially dry flood plain is best and really does model reality as flooding does start with a dry flood plain.

iii) handle super-critical and sub-critical flows.

This is necessary as there will be areas on most flood plains where super-critical flow will occur. An example is water flow from a higher terrace onto the ground downstream. iv) there are no major numerical problems that will give completely unrealistic results. Present literature reviews such as Labadie (1994) indicate that volume conservation and the ability to handle sub-critical and super-critical flows are the main weaknesses of programs that this author has found. Hence the program will also need a review to check volume conservation.

6.2.1.5 Method of handling the output data and methods of presentation

The program needs to have a graphical interface to handle the large output files for all the parameters required to be shown. The main ones are depth, velocity, waterlevel and discharge per unit width.

6.2.2 2de Evaluation 6.2.2.1 Overview

The program was evaluated for all the above requirements by:

a) testing it on part of the Waihao River Flood Plain Digital Terrain Model This will confirm whether it is able be used for all the flood plain.

i) a simple rectangular channel to check calculated depth and velocities. Several channel cell widths 1, 10 and 40 were tried to check out the lateral turbulence and flow characteristics.

ii) a stopbank overflow situation to check the results for a situation with both subcritical and supercritical flow.

6.2.2.2 General Comments

The program is in the development stage. There have been many updates since I received the program on 7 August 1995. This program meets all the main basic criteria outlined above. It can handle up to 250 000 points. This is unlimited as the limit can be set at any value. It starts with an initially dry flood plain and can handle subcritical and supercritical flows.

6.2.2.3 Numerical Technique a) Numerical Method

The program uses the finite volume method. This technique has only appeared recently in the literature on methods to solve the shallow water equations. The program uses a rectangular grid. Therefore this method has no real advantage over the cell integral technique and the two methods are virtually the same.

b) Scheme type

The method uses an explicit scheme. The main reason for this is that the program is able to run a flood wave over an initially dry area. To do this the solution can only proceed one space step per time step,

The program uses two different predictor-corrector schemes. Both are second order accuracy in time. If equations (6-1) to (6-3) are put into the following form,

∂ ∂

U

t =H U t( , ) (6-4)

then the first method called Henn’ s method (Dahlquist & Bjorck, 1974) uses the Euler method as a predictor. The predictor and corrector are,

U U tH U U t H H n n n n n n n + + + = + = + + 1 1 05 1 ∆ ∆ . ( ) (6-5) where Un+1 and Un are the values at the new and old time levels respectively. Hn = f(Un). The second sequence is,

U U tH U U tH n n n n n n + + + = + = + 1 1 1 05. ∆ ∆ (6-6)

I do not know enough about this scheme to evaluate it. The only way to do this is to evaluate the program’ s performance using the example.

The program allows this scheme to be either first or second order with space as both schemes are second order in time. The program allows the choice of either. This enables the user to choose the one that gives the most stable solution to a problem.

require numerical dissipation to smooth or dampen the numerical solution. Care needs to be taken with this as if there is too much the accuracy of the solution will be lost.

d) Boundary conditions.

A user can easily input these over any boundary of the model. The best method of obtaining outflow is to use the weir option over the area of expected outflow. One has to be careful that it does not coincide with an area of inflow. The modeller can place the weir below the ground to give normal weir outflow at ground level. This is very close to the uniform flow level.

The model also needs to have a water level for initial conditions. This is the ‘initiate’ option in the input. This level can be below the flood plain to have an initially dry flood plain or just above the lowest point of the flood plain.

6.2.2.4 Variables Considered

The model integrates the full conservation form of the equations (6-1) to (6-3). This means that it can handle all types of situations including shocks.

The program handles the turbulence or shear in several ways. These are: i) equivalent to friction.

This option relates the turbulent viscosities in the lateral and longitudinal directions to that in the vertical direction. Manning's ‘n’ in the equations accounts for the turbulent viscosity in the vertical direction. This option handles the lateral and longitudinal turbulence terms using a percentage of the vertical friction with the Boussinesq relation. This is,

τ ρ ∂ ∂ xx t v x =2 u τ ρ ∂ ∂ yy t v y =2 v τ ρ ∂ ∂ ∂ ∂ xy t v x y =2 ( u + v) where vt =0 07. u h* (6-7)

where vt is the eddy viscosity or viscosity due to turbulence and u* is the friction velocity

at a point. This term is equal to about 30% of the effective turbulent viscosity in the vertical direction and is the best value to use from the literature. The program has an option to vary the default coefficient of 0.07 which is the value that is 30 % of the vertical direction viscosity.

ii) constant eddy viscosity

This option allows the user to set a uniform viscosity over the whole calculation area. iii) One equation model.

This is a very simple model of turbulence and does not increase computational time significantly. The program could use the K-Epsilon model (see Chaudry 1993) a more sophisticated model, but this would increase the calculation times. Analysing the example runs that investigate the sensitivity of the turbulence factors there is little benefit to gain from installing this option on the model for this problem.

The effect of these three methods on the results is investigated later in this chapter.

These three methods that the program uses for turbulence are adequate (provided a reasonable estimate of the average effective turbulence is given) in areas of normal flow. However they become weak in areas of rapidly changing flow, especially where the velocity changes in the horizontal directions ie around obstacles and on the flood channel/flood plain interface. At this point the flow processes are very complex and are the subject of a good deal of research at present. This is one of the main weaknesses of two- dimensional modelling. Therefore this model gives the best representation of turbulence that is possible at present.

This model can also handle mobile beds using the Meyer-Peter bed load formula (Jansen et al 1975) using one grain size. This is not a good formula to use on gravel bed rivers.

6.2.2.6 ‘2de’ Input

The notes to use the program ‘2de’ are reasonable for most items.

The input file specifies the variables and data necessary to run the model. The file is not large and is easy to construct. It basically wants the ground topography, the resistance coefficients for the area and the discharges into the calculation domain.

The program requires the following information:

i) the bed description. This is a list of a rectangular grid of spot heights of the bed levels of the area and a value to specify the grid size. The bed description can be in a file and only needs to be in ASCII format with the bed levels in sequence. The program has options to either read the values from a file of bed levels or from a file generated from ARC/INFO. The grid only needs to be specified as the number of points per side and the distances apart the points are for each direction of the grid.

The program allows input of flood plain resistances from the same grid or a global value can be specified. A file of flood plain resistances can be inputted from ARC/INFO in a similar manner to the bed levels. Therefore the modeller is able to digitise the resistance values (say for Mannings ‘n’ ) of the flood plain area and store them as a layer on ARC/INFO.

A modeller can specify the boundary as:

1) A water level with a slope to give a discharge or, 2) a discharge over a length of a boundary or,

3) a flow either over a region of the boundary or a discharge per unit width over a boundary region.

The user can also specify that an inflow discharge enters the grid at an angle. Also outflows from the model area can be specified as discharges.

b) Outflow or downstream boundaries A modeller can specify;

a) a water level at a boundary or,

b) weirs, for outflow regions of a flood plain

The user can choose the weir option to give outflow as a weir. The user can do this by