Home
User`s manual for SSIIM - NO
Contents
1. 50 All the files are ASCII files Note that the names of the files can not be changed The best way to run different simulations is therefore to create a sub directory for each case The two main input files are the control file and the koordina file for SSIIM 1 The koordina file contain the grid geometry The control file contain many of the other parameters The files have to be present when the program starts If not a dialog box will emerge and the user is prompted for the main parameters The program then generates default files The control file can then be edited afterwards using a standard editor The koordina file may also be generated by a spreadsheet For SSIIM 2 the unstruc file contains the grid and water discharges As it can only be pro duced by SSHM 2 it is not necessary to be present when the program starts SSIIM 2 also need the control file but default values will be used if it is not present at the start of the calcu lation The control file for SSIIM 1 and SSIIM 2 are similar and much of the content is the same for the two versions However there are some data sets that are unique to SSIM 1 or SSIM 2 In the following each file is described 4 2 The boogie file This is a file that shows a print out of intermediate results from the calculations It also shows parameters as average water velocity shear stress and water depth in the initialisation Trap efficiency and sediment grain size distribution i
2. surfaceSolver 4 if F 1 D or E surfaceBugtrap surfaceUpdate else if F 36 8 9 or 10 computeBFroude compute Froude numbers compute app ap source fix reference values by multiplying ap and source wth 1 surfaceSolver 8 if F 1 D or E surfaceBugtrap surfaceUpdate end else if F 36 8 9 10 194 else if F 36 7 new algorithm else if 2nd integer on G 6 data set is zero interpolate pressure to grid corners and compute the new water surface location else 2nd integer on G 6 data set is non zero interpolate pressure to grid corner and compute new water surface location based on the average of the two reference levels weighted with the inverse distance to the reference points if F 154 gt 1 surface_smoother if F 37 0 or F 166 1 update variables from previous time step Unstructure metric BedMake waterflow if F 168 gt 0 regenerate the grid compute areas volumes etc interpolate variables from old to new grid compute fluxes on cell surfaces AlgMGMake remakes grid for multi grid solver 195 Flowchart focusing on time steps and iterations for transient sediment computations in SSIIM 2 The variable Iter is important This is the number of time steps in the sediment computation If
3. integer I integer pointing to nutrient parameter integer 2 integer pointing to light variable integer 3 integer pointing to algae variable integer 4 integer pointing to the other nutrient variable float 1 c0 formula for growth rate k irradiance float 2 cl formula for growth rate k irradiance float 3 kmax maximum growth rate float 4 Ks constant for the nutrient being calculated float 5 Ks constant for the other nutrient float 6 temperature coefficient float 7 fraction of nutrient in algae growth The data set is similar to Q 291 except for the extra integer pointing to the light irradi ance and the omission of the attenuation coefficients Q 1001 The second number is a float giving the value of a constant source Q 1002 The second and third numbers are floats The source term is Source float float2 variable Example Q 2 1 0 0005 20 0 Sourcel 0 0005 20 0 variable 103 This term can be used for calculation of temperature fluxes across the water surface where the first float is the heat exchange coefficient for the water surface and the sec ond float is the air temperature Q 1003 The second number is an integer This is an index for the first variable in the source term The third number is an integer giving the second variable in the source term The fourth number is a float which is multiplied with both variables Example Q 3100 1 2 1 0 04 This means that a source term for
4. 4 3 7 The N data set The N data set composes the size fractions of different groups of sediments Two integers and one float is read The first integer is an index for the group The second integer is an index for the sediment size similar to the first index on the S and Z data sets The float is the fraction of the size in the group The first group has index 0 zero Normally multiple N data sets are used for making a group For example if there are three groups and five sediment sizes there should be 15 N data sets The different sediment groups are distributed in the geometry by using the B data sets 95 Note that more than one sediment group can only be used in SSIIM 1 In SSIIM 2 only group zero 1s used over the whole geometry To use a spatial variation in the grain size distribution in SSIIM 2 the fracres file has to be used 4 3 8 The B data set The B data set distributes different sediment groups to different locations of the geometry The groups are made using the N data set Five integers are read The first integer is an index for the group number similar to the first integer on the N data set The second and third integer are indexes for the cell numbers in the streamwise direction The fourth and fifth integer are indexes for the cell numbers in the lat eral direction Example B0 2629 Sediment group no 0 is placed in the cells from i 2 to i 6 and j 2 to j 9 where i is an integer for the streamwise cell n
5. As the computation proceeds over time intermediate results may often be required This can be done by using the P 0 option in the control file A number of bedres and result files are produced which can be read by SSIIM 2 at a later time after the program has finished This is done by removing the extensions of the files at the selected iteration and reading the results from the menu of SSIIM 2 5 12 Experience with convergence and stability There are three ways SSIIM can crash l The program stops calculation and the dialog box says there is an error The program stops and exits the menu and the dialog box disappear 3 The program stops with a system error usually floating point invalid operation over flow or underflow error Often an error message is written to the boogie file before the crash occur This happens par ticularly for type 1 and 2 of this list above If an error in the input files are detected an error message is written to the boogie file and type 2 crash occurs If the program crashes it is therefore recommended to take a look at the boogie file If crash type 1 occurs it is also possi ble to look at the graphics to try to see where in the geometry the problem is Convergence If the program does not crash the next problem is to get a converged solution This is often a problem for many CFD cases Some of the important factors are A good grid Proper relaxation coefficients Correct boundary condi
6. Temperature is calculated as the other water quality components Modelling temperature strat ified flow is only possible in SSIIM 2 Temperature must then be variable no 0 The F 40 1 0 and F 62 1 data sets must also be used in the control file IT T A ar A R ga 2 4 1 a TOK ORS OX Heat flux across the water surface The heat flux across the water surface is calculated according to the following processes solar short wave radiation atmospheric longwave radiation longwave back radiation from the water conduction evaporation The formula for the surface flux I can be written according to Chapra 1997 I IrB O T 273 A 0 031 e 1 R 0 T 273 2 4 2 z cfU T E Tair fU es z eair In the formula r is the irradiance T is the temperature s is the Stefan Bolzman s constant f Uw is a function of the wind speed given by Chapra 1997 and e is the saturation vapour pressure at the water surface The other parameters are given below in the description of the 24 corresponding data set The parameters are specified on the Q 060 data set Time series of wind speed irradiance and air temperature is given in the timei file 2 5 Modelling free flowing algae The special algal processes are only implemented in SSIM 2 Algae has two characteristics which needs special care in modelling The first characteristic is its growth process This is often both dependent on light and nutrient
7. 2 and Max lt 1000 and K 2 is 1 surface 192 Flowchart for function bedchange in SSIIM 2 Transfer bed changes from variable Bedmove b to zvalfil jj 1 Check if the bed changes are under limit of erodible bed If it is write a warning to the boogie file if F 1 D is used in the control file Smooth the bed if the F 144 data set in the control file is used Prevent build up of sediments at outflow section unless F 122 0 is used in the control file Sand slide algorithm if F 56 is used in the control file if F 198 gt 0 computeSlide2 DLL if Iter dividable with F 99 data set Unstructure regenerate the grid metric compute areas volumes etc BedMake interpolate variables from old to new grid waterflow compute fluxes on cell surfaces 193 Flowchart for function surface in SSIIM 2 if F 116 gt 0 surface2DLL return Find iSurfLocal the reference cell for update of the water surface if i SurfLocal 0 print error message reference cell dry to boogie file and exit if timei file used interpolate the reference water level if F 36 3 move water level up by adding dz refence level level in reference cell if F 7 E print debugging information to boogie t file if F 36 4 compute anp ap Source computeCoeffSurf fix reference values by multiplying ap and source wth 1e
8. First the character P is read Then two indexes for the i and j number of the bed cell is read Then four vertical levels are read which have the same zero reference as the koordina file The porosities in each of these levels are then read The porosity file can be made from a koordina file and a geodata file The module that does this is activated from the main menu of the user interface from File and Make porosity file in the pull down menu The procedure goes through each element and used the points in the geo data file to obtain the data The procedure is described in more detail in Chapter 2 3 Vegdata file The vegetation is modelled as a number of vertical cylinders in each cell A drag formula is used to determine the force between the water and the stems The drag formula computes the sink in the velocity equations as proportional to the velocity squared If a different formula is to be used it can be coded in the vegdll dll file The vegdata file is similar to a porosity file in that each line describes one bed cell and each line starts with a letter and then two indexes for the cell is given Then four levels are given There are different types of vegdata set The types are identified by the first letter in the line A V data set is similar to the P data set except instead of the porosity four vegetation values have to be given The vegetation values are defined by multiplying the following three param eters 1 The dra
9. and 12 1 4 5 The unstruc file SSIIM 2 only The geometry data is stored in the unstruc file This file contains the coordinates of all grid line intersections which cells are connected with other cells which surfaces are connected to which cells etc It also contains information about inflow outflow of water and water quality 110 constituents Because of the complexity of the file it is not possible to generate this file using an editor or a spreadsheet This file must be generated by SSIIM 2 Note that the first line in the file gives the grid size for allocation of arrays The first integer is a number below 10 for the files generated with the newest versions of SSZIM 2 The second number is the number of grid cells The third number is the number of surfaces The fourth number is the number of blocks in the grid The fifth number is the number of connections between the blocks The sixth integer is the number of connection surfaces between the blocks The seventh integer is the number of outer surfaces on the nested blocks The last inte ger on the line is the number of points in the grid This information can be used to set the size of the arrays allocated by SSIJM 2 on the F 65 data set Example 1 22500 75600 1 0 0 0 308041 The line specifies that the unstruc file is generated by a newer version of SSIIM 2 since the first integer is below 10 The grid has 22500 cells 75600 surfaces and 308041 points It con sists of
10. volume fraction in SSHM OC OC OC OC 330 ee A Tee er a n 2 3 1 The fall velocity of the sediment particles is denoted w The diffusion coefficient T is taken from the k e model Vr I 2 3 2 Sc Sc is the Schmidt number set to 1 0 as default A different value can be given on the F 72 data set in the control file For suspended load van Rijn 1987 developed a formula for the equilibrium sediment con 22 centration Cheq Close to the bed 5 T 0 3 d Te 0 015 _ 2 3 Chea 0 015 eee 2 3 3 2 Py The sediment particle diameter is denoted d a is a reference level set equal to the roughness height t is the bed shear stress t is the critical bed shear stress for movement of sediment particles according to Shield s curve p and p are the density of water and sediment v is the viscosity of the water and g is the acceleration of gravity The empirical parameters in the equation 0 015 1 5 and 0 3 may be changed by using the F 6 data set in the control file The sediment concentration from Eq 2 3 3 will be fixed in the cell closest to the bed For time dependent computations it is also possible to use an algorithm that converts the concen tration from the formula into a sediment entrainment rate This is done by giving F 37 2 in the control file The decrease K in critical shear stress for the sediment particles as a function of the sloping bed was given b
11. 6 1 Introduction DLL is an abbreviation for Dynamic Link Library Several functions of the SSIIM programs have been made into DLLs This is linked into the main executable when SSIIM is started The source code of the DLL is provided giving the possibility to modify these functions compiling them and using them in the main SSIIM program This means access to a part of the source code for SSIIM When making SSIIM available on the Internet it was intended that the program could be used and tested in the academic community as MSc and PhD students would use it in their research This has proven successful up to now However some students would also like to do some programming themselves as a part of their PhD research Building a CFD model like SSIIM takes many years and is beyond the scope of a PhD study The new DLLs provides the possibility to program parts of SSIIM The accompanying source code shows an example of this is done and it is feasible for the PhD student to make changes to the code in relatively short time By using the modified DLLs with SSIIM researchers can test their own code with out having to program other existing features of a CFD model for example user interface graphics and other numerical algorithms The first DLL was made for the bed boundary condition for the sediment transport compua tions These algorithms are highly empirical and considerable knowledge on sediment trans port physics are required for their modif
12. Note that it is possible to store the data on the G 9 data set by writ ing the control new file in the menu of the main program 44 The option Move is used to move the plot upwards downwards or sideways The arrow keys can be used instead of the menu The option Scale is used to enlarge shrink or distort the plot The keys lt Page Up gt and lt Page Down gt can be used for scaling Some of the graphs also use lt CTRL gt arrows for distorting the plot For the OpenGL plots sub menu under Scale can be used to move the colour scale to red or blue This is also visualised in the Legend view The lt F7 gt and lt F8 gt keys can be used for the same purpose An option in the menu bar is Graph The pull down menu displays different parameters that can be shown An option on the menu bar of the OS 2 version is System or Save The pull down menu of Sys tem has the option Save This is used for storing the plot in an OS 2 metafile The names of the metafiles file will be mapfl000 met longf000 met color000 met conto000 met vprof000 met bedfl000 met or crossO00 met depending on which of the graphics procedures that produced the file If there is an existing file with the same name this will not be overwritten Instead a new file with last characters 001 instead of 000 will be written If this exist further increments in the number in the name will be made until number 999 Printing from the Windows versions is done directly wit
13. SSIIM 1 will automatically read the control and koordina files at startup SSIIM 2 will not start up a dialog if any of the input files are not found In SSIIM 2 the grid 131 and information about inflow outflow of water is given in a file called unstruc This file is not automatically read The user need to make the program read the file by using the menu or the F 2 data set in the control file The parameter used in the F 2 data set is U meaning the letters F 2 Uhas to be given in the control file Of course the grid has to be made first This is described in the tutorials There might be up to 10 letters on the F 2 data set The program will then read 10 characters after encountering F 2 in the file It is therefore advisable to have a number of characters which are not capital letters on the line after the data set 2 Doing computations After the grid is made and read the computations can be done The question is then What do you want to compute There are a number of options a Compute a steady water flow with fixed water surface and fixed bed b Compute stationary sediment flow with a fixed water surface and fixed bed c Compute stationary water flow with an unknown water surface and a fixed bed d Compute unsteady water flow with a moving water surface and fixed bed e Compute unsteady water flow and sediments with a fixed water surface and moving bed f Compute unsteady water flow and sediments with a moving water surface
14. SSIIM calculates sediment transport by size fractions In the control file each fraction is spec ified on an S data set where the diameter and fall velocity is given This data set has to be given when calculating sediment transport The number of sediment sizes is given on the G data set There are two methods to specify sediment inflow in the control file One method is to give the inflow on the data sets in kg s An J data set must then be given for each fraction A ver tical sediment concentration distribution according to the Hunter Rouse Equation will then be used This sediment concentration will be given over the entire upstream cross section i 1 The other method to specify sediment inflow is to use the G 5 data set Then the concentration is given for a specified surface at the boundary of the grid The concentration is given in vol ume fraction which is used in all calculations by SSIIM It is possible to use both J and G 5 options simultaneously to specify multiple sources of sediments Specification of initial sediment fractions on the bed is done by using N and B data sets in the control file The N data sets specify a number of sediment mixes The distribution of the mixes in the various parts of the bed is given on the B data sets Theory Sediment transport is traditionally divided in bedload and suspended load The suspended load can be calculated with the convection diffusion equation for the sediment concentration c
15. The first column is the z value of the vertical profile The second column is the concentration If velocities are interpolated instead of concentrations an M is written on the first line instead of the C Instead of the concentration column five columns are written The variables in the columns are velocity in x y and z directions k and e Time dependent sediment computations If a time dependent sediment computation is done then the question is at what time should the concentrations be written If the integer 19 is used on the F 48 data set then a time in seconds will be read first on each line of the interpol file Also a T is used as an index instead of an M Example T 400 0 2 03 0 5 T 800 0 406 0 39 T 900 0 406 0 5 119 The interres file will then contain the sediment concentrations at this time The time in the file is given in seconds Printing cross sections for ParaView from SSIIM 2 Sometimes the user wants to see variables in a cross section from a SSIIM2 grid This can bed done by specifying the integer 12 on the F 48 data set and print the result file Then a Par aView file will be written from the cross section defined in the interpol file Note only one cross section can then be given in the file 4 13 The verify file This file is used as input for the VerifyProfile graphics option The user can present calculated velocity or concentration profiles together with measured values Up to 20 vertical pro
16. The grid editor only moves the grid in the layer bordering the bed So if any of the grid points have been moved in the vertical direction the water level and the grid points above the bed needs to be recalculated The new grid is computed by using the 3D Grid option 33 3 3 2 Grid generation for SSHM 2 Overview SSIIM 2 uses two grids one two dimensional depth averaged structured grid and another three dimensional unstructured grid The two grids cover the same area The 2D grid is fixed in space over time and contain both the wetted and dry cells The indexing of the 2D grid is similar to SSIIM 1 The 3D grid may change over time as the water and bed elevations change The total number of cells in the 3D grid will therefore also change and also the index ing of the cells For a real world case where a complex water body is simulated it is necessary to start with a geodata file giving the coordinates of for example contour lines of the bed levels of the lake The grid generation procedure then starts with reading this file from the Grid Editor The indi vidual points will then be shown in the main window with different colours according to the vertical elevation It may not be necessary to use a geodata file for demonstration and teaching purposes or if the geometry is fairly simple for example a channel The next step is to start making a number of blocks in the Grid Editor Each block is made up of a structured grid which is 2
17. The two first integers are the i and j indexes for point p The four following indexes denote the four surrounding points The numbering follow the order of the points in the geodata file The first point in the geodata file is 1 the second 2 etc Some special algorithms are used if there are no geodata points in one or more of the groups If there are no points in two or more groups then the algorithm may fail Then a zero z value will be given to point p Also the following warning message will be written to the boogie bed file Warning null value first loop for i j 10 20 For this example p is located at 10 20 It is recommended to check this after a bed interpolation or look at the contour map of the bed levels This should be checked for areas where the bed level is zero If this occur the Zp level should be given in the koordina file using an editor Also note that if a geodata point is located within a distance of 0 05 meters from p then the z value of this point is used instead of the interpolation Then the following line is written to the boogie bed file Using exact value for 10 20 4 567 In this case the value for point 10 20 is 4 567 meters Note the value 0 05 meters can be changed by the user by giving it on the F 47 data set The minimum algorithm 39 This algorithm was developed during the work with the Sokna river in 1994 The Sokna river had very large stones and a porosity approach was used to include their e
18. Two block grid SSIM 2 0 0 0 0 ee eee 144 5 6 OS Versi n ole eee eed outta h ah uh hee ae Nee SS 144 5 6 2 Windows version 44 45 0 55 x a ae ees pW etaw ined ewes oe 146 5 7 Tutorial 4 Sand trap SSIIM 2 for Windows 148 5 8 Tutorial 5 Scour in a contraction SSIIM 1 for Windows 151 5 9 Examples ise oe Yas ya ee nea pe ae nd ee een ee 155 De LONG Std errr ah an gga ae aaa tales at eae dh ea pea dies eis 157 5 11 Lateral grid mGvements 02 49 cet eta eee atl ett a5 158 5 12 Experience with convergence and stability 160 5 13 Interpretation of results 4 21 wdenats one oe eng nee Ae hen tee ys 162 5 14 Nested grids sien ig 0 bdo Gees ed Baws ded cA dae DOREY 165 5 15 Common problems 2 25 24 20 here reid eave bbe es 166 5 16 Bugs and bushindin gs ogo t ad oie aie a sere Gee eee oes 167 5 17 Displaying measured bed changes in SSIIM 2 169 Chapter 6 Programming SSUM DLLs 020 0000 171 6 1 Introd cton s perses ao a ae a E a A e o A 171 6 2 COMPAIN he 26 3 oa Oa R al e E da E E E E A 171 6 3 The BEDDLL file sediment transport functions 172 Literat re sianidi E E aa ENE ana la ead E S ke 174 Appendix I Transfer of grid from SSIM 1 to SSIM 2 187 Appendix lII Flowcharts i 25 ess eee eee Pe EE renra 190 Chapter Introduction 1 1 Disclaimer and legal matters I disclaim all warranties with regard to this software and
19. and lines for the calculated results The verify profile is invoked in a separate window in the OS 2 version and in a separate View of the Windows versions The following parameters can be used Horizontal velocity see below Vertical velocity Pressure Turbulent kinetic energy Epsilon Eddy viscosity Sediment concentration A water quality constituent Showing horizontal velocities the x and y components can be given in the verify file The ver ify profile graphics can then show comparisons of the magnitude of the velocities 47 the component in the x direction the component in the y direction the component parallel to the longitudinal profile Windows only the component parallel to the cross section Windows only The profile verify graphics shows the measured profiles and the calculated values in the cell closest to the location of the measurements The profiles may be taken in a cross section or a longitudinal profile or any other arbitrarily aligned line in the geometry Separate verify files should also be made for each variable Note the vertical velocity is treated as a scalar variable and must be given in a separate file 3 7 Animation The purpose of the animation module is flow visualisation The module displays a 3D view of the geometry and animates the movement of a sediment particle The movement of the parti cle will depend on the flow field and the fall velocity of the pa
20. block with this number is computed If the integer is negative all nested blocks are computed 5 15 Common problems By own experience and watching students using SSIIM there are some frequent problems that can occur Sequence of actions In some example the F 2 option is given is given in the control file so that the computations starts automatically It is most often not a good idea to read input files or start new computa tions while the program is computing something This can easily cause the program to crash If using the menu to start computations make sure the grid is read completely before starting for example water flow computations And make sure the water flow computations are fin ished before the sediment computations are done SSIIM 2 inflow outflow specification In SSIIM 1 it is possible to specify two or more in or outflow regions vertically above each other using the G 7 data sets In SSIIM 2 the inflow and outflow are specified graphically in the DishargeEditor A similar specification as in SSIIM 1 can be done by giving in the vertical levels in the dialog box where the discharge is given The default value of the maximum level is set equal to the maximum number of grid cells in the vertical direction Say you have a case where the maximum number of levels was for example 11 and you spec ified an inflow discharge between level and 11 and this was stored in the unstruc file If the inflow outflow region was in a
21. delta with natural vegetation 33rd IAHR Congress Vancouver Canada Zinke P Olsen N R B Bogen J and Riither N 2010 3D modelling of the flow distribu tion in the delta of Lake yern Norway Hydrology Research Vol 41 No 2 pp 92 103 Zinke P Olsen N R B and Bogen J 2011 3D numerical modeling of levee depositions in a Scandinavian freshwater delta Geomorphology 129 2011 pp 320 333 doi 10 1016 j geomorph 2011 02 027 All the references are written in English also thesis and dissertations How to obtain some of the references in this list The thesis by Melaaen 1990 can be obtained by writing to Department of Thermodynamics The Norwegian University of Science and Technology N 7491 Trondheim Norway The dissertations by Olsen 1991 Lovoll 1996 Jacobsen 1998 and the thesis by Chan drashekhar 1994 can be obtained by writing to Department of Hydraulic and Environmental Engineering The Norwegian University of Science and Technology S P Andersens vei 5 N 7491 Trondheim Norway The thesis by Sintic 1996 can be obtained by writing to RWTH Aachen 185 Institut fur Wasserbau und Wasserwirtschaft Mies van der Rohe Str 1 52056 Aachen Germany The thesis by Stoesser 1998 can be obtained by writing to Institute of Hydraulic Engineering and Water Resources Management University of Karlsruhe Kaiserstrasse 12 D 76128 Karlsruhe Germany 186 Appendix I T
22. it is possible to read the size in the unstruc file and modify the F 65 data set so that the program does not allocate more memory than necessary SSIIM 2 only Temperature calculation with feedback from water density on the water flow calculation if it the integer 1 follows Default F 67 0 Parameter for choice of water flow computation An integer is read 63 F 70 F71 F 72 F 73 F 76 Default F 68 0 If the parameter is 2 the transient sediment computation will not re compute the water flow field after an update of the bed This means a quasi steady situation is modelled For SSIIM 2 If the parameter is 1 the three dimensional calculation of the water flow will be done using the hydrostatic pressure assumption This means that the Navier Stokes solutions will not be solved in the vertical direction and vertical veloc ities will be found by the continuity equation This option causes an extra grid block to be made The extra block is the last block and is a depth averaged version of the whole grid Note that this parameter have to be the same when calculations are done as when the grid was created SSIIM 2 only Wall laws removal option An integer is read If 1 the wall laws will be removed from the side surfaces If 2 the wall laws will be removed from the side and the bed surfaces Default F 70 0 Turbulence decrease because of density stratification An integer is read If 1 the tur bulent eddy viscosity
23. 1 n 107 NoMovePoint a point which is used in the Grid Editor Two integers are read which is the numbers of the i and j grid lines The intersection of these lines are not moved by the elliptic grid generator One W 6 data set is required for each NoMovePoint Maxi mum 19 999 points can be used The W 6 data set is usually generated by the Grid Edi tor Attraction point used in the Grid Editor Each W 7 data set represents attraction to one grid line or point Maximum 1999 attraction points can be used An integer is read first which tells the type of attraction The following options are given 0 Point attraction in i direction 1 Point attraction in j direction 2 Line attraction in i direction 3 Line attraction in j direction Then two integers are read that tell which grid line intersection the attraction is towards For the line attraction only one of the integers are used Then the two attrac tion parameters are read which are floats The W 7 data set is normally generated by the Grid Editor 108 4 4 The koordina and koomin files The koordina file describes the bed of the geometry with a structured grid SSHM 1 An example is show in the figure below The grid can be made using a map a spreadsheet or the GridEditor lt gt grid intersection xnumber 4 calculation node ynumber 5 lt 4 5 gt 4 5 aN gt A inflow gt lt 3 3 gt G 3 cross d cara stream lt 1 1 gt wise
24. 2 As fall velocity we choose 0 05 m s for size 1 and 0 007 m s for size 2 It is also necessary to specify the sediment inflow We choose to give 1 kg s inflow for both sizes The inflow is given on the Z data sets as follows I11 0 121 0 Save the file and restart SSIIM Then first compute the water velocity again and then choose Sediment from the Computations menu in the main window The sediment concentration is calculated The sediment concentration results can be seen in the graphics by choosing Sedi ment concentration from the menu Fourth stage calculation of trap efficiency The trap efficiency is calculated from the fluxes which are given in the boogie file This file is approximately 213 lines long for this case It is found in the same directory as we started from It can be sent to a printer or edited with an editor In the middle of this file we find the follow ing seek ARK Jy morphology KKK K KK K K K K Bed concentration flags 000000 Trap efficiency after 4 iter all values in kg s l 1 Trapped 0 973407 Fluxes I1 12 J1 J2 1 0 0264776 0 0 Resid 0 000116 l 2 Trapped 0 317048 Fluxes I1 12 J1 J2 1 0 671854 0 0 Resid 0 011098 143 This means that of 1 kg second inflow 0 97 kg is trapped of size 1 and 0 32 kg is trapped for size 2 The total trap efficiency for both sizes is 65 Note that the residual is still about 1 for size 2 This means that the accuracy of the estimate for the trap eff
25. 2 the first and the two last integers are not used but numbers must be given in anyway The data set will then only have an effect when given to the control file before the grid is generated SSIIM 1 only Debug dump option where a variable in a cell is written to the boogie file Four integers are read The first integer indicate which equation Velocities in x y and z directions are denoted 1 2 and 3 respectively 5 and 6 are used for k and e respectively The next three integers are cell indexes i j and k Example G 14 1 3 4 6 causes velocity in x direction for cell i 3 j 4 and k 6 to be written to the boogie file for each iteration Up to 29 G 4 data sets can be used SSIIM 1 only Local vertical distribution of grid cells This data set can be used when a different distribution of grid cells than what is given on the G 3 data set is wanted in some parts of the geometry Four integers are read first These tells which area are affected by the changed distribution Then znumber floats are read similarly to what is on the G 3 data set Example G 16 2 3 1 4 0 0 50 0 75 0 100 0 when znumber is 4 gives the new distribu tion for the eight vertical lines i 2 to i 3 and j 1 to j 4 Up to 500 G 6 data sets can be used SSIIM 1 only Boundary inflow specification for water quality calculation Six inte gers are read first specifying the location of the inflow Then another integer is read specifying the variable The integer cor
26. 4 2 direction r b4 Streamwise direction The necessary input data is the x y and z coordinates of the points where the grid lines meet The format of the data is given below ij xy z An example 1 1 0 34 0 54 0 11 1 2 0 35 0 66 0 12 The first two numbers are integers while the following three are floats The numbers are read in a free format which means that the distance between them does not matter The sequence of the points are not important as long as all points are included This is not controlled by the model so the user must do this by looking at the grid in the graphic modules of the program If a tunnel is simulated or the user wants to specify the water surface an additional floating point number is read for each line This gives the top level for each grid intersection An example 109 1 1 0 34 0 54 0 11 1 21 120 1 2 0 35 0 66 0 12 1 33 To make SSIIM read the last float the K 2 data set in the control file must be K 2 0 0 SSIIM 1 Some words about indexing and numbering of grid lines and cells The variable names for the number of grid lines in the three directions are xnumber number of cross sections ynumber number of longitudinal lines znumber number of horizontal planes The numbering of the grid lines goes from 1 to xnumber in the streamwise direction and sim ilarly for the other two directions However the grid lines define cells between the grid lines The variables are calculat
27. 69e 05 4 10e 06 2 73e 05 1 17e 04 1 38e 02 1 13e 02 Cont 9 23e 08 DefMax 1 65e 03 U V W 96 7 20 6 40e O1 5 14e 03 5 76e 02 Iter 6 Resid 1 62e 05 3 85e 06 2 62e 05 1 10e 04 1 31e 02 1 08e 02 Cont 9 23e 08 DefMax 1 56e 03 U V W 96 7 20 6 40e 01 5 14e 03 5 76e 02 Iter 7 Resid 1 57e 05 3 65e 06 2 50e 05 1 04e 04 1 25e 02 1 03e 02 Cont 9 23e 08 DefMax 1 48e 03 U V W 96 7 20 6 40e O1 5 14e 03 5 76e 02 Iter 8 Resid 1 51e 05 3 46e 06 2 38e 05 9 86e 05 1 18e 02 9 77e 03 Cont 9 23e 08 DefMax 1 41e 03 U V W 96 7 20 6 40e 01 5 14e 03 5 76e 02 The first line has the word Iter at first Then an integer follows which shows the number of the iteration In the example above this runs from iteration number 5 to 9 Then the residuals for the six equations are shown The x y and z velocity equations are first then the pressure equation and the k and e equation follow All these must be under 10 3 before the solution has converged The second line starts with the word Cont Then a floating point value is shown This is the sum of all the water inflow and outflow in the geometry This should be a very low value typ ically under 10 7 If a larger value is given check the boundary conditions Then the word DefMax is written The residual for the cell with largest water continuity defect is then writ ten The indexes for this cell are then written with the velocities in the three directions for this cell In iteration 9 fo
28. Changing the View will also change the main menu The different Views are Map graphics with contour plots or vectors Longitudinal cross sectional profiles Grid Editor Discharge Editor SSIIM 2 The options are described in more detail in Chapter 3 2 3 4 The main menu also has options for reading and writing input result files starting computations or printing A sub option of View decides if colours should be used or only black lines In general a SSIM run should be started by reading input files or generating the grid using the 29 Grid Editor After generation of the grid the inflow and outflow should be specified using the Discharge Editor Then the data should be saved in the Unstruc koordina files before the computations are started and the results are viewed 3 2 Interactive input of parameters Some of the most commonly used parameters can be set in dialog boxes in the OS 2 versions These dialog boxes are activated by the Input Edit choice in the main menu bar The choices are GridEditor This option is described in Chapter 3 3 DischargeEditor This option is described in Chapter 3 4 Only SSIIM 2 Waterflow parameters This gives various parameters for calculation of water flow which can be used when there are convergence problems and when parameter tests are done Some of the parameters can be changed while the program is calculating the water flow field Note that only the most commonly used paramete
29. F 102 0 SSIIM 2 only Integer invoking an algorithm to prevent crashes when a single cell is formed The algorithm is only invoked if the integer is above zero The algorithm will add a value to the a coefficient in the pressure correction equation of SIMPLE This will only be used in the cells that have no neighbour cells The value added is the inte ger multiplied with the volume of the cell Default F 104 0 SSIIM 2 only An integer is read giving the number of iterations between each update of the water surface elevation for time dependent calculations Default F 105 10 A float is read giving the thickness of the upper active sediment layer The default value is equal to the maximum sediment grain size diameter on the S data sets SSIIM 1 only Upstream water elevation in the TFS algorithm An integer is read If it is 1 the TFS algorithm will compute the water level of the most upstream cross sec tion using a 1D backwater algorithm from the second most upstream cross section This is done automatically if G 7 data sets are not used so then this data set is not nec essary 67 F 108 F 109 F 110 F 111 F 112 F 113 Default F 107 0 SSIIM 1 only A minimum water depth used by the TFS algorithm Default F 108 0 02 Parameter in Brook s formula for reduction of the critical sediment particle shear stress when the bed slopes Default F 109 1 23 0 78 0 2 The two first floats are the inverse of tan fo
30. G 6 data set has to be taken from this grid 133 Since the unstruc file has to cover all areas that can be wetted the water level has to be high during the generation of the initial grid If this is the physical situation we want to model this is fine For example a drawdown of the water level in a reservoir Algorithms has to be invoked that moves the water level down G 6 data set timei file However sometimes the user want to start the computations with a lower water level An example is the computation of the formation of a meandering channel The initial channel will then move sideways in areas that were not wet at the start of the computation To solve the problem the following proce dure can be used When the unstruc file is written also a file called koordina t is written automatically This file is similar to the SSIIM 1 koordina file but it contains both the bed and the water level The water level is the last floating point on each line The file can be edited with a spreadsheet and a user specified water level can be given in this file The file is then renamed koordina without extension and placed in the same directory as the unstruc file During startup when SSIIM 2 reads the unstruc file it will search for this file and if it is found it will use these water levels as initial values automatically It is very important that a new unstruc file is not written from the program after this procedure as the information about
31. Hydraulic Engineering and Water Resources Management University of Technology Aachen Germany Sokoray Varga B Baranya S and Jozsa J 2006 Turbulence analysis of vertical slot fish pass by in situ measurements and CFD modelling Third International Conference on Fluvial Hydraulics River Flow 2006 Lisbon Portugal Sokoray Varga B Baranya S and Jozsa J 2007 Turbulent strucutures in vertical slot fish pass revealed by in situ measurements and numerical modelling Fifth International Sympo sium on Environmental Hydraulics ISEH V Tempe Arizona Spalart P R and Allmaras S R 1994 A one equation turbulence model for aerodynamic flows La Recherche Aerospatiale no 1 pp 5 21 Stoesser T 1998 Numerical Modelling as Tool in Hydraulics In Case of Reservoir Sedi mentation Processes in Mountainous Regions Dipl Ing Thesis Institute of Hydraulic Engi neering and Water Resources Management University of Karlsruhe Germany Stoesser T Rodi W and Olsen N R 2006 Large Eddy and RANS flow simulation above dunes Flow Simulation in Hydraulic Engineering Dresden Germany 9 11 March 2006 Stoesser T von Terzi D Rodi W and Olsen N R B 2006 RANS simulations and LES over dunes at low relative submergence ratios 7th Int Conf on Hydroscience and Engineer ing Philadelphia USA 10 13 September 2006 Stoesser T Ruether N and Olsen N R B 2008 Near Bed Flow Behavior in
32. If it is above zero the turbulence algorithms in the turbdil dil file are used instead of the default algorithms This DLL is not yet implemented 69 F 125 F 128 F 130 F 131 F 132 F 133 F 134 F 136 F 137 F 138 F 139 F 141 SSIIM 2 only TSCDLL parameter An integer is read If it is above zero the transient sediment computation algorithms in thetsc2dll dll file are used instead of the default algorithms SSIIM 2 only Setting the pressure field to zero in the TSC algorithm to prevent insta bilities An integer n is read The pressure is set to zero for each n th time step The algorithm has not been very successful in testing SSIIM 2 only Four integers giving the indexes defining an area of the first block where a denser grid is to be generated Not tested yet SSIIM 2 only Cohesive parameters And integer and a float is read The integer deter mines the sediment size The float is a critical shear stress for erosion of each particle size Multiple F 131 data sets are given for multiple sediment sizes Default 0 0 for all sizes Note that this number is only used to determine the critical shear stress for ero sion of a particle It is not used in the sediment transport formulas SSIIM 2 only Maximum Froude number for update of water surface A float is read This is a stabilizing depth limiter algorithm for the water surface computation The water level is limited in size so that high Froude nu
33. O default and F 64 1 the values on the G 3 data set are level in meters and the longitudinal and lateral grid lines are completely horizontal SSIIM 1 only Sediment sources Six integers and Inumber floats are read The inte gers indicate a region of the grid The first two are in the streamwise direction the fol lowing two are in the cross stream direction and the two last integers indicate the vertical direction The following floats gives the sediment concentration in volume fractions Only one G 5 data set can be used 84 G6 Example Sediment concentration 0 001 flows into the top of the geometry in an area given by the following cells j 2 to j 4 and 1 3 to i 5 It is assumed that there are 11 grid lines in the vertical direction This gives the following data set G5352411 110 001 Note that a volume concentration of 0 001 with a specific sediment density of 2 65 is equivalent to a concentration of 0 001 x 2 65 x 1 000 000 2650 ppm Data set for calculating water surface elevation with an adaptive grid Three integers and two floats are read iSurf jSurf kSurf RelaxSurface ConvSurface The RelaxSurface variable is a float relaxing the estimation of the increment to the new recalculated water surface Recommended values are between 0 5 and 0 95 The ConvSurface variable is a float setting the limit for when the water surface should be recalculated The water surface will be updated when the maximum residual of the eq
34. P Wilson C A M E Malki R Shukla D R and Shiono K 2006 Inter comparison of CFD codes using data from a large scale physical model IAHR IWA International Conference on Hydroinformatics Nice France Theme 1D3 4 Olsen N R B 1991 A numerical model for simulation of sediment movements in water intakes Dr Ing Dissertation The Norwegian Institute of Technology Trondheim Olsen N R B and Melaaen M C 1993 Numerical Modeling of Erosion around a Cylin der and Sediment Deposition in a Hydropower Reservoir Eight International Conference on Numerical Methods in Laminar and Turbulent Flow Swansea UK Olsen N R B and Melaaen M C 1993 Three dimensional numerical modeling of scour around cylinders ASCE Journal of Hydraulic Engineering Vol 119 No 9 September Olsen N R B Jimenez O Lovoll A and Abrahamsen L 1994 Calculation of water and sediment flow in hydropower reservoirs 1st International Conference on Modeling Testing and Monitoring of Hydropower Plants Hungary Olsen N R B and Alfredsen K 1994 A three dimensional model for calculation of hydraulic parameters for fish habitat IAHR Conference on Habitat Hydraulics Trondheim Norway Olsen N R B 1994 SSIIM A three dimensional numerical model for simulation of water and sediment flow HYDROSOFT 94 Porto Carras Greece Olsen N R B and Skoglund M 1994 Three dimensional numerical modeling of wa
35. Start by creating an initial control file from the menu File gt Write control new The file is edited with the Windows WordPad Read the file and add the following lines of data at the end F 33 10 0 10 F371 F 64 1l S 0 001 0 01 I 0 01 The F 33 data set specifies a time step of 10 0 seconds and 10 inner iterations for each time step The F 37 data set specifies the use of the transient sediment calculation algorithms The F 64 data set specifies a grid algorithm creating an unstructured non orthogonal grid that can change dynamically over time The S data set specifies the sediment data 1 mm sediment diameter and 1 cm s fall velocity Specify the inflow concentration by adding an M data set in the control file M 7 0 0001 This specifies an inflow concentration of 0 0001 for size 1 This inflow will be constant over time If the inflow concentration varies over time it is necessary to use a D data set in a timei file Then save the file as a text file control txt Then copy the file to control without an extension It is not possible to save it without an extension in this editor After the files are made and placed on the working directory with the unstruc file the SSIM program is started again The unstruc file is read and using the Grid Editor the grid is regen erated with the new grid algorithm From the menu this is done by the menu options Gener ate gt 3D Grid Then the DischargeEditor have to be used to specify ne
36. W2311020 The water elevation for the other cross sections in between will be linearly interpo lated SSIIM 1 only Specification of extra walls for the multi block water flow module Seven integers have to be given for each wall There can be up to 29 walls and each wall is described on one W 4 data set The variable names are W 4 dir posneg node al a2 b1 b2 The first integer dir indicates the plane 1 is the j k plane cross section 2 is the i k plane longitudinal section and 3 is the i j plane seen from above The second integer posneg indicates which of the sides of the cell is calculated as a wall Three possible options exist 1 1 or 0 If 0 is given a previously set wall is deleted If the index is 1 the wall is calculated on the wall in the direction of declining cell indexes If 1 is given the wall is calculated in the direction of increasing cell indexes This is further explained in Fig 4 The third integer is the number of the node plane An example is given in Fig 4 below The figure shows the i j plane the grid seen from above The wall is to be given in cells where i 4 between cross section no 3 and 4 If the second integer posneg is 1 then wall laws are applied on cross section no 3 between cell 3 and cell 4 in the negative i direction If posneg 1 then the wall laws are applied on cross section no 4 between cell no 4 and 5 in the positive 1 direction 106 4 5 5 5 6 5
37. above gives two profiles The first is located at x 40 0 meters and y 10 0 meters Three data points have been measured The first point is located at global coordinate z 5 0 meters and have a measured x component velocity of 0 5 m s and a y component veloc ity of 0 1 m s The second point is located at global coordinate z 6 5 meters and have a 120 measured x component velocity of 0 6 m s and a y component velocity value of 0 12 m s 4 14 The timei and timeo files There are two files that are relevant to time series calculations The first file timei is an input file for time series of discharge waterlevel sediment concentration and control for output The second file timeo is an output file with time series from the model The timei file reads two types of data sets The first type controls the output to the timeo file This data set begins with a capital O and then reads a float Time and an integer Vars Time is the time for when the print out starts and Vars tells how many variables are written to the timeo file for each time step Maximum 3000 variables can be written A maximum of 20 con trol output data sets O can be used After reading Time and Vars the next lines read which variables are printed and in which cell Vars lines are read Each line starts with a lower case character and then three integers four in case of sediment concentration are read This is for SSIIM 1 For SSIIM 2 only one integer is read
38. according to the grid editor geometry The fifth choice New water level and grid is used after having changed the z values on any of the coordinates The grid editor only moves the grid in the layer bordering the bed So if any of the grid points have been moved in the vertical direction the water level and the grid points above the bed needs to be recalculated This is done by using this option Define This option is used for defining different parameters The parameters are often connected to grid intersection points The point that was last activated by the mouse is used as default The first option is Give coordinates This gives a dialog box where the user can give numeri cal values for x y and z for a grid intersection The second option is Set NoMovePoint This invokes a mode where the user can define certain points which will not be moved by the interpolation called NoMovePoints In NoMovePoint mode it is not possible to move the grid points with the mouse When the user clicks on a grid intersection a blue star emerges on the intersection as a sign that this is chosen Up to 19 999 NoMovePoints can be chosen To verify that this mode is present the letters Point mode 0 is shown on the lower part of the editwindow when the Set NoMovePoint is chosen The integer shows how many points you have chosen To return to the normal mode choose Define and Set NoMovePoint again It is verified that the normal mode is set because the text P
39. and moving bed g Compute unsteady water flow with a moving water surface and fixed bed where there is wetting and drying h Compute unsteady water flow with a moving water surface and moving bed where there is wetting and drying Options g and h are only possible with SSIIM 2 as wetting and drying is not included in SSIIM 1 All algorithms dealing with time dependent changes in water level or the bed level will intro duce uncertainties The algorithms will also cause computational time to increase often with several orders of magnitude If some of the variables can be assumed to be stationary over time this is often a time and energy saving option This especially applies to the location of the bed and water surface Case a c and d To compute the water velocities with and without changes in the discharge or free water sur face the option Compute gt Waterflow is to be used in the program menu Or use the F 2 W data set in the control file In SSIIM 2 the grid has to be read first so the data set will be F 2 UW To invoke algorithms changing the free water surface more information is given in Chapter 5 3 If the user want to start the computation with a previously computed water flow field stored in the result file the file can be read first This can be done from the menu or using an R in the F 2 data set The data set will then be F 2 RW for SSIIM 1 or F 2 URW for SSIM 2 132 Case b A sediment computation requir
40. close to p The cross section algorithm This algorithm was developed as an attempt to give a better bed interpolation if the geodata points are taken from measured cross sections This is often the case as cross sections are tra ditionally measured for one dimensional numerical models It is now assumed that the modelled geometry resembles a river and that the grid lines follow the streamlines reasonably well And that the cross sections are reasonably normal to the flow direction and the grid lines in the longitudinal streamwise direction At point p two vectors are first computed along the grid line in the downstream direction and in the upstream direction Then the vector from p to each of the geodata points are computed The dot product between this vector and the vector in the downstream grid direction is comput 40 ed to see if the two vectors are parallel Also the distance to the geodata points are computed to select the geodata points in the closest cross sections upstream and downstream of p The two points forming the smallest angle on the left and right side of the grid line vector are se lected A linear interpolation between the points are done based on the angles This gives one bed level for the downstream direction Then the same is done for the upstream direction The two values are then linearly interpolated based on the distance between the selected geodata points and point p The algorithm basically inter
41. dependent water flow computation with a free surface the free surface will only be updated if the residuals for the Navier Stokes equations are below 100 0 Using this data set the value can be changed as the float is used instead of 100 0 SSIIM 2 only Two floats are read which are used to scale the values in the geodata file The first value is a factor which is multiplied with all the values The second value is added to all the values Note that the scaling is done only when reading the values When editing the geodata points in the Grid Editor and then writing a new geodata file the scaled values are written Reading the newly generated geodata file back in again and keeping the F 225 data set gives a double scaling of the points Algorithm to use a depth averaged pressure field to compute the water surface eleva tion changes instead of the pressure in the surface cells An integer 6 can be used for both SSIIM 1 and SSIIM 2 In SSIIM 2 an integer 7 will use an algorithm similar to 6 but with smaller elevation changes due to the inclination of the surface of the cell SSIIM 2 only Algorithm to modify the downstream boundary condition when using a free surface algorithm with gravity for example F 36 15 An integer is read If 1 a hydrostatic pressure is used If 2 the fluxes at the downstream boundary are set to Zero SSIIM 2 only Algorithms to reduce instabilities in triangular cells An integer is read and depending on its v
42. from the Values option in the Scale menu of the Contour map plot 4 3 6 The M data set SSIIM 2 only The M data set specifies inflow of a water quality constituent or sediments A maximum of 9 groups of M data sets can be used Each group corresponds to an inflow section specified in the DischargeEditor Two integers are read first The first integer is an index for the group The first group has index zero The second integer is an index for the water quality constitu ent sediment size Zero is the smallest number possible After the two integers a float is read This is the value of the inflow concentration of this parameter Example M 0 2 0 001 If sediments are computed In inflow section 0 the concentration of size 2 is 0 001 For example if there are three inflow sections and five water quality constituents it will make sense to have 15 M data sets If no M data set is given for a particular inflow section and water quality parameter the inflow is zero M data sets given for sections with water outflow has no effect on the computation and should not be used The values of the M data set does not change over time unless altered by using M data sets in the timei file This is the recommended procedure to model time varying inflow of water qual ity components It is recommended to model time varying inflow of sediment concentration by specifying the concentrations in the timei file without using M data sets in the control file
43. in SSIIM 2 for Windows 41 3 4 The Discharge Editor SSIIM 2 0 0 e cee eee eee 42 5 0 Presentalion STAPMICS s ove cy hse sae esha we SS ee Oe ee ees 43 3 6 Verify graphics wee ean se ag ee eee wh a aS 46 Z TANIMAN yd fea x saa Spade See x are EE aad ene wane oo 48 Chapter 4 Input result files 22 342 02 tied see atnd eed Mee 8s 50 4 1 The file structure i240 cc ccbdone beadan Meade Kee kian kd 50 42 Phe boosie Me 25753 io ens e aw aaa Sa ESG ws ee ee 51 49 Vhe Control Mies ieres gone ee eens gods ewes to eae ue 52 43 1 The F data Sets 24 0 6 oles oa adacie phe eo tae Side awe e 53 43 2 Phe G data SOUS teat te gan Sat de a Ea ht A ote tN et 2 ae 83 43 5 Mhet dataset seged visini ey na A eed wand ee Beano d eas 93 AS ASThe e E Se ae eee ei a hee ead dete 93 4 3 9 The Ladata Set 4 4 5 48 iain yee adie ene oaie eae eee ae OH 94 43 6 The M ald Sets 4 ros a eee ae Oe ei Dene Cl fot OA oe ee 95 4 3 7 The N data sets 95 43 8 The Bdata S t 3x4 new apn od eee ae hee ane 96 4 3 9 The P dataset 2455 00 Gacy eee ee bebe ed i deede bee EAS wes 96 4 3 LO The O data setts 5 pc Gs ae pee eae nk ata Ease 97 ASU Thes dataset ayy we abi neal Hace eee ae ew eS 4 ew eee oe 105 43 The Tdata Sein ets a hae Sy hates a nee Sed Oke 105 7 ea ie Bao Ae al V2 eo ee ee a a 105 4 4 The koordina and koomin files 0 0 0 0 ee eee eee 109 4 5 The unstruc file SSIIM 2 only 0 2 02 eee eee eee 110 4 6 The veodata Tle
44. in the vertical direction as possible when making the file The number of cells in the ver tical direction can then be increased later by adjusting the G and G 3 data sets the control file The unstruc file has to contain the water discharges at the correct locations for inflow and out flow This is specified in the Discharge Editor Note that the control file has to contain the data set F 64 to generate the grid This means that the data on the G 3 data set in the control file is not a vertical level in meters but percent age of the water depth similar to what is given for SSIJM 1 Also it is recommended to use the F 102 1 data set in the control file to make the grid cells along the boundary change in shape to improve the smoothness of the banks However the F 02 1 option should never be used before the unstruc file is saved When the unstruc file is made its water level is often higher than what the user wants in the start of the computation This is especially the case when modelling wetting drying situations To specify that a lower water level is used at the start of the computation two steps has to be taken 1 Make a koordina file containing the desired initial water level 2 Add the F 1 2 1 data set to the control file This koordina file has to have the same coordinates for the x y and bed levels as in the initial unstruc file but it also has to contain the water levels A recommended procedure is to use the file koordin
45. interres files Vertical profiles of velocity or concentration are sometimes needed Coordinates for the loca tions where the profiles are wanted are given in this file When the write results routine is acti vated and the integer on the F 48 data set in the control file is above 1 it will search for this file If this file is not found it will proceed normally and write the result or the conres file If the interpol file is found and the integer on the F 48 data set is above 1 the program will not write to the result file but write the interpolated vertical velocities to a file named interres An example of an interpol file is given below M 2 03 0 5 M 4 06 0 39 M 4 06 0 5 The character M is read first and then the x and y coordinates for the point one wishes to inter polate the vertical profile to If the value on the F 48 data set is 3 the concentrations are inter polated If the value on the F 48 data set is 2 the velocities k and e are written to the file If the value on the F 48 data set is 1 the bed levels are written no profile only one point The results are written to a file called interres An example of an interres file is given below C 9 250000 0 100000 size 0 1 530130 0 000000e 00 1 491877 5 266262e 05 1 415370 9 303652e 05 1 338864 1 349549e 04 1 262357 1 74091 5e 04 1 185851 2 075269e 04 The first line starts with a C and then the x and y coordinates of the vertical profile is given Two columns follow
46. is decrease according to the Richardson number and the proce dure given by Rodi 1980 Default F 71 0 Minimum turbulent eddy viscosity A float is read The eddy viscosity for water flow turbulent kinetic energy and water quality constituent calculations will not be decreased below this value Default F 72 0 001 Choice of wind friction formula This formula gives the shear stress of the water sur face as a function of the wind The options are 0 van Dorn 1953 cp 1 0x10 under 5 6 m s increases over 5 6 m s 1 Bengtsson 1973 cp 1 1x107 2 Wu 1969 three non continous bands of cp as a function of wind speed Default F 73 0 SSIIM 2 only Turbulence reduction factors Three floats are read The two first floats are multiplied with the eddy viscosity in the horizontal and the vertical direction respectively thereby reducing and possibly creating a non isotropic eddy viscosity The third float is related to the decreased eddy viscosity because of density stratifica tion If it is zero the eddy viscosity decrease factor will be applied isotropically If it is unity the factor will only be applied to the vertical eddy viscosity For values between 64 F77 F 78 F 81 F 82 F 83 F 84 F 85 F 86 zero and unity the factor will partly be applied only vertically and partly isotropically creating a more or less non isotropic eddy viscosity Default F 76 1 0 1 0 0 0 SSIIM 2 only Constant non isotr
47. method First integer is 2 Buffington and Montgomery s method First integer is 3 Vollmers method First integer is 4 Wu s 2000 method First integer is 5 Kleinhans method Options 2 and 4 is coded in the main SSIIM programs not the beddll for both SSIIM 1 and 2 SSIIM 1 only Bed shear stress gradients at inflow outflow boundary An integer is read If 1 the bed shear stress in the boundary cell will not be larger than the neighbour cell in the direction of the interior domain SSIIM 1 only Cyclic boundary conditions Two integers are read The first integer applies to the water flow computation and the second to the sediment concentration computation If the integer is positive say for example 500 then the inflow boundary values will be set equal to the outflow values for each 500th iteration If a negative number is given say 8 then the program will run to convergence then update the inflow boundary condition and restart the computation This will be repeated 8 times Default F 174 0 0 no cyclic boundary condition used SSIIM 2 only Smoothing algorithms for the free surface used for the F 36 parameter being 1 or between 11 and 39 An integer is read which can be between 1 and 4 Each integer corresponds to a different smoothing algorithm Default F178 0 algorithm not used SSIIM 2 only Upwind function used for the F 36 parameter being 1 or between 11 and 39 Two integers are read The algorithm is invoked i
48. necessary to save the xcyc file and let SSIIM read this 4 17 The bedres file SSIIM 2 only The bedres file contains information about the bed sediments including grain size distribu tion thickness and bed form height It also contains information about the bed roughness This information is important when storing the results from a run that takes long computational times The bedres file can then be read by SSIIM to produce graphical results from the run with regards to the sediments When the result file is written from SSIIM 2 the bedres t file is also written at the same time If the user renames the file to bedres without an extension then SSIIM 2 will seach for this file before it reads the result file It will then use the bedres file to update the grid so that it will be similar to the grid written to the result file The result file will then be read into the grid it was produced by When using the P 0 option in the control file multiple bedres files are written during a time dependent run These files can also be renamed to have no extension and read by SSIIM together with the result file from the same time step The second line in the bedres file gives the structured grid size and the number of sediment sizes as the first four integers This is the same integers as on the G data set in the control file Then the number of 2D depth averaged cells are written and then the maximum depth The maximum depth is used to determine
49. often necessary to rerun SSIIM several times with different input parameters to find the bug Considerable time can then be saved by using a coarse grid instead of a fine grid for the same case It doesn t matter that the coarse grid will not give accurate results as long as the bug is reproduced It has happened that a bug was discovered after 6 weeks of computational time on a grid with 4 million cells If a grid with 4000 cells had been used instead and the other pa rameters were the same the bug had been found after a computational time of 1 hour 5 17 Displaying measured bed changes in SSIIM 2 It is possible to use the bed interpolation algorithms in SSIM 2 for visualizing measured bed elevation changes The measured bed elevations at two different times are used The values can be exported to Tecplot or Paraview for nice 3D colour graphics The volume of the changes can also be computed The following steps must be taken 1 First a grid has to be made of the geometry The grid would typically be made from a geo data file taken from the assumed lowest bed levels For example after the flushing or before sediment deposition The grid is then written to the unstruc file When this file is written a file called koomin bed is also written Rename this file to koomin bed1 so it is not overwritten later Note that a koomin file must not exist in the directory when the unstruc file is made 2 Add an F 249 data set to the control file T
50. only water flow is computed this variable is also used When water and sediments are computed at the same time the local variable ociter is used instead for inner water flow iterations iterGlobalMax is the 1st parameter on the K 7 data set in the control file TransIinnerlter is the 2nd parameter on the F 33 data set in the contro file morphology_tsc eg Iter 1 to iterGlobalMax WaterSolve compute sediment transport bedchange WaterSolve if F 36 gt 0 lociterGlobalMax 1 else lociterGlobalMax iterGlobalMax for loclter 1 to lociterGlobalMax D if F 36 0 ter loclter or Innerlter 1 to Transinnerlter D compute velocities pressure turbulence C if ter dividable with F 105 and residual lt 1e surface C B 196
51. outflow 0 inflow side 1 upstream inflow cross section when not using G 7 data sets 1 downstream outflow cross section when not using G 7 data sets 2 along the right bank when not using G 7 data sets 2 along the left bank when not using G 7 data sets 3 discharge through the channel bed 3 discharge through the water surface boundary 86 al a2 b1 b2 four integers that determine the limits of the surface by the indexes of the cells This is further described in the figure below al b1 Figure 3 Part of surface determination parallel direction of the flow 0 normal to surface 1 parallel to grid lines normal to surface 2 direction is specified vector directions update 0 for not update 1 for update only partly implemented discharge water discharge in m s Note that the sign of the discharge must correspond with the direction of the desired flow velocity Positive discharges indicate velocities in direction of increasing grid line numbers Xdir direction vector in x direction Ydir direction vector in y direction Zdir direction vector in z direction Example G 70 1 2 11 2 11 00 32 0 1 0 0 0 0 0 This example specifies inflow in the most upstream cross section The inflow area is from cell no 2 to cell no 11 in both cross streamwise and vertical direction The flow direction is normal to the cross section The discharge is 32 m s Remember to define the
52. path ssiim20 lt CR gt when you are on this directory The path is here the path where the executable program ssiim20 exe is placed After the two parts of the user interface is shown on the screen click on the GridEditor in the Input Edit of the menu This starts the grid editor and a blank window emerges where the grid is made In this window click on Add block in the Block option in the menu Then click on four points on the screen in the clockwise direction as shown in the figure below After the rectangle is made choose Size block in the block option in the menu Click on OK in the dialog box that emerges This gives the first grid block Then the second grid block is made in the same way Place the second grid block according to 144 Points in initial block Location of the two blocks the figure above Afterwards choose Connect point mode in the block menu Then push the two grid intersec tions according to Fig B below Start with clicking on one grid intersection and push it towards the intersection it is to connect to The connection will then be shown with a yellow circle If a mistake is made choose Remove connection from the block menu ae HE Then choose Connect point mode in the block menu again to get back to normal editing mode Choose Select block in the block menu and select block no 1 Then only this block is shown Choose boundary on the generate me
53. screen capturing tool to move one of the legends to the word processor The maximum and minimum values are shown in the bar above the menu The OpenGL graphics has an option Rotate This gives the choice of rotating the three dimen sional view around the x y or z axis Instead of using the menu it is possible to use the lt F3 gt and lt F4 gt keys to rotate around the x axis the lt F5 gt and lt F6 gt keys to rotate around the y axis and the lt F11 gt and lt F12 gt keys to rotate around the z axis The OpenGL graphics also has a menu called Surfaces This option specifies which surfaces are shown and the properties of the surfaces There are basically two properties the surfaces can be shown with colour shading or the grid can be shown There are three modes to show the properties All surfaces colour shaded Filled all surfaces shown as grids Grid or a mixed mode where the user have to define which surfaces are shown as grids and which are shown as colour shaded User defined grid filled The same menu also defines how many surfaces are shown in a specified list This is done by the Add and Remove last options in the menu The list is specified on the G 9 data sets in the control file or defined in the dialog box activated by the Define option in the menu The define dialog box is used to define new surfaces or modify existing surfaces The user basically decides the same parameters as given on the G 19 data set in the control file
54. the information in this document whether expressed or implied including without limitation warranties of fitness and mer chantability In no event shall I or my employer be liable for any special indirect or conse quential damages or any damages whatsoever resulting from loss of use data or profits whether in an action of contract negligence or other tortuous action arising out of or in con nection with the use or performance of this software It is not recommended that the program be used for solving a problem whose incorrect solution could lead to injury to a person or loss of property If you do use the program in such a manner it is at your own risk It is necessary to know that to understand and interpret the program results properly it is required that the user have knowledge and experience in computational fluid dynamics and hydraulic engineer ing If results from SSIIM are used in a publication this should be stated in the publication Provided the user complies with the above statements the program can be used freely The program can be distributed freely on condition that an unchanged copy of this manual is distributed with the program Nils Reidar B Olsen 1 2 Limitations of the program and known bugs Some of the limitations of the program are listed below The program neglects non orthogonal diffusive terms The grid lines in the vertical direction have to be exactly vertical Kinematic viscosity of the fluid is equi
55. the possibly dried up areas will then be lost The control file must contain the same information about the sediments as for the steady com putations Also time varying parameters must be given in the timei file A couple of more advice for these type of computations Use the following data sets in the control file F 64 1 or F 64 13 to get a good vertical grid distribution F 94 with parameters adapted to your case F 201 1 to get smoother sides F 713 7 to avoid unphysical velocities in partially dry cells and possibly F 159 if you get crashes Also it is advisable to use the multi grid algorithm to improve convergence This is specified on the F 68 and K 5 data sets Chapter 5 11 gives more details about lateral grid movements 3 Post processing The most convenient way to see the results is in the SSIIM graphics SSIIM will write a file called result which can be read back to the program If using SSIIM without a user interface this file can be moved to a Windows computer and read by SSIIM For sediment computa tions SSIIM can produce a file called bedres which contains the bed levels This file can be read back by the program in a similar way as the result file For time dependent computations a series of result and or bedres files can be written The increment for when these times should be written is given on the P 10 data set More advanced post processing packages are also supported Tecplot and Paraview Input files for thes
56. the results of the model There are some graphics to do this in the SSIIM models But it is also possible to use other post process ing packages as Tecplot or ParaView An introduction to the pre and post processing in SSUM is given by the tutorials in Chapter 5 3 to 5 7 The computations itself can be calculations of water velocity calculations sediment flow bed level changes water level changes and or water quality Each calculation is done by a sub module of SSIIM Some of the sub modules can be started from the program menu The dif ferent the calculations can be combined for example the water flow sediment flow and bed changes computations This is further described in Chapter 5 2 An advice for the first time user is to run the tutorials described later in Chapter 5 and one of the example cases Try to modify some of the parameters and run it again Often the user wants to simulate a particular case It is then advisable to try to find a similar example case and modify this step by step The next problem is then often regarding computational speed and convergence The user is recommended to read Chapter 5 12 for advice on these issues Some words about crashing the program and input control There are various controls for input and checking of intermediate results If any of these controls finds something wrong an error message is written to the boogie file and the program terminates Therefore if the pro gram suddenly stops and t
57. the water flow calculations by choosing the Waterflow 3D option in the Calculate menu View the residuals by choosing Text from the View option in the menu Push F 0 to see the residuals while the program is calculating the flow field It will take about 100 iterations to converge Look at the resulting velocity field by the vector map or the longitudinal profile Map or Profile in the View menu Observe that the velocity vector 142 field is non symmetric at the bed Third stage calculation of sediment flow We need to give input data for the sediments In the Windows version this must be done by giving the data in the control file The file is edited using an editor for example Notepad Start Notepad and read the control file from the directory you are working in The control file con tains several data sets identified with the first letter and number on each line The G data set is already present in the file It contains four integers where the three first is the grid size The fourth is the number of sediment sizes The default is one Change this to 2 Then the sediment characteristics should be given on the S data sets These are not present initially so you need to add these Add the following lines S 1 0 0004 0 05 S 2 0 0001 0 007 The first index on the S data set is the number of the sediment fraction The second is the diameter in meters and the third is the fall velocity in m s We use 0 4 mm for size 1 and 0 1 mm for size
58. then multiple cells in the vertical direction is allowed also on side walls If the integer is 3 then the depth is increased so that the bed slope is not above 20 degrees If the integer is 5 then neighbours are disconnected if the area between them is smaller than a small number Default F 15910010 SSIIM 2 only Flag to decide which algorithm is used to compute the available sedi ment at the bed when deciding the limits of sediment concentration An integer is read If it is O the available sediments will be equal to the bed cell area times the depth of the sediments If the integer is 1 then also neighbour cells will be included 13 F 162 F 163 F 164 F 165 F 166 Default F 160 0 SSIIM 2 only Value to determine whether a cell is generated or not in regions where the bed was dry in the previous time step Default 0 0 meters The parameter only works in connection with the F 64 13 option SSIIM 2 only Flag to decide which algorithms are to be used to limit the movement of the bed An integer is read Three options are possible 0 The bed level will not be allowed to move below the movable bed but it will be allowed to move above the water surface 1 The bed level will not be allowed to move above the water surface or below the limit of the movable bed 2 The bed level may move above the water level or below the limit of the movable bed SSIIM 2 only Different versions of OpenMP multi core solvers An inte
59. to be modelled as in stratified flow the temperature has to be variable no 0 Then also the data sets F 40 F 62 and F 67 may have to be used This is only implemented for SSIM 2 Each term in each equation have its own Q data set For example if temperature oxygen and nitrogen is simulated this gives three variables The following Q 0 data sets can then be used Q 0 0 temperature Q 0 1 oxygen Q 02 nitrogen The source terms then have to be specified For simplicity let us say that the temperature source is 0 1 times the oxygen concentration and the oxygen source is 0 3 times the tempera ture The nitrogen source is 2 1 times the oxygen concentration multiplied with the tempera ture minus 0 4 times the nitrogen concentration This is then given as Q 1002 0 1 0 18 0 012103 17 0231221 Q132 04 Consult Chapter 4 3 13 for more details on the Q data sets Also one of the examples in Chap ter 5 4 describes a water quality calculation No more than 40 variables can be simulated and it is not allowed to have more than 200 Q data sets in the control file The above example shows the flexibility of the program to incorporate new models for the various reactions It also shows that the user is able to make models that make little sense from a biological chemical point of view and the program will allow this calculation to be carried out The user must therefore have a good knowledge of water quality processes to give reason able i
60. to be shown at all times Trap efficiency of a laboratory sand trap SSIIM 1 only This case is one of the first test cases for SSIIM where the results were compared with meas urements from a physical model study Both water velocities and sediment concentrations were measured and compared with the findings of the numerical model Detailed documenta tion of the case is given by Olsen and Skoglund 1994 The input files can be downloaded from the web http www ntnu no nilsol cases doris The web page also has a discussion of the details of the files and the results 5 10 The grid Making the grid is often the most time consuming process in the preparation of input data for SSIIM The general idea is to divide the water body into cells The size and alignment of the cells will strongly influence the accuracy of the calculation the convergence and the computa tional time The grid used in SSIM 2 is unstructured This makes it easier to adapt the grid to complex geometries without loss of accuracy or slow convergence In the following there are given some guidelines of how to make a good grid Also it is recommended to read Chapter 4 4 first Here is some advice on how to shape the cells 1 Make the grid line intersections as perpendicular as possible It is not advisable to have 157 intersections with an angle of less than 45 degrees Non orthogonality in the grid will make the convergence slower It is recommended to use the
61. two for sediment concentrations The integers indicate which cell the variable is located in If sediment concentration is read c the last integer tells which fraction is written O indicates the sum of the fractions If water quality is read q another integer is also read corresponding to which constituent is written The characters corresponding to different varia bles are listed below character variable u velocity in x direction v velocity in y direction w vertical velocity p pressure k turb kin energy e epsilon d turb diffusion Z vertical grid elevation c sediment concentration q water quality component These variables requires an extra integer read after the index es for the cell s The second type of data set is input data The line starts with a capital Z and then five floats are read The first float indicates the time for when the following variables are used The second 121 float is the upstream water discharge The third float is the downstream water discharge The fourth float is the upstream water level and the fifth float is the downstream water level Sometimes one of the last variables are unknown and then a negative value can be inserted and the program will try to calculate the value If the TFS method F 37 is used in SSIIM 1 number floats are read additionally indicating the upstream inflowing sediment con
62. up after the first few iterations it is possible to set the relaxation coeffi cients very low and then increase the coefficients for the following iterations For a few cases where the equation for k is slowest in convergence a more rapid convergence has been achieved when changing the relaxation coefficient for k from 0 5 to 1 0 after several iterations For some cases there have been problems getting the solution to converge if there are parts of the geometry that has relatively low total velocity Experience has shown that the initial condi tions then may be important If such a situation is present it is important to start the iterations with very low initial velocities This is done with the G amp data sets Transient calculations If during steady calculations there are oscillations in the velocities this may be a sign that the flow field has a transient character One may then invoke the transient calculation and a peri odical transient solution may be observed However another possibility is that the oscillations disappear after adding transient terms The transient terms can have a stabilizing effect on the solution for some cases 161 Note that a steady state solution may very well emerge even though the corresponding proto type flow field has transient oscillations Olsen and Melaaen 1996 The reason for this is usually that the turbulence model overpredicts the eddy viscosity or the grid is so coarse that false diffusi
63. user chooses the corners of the nested grid inside the already generated coarse grid But instead of choosing Block size the option Nested block should be chosen Then a dialog box is given where the user choose parameters for the nested block The nested block is automati cally connected to the rest of the grid in the three dimensional generation of the grid Important notes 1 After having edited the grid it is advisable to write the content to the unstruc file This is done in the File option of the main menu Also note that the 3D grid first have to be made using Generate of the Three dimensional grid option in the menu 2 Using unfavourable attraction coefficients can cause the elliptic generator to crash which means that SSIIM also crashes and the grid data are lost It is therefore advisa ble to write the grid to files before starting the elliptic generation with attraction coeffi cients If the program crashes the files can be read and other attraction coefficients can be tried Using the latest wetting drying algorithms of SSIIM 2 it is often best to use only one block Then the water level is chosen so high that it is above the bed at all places Additional geodata points may be generated in areas where there are too few points An unstruc file is generated for the block where no drying has taken place This unstruc file is then used in all following computations Inflow outflow is specified in this file Often the water leve
64. value of the fourth integer will not affect the computations Default K6 000000 Solver Usually a TDMA solver is used However if the K 0 Y is given in the control file a Gauss Seidel solver is used instead 4 3 5 The L data set L Specification of isoline values for ContourMap plot First an integer is read which gives the number of isolines Then this number of floats are read The floats specify the isolines Example L6 55 0 56 0 57 0 58 0 59 0 60 0 If the geometry has bed levels between 55 and 60 meters and the user chooses bed lev els from the graphics options a contour map of the bed levels will be displayed There will be contour lines for each meter from 55 to 60 meters Default The program finds the maximum and minimum value of the variable in the field and uses 7 lines located between the values If more than 7 lines are displayed all lines will be black Otherwise each line will have different colour Note that sometimes there may be errors in the contouring if the contour line and the value are identical This can often be the case for plotting bed levels To avoid this problem add a very small value to the values on the L data set For example if the 94 above data set is used and there is a problem for the 57 0 contour line because the bed level at one of the grid intersections are 57 0 change the data set to L 6 55 0 56 0 57 0001 58 0 59 9 60 0 Note that the values can be changed by the user
65. var iable Q 2003 The second number is an integer This is an index for the first variable in the source term The third number is an integer giving the second variable in the source term The 104 fourth number is a float which is multiplied with both variables Q 2030 Special data set to calculate resuspension where three floats are read The first float is the critical shear stress for initiation of resuspension The second integer is the coefficient a in the resuspension equation being proportional to the shear stress sur plus raised to the third coefficient The critical shear stress is given in Pascal Example Q 2030 3 0 3 0 1 1 5 The resuspension is calculated for variable no 3 and the critical shear stress is 0 3 Pa Q 6100 SSIIM 2 only Special data set for calculating irradiance when there are more than one algae species or sediment concentration The data set reads six integers and ten floats The first integer is the number of algae species The following integers are indexes for the variable numbers of the algae Then ten floats are read which are pairs of coefficients for the light attenuation curve Example Q 6100 9 2 56000 0 07 0 2 0 06 0 23 0 0 0 0 0 0 0 0 0 0 0 0 Here variable no 9 is the light irradiance Two species of algae is used variable no 5 and no 6 The light transmissivity coefficients are 0 07 and 0 2 for the first algae spe cies and 0 06 and 0 23 for the second algae species Note that the co
66. whole grid 2 Average value of water quality constituent 1 in the surface cells 4 Total number of grid cells surfaces and points Default P O no extra print out P14 A float is read which gives a time interval for when a graphic file is automatically saved in the profile and contour plot The graphic window have to be open and the timer has to be running This only works for time dependent calculations The time interval is given in seconds 4 3 10 The Q data sets There are two types of Q data sets One is the Q 0 data set which gives the name of the variable The other type specifies the variables and constants in the source terms in the convection diffusion equations Q0 An integer is first read corresponding to the equation number Then a text string of up to 15 character is given The text is the name of the variable in the equation Q 1 All other Q data sets have the following in common The first integer specifies which source term is used If the integer is below 1000 or above 3000 the source term is applied for all the cells If the integer is above 1000 but below 2000 the source term is only applied to the cells closest to the water surface These terms can typically be used for specification of fluxes across the water surface If the integer is above 2000 but under 3000 the source term only applies to the cells closest to the bed The second integer after the Q is an index equal to the number of the equation the
67. 2 4 Remove SSIM 2 specific data sets from the control file The default algorithm in SSIIM 1 defines one side to be inflow and the other outflow To make the SSIIM 2 grid compatible with this definition the GridEditor in SSIIM 2 has the menu option View gt SSIIM 1 inflow outflow This shows with a text what is inflow and outflow The 188 grid can be rotated with the menu option Blocks gt Rotate to get the inflow and outflow at the correct side 189 Appendix II Flowcharts Flow chart SSIIM Grid editor Graphics Discharge editor i f Startup 1 Read control and koordina 2 F 2 choices 3 Menu choices F2S F2Q F2S F374 F2W F 33 gt 0 Water quality Steady Transient Water flow Temperature sediment Sediment computation transport Computation WaterSolve SSIIM 1 only TSC ase F50 gt 0 The flow chart shows the main modules of the program At startup the control and koordina files are read Then the choices described on the F 2 data set are activated This can be one of the four main modules water quality steady sediment transport transient sediment transport or water flow computations After the F 2 activated routines are finished the user can activate the modules from the menu The user can activate the graphics grid editor and discharge edi tor while the other modules are running On the following page a flowchart of the t
68. 5 F 198 F 200 F 201 F 202 F 206 F 207 number of cells in the coarse grid Default 1 0 SSIIM 1 only Empirical parameter in a formula for adding turbulent eddy viscosity in areas of vegetation Default value 0 0 no additional turbulence Values may be in the order of 0 067 0 11 SSIIM 1 only Roughness on side walls Two floats are read The first float is the roughness on the side wall where j 2 The second float is the roughness on the other side wall Sand slide dll An integer is read If it is above zero the algorithms in the slide dll dll or slide2dll dil files are used The two files are made for SSIJM I and SSIIM 2 respec tively Residual norms for k and epsilon An integer and two floats are read The first float is the residual norm for k and the second is the residual norm for epsilon The values are used instead of the average inflow values if the integer is above zero SSIIM 2 only Parameters for the vegdata file Three integers are read The first is the number of variables in the vegdata file The second is the number of vertical eleva tions The third is the number of time steps in the file This data set has to be present in the control file if values for multiple times are to be used in the vegdata file Default F 201 1 4 1 SSIIM 2 only Logarithmic inflow velocity profile An integer and a float are read If the integer is above zero then the inflow sections with have a logarithmic profile i
69. 6 Three dimensional k epsilon numerical modeling of overbank flow in a mobile bed meandering channel with floodplains of different depth roughness and planform Journal of Hydraulic Research vol 44 Issue 1 pp 18 32 Wu J 1969 Wind Shear Stress and Surface Roughness at Air Sea Interface Journal of Geophysical Research No 74 pp 444 455 Yang T C 1973 Incipient Motion and Sediment Transport ASCE Journal of Hydraulic Engineering Vol 99 No HY10 Zinke P and Olsen N R B 2007 Modeling of sediment deposition in a partly vegetated open channel 32nd IAHR Congress Venice Italy 184 Zinke P Olsen N R B and Sukhodolova T 2008 Modeling of hydraulics and mor phodynamics in a vegetated river reach RiverFlow 2008 International Conference on Flu vial Hydraulics Cesme Izmir Turkey Vol 1 pp 367 376 Zinke P Olsen N R B and Ruether N 2008 3D Modelling of the flow distribution in the delta of Lake yern Norway International Conference on Hydroscience and Engineering Nagoya Japan pp 270 280 Zinke P Ruether N Olsen N R B Eilertsen R S 2009 3D Modelling of morphodynam ics in deltas due to Hydropower regulation Proc of the Annual Conference on Hydraulic Engineering Water power and climate change Dresdner Wasserbauliche Mitteilung Tech nical University Dresden Germany Zinke P and Olsen N R B 2009 Numerical modeling of water and sediment flow in a
70. 8 Quantification of impacts of river regulations on fish An energetic modelling approach HY DROINFORMACTICS 98 Copenhagen Denmark Ackers P and White R W 1973 Sediment Transport New Approach and Analysis ASCE Journal of Hydraulic Engineering Vol 99 No HY11 Baranya S and Jozsa J 2007 Numerical and laboratory investigation of the hydrodynamic complexity of a river confluence Periodica Polytechnica Civil Engineering Vol 51 No 1 pp 3 8 Baranya S and Jozsa J 2007 Comparative CFD and scale model analysis of the flow com plexity at a river confluence 32nd Congress of IAHR July 1 6 2007 Venice Italy Baranya S and Jozsa J 2009 Morphological modeling of a sand bed reach in the Hungar ian Danube Proceedings of the 33rd Congress of the International Association of Hydraulic Engineering and Research Vancouver Canada Bengtsson L 1973 Wind Stress on Small Lakes Tekniska Hggskolan Lund Sweden Bihs H and Olsen N R B 2007 Three Dimensional Numerical Modeling of Contraction Scour 32nd IAHR Congress Venice Italy Bihs H and Olsen N R B 2008 Three dimensional numerical modeling of secondary flows in channels with longitudinal bedforms RiverFlow 2008 International Conference on Fluvial Hydraulics Cesme Izmir Turkey Vol 1 pp 179 183 Bihs H and Olsen N R B 2008 Three dimensional numerical modeling of pier scour Fourth International Conferece o
71. 8e 03 5 28978103e 02 7 51732364e 02 1 91343817e 02 The first lines give the residuals the roughness and the grid size Then each line gives the nine values for one cell The letter D starts the line then the three indexes for the cell Then the three velocities the k and e values Then the fluxes in the three directions and finally the pres sure All the parameters are placed on one line in the file although this is not shown above because the line was too long A commonly asked question is the meaning of the values in the cells with index 1 The first cell has index 2 The answer is that these indexes denote the values at the boundary Or in a cell at the wall with zero thickness The velocity in these cells will usually be zero unless there is water inflow or outflow there An example of a result file for SSIIM 2 Results iter 3601 Residuals 0 054663 0 079991 0 018223 0 029072 5 240989 218 573547 Roughness 0 005000 U 16316 11940 39679 100 i u vw kep C 1 5 20752712e 002 3 87287893e 002 2 91152289e 002 1 83900666e 004 2 20008542e 004 6 98685775e 001 C 2 2 97928650e 003 1 18274871e 002 2 83168656e 002 4 95138596e 005 1 79039199e 005 6 98566087e 001 C 3 2 34130748e 003 1 18835706e 002 2 32318333e 002 2 81046242e 005 1 03435021e 005 7 16544156e 001 C 4 4 91827925e 003 3 44957829e 002 1 59890336e 002 5 50987357e 005 3 38688381e 005 7 04038680e 001 C 5 9 62809076e 003 5 08444254e 002 1 13473535e 002 7 34700051e 005 1 0866005
72. 9e 004 6 95710922e 001 C 6 4 36046706e 003 4 54215010e 002 2 87338762e 004 1 13683579e 004 4 87075237e 004 6 32869612e 001 C 7 4 54495962e 003 4 54039464e 002 2 24038016e 004 2 32742813e 004 2 86840184e 004 6 32996242e 001 F 25735 4 35128401e 002 F 25736 4 35876127e 002 F 25737 0 00000000e 000 F 25738 0 00000000e 000 F 25739 0 00000000e 000 F 25740 1 61427895e 001 F 25741 9 94855359e 002 F 25742 0 00000000e 000 117 F 25743 0 00000000e 000 F 25744 1 27727494e 001 F 25745 1 46505934e 001 F 25746 0 00000000e 000 Similar to the file for SSIIM 1 the first lines give the residuals the roughness and the grid size The U data set gives the number of points number of cells and number of surfaces in the grid Then the number of blocks connections and connection surfaces are given After the U data set the water velocity parameters are given for each cell Each line gives the values in one cell The line starts with the letter C starts the line then the number of the cell is given in the unstructured grid Then the three velocities the k and values and the pressure for this cell is given After all the data for the cells the fluxes on all the surfaces are given Each line gives a flux for one surface The line starts with the letter F Then the number of the surfaces is given And then the flux is given in kg s of water All the results are given in SI units so that for example the velocities are in meters second turbul
73. D depth averaged The blocks are glued together to form an unstructured grid covering the whole water body The blocks can have different number of cells both related to other blocks and the two horizontal directions With the most recent wetting drying algorithm it may be most convenient to make a single 2D block of the geometry The wetting drying algorithm can then be used to make the complex boundary When the plan view of the grid looks ok the 3D grid can be generated This grid is based on the 3D grid but has a varying number of grid cells in the vertical direction The 3D grid is generated in the Grid Editor from the menu options Generate gt 3D grid Afterwards it is advisable to save the grid from the main SSIIM menu by writing to the unstruc file Note that the unstruc file will not contain the 2D grid only the 3D grid and a connection between the 2D grid and the 3D grid The unstruc file should therefore only be written when all the 3D cells are fully wetted and no section of the 2D grid is dry It is also recommended to read Chapter 5 11 to get more information about this topic Details of grid generation For real world cases it is important to make a hand drawn sketch of the geometry and the grid blocks before making the grid on the PC to determine the approximate size and number of blocks Note the limit of number of blocks is currently 9 It is possible to add blocks to an already existing grid so usually it is advi
74. DEPARTMENT OF HYDRAULIC AND ENVIRONMENTAL ENGINEERING THE NORWEGIAN UNIVERSITY OF SCIENCE AND TECHNOLOGY A THREE DIMENSIONAL NUMERICAL MODEL FOR SIMULATION OF SEDIMENT MOVEMENTS IN WATER INTAKES WITH MULTIBLOCK OPTION Version 1 and 2 User s Manual BY NILS REIDAR B OLSEN 5 NOVEMBER 2011 Foreword and history This manual is fairly large and it will take a long time to read it For new users I strongly rec ommend to read at least Chapter 5 1 Advice for new users The SSII program was developed in 1990 91 during the work with my dr ing degree at the Division of Hydraulic Engineering at the Norwegian Institute of Technology SSII is an abbre viation for Sediment Simulation In Intakes The program was originally built around the CFD program SPIDER made by Prof M Melaaen during the work on his dr ing degree in 1989 90 SPIDER solves a flow problem for a general three dimensional geometry SSI was made up of sediment calculation routines for 3D solution of the convection diffusion equation for the sediments communications with SPIDER and a graphical user interface made in OS 2 The main motivation for making SSII was the difficulty to simulate fine sediments in physical models The fine sediments often under 0 2 mm are important for wear on turbines It was also an advantage to be able to simulate other problems as for example sediment filling of res ervoirs and channels At the time SSII was made I had limited funding for c
75. International Sym posium on Ecohydraulics Madrid Spain Olsen N R B 2004 Closure to Three dimensional CFD modeling of self forming mean dering channel ASCE Journal of Hydraulic Engineering Vol 130 No 8 pp 838 839 Olsen N R B Pegg I Molliex J Berger H and Fjeldstad H P 2005 3D CFD mdelling of erosion in habitat improvement gravel 31st IAHR Congress Seoul Korea Olsen N R B Aberle J and Koll K 2010 Resolving large bed roughness elements with an unstructured hexahedral grid RiverFlow 2010 Braunschweig Germany Olsen N R B and Haun S 2010 Free surface algorithms for 3D numerical modelling of reservoir flushing RiverFlow 2010 Braunschweig Germany Olsen N R B 2010 Result assessment methods for 3D CFD models in sediment transport computations 1st Conference of the European section of the IAHR Edinburgh Scotland Patankar S V 1980 Numerical Heat Transfer and Fluid Flow McGraw Hill Book Com pany New York Perez S and Caliendo W 2008 Calculating marine propeller scour using SSIIM CFD soft ware Journal of Marine Environmental Engineering Reynolds C S 1984 The ecology of freshwater phytoplankton Cambridge University Press Cambridge UK Rhie C M and Chow W L 1983 Numerical study of the turbulent flow past an airfoil with trailing edge separation AIAA Journal Vol 21 No 11 van Rin L C 1982 Equivalent Roughness of A
76. Q 122 Q 123 Q 131 Q 132 both the phytoplankton and the zooplankton If phytoplankton is calculated the grazing rate is negative If zooplankton is calculated the grazing rate is positive Note that if zooplankton is calculated the coefficient also includes the grazing efficiency and pos sible conversion between phytoplankton and zooplankton units Example Q 121 2 4 0 01 1 067 Algae is calculated as variable no 2 zooplankton as variable no 4 The grazing rate is 0 01 and the temperature coefficient is 1 067 SSIIM 2 only Special data set for reduction of patogens from light One integer and two floats are read The second integer is a pointer to the irradiance variable The first float is the proportionality constant for decrease of patogens The second float is a tem perature constant Example Q 122 1 3 0 001 1 067 Pathogens are calculated as variable no and irradiance as variable no 3 The propor tionality constant is 0 001 and the temperature coefficient is 1 067 SSIIM 2 only Special data set for sorption containing one integer and two floats The integer is an index to the sediment variable The first float is the absorption coefficient The second float is the fall velocity of the sediment Example Q 123 2 4 0 1 0 005 Variable no 2 is adsorped to variable no 4 with the adsorption coefficient 0 1 The fall velocity of variable 4 is 5 mm second SSIIM 2 only Special data set for calculation of algae
77. SIM with 46 measured values It can conveniently be used in publications and other documentation of CFD studies The measured values are given in the verify file Almost all measured values can be shown velocities turbulent kinetic energy turbulent diffusion pressure sediment concentration or a water quality constituent There are two types of verification plots Velocity vectors seen from above One or more vertical profiles Velocity vectors The velocity vector verify graphics is invoked in the Map graphics of the Windows versions A separate window is used in the OS 2 version For the velocity vector verify graphics only the first pair of values in each measurement point of the verify file will be used These will be displayed together with the ordinary velocity vec tors Care must be taken when deciding about the vertical elevation of the measuring points compared with the elevation of the grid cells The vertical distances should correspond If not it may be possible to change the vertical distribution of the cells on the G 3 data set Also the user must choose this level when viewing the graphics It is advisable to use a separate verify file for each vertical level of velocity measurements Verify profiles The verify profile show the water body from the side cross section where a number of points in the vertical have been measured at one or more locations The profile verification shows the measurements with crosses
78. The distance between the points on the digitizing table is measured using a ruler This is called D The inverse of the scale of the map is multiplied with D in meters to obtain the number S For example D is 37 cm and the scale is 1 3000 then S is 1110 meters In the working directory an initial geodata file have to be made initially using an editor The file should have three lines S 0 0 0 0 1110 0 1110 0 E 0 0 0 0 0 0 Z000 The two last floating point numbers on the first line is S Replace 1110 0 with the computed S value Then tape the map to the digitizing table and start SSZIM Choose the GridEditor choose View geodata points and Define gt Add geodata points Give the level of a contour line in the dialog box and click on the line on the map on the digitizing table with the tablet mouse Chose Define gt Add geodata points again when a new contour line is digitized Do not digitize more than 500 points at a time then SSIIM will crash Before 500 is reached the geodata file should be saved and SSIIM ended Then start it up again read the geodata file and add new 499 points This can be repeated as many times as necessary Note the map have to stay at the same place on the digitizing table If it is removed the coor dinate system will move and the digitizing procedure have to be repeated After the digitizing is done the first line with the S is removed from the geodata file and the scaling moving of the graphics will wo
79. The next term is the convec tive term The first term on the right hand side is the pressure term The second term on the right side of the equation is the Reynolds stress term To evaluate this term a turbulence model is required The equations are discretized with a control volume approach An implicit solver is used also for the multi block option The SIMPLE method is the default method used for pressure cor rection The SIMPLEC method is invoked by the K 9 data set in the control file The power law scheme or the second order upwind scheme is used in the discretization of the convective terms This is determined by the values on the 6 data set in the control file The numerical methods are further described by Patankar 1980 Melaaen 1992 and Olsen 1991 The Power law scheme will reduce the diffusive flux as a function of the Pechlet number This reduction is not used in the Second order upwind scheme It is also not used in the horizontal directions in SSIIM 2 only in the vertical direction In SSIIM 1 the reduction is done in all directions The default algorithm in SSIIM neglects the transient term To include this in the calculations the F 33 data set in the control file is used The time step and number of inner iterations are given on this data set For transient calculations it is possible to give the water levels and dis charges as input time series The timei file is then used For further description of this file see Ch
80. WaterSolve SSIIM 1 Initiation metric BedMake startup waterflow for Iter start_iter ter lt iterGlobalMax K1 Iter Iter shown on user interface write to timeo file for Innerlter 1 Innerlter lt TransInnerlter F33 Innerlter check if grid has changed metric BedMake startup waterflow gamma generates app coefficients K 6 SOU F 118 coeffeDLL for Vel 1 3 loop for velocities in 3 directions 2 a number of source terms for the velocities StressOrt WallLaws pressure_source time steps wind forces density currents Coriolis porosity vegetation F 115 extra_sourceDLL K5 BlockCorrection WaterGaussSeidel WaterTDMA solver compute pressure compute turbulence k epsilon generates app coefficients K 6 SOU F 118 coeffeDLL source terms include vegetation F 115 extra_sourceDLL compute temperature compute max residual Max and print to boogie file if in last iter of inner loop if Max gt 10 program crashed if Max lt 0 001 and TimeStep F 33 lt 10 program converged if Iter dividable with K 1 2n integer and Max lt 0 01 G 6 and F 36 is 0 and 1st integer K 2 is 1 a surface if TimeStep F 33 lt 108 and Max lt 10 F 54 jump out of loop if F 36 is 1 surface_tfs if F 36 gt
81. a Meander ing Channel RiverFlow 2008 International Conference on Fluvial Hydraulics Cesme Izmir Turkey Vol 1 pp 793 799 Stoesser T Ruether N and Olsen N R B 2009 Calculation of Primary and Secondary Flow and Boundary Shear Stresses in a Meandering Channel Advances in Water Resources doi 10 1016 j advwatres 2009 11 001 Streeter H W and Phelps E B 1925 A study of the pollution and natural purification of the Ohio River US Public Health Service Washington DC Bulletin 146 Tritthart M and Gutknecht D 2007 3 D computation of flood processes in sharp river bends Proceedings of the Institution of Civil Engineers Water Management Vol 160 Issue 4 pp 233 247 Vanoni V et al 1975 Sedimentation Engineering ASCE Manuals and reports on engi neering practice No54 Viscardi J M Pujol A Weitbrecht V Jirka G H and Olsen N R B 2006 Numerical Simulations on the Paran de las Palmas River Third International Conference on Fluvial Hydraulics River Flow 2006 Lisbon Portugal 183 Wilcox D C 2000 Turbulence modelling for CFD DCW industries ISBN 0 963605 1 5 1 Wildhagen J Ruether N Olsen N R B and Guymer I 2005 Three dimensional model ling of sediment transport in a sharply curved menadering channel 31st IAHR Congress Seoul Korea Wilson C A M E Olsen N R B Boxall J B and Guymer I 2003 Three dimensional numerica
82. a set in the file but do not use capital let ters The first thing to change is the vertical grid resolution Initially there are only 3 cells in the vertical direction We increase this to 10 This is done by changing the G 3 data set to G 3 0 0 10 20 30 40 50 60 70 80 90 100 And changing the third integer in the G data set from 4 to 11 We give in an F 4 data set with the parameters F 4 0 8 20 0 00001 The second number in the data set the integer is the number of inner iterations in the sedi ment computation The default is 500 which is too high when we only want to use one sedi ment size The F data sets are inserted between the T data set and the G data set in the file We want to do a time dependent computation and thus need to add a time step This is done by inserting an F 33 data set F 33 1 0 20 The time step is 1 0 seconds with 20 inner iterations for each time step To specify that we want to do a time dependent sediment computation we insert F 37 in the file To increase the convergence speed of the water flow computation we use block correction algorithms Insert the K 5 J J 1 1 J data set close to the end of the control file To start up the sediment computation right after we start the program we insert F218 run choice into the file The F 2 data set reads 10 characters The letters ZS tells the program to initiate the sediment computation and start the sediment calculation Then eight more
83. a t which is written automatically when the initial unstruc file is written from SSIIM 2 The koordina t file has the correct values for x y and the bed levels However the water level is the same as in the unstruc file The koordina t file can be imported into a spread sheet and the values for the water level can be changed to the desired initial values Then it can be written to the working directory and named koordina without an extension Note that the F 1 2 1 option in the control file only works with the original wnstruc file and the modified koordina file If later during the computation a new unstruc file is writ ten from the menu then this will not be compatible with the modified koordina file Writ ing a new unstruc file during the computation will overwrite the original unstruc file In other words keep a safe copy of the original unstruc file and the modified koordina file To reduce this common mistake the wnstruc file will get an extension dry if it is written when some part of the geometry has dried up Also it will not be allowed to enter the Grid Editor or the Discharge Editor when the F 112 1 option is in the control file The lateral movement of the grid is due to fluctuations in the bed and water levels This means that one or both the F 36 and F 37 data sets have to be used in the control file Also the timei file has to be used where time variations in water level water discharge and sediment inflow can be given 159
84. ae density The fifth float is the half saturation irradiance for maximum rate of density increase This is also used in the density formula Note that the convection diffusion equation is not solved for the algae density but from a user point of view this variable is similar to other variables Example Q 161 1 2 0 67 0 087 2 0 3 0 4 0 5 0 Algal density is in variable no 1 and algae concentration is in variable no 2 The coefficients in the equation for light transmissivity are 0 67 and 0 087 and the coeffi 100 Q 221 Q 252 Q 261 cients in the density equations are cl 2 0 c2 3 0 c3 4 0 The half saturation irra diance coefficient is 5 0 Note that these numbers are arbitrarily chosen and may be unphysical Also note that if a Q 6 data set is present in the control file and the timei file is read for time dependent calculations an extra float is read as the last number of each line The float is the irradiance SSIIM 2 only This a special data set that calculates the fall velocity of algae in a lake The second and third number are integers The second number points to the variable number of the algae density The third integer points to the variable number of the tem perature Then two floats follow The first float is the algae diameter in metres The second float is a form resistance coefficient usually around 1 0 Example Q 221210 0 00001 1 0 The algae concentration is variable no 2 the algae densi
85. al Q data sets The table below summarizes special Q data sets including their creation date Q 1102 oxygen reaeration 18 7 98 Q 1060 surface temperature flux 17 7 98 Q 2030 resuspensjon 17 7 98 Q 2149 SOD 30 7 98 Q 11 general fall velocity Q 42 algae growth Leven diatoms 3 4 98 Q 113 time history of irradiance 20 7 98 Q 120 WQRRS data set algae Q 121 predatation 17 7 98 Q 122 Pathogen light 20 7 98 Q 123 sorption fall velocity 17 7 98 Q 131 algae fall velocity 20 6 98 const temperature Q 132 light history set 8 7 98 Q 133 light history passive scalar 10 7 98 Q 151 specific algae density SCUM one light att coeff Q 152 algae growth Leven diatoms 3 2 98 Q 161 specific algae density SCUM two param light att 30 6 98 Q 162 algae growth Leven diatoms 3 2 98 Q 221 algae fall velocity SCUM 30 6 98 variable temperature Q 230 WORRS data set algae Q 252 algae growth 20 7 98 multiple algae one nutrient Q 261 nutrient depletion 20 7 98 Q 272 diatom growth 26 2 98 diatoms silica Q 281 algae growth cyanobacteria 25 6 98 21 Q 282 specific algae density SCUM 8 7 98 light history Q 291 nutrient depletion 25 6 98 one algae two nutrients Q 361 algae growth cyanobacteria 16 7 98 multiple algae two nutrients Q 371 nutrient depletion 16 7 98 multiple algae two nutrients Q 6100 light irradiance 17 7 98 multiple algae 2 3 Sediment flow calculation
86. all velocity in meters second A positive number denotes a rise velocity while a negative number denotes a fall velocity in downwards direction Example Q 11 2 0 0001 Variable no 2 has a fall velocity of 0 1 mm second SSIIM 2 only Special data set to calculate algae growth where there is only one spe cies of algae and this is only growth limited by light Four floats are read The first two floats are constants in the regression formula for the vertical attenuation coeffi cient as a function of the algae concentration The last two floats are the coefficients c0 and c1 in the formula for algae growth SSIIM 2 only Special data set for fall velocity for dinoflagellates as a function of irra diance Five floats are read after the control integer The two first are coefficients in the formula for the light attenuation coefficients The third is the optimum irradiance The fourth is the maximum fall rise velocity in m s The fifth is the difference between optimum and actual irradiance when the fall rise velocity is maximum Example Q 51 1 0 45 4 8 100 0 0 01 100 0 The algae concentration is in variable number 1 SSIIM 2 only Special data set to calculate light history if more than one algae species or sediment variable contribute to the light shading integer 1 pointer to irradiance variable float 1 averaging time period in seconds SSIIM 2 only Special data set to calculate predatation This data set must be used for 98
87. alue a number of different algorithms can be chosen One of the most successful algorithms is 10 giving extra relaxation in the triangular cells The relaxation factors can be modified on the F 244 data set 79 F 237 F 238 F 239 F 242 F 243 F 244 F 246 Default F 235 0 not used SSIIM 2 only The data set can be used to change the water discharges instead of mod ifying the values in the unstruc file An integer and a floating point number is read The integer is an index for the discharge group The floating point is the discharge Multiple F 237 data sets can be used for multiple discharge groups SSIIM 2 only Parameters in the nested grid algorithms An integer and a float is read If the integer is 1 the top of the nested grid will get the value of the float If the integer is 2 the bottom of the nested grid will get the value of the float Only implemented for F 64 8 11 and 13 Default F 238 0 0 0 SSIIM 2 only Two integers are read giving the maximum number of iterations in the algorithm for the free surface The first integer is used for the F 36 7 8 9 and 10 options The second integer is used for the F 36 4 option Default F 239 50 350 Number of maximum loops in bed change algorithm to distribute bed changes to cor ners Default F 242 1000 SSIIM 1 F 242 100 SSIIM 2 SSIIM 1 only Integer to invoke the bgraddll dll function It is used to compute the concentration in a bed cell as a functi
88. apra 1997 1 Natural decay constant with time 2 Settling via adsorption Q 121 3 Decrease due to irradiance Q 122 and Q 6100 4 Resuspension Q 2030 The brackets indicate the data set used to specify the parameters This approach may also be used to model toxics as long as it is only necessary to model the processes above This process is only implemented in SSIIM 2 and it is not tested Gas reaeration at the water surface The gas reaeration can be calculated using Fick s law at the water surface Chapra 1997 IV Cai Co AH Reaeration 2 2 2 The constant c is the saturation concentration at the water surface film which is assumed to be a function of the partial gas pressure For oxygen at 20 degrees this is 8 66 x 10 3 mg m3 The effective diffusion is a factor r multiplied with the turbulent eddy viscosity The source can be given on the Q 1102 data set This process is only implemented in SSIIM 2 and it is not tested Inflow of water quality constituents for SSIIM 2 To have an inflow of nutrients of algae the following is done In the discharge editor a water discharge is given in different groups Up to nine groups can be used The water discharge and the group index is stored in the unstruc file The inflow concentration of nutrients is coded in the control file on the M data set The data set takes two integers and one float The first integer is the same integer used to index the water disc
89. apter 4 14 The gravity term is not included in the standard algorithms It is only invoked in some of the free surface calculations for modelling spillways and flood waves with steep fronts The F 36 data set is used to include the gravity term The wind shear stress t on the lake surface is calculated as a function of the measured wind speed Uj9 using the following formula 12 2 T C10PairU 2 1 2 The Boussinesq approximation The eddy viscosity concept is introduced with the Boussinesq approximation to model the Reynolds stress term OU U u v Z kay 2 1 3 a 3 The first term on the right side of the equation forms the diffusive term in the Navier Stokes equation The second term is often neglected but can be included in SSHM 1 by adding F 100 1 in the control file The third term on the right side is incorporated into the pressure It is very small and usually not of any significance The k s turbulence model The k e model calculates the eddy viscosity as Vr cA 2 1 4 E k is turbulent kinetic energy defined by k 2l u 2 1 5 5u u l k is modelled as ok K _ 24 E 2 1 6 M a eae P where P is given by A p a P Ves 2 1 7 The dissipation of k is denoted and modelled as 2 e O amp O VYT OE E E P U e PCer et Coe 2 1 8 j j j In the above equations the c s are different constants These can not be changed by the user The k e model is th
90. are explained in the following Water quality with Streeter Phelps model SSIIM 1 only The input files have extension qua The water quality in a river is modelled with the Streeter Phelps model This has two water quality constituents Organic substance measured in Biological Oxygen Demand BOD and Oxygen Saturation Deficit OSD The convection diffusion equation for each constituent is solved including source terms for biochemical reactions Start by calculating the water flow field using MB Flow2D or MB Flow3D Afterwards start 155 the water quality calculation You may use the calculation menu The OpenGL 2D graphics is well suited to show the results This case is used for testing the numerical model against an analytical solution Curved channel SSIIM 1 only The files have extensions svi The channel is used for testing the programs ability to calculate the secondary flow pattern in a curved channel It is also used for testing the routine that recal culates the water surface location based on the 3D flow field The cross sectional slope corre sponds very well to theoretical solutions Fish farm tank SSIIM 1 only The files have extensions kar This case is used for demonstrating inflow and outflow at dif ferent locations in the geometry The inflow is on one side at 45 degrees to the wall The out flow is at the bottom of the tank The case is also used for demonstration of fish habitat It is also suited for parti
91. as been documented with comparisons with physical model tests by Olsen and Skoglund 1994 and Olsen and Chandrashekhar 1995 Note that the number of grid cells for this case is very small because we want the solution to converge rapidly For a real case simulation this grid is too coarse and many more cells should be used First stage generation of grid Start the SSIIM model from an empty directory with no control or koordina files similarly to Tutorial 1 In the fist dialog box use a channel length of 20 meters and a channel width of 2 meters The water level depth is set to 2 meters and we use 21 cross sections 5 points in each cross section lateral direction Then activate the GridEditor under the View choice in the main menu Scale and move the grid until you see the grid in the center of the window Then four NoMovePoints have to be 141 inserted These are given in the NoMovePoint mode which is activated by choosing Set NoMovePoint mode in the Define menu Then use the mouse and click on the following four grid line intersections 3 1 6 1 3 5 6 5 These points are shown in the figure below 3 5 6 5 3 1 6 1 If you click on the wrong place use the Delete NoMovePoint option in the Define menu to remove the last point After all four points have been given set the mode back to normal by choosing Set NoMovePoint mode in t
92. at the order of the M data sets in the control file is not important but the order of the data on the M data in the timei file has to be the same as the order of the M data sets in the con trol file Example control file Q 00 cyanobacteria Q 0 1 phosphorous Q 0 2 nitrogen Q 0 3 algae_density Q 0 4 light_history fall velocity for algae algae_diameter form_resistance temperature Q 13103 0 0001 1 0 20 0 algae density a b cl c2 c3 ks_irradiance min max Q 282 3 0 4 0 0086 0 69 0 0022 0 00000028 0 0003833 25 0 0 7 1 3 light history a b averaging_period Q 132 4 0 0 0086 0 69 86400 0 algae growth a b cl c2 growth_phos nit ks_phos ks_nit temp_const Q 281 1 2 3 0 0086 0 69 1 18 1 0 0 82 0 0009 0 042 1 106 phosphorous depletion 20 a b cl c2 growth_phos nit ks_phos ks_nit temp_const nutrient_fraction Q 291 1 02 0 0086 0 69 1 18 1 0 0 82 0 0009 0 042 1 106 0 02 nitrogen depletion a b cl c2 growth_phos nit ks_nit ks_phos temp_const nutrient_fraction Q 291 2 0 1 0 0086 0 69 1 18 1 0 0 82 0 0042 0 0009 1 106 0 14 q 42 0 0 0086 0 69 1 18 1 0 concentration kc_ attenuation c0 cl M 100 001 inflow concentration of cyanobacteria M 1 1 0 0003 inflow concentration of phosphorous M 1 2 0 002 inflow concentration of nitrogen timei file time timestep windspeed winddir_x winddir_y inflow0 inflow inflow2 irradiance M 0 0 0 0 1 0 1 0 0 0 0 001 0 0003 0 002 0 0 M 1000 0 0 0 1 0 1 0 0 0 0 001 0 0003 0 002 10 0 Summary of speci
93. ater reser voirs MSc Thesis Department of Hydraulic and Environmental Engineering The Norwe gian University of Science and Technology http folk ntnu no nilsol cases angostura LisaHoven pdf Jacobsen J and Olsen N R B 2010 3D numerical modelling of the capacity for a com plex spillway Water Management Vol 163 Issue WM6 pp 283 288 Jacobsen T 1998 Sediment Problems in Reservoirs Control of Sediment Deposits Dr Ing Dissertation Division of Hydraulic and Environmental Engineering The Norwegian Uni versity of Science and Technology Kato M and Launder B E 1993 The Modeling of Turbulent Flow Around Stationary and Vibrating Square Cylinders Proc 9th Symposium on Turbulent Shear Flows Kyoto August 1993 pp 10 4 1 10 4 6 Kjellesvig H M 1996 Numerical modelling of flow over a spillway HY DROINFOR MATICS 96 Zurich Kjellesvig H M and St le H 1996 Physical and numerical modeling of the Himalaya Intake 2nd Int Conf on Modelling Testing and Monitoring for Hydro Powerplants Lausanne Switzerland Kohler B 2001 Hydraulic parameters controlling fish behaviour and stranding in a labora tory river Diploma Thesis Institute of Hydraulic Engineering University of Stuttgart Ger many Kriiger S and Olsen N R B 2001 Shock wave computations in channel contractions XXIX IAHR Congress Beijing China Lane E W 2003 Design of stable channels Tran
94. block The speed of the computation will often be better for the structured grid version as faster solv ers are available The structured grid will also use less memory pr cell as connections between cells surfaces and geometry points are simpler The unstructured grid version has some water quality and sediment transport algorithms that are not in the structured grid ver sion The main advantage of the unstructured version is its ability to model complex geometries and its algorithms for wetting drying Lateral movements of a river can only be modelled with SSIIM 2 It is possible to generate a grid in SSIIM 1 and transfer it to SSIIM 2 or the other way around See Appendix I for further details As a conclusion and quick guide Use SSIIM 1 if possible and only use SSHM 2 if you have a very complex geometry and or wetting drying processes 11 Chapter 2 Theoretical basis 2 1 Water flow calculation The Navier Stokes equations for turbulent flow in a general three dimensional geometry are solved to obtain the water velocity The k e model is used for calculating the turbulent shear stress A simpler turbulence model can be used This is specified on the F 24 data set of the control file The Navier Stokes equations for non compressible and constant density flow can be modelled as Oy 200s 1 0 U P puu 2 1 1 ot TOR p 4 a The left term on the left side of the equation is the transient term
95. block Location of the two blocks After the rectangle is made choose Size in the Blocks option in the menu Click on OK in the dialog box that emerges This gives the first grid block Then the second grid block is made in the same way Place the second grid block according to the figure above Afterwards choose Connect points mode in the Blocks menu Then push the two grid intersec tions according to Fig B below Start with clicking on one grid intersection and push it towards the intersection it is to connect to The connection will then be shown with a yellow circle If a mistake is made choose Delete last connection from the Blocks menu 7 _ T A B C D Then choose Connect points mode in the Blocks menu again to get back to normal editing mode Choose Select block in the Blocks menu and select block no 1 Then only this block is shown Choose Boundary on the Generate menu Then choose Elliptic on the Generate menu Again choose Select block in the Blocks menu and select block no 2 Choose Bound ary on the Generate menu Then choose Elliptic on the Generate menu Finally choose Select block on the Blocks menu and choose All blocks Then the two blocks are seen connected like Fig D above Then choose 3D Grid on the Generate menu This generates the 3D grid The unstruc file can 147 now be written from the File option of the main SSIIM 2 menu Second stage specifying inflow and outflo
96. bove Choose Variable from the menu and Velocity from the pull down menu Then you see the velocity vectors You can scale and move the plot by using the lt Page up gt lt Page down gt and arrow keys You can also scale the velocity vectors by choosing Scale and VarEn large VarShrink And you can see the other parameters than the velocity by choosing different 139 variables in the Graph pull down menu The velocity vectors are not too exciting for this channel and to make a more complex flow pattern you need to change the grid This is done in the third stage Third stage In this stage we will concentrate about the grid editor Start the grid editor by choosing View from the main menu bar and GridEditor from the pull down menu Scale and move the win dow and the grid To edit the grid you first choose some points which will not be affected by the interpolation routines This is done in a special mode of the editor This mode is invoked by choosing Define from the menu and NoMovePoints mode from the pull down menu To verify that this mode is chosen the letters Point mode 0 is shown on the lower part of the window The integer shows how many points you have chosen We want to choose four points all on the upper boundary of the grid A point is chosen by clicking with the mouse on a grid intersection If successful a blue box emerges at the grid intersection For a further explanation on which points to choose see Fig 5 2 A After ch
97. cale the grid so that the inflow part on the right side is seen clearly and it is easy to choose individ ual grid lines for the in Then click on all the lines on the right side of the geometry The col our will change if this is done successfully Save the unstruc file to the disk afterwards Third stage Calculation of the velocities Choose Text from the View option in the menu Then choose Computations gt Waterflow Push the F 0 button on the keyboard to see how the residuals decrease and the solution converge 149 After convergence look at the velocities by choosing View gt Map and Variable gt Velocity vec tors This shows the velocities close to the bed Push the F 2 button some times to view the velocity vectors close to the water surface If the velocities look strange choose Variable gt Bed levels A contour map of the bed levels emerge and it is possible to see if a wrong z level has been given The result file with the velocities is automatically written to the disk after convergence Fourth stage Calculation of sediment flow and bed changes SSIIM 2 was originally made for modelling lakes and reservoirs For stratified flows it is important that the grid lines in the longitudinal and lateral directions are completely horizon tal This is not necessary for non stratified flow To modify the default parameters the control file has to be edited Also to specify an inflow of sediments the timei file has to be used
98. cated outside the original river To do this the initial grid has to cover also the dry areas This is done by using a high water level when making the initial grid and unstruc file The water level should then be higher than all points in the bed so that the grid will look structured when generated The unstruc file generated with this water level has always to be used later when starting the pro gram To start the program with the correct lower water level this lower water level has to be given in the koordina file together with the F 712 1 data set However if a new unstruc file is written after the program is started with a lower water level this will not contain the informa tion about the grid in the dry areas The strange lines will therefore appear when such an unstruc file is read Wh Mi Hl AVA Tay 4 PAPADA ANOA ATLA a Lapa NUTT AMHERST STAT LAUREATE HHT Maaa ER JAVAAUAVAUALAVUAW NALA AAAA DAAA AVADANI AAVAAVAUALAVAVAUAVABA VAVAVAVAVAVARVABAMRAVA PAAIRTI AAA MAGNA AU AVA AE IAGAAVAUAU AVNER AVA CT PM nu DAVANA H rey tts ieee ten Hires san 4 a San A D aas oe Se ee ere r SSeS E ay a ey Se nee SER i lt K ee cr PEER ies os r Pinna AE ae Sa Ct ey oe et n hs g pP ad Sa ag See aan en ge gy Ss ee J eho at 1 AS ian t th ff Sa O aa S DaN rr ae Sa a a a SS SAN SS ee a SS N SS ay ant a Sad tt eS Sa ee _ a ng na nent NN Net SOG net See ge S
99. centration volume fraction If the TFS method is used in SSIIM 2 N x Inumber floats are read additionally N is the number of inflow groups The numbers indicate sediment concentration volume fraction of the inflowing sediments for each grain size The sediment concentrations are grouped accord ing to the inflow group So that first all the concentrations for the first group is given Then the next group etc An example of a timei file for SSIIM 1 is given below O 0 06 uw 222 c2220 p222 z4136 21241 z221 10 0 10 0 10 0 20 0 19 5 0 0 000 I 100 0 10 0 10 0 20 0 19 0 0 000 I 200 0 10 0 10 0 20 0 18 5 0 000 I 300 0 10 0 10 0 20 0 18 0 0 000 I 400 0 10 0 10 0 20 0 17 5 0 000 For SSIIM 2 the downstream water level on the data set in the timei file corresponds to the first point in the G 6 data set in the control file If two fixed points are given in the G 6 data set the upstream water level on the data set in the timei file will correspond Note that this means the corresponding indexes on the G 6 data set and the data set in the timei file are given in reverse order For SSIIM 2 it is possible to have more than one inflow and one outflow group Then it is also possible to vary the water discharge in each group over time This is done using the addi tional D data set in the timei file The data set gives the discharges for each time step similar to the Z data set The first float read is the time This must be iden
100. characters are read It is therefore necessary to have some spaces or lowercase letters after the ZS Otherwise the program will start to read the characters on the line below Then the sediment data are given on the S J N and B data sets These data sets have to be given after the G data sets in the file The sediment diameter and fall velocity is given on the 153 data set S 1 0 002 0 01 We have here specified a diameter of 2 mm and a fall velocity of 1 cm s I 10 0 We have specified a zero inflow of sediments NO11 0 Sieve curve 0 has 1 0 or 100 of size 1 B000000 The whole bed is covered with sieve curve 0 Save the control file Third stage run the program Start the program and the sediment computation will start immediately due to the F 2 data set Look at the results by choosing from the menu View gt Map Choose from the menu for exam ple Variable gt Bed changes The program will run for 40 000 time steps which is the first integer on the K 1 data set This may take some time so you may want to stop the computation and give a lower value before restarting it Fourth stage parameter tests The sediment transport computation is based on a number of empirical formulas Some of the parameters in the formulas can be fairly uncertain It is therefore important to do a parameter sensitivity test Also there are different numerical algorithms in the program which will affect the results These should also be i
101. cle animation because the particle will move in a circular pattern This case is calculated by Olsen and Alfredsen 1994 Reservoir trap efficiency SSIIM 1 only The files have extension res This case is used for demonstration of trap efficiency calculation in a reservoir It is a modified version of the Mae Tian reservoir calculation case from Thai land Olsen 1991 and Olsen and Melaaen 1993 8 3 cubic meters of water is flowing through the reservoir Several sediment sizes are used The user can see the contour map of the bed levels colour map of the bed level changes cross section velocities and longitudinal profiles of the sediment concentration Note that about 9000 iterations are necessary to make the water flow calculation converge This took about 2 hours on a Pentium Pro 200 512 k Cache 32 MB RAM Flood wave hitting a building SSIIM 1 only The files have extension wav This example shows a flood wave in a 50 m long and 25 meter wide channel hitting a square building with sides 5 meters The upstream water surface is 3 meters above the bed and a water velocity of 3 m s is in the inflowing water A transient free surface routine is used to calculated the water surface The speed and the depth of the wave correspond well to hydraulic formulas Forces on the building are written to the forcelog file The case was presented by Olsen 1994 A similar verification study with comparison with a physical model testing was done by Loe
102. ctive layer 2 layers for F 37 1 and 2 Residual limit for when warning messages are written to the boogie file Default F 38 107 Turbidity current parameter If this is unity the extra term in the Navier Stokes Equa tion are taken in that takes into account the effect of gravitational forces on water that have higher density because of high sediment concentration If this is above 0 001 the term is still incorporated but relaxed with the factor on the data set Default 0 0 SSITM 2 only Sediment thickness in meters Default value is the maximum size of the sediments given on the S data sets SSIIM 2 only Level of non erodible material This data set can be used instead of the koomin file Bed interpolation parameter in meters One float is read which is used in the bed inter polation routine that are called from the Grid Editor If the points given in the geodata file are located a horizontal distance under the interpolation limit than the interpola tion routine will use the exact value of the geodata point instead of interpolating from surrounding points Default 0 05 m Parameter for print out of special files and interpolation of results An integer is read 58 F 50 F 51 F 52 F 53 If 0 then a normal result file will be written when this routine is invoked If higher val ues are given the program will not write the result file It will search for the interpol file and use this file to write other files If the
103. d cells in the vertical direction There are basically two ways to do this Either to have a stepped grid with horizontal grid lines or using non horizontal grid lines including the possibility of having triangular cells The two options are given in the figure below A B Note that A is the default option When using this option then the levels of the grid in meters must be given on the G 3 data set Option B can be specified using the F 64 data set Note that the commonly used F 64 11 and F 64 13 options has different definitions of the G 3 data set Then the G 3 data set is the percentage of the distance between the bed and the water surface The horizontal grid lines are often preferred when calculating lakes where density stratifica tion is very important Then the absence of non orthogonal terms for a non orthogonal grid may cause instabilities Also for a lake with stratification most of the velocities occur close to the surface and if the grid is not exact at the bed this may not affect the results The non hor 36 izontal grid lines are used where a very accurate description of the bed is necessary and where density gradients are relatively small In the Three dimensional grid gt parameters dialog box the user chose the grid type and the vertical distribution of grid lines If the user wants to create a nested grid the menu option Add block should be chosen The
104. d for the water sediment flow computation it is still pos sible to use SSIIM 2 to modify the geodata file and read it by SSIIM 1 afterwards 4 7 The bedrough file This file is used to give a roughness height to individual bed cells Values in this file overrides the value calculated from Manning Strickler s coefficient and the value given on the F 16 data set On each line a character two integer and a float are given The first character is a B and the two following integers are indexes for the bed cell The float is the roughness in meters An example is given below 19 2 0 001 B B 19 3 0 001 B 19 4 0 001 112 4 8 The porosity and vegdata files Note When calculating porosity use a P on the F 7 data set in the control file When using the vegdata file the F 115 data set has to be included in the control file The porosity file is only used in SSIJM 1 The vegdata file is used in both SSIM 1 and SSIIM 2 The two files are used when the bed of the river is covered by stones or vegetation introduc ing a sink term for the velocities Porosity file The file describes the location and magnitude of the porosity or vegetation in the geometry An example of a porosity file is given below P 17 6 3 349774 3 399189 3 450101 3 499517 0 000000 0 700000 0 833333 1 000000 P 17 7 3 358273 3 413603 3 470610 3 525940 0 000000 0 653846 0 807692 1 000000 P 17 8 3 403323 3 426084 3 449536 3 472297 0 000000 0 642857 0 785714 1 000000
105. dding a value proportional to the float and the bed form height Default F 281 0 algorithm not used SSIIM 2 only Extra damping in the changes of the water surface elevations for the F 36 7 algorithm if the Froude number is above 1 An integer is read If it is 1 then the algorithm is used Default F 283 0 algorithm not used SSIIM 2 only Parameters for the choice of function in the beddil Two integers are read If the first integer is 1 the function computeBedConcentration will be called instead of computeBedConcentration which is default integer is 0 The two beddll functions have different parameters The second integer does the same for the beddll functions computeBedSlopeCorrec tion and computeBedSlopeCorrection1 Default F 285 0 0 SSIIM 1 only The parameter C in the k e turbulence model is given Default F 286 0 09 SSIIM 2 only Algorithm that tries to estimate the outflow water flux from a reservoir given the inflow and the changes in the water surface elevation of the reservoir An integer is read The algorithm is invoked if the integer is 2 Default F 287 0 algorithm not used 4 3 2 The G data sets G1 Four integers are read called xnumber ynumber znumber and Inumber For SSIIM 1 this gives the number of cross sections grid lines in the streamwise direction and vertical direction respectively for a structured grid The last integer 83 G3 G5 Inumber is the number of sedime
106. diffusion Another important aspect is the boundary condition This especially applies to the inflowing boundary If the velocity field at the inflowing boundary is not known exactly one should try different velocity distributions to try to assess the effect of this parameter For a river running into a reservoir it is possible to model a part of the river upstream of the reservoir and thereby obtaining a better estimate for the velocity distribution where the river enters the reservoir The upstream boundary condition is also important for sediment calculations where both the total amount of sediment inflow and the sediment grain size distribution can be varied For the bed boundary it is possible to vary the roughness to investigate the effect of this parameter It can also sometimes be advantageous to make variations for the formula for sediment concen tration close to the bed This especially applies for sediment particles outside the range for which the formula is applied for When interpreting the results from the model it is also important to keep the accuracy of model in mind The k e turbulence model has limitations in how accurate the turbulence field is predicted This will also affect the velocity field For example when calculating the recircu 162 lation zone for a step case the length of the recirculation zone can often not be predicted with any better accuracy than 10 30 In some situations the water flow will be time de
107. diting The user is not required to edit files but some knowledge of grids is recommended It is important to know the purpose of the control and koordina input files During the tutorial the files will be made interactively The tutorial does not show the more advanced features of the program 138 which necessitates editing of the input files The tutorial is divided in four stages During the first stage the two input files are made Dur ing the second stage the presentation graphics is shown The third stage familiarizes the user with the grid editor The animation graphics is shown in the fourth stage First stage In this stage the two user input files control and koordina are made Start SSIIM from a directory where the files control and koordina do not exist This is done by writing c path ssiimwin lt CR gt when you are on this directory The path is the path to where the executable program ssiimwin exe is placed After this a dialog box shows up on the screen where you have to give some parameters for the grid Default values are present in the edit fields Click on the edit field for number of cross sections Change this value from 4 to 13 Also change the number of lines in cross streamwise lateral direction from 4 to 9 The initial default grid is made is rectangular You can choose a grid which is 11 meters long and 6 meters wide Change value in the edit fields from 10 0 to 11 0 for the length and from 5 0 to 6 0 for the wi
108. drying process taking place in a meandering channel or when modelling reservoir flushing Note that this can only be done using SSIIM version 2 as an unstructured grid is necessary Some details of the grid generation algorithms are described by Olsen 2003 The general principle is to first generate a 2D depth averaged grid over all the areas where the river may flow This is done by using a water level that is higher than the bed everywhere This 2D grid is then used as a basis for the 3D grid that is used to compute the water and sediment flow The 2D grid stores information about the bed level location and sediment data Also read Chapter 3 3 2 where more information is given The initial grid have to be given in an unstruc file which is used when starting the program This unstruc file can be generated in different ways depending on the geometry For a com plex natural geometry the Grid Editor in SSIIM 2 can be used with input from a geodata file This is described previously in this manual Note that a high water level has to be used that covers both the wetted and dry areas The second method to generate the unstruc file can be used if a regular geometry is to be modelled Then a koordina file can be made in SSIJM 1 or in a spreadsheet and this can be transformed to an unstruc file using the method described in 158 Appendix I The unstruc file is usually very large If this is a problem then it is advisable to use as few cells
109. dth After this push the OK button with the mouse The control and koordina files are then automatically made and written to the disk Immediately afterwards the normal user interface for the program is shown and the program is started Second stage In this stage we will solve the flow field for the given grid and look at the results The main user interface is a window with a menu The text in the window will show interme diate results from the calculations and other messages The menu is used for graphics and starting different sub modules of the SSIIM program In the first dialog box to make the control file you gave the waterlevel and dimension of the geometry A default water discharge of 1 m s is used together with a Strickler Manning s equation of 50 This is all we need to calculate the flow field with the Navier Stokes equa tions To start the solution of the Navier Stokes equations you select the option Calculation from the main menu Then select Waterflow 3D from the pull down menu After this push the F 10 to see how the residuals develop The window shows the residual for all the six partial differential equations that are solved for the water flow calculation The water flow calcula tion is converged when all the residuals are under 10 After convergence we want to see the results Choose the View option of the main menu and the Map option in the pull down menu This gives you a graphics view of the grid as seen from a
110. e integer 3 integer pointing to nitrogen variable float 1 a regression constant in formula for specific vertical attenuation coefficient float 2 b regression constant in formula for specific vertical attenuation coefficient float 3 c0 formula for growth rate k irradiance float 4 cl formula for growth rate k irradiance float 5 kmax maximum growth rate float 6 Ks constant for phosphorous float 7 Ks constant for nitrogen float 8 temperature coefficient Kt The first four floats are similar to the Q 42 data set SSIIM 2 only Special data set for calculation of algae density from one species of algae integer I integer pointing to algae density integer 2 pointer to algae concentration integer 3 pointer to light history float 1 a regression constant in formula for specific vertical attenuation coefficient as Q 42 float 2 b regression constant in formula for specific vertical attenuation coefficient as Q 42 float 3 cl formula 5 SCUM as Q 151 float 4 c2 formula 5 SCUM as Q 151 float 5 c3 formula 5 SCUM as Q 151 float 6 Ki half saturation irradiance formula 5 SCUM as Q 151 float 7 minimum algae density float 8 maximum algae density SSIIM 2 only Special data set for nutrient depletion from algae growth for two nutrients and one algae shading the light Two integers and nine floats are read integer I integer pointing to nutrient parameter integer 2 integer pointing t
111. e This is done by increasing the water depth Several algorithms are used with different depths An integer of 1 sets the depth to 80 of the first parameter of the F 94 data set An integer of 2 or 3 sets the water depth to minimum the value of the first parameter on the F 94 data set An inte ger of 4 does the same as 1 but uses a value of 200 of the first F 94 parameter instead of 80 An integer of 3 sets the number of vertical grid lines in the corners between the cells to 1 if one of the corners have a negative depth and the sum of the two corners is smaller than 10 of the first parameter on the F 94 data set An integer of 7 does the same thing as 1 but uses 100 of the second parameter on the F 94 data set instead of 80 of the first Other algorithms sets internal walls in the ridges The integer is then set to 9 or 10 The third algorithm will try to remove holes in the grid where there is only one cell with no connections to side neighbours only with its neighbours below and above This is in a wetted area where in 2D the neighbours exist The fourth algorithm will remove single wet cells with only dry neighbours in 2D The fifth integer invokes different algorithms to increase the water depth in partially dry cells by lowering the bed levels So far none of these algorithms have been suc cessful An integer of 1 lowers the bed level to the first value given on the F 94 data set This also happens if the integer is 2 but
112. e as fast as the OS 2 version probably due to the faster compiler In SSIIM 1 1 for Win dows the Grid Editor was again included into the main program The OpenGL graphics was a separate program si3dview In 2001 algorithms were made that printed out files that could be read directly by the Tecplot program This program is commercially available and has good visualization possibilities including 3D views The si3dview program is therefore not planned to be updated In the spring 2007 algorithms for writing input files for the ParaView program was added The ParaView program is similar to Tecplot but it is freeware Also algorithms to write an OpenFOAM mesh was added in the spring 2007 OpenFOAM is a general purpose CFD program that is also freeware with available source code and many more turbulence models than SSIIM In the spring 2001 the Windows versions of SSIIM was made with DLL libraries DLL is an abbreviation for Dynamic Link Libraries DLLs containing numerical algorithms for sediment transport and flow resistance from vegetation were made The DLLs may be further developed by cooperating research groups In 2005 the source code for the beddll dll file was made available on the web A native Linux version of SSIIM 1 without user interface was made in 2005 and made availa ble on our web pages The source code for this version is almost identical to the Windows source code for the computational part It is planned that the Linux versi
113. e default turbulence model in SSIIM The k model The k model was developed by Wilcox 2000 It is given by the following equations ee 2 1 4 k is turbulent kinetic energy similar to the k e model k is modelled as Ok ok k OK LZ L as 2 1 A Yia slong P 2 ko 2 1 6 where P is the production of turbulence similar to the k epsilon model Instead of using the dissipation of k as the second variable the model uses which is the spe cific dissipation rate units seconds The equation for is modelled as 0 y 80 2 gy 2 a2P po a Mia Bx Yra ae Py Bo 2 1 8 The following values and formulas are used for the additional parameters pra f f ee _ a 55 9 5 B Bols B Bol Bo ars Bo io 2 1 70 Q S ie Ze E a 2 1 9 1 80 Bo 1 lt 0 1 Ca fe 41 680Y w 522 2 1 10 1 4007 OU U OU U Q tS a lt i 2 1 11 The k model often gives less turbulent diffusion than the k e model This means it may overpredict the size of recirculation zones whereas the k e model often underpredicts the recirculation zone length In SSIIM the wall laws for the k e model are used also for the k w model This is due to the 14 easier inclusion of wall roughness Influence of density variations The effect of the density variations on the water flow field is taken into account by introducing a modified eddy viscosity The eddy viscosity fro
114. e editor is invoked from the Input Parameters option in the main menu for the OS 2 version For the Windows version it is invoked from the View option in the main menu It is somewhat similar to the grid editor in that the grid is shown in the main menu The user can choose between two types of discharges side discharges for example inflow from an upstream river or surface discharges for example a pollutant spill in the centre of a lake Side discharges The side discharges are organised in ten groups Each group has a water discharge and some characteristics Among the characteristics is if it is an inflow or an outflow The user first chooses which group to give data for Then the data is given in the dialog box emerging from the Give values option in the menu Afterwards the user chooses Add surfaces to define which surfaces belong to the discharge group The surfaces are then added by clicking on the grid with the mouse If the wrong surface is added choose Remove surface from the menu When adding a surface to a group the user clicks on a line which may correspond to several surfaces placed vertically above one another In the dialog box the user gives two integers showing the lowest and highest surface number to add Note if side discharges are used there must be at least two groups one inflow group and one outflow group Also the sum of the discharges in the inflow group must be equal to the sum of the discharges for the outflow
115. e equa tion for the specific light extinction coefficient Given the irradiance the growth rate k is cal culated from f k d e 2 5 6 The parameters a and b are constants derived from a regression analysis of observed values Reynolds 1976 The two last floats on the Q 42 data set is a and b The growth is calculated as Ca Ca 0 2 5 7 Cq is the algae concentration at time and cy 9 is the concentration at time t 1 The fall velocity of the algae can also be given on the Q data set where a constant value is given Other data sets that can be used are Q 131 Q 132 Q 281 Q 282 26 Temperature dependency The biochemical reaction rates as a function of the temperature is calculated by multiplying the reaction rates with the following factor KE 2 5 8 K is a constant slightly above unity for example 1 022 and T is the temperature is raised to the power T 20 This means that the growth rates are given at 20 degrees Centergrade which makes the term unity The term is coded in some of the data sets where K is given Note that the temperature dependency is only used in the data sets when a temperature calculation is carried out simultaneously that is if F 67 is used in the control file Multiple algae species decreasing irradiance If multiple algae species are calculated it is necessary to have light irradiance as a separate variable since more than one algae species contribute to
116. e from the center of the bed cell to the bed The data set is used to invoke inclusion of the extrapolation of the Hunter Rouse sedi ment distribution when the vertical height of the center of the bed cell is different from what van Rijn subscribed Default F 60 0 0 no use of the extrapolation Example F 60 1 0 the extrapolation is used Integer to invoke time dependent calculation of water quality parameters if 1 Default F 62 0 Second order upwind scheme for water quality constituents if the integer follows Default F 63 0 SSIIM 2 only Choice of algorithm to generate the grid lines in the longitudinal and lateral direction An integer is read If it is 0 completely horizontal grid lines will be generated This is typically used when modelling lakes especially with density gradi ents 61 Example F 64 1 The F 64 1 option will also create horizontal grid lines but the bed cells will not be horizontal Tetrahedral cells and hexahedral cells with non horizontal lines will be used along the bed The F 64 2 option will be similar to F 64 1 but all the non vertical grid lines may be non horizontal An example is shown in the figure below Example F 64 2 For sediment transport computations in rivers the most tested option is F 64 11 This will give a body fitted grid with priority to hexahedral cells close to the bed The hexa hedral cells will give superior performance compared to tetrahedral cells Since mos
117. e geodeata file to the one from the other bed level Use this file to make a new bed level with the same grid as in point 1 Write the unstruc file 4 Start the program with the unstruc file from point 3 and the koomin file from point 1 The koomin file must now be called koomin and it must not have any extension 41 5 The variable sediment thickness will now be the difference between the two bed levels in the two geodata files This can be displayed in the SSIIM graphics or written to the ParaView or TecPlot files If the variable does not show up when the Tecplot Para View file is written directly from the menu it is necessary to add the parameter r on the G 24 data set and use an F 48 option in the control file to produce the Tecplot Para View files 6 The initial water volume of the reservoir is written to the boogie file at the beginning of each transient sediment computation Using the two unstruc files from point 1 and 3 will give two volumes for the reservoir As long as the water level is the same the difference in volumes will give the volume of the deposited eroded sediments in the reservoir 3 4 The Discharge Editor SSIIM 2 Because the grid is unstructured it is not possible to give water discharges and flow of other constituents in the control file The number of the grid lines are not easily obtained Instead the discharges are given in the Discharge Editor The values are stored in the unstruc file The discharg
118. e information about the sediments on data sets in the control file The S data sets gives sediment size and fall velocity and the J data sets give inflow of sed iments in kg s The N data sets gives information about different grain size distributions and the B data sets tells where in the geometry the different distributions are These data sets must be given with correct parameters The steady sediment flow is computed by the menu or the letter S in the F 2 data set An ini tialization of the sediment flow giving values to the concentration in all cells based on the Hunter Rouse distribution is done by using the letter on the F 2 data set The steady sediment flow will use a previously computed water flow field In other words the water flow has to be computed first and then the sediments On the F 2 data set this will be F 2 WIS for SSIIM 1 or F 2 UWIS for SSIIM 2 However usually the water flow computation takes much longer than the sediment computation Normally one might want to do several sediment computations with for example different transport formulas Then one can do the water flow computation first and store the flow field in the result file Instead of computing the water flow field one can read the result file by giving an R on the F 2 data set This will then result in the following data sets F 2 RIS or F 2 URIS for SSIIM 1 or SSIM 2 Note that it is also technically possible to not compute the water flow before the sediment co
119. e to each other If two grid lines at borders of two grids are very close then the connection is made Note that the ends of the grid lines also have to be located at the same place so that only one cell from one block connects to one cell at another block It is not possible to have two cells from one block connecting to one cell in another block Then the connection is not made and a wall is used instead Before the 2nd block is made one should think about the orientation of the blocks The new block will similarly to the first block have a south west east north side When the blocks are glued together the north side of one block should be glued to a south side of the other block for example Or the east side of one block should be glued to the west side of another block Thereby a consistency of the direction of the total grid is maintained All the blocks should have the same north east west south direction The directions of the blocks can be checked after the grid is made using the map graphics showing the cell numbers The lowest number in a block always starts on the south west corner and the highest in the north east corner To make the connection it is therefore necessary to locate grid corners from two blocks at the same place This is done by choosing Connect points mode in the Block menu In this mode it is possible to click on one grid corner and drag it to another grid corner in another block When this is done the
120. e two programs can be written from the user interface of the program or automat ically for time dependent computations Use the F 48 data set to specify the type of file to be written 134 5 3 Frequently asked questions 1 The program crashes What do I do See Chapter 5 12 2 I think there is a bug in the program What do I do See Chapter 5 16 3 How is the roughness specified in SSIIM Roughness parameters are needed for SSHM for two purposes 1 Generation of the initial water surface elevation SSIIM 1 2 Computation of the shear stress at the boundaries through the wall laws For point 1 the Manning Strickler value of the W data set is used This data set has to be given by the user It is also possible to vary the value in different cross sections by using the W 5 data set None of the other roughness options will affect the initial water surface location The shear stress at the boundary is computed using a wall law for rough boundaries This wall law includes a roughness value in meters One roughness value is used for all the side walls This is called XksWall internally in the program For the bed a separate value is given for each cell in the two dimensional array called Xks i j in the computer program The default values of the roughness variables are given by converting the Manning Strickler value of the W data set to a roughness height In its original form this formula used the dog value instead of k Howe
121. e wetted area The second integer determines which of two inter polation algorithms are used when transferring variables between two grids The default algorithm 0 uses a linear interpolation based on the vertical elevation of the cells An alternative algorithm 1 uses the cell indexes The third integer invokes the part of the algorithm that extrapolates over multiple cells for each wetting situation The fourth number a float gives a relaxation factor for the velocity values The fifth and sixth number both floats give relaxation factors for k and epsilon During initial testing we have not found any improvements in the results by using values different than the default SSIIM 2 only Maximum slope of the water surface A float is read If the number is above zero an algorithm is invoked that prevents the water surface to be steeper than the value given Default 0 1 algorithm not used Non isotropic turbulence parameters Two floats are read The first float is multiplied with the isotropic diffusion to produce the vertical diffusion used by the program The second parameter does the same in the horizontal direction Default F 149 1 0 1 0 71 F 150 F 151 F 154 F 156 SSIIM 1 only Option with modified wall laws Two integers are read The first integer modifies the wall laws for high roughness water depth ratios Option 1 uses a three layer model where the middle layer is when the bed form height is higher than the r
122. ed scaled and moved Also the user can choose between surfaces showing colour maps or the grid Various options for variables can be displayed with colours Note the more detailed description of the menu commands given in the following The OpenGL graphics includes particle animation Further description of the animation graphics is given in Chapter 3 7 Map presents the geometry seen from above It is possible to get velocity vector plots and plots and bar plots of concentration diffusivity k etc It is also possible to plot the grid and change between different vertical levels In the Windows versions the contour map is also given from the same menu option Contour map presents the variables as contour plots seen from above The user can give the values of the contour lines on the L data set in the control file If the L data set is not given seven contour lines will be used These are calculated to be within the range of the calculated variable field If the option Variable under Scale is chosen the user can give the numerical values of the lines OS 2 version It is also possible to choose the number of lines Note that if more than 7 lines are chosen all lines will be black Also note that if O lines are chosen in the dialog box the plotting will be similar to giving no L data set in the control file The values of the different lines are given on the colour scale at the lower left corner of the window The text 43 gives the value
123. ed in the center of each cell This means that a numbering system for the cells is also required The word node is often used for the center of a cell From a geometrical view of the grid it is observed that the number of lines always exceeds the number of cells by one in each direction When the arrays are defined it is therefore a choice for the programmer to start the numbering of the cells on one or two The choice that is made in this program is that the numbering starts on two This means that the cell that is defined by grid lines i 1 and i 2 and j 1 and j 2 has the number 2 2 Cell number 1 1 does not exist The numbering of the cells is also shown in Fig 1 The numbering of the grid lines is shown with the lt gt sign while the numbering of the calculation nodes is shown with the sign The grid is non staggered The data on the koordina file defines a surface It is possible to make a file with exactly the same format and call it koomin This surface is then used as a minimum elevation surface for bed changes The bed will not be lowered under this surface If SSIIM terminates right after startup and the boogie file contains the following message Error negative areas for cell i 13 j 2 or some other combinations of i and j then there is an error in the koordina file The indexes denote the cell number so for i 13 j 2 the x and y coordinates for the following grid line intersections should be checked 13 2 13 1 12 2
124. ed level changes only OS 2 version will only appear on the last iteration when sediment calculations are done Also note that if a result file is read in the F2 data set it is only read during the first iteration Relaxation coefficient for the Rhie and Chow interpolation Normally a value between 0 0 and 1 0 is used When 0 0 is used the Rhie and Chow interpolation will have no effect When 1 0 is used the Rhie and Chow interpolation will be used normally Default 1 0 Turbulence model An integer is read which corresponds to the following models 0 standard k e model default 56 F 25 F 26 F 33 F 36 k model with some RNG extensions local k e model based on water velocity constant isotropic eddy viscosity model value given on F 72 data set Only SSIIM 2 local k e model based on wind shear constant non istotropic eddy viscosity model vertical and horizontal values given on the F 77 data set 7 eddy viscosity 0 11 depth shear velocity Keefer 1971 10 zero equation used in shallow areas only k epsilon elsewhere Only SSIIM 2 14 Spalart Almaras model only for SSIIM1 not fully implemented 15 K omega model with Wilcox s wall laws only for SSIIM 1 not tested 16 K omega model with k epsilon wall laws only for SSHM 1 NN BW ce Note that not all models are implemented in both SSIIM versions Porosity parameters Four floats and one integer are read The first float is the mini mum poros
125. elliptic grid generator to make the grid smoother 2 Try to align the grid lines in the streamwise direction parallel to the velocity vectors This will decrease false diffusion 3 The distortion ratio should not be too great The distortion ratio is the dimension of the grid in one direction divided by the dimension in another direction Some people say this should be less than 2 two but other people have obtained good results for ratios up to 10 On occasions ratios of up to 100 have been used This gave reasonable results but it required very low relaxation coefficients and an extremely large number of iterations to converge 4 The size of a grid cell should not be too much larger than its neighbours Some people say the increase in size should not be greater than 20 On some occasions this value have been over 1000 a factor 10 Some of these cases gave reasonable results but other cases gave unphysical results A recommendation is to try to stay within 50 but if much larger values are used be aware that unphysical results may occur Unphysical results can be velocity vectors that point in another direction than what seems natural for example not parallel to walls Chapter 5 12 and 5 13 give more advice on convergence and interpretation of the results 5 11 Lateral grid movements This chapter describes the method to make a dynamic grid that can move in the lateral direc tion Such a grid is used to model the wetting and
126. en Som Ge BS Sey gp ee Sa Ss ee a N EEEE Oe BS oS oe oat Ss ers et Se Oa sc ay a A Na EY ie al eo See he Se Sa pe a ig oe a ati Ss RR RoE a k OE i oe SN fag a a S EEE EARN a 5 55 Se Sf SSS SISSSELSSS SSS ES SS Seon Senge 5 a SS Ss set E Sy SSS eee fas SS SS ea nae Ss eS ys et ee SS ot Sey oa See NA FESS Ss Sy Se Sen soos soe SS Se a Sa a at SN Ss ee Sy Ga SSS SS SSssssos55So heheh Sse NSS SSSR SSeS ia et a Sa Se Se a Se SB LSS ss nae SS et Se A A fs SS eS a as gt gt Sie SO Cg SE Ss ig ees aoe SESE SS SEER Se Figure from the Grid Editor showing that the unstruc file which is read will not have the correct coordinates in the areas where wetting drying has occurred The problem is avoided if the program always starts with an unstruc file generated with a water level that is higher than the bed Where no drying up has occurred 5 16 Bugs and bug finding Sometimes SSIIM will crash or give strange results This can be due to bugs It can be difficult to find bugs in computer programs with 100 000 lines of code However the approximate lo 167 cation of a bug can often be found without any access to the source code Some guidelines are given in the following that will be helpful in finding the bug 1 Is the bug reproducible How is the bug reproduced 2 Is the bug only in the latest version of the program or also in older versions 3 Are there any warning or error messages in the boogie file 4 Is the bug connec
127. en compute the sediment flow and then exit This is for SSIIM 1 Example 2 F 2 URIS The program will first read the unstruc file and then read an initial water flow field from the results file Then the sediment concentration field is initialized and the sedi ment transport is computed This combination is often used for time dependent mor phological computations The unstruc file is only read in SSIIM 2 For SSIM 1 the U is omitted Note that there must only be spaces between the number 2 and the letters on the data sets If tabs are used the letters may not be read Relaxation factor for second order interpolation of bed concentration maximum itera tions for concentration calculations and convergence criteria for suspended sediment calculation The convergence criteria is given as allowable flux deficit as part of inflowing sediments Note that this data set has changed from SSIIM version 1 1 Defaults relaxation 0 5 iterations 500 convergence criteria 0 01 Coefficients for formula for bed concentration Default is van Rijn s coefficients 0 015 1 5 and 0 3 If one uses this option the sediment transport formula given in dataset F 70 must be R which means that van Rijn s formula is used Run options read 10 characters If the following capital letters are included this will mean D Double the number of grid cells in streamwise direction in comparison to what is given in the koordina file Each cell is divided in two e
128. ent kinetic energy is given in m s epsilon is given in m s and the pressure is in Pas cal or Newton m 4 11 The conres con2res files The conres and con2res files contains the sediment concentrations in the grid The conres file is used in SSIJM 1 and the con2res file is used in SSIM 2 The conres files is written after the sediment concentration calculation has finished Each line in the file contains first three indexes indicating for the node number Then the total concentra tion is written and then number floats that give the concentration for the sizes An example is given below 1 1 21 0 000000e 00 0 000000e 00 0 000000e 00 0 000000e 00 0 000000e 00 1 2 2 5 075079e 04 0 000000e 00 1 026459e 04 1 03008 le 04 1 03235 1le 04 1 2 3 4 064470e 04 0 000000e 00 1 011 788e 04 1 015358e 04 1 017596e 04 1 2 4 4 00406 1e 04 0 000000e 00 9 967497e 05 1 000267e 04 1 00247 e 04 If a file conres pre exist this will be read by the program before the sediment calculation starts The conres pre file has the same format as the conres file Note only the sediment con centrations are given in the file and not the grain size distribution of the bed The concentra tions are given in volume fractions The con2res file has the same information and format as the conres file except that each line only starts with one integer before the concentrations are given The integer is the cell number in the unstructured grid 118 4 12 The interpol and
129. enu Then view the residuals again by choosing View gt Text Start the water flow calculation by choosing Calculation from the main menu and Waterflow 3D from the pull down menu Push F 0 repeatedly and watch the residuals as the solution converges Then watch the velocity vector field by choosing View gt Map from the menu Fourth stage In this stage we look at the animation This is done by using the OpenGL 3D Viewing pro gramme Exit SSHM and start the program The file is called si3dview exe It must be started from the same directory as we used previously After the program has started choose File gt Read result The calculated velocity field is read The grid seen from above is shown Start the animation by choosing Particle in the menu and Run on the pull down menu Change the speed of the particles by changing the timestep This is done by choosing Define gt Reduce time step or Define gt Increase time step 5 5 Tutorial 2 Sand trap SSIIM 1 for Windows In this tutorial we will make a sand trap geometry with a three dimensional entrance region Three dimensional water flow will be simulated in the geometry and also sediment flow through the sand trap The trap efficiency will be calculated from output of the boogie file It is then necessary for the user to use an editor to see the content of this file or a hard copy can be printed Otherwise editing of the koordina and control files are not necessary Cases similar to this h
130. enu options Sides and Transfinite I The menu options are described more in the following General For both OS 2 and Windows versions the menu bar gives various options for generating the grid In the following the grid generation procedure is described first and then the different menu options Some of the menu options are similar for the OS 2 and Windows versions 3 3 1 The grid editor menu The main menu of the grid editor is made up of several options with corresponding sub menus The structure of the menu depend on which version of SSHM OS 2 or Windows and version or 2 View In the Windows versions of SSIIM the View option has a sub option Geodata points display ing the points in the geodata file on the grid plot The points are shown with a circle and the different colour indicate different vertical levels Note that the points are read from the file and this may take some time if the file is large Move Scale The option Move is used to move the plot upwards downwards or sideways The arrow keys can be used instead of the menu The option Scale is used to enlarge shrink or distort the plot The keys lt Page Up gt and lt Page Down gt can be used for scaling By holding down the lt ALT gt button while scaling moving then the changes are smaller Utility The Utility option is only available in the OS 2 versions of SSIIM In the Windows versions the sub options are moved elsewhere The option Utility has si
131. equation 1 is used and the source term is 0 04 multi plied with the value of variable 2 multiplied with the value of variable 1 the same variable as calculated for this source term Q 1012 The second number is an integer This is an index for the variable in the source term The third number is a float giving a coefficient which is multiplied with the var iable Example Q 1012 1 2 0 05 This means that a source term for equation 1 is used and the source term is 0 05 multi plied with the value of variable 2 Q 1060 Special data set to calculate temperature flux at the water surface Six floats are read float 1 multiplication factor B for irradiance from the timei file 1 0 float 2 a coefficient A for light attenuation 0 5 0 7 float 3 air vapour pressure egi mmHg float 4 reflection coefficient RL 0 03 float 5 water emissivity e 0 97 float 6 Bowen s coefficient c7 0 47 mmHg C Q1102 Special data set to calculate gas transfer at the water surface The data set has two floats as parameters c and a coefficient r which is multiplied with the eddy viscos ity to give the effective diffusion The data set is only applied to the cells bordering the water surface Q 2001 The second number is a float giving the value of a constant source Q 2002 The second number is an integer This is an index for the variable in the source term The third number is a float giving a coefficient which is multiplied with the
132. er determining which block is to be computed for sediment trans F 189 F 190 F 191 F 192 port Options 0 All blocks default 1 only nested blocks n only block no n Example F 188 3 Only compute sediment transport for block no 3 Default F 188 0 all blocks SSIIM 1 only Large roughness algorithms Special algorithms designed for situations where the bed roughness is larger than the vertical grid cell size close to the bed An integer and a float is read The integer determines which algorithm is used and the float is a parameter in the algorithm Several algorithms and approaches have been tested but not extensively Currently the most promising algorithm seems to be an immersed boundary method with a linear velocity profile F 189 5 0 5 but much more work needs to be done SSIIM 1 only Algorithm to decide if to use cohesive forces or not for the sediments An integer is read If it is zero the cohesive forces from the F 131 data set will only be used if the bed level is below the original level If the bed level is above the original level the cohesive forces are not used SSIIM 2 only When connecting blocks in the GridEditor the graphics pointer have to be placed within a certain accuracy The default is 0 01 mm For large geometries this value may be raised to get a successful connection SSIIM 2 only Ratio of number of cells in the vertical direction for the nested grid to 76 F 194 F 19
133. er of integers must be the same as the number of grids The integer gives the order of the computation For example G253112 The first integer on the G 25 data set says there are three working blocks The two first blocks are computed first as they have number 1 The third block is computed afterwards The third block may be a nested block The computation will then first be done on the main grid and then on the nested grid afterwards To compute all blocks at the same time including the nested block the following data set can be given G253111 Note that the default method is to compute all blocks at the same time so then it is not neces sary to specify the G 25 data set If one block is not to be computed at all a zero can be given For example G253001 Then only the last grid is computed This can be used when the bed changes only happen in the last block and the water flow does not change in block 1 and 2 Then the steady water flow field is computed first and the result file written The result file is read before the unsteady computation is started The water flow is computed using the procedure above for each time step Afterwards the sediment transport may be computed The specification of which block to compute the sedi ment is given on the F 7868 data set The F 88 data set only has one integer If it is O default 165 sediment transport will be computed in all blocks If the integer is a positive number only the
134. erg from the Norwegian Institute of Water Research helped me with the biochemical models together with Glen George at the Institute of Freshwater Ecology UK Sally Heslop at University of Bristol and Richard Hedger at Univer sity of Edinburgh Also thanks to Prof Steve Chapra for his advice and excellent book on water quality modelling Knut Alfredsen at the Norwegian University of Science and Technol ogy helped me with software and hardware problems during the work with my dissertation making the SSII model Vijaya K Singh at IBM Canada helped me with the C compiler Dave Zenz and Suzy Deffeyes at IBM Visual Systems helped me with the OpenGL graphics I would also like to thank the following people for helping me test the program Morten Skoglund Oscar Jimenez Aslak L voll Lars Abrahamsen Siri Stokseth J Chandrashekhar Knut Alfredsen Hild Andreassen Hilde Marie Kjellesvig Md Mahbubur Rahman Tuva Cathrine Daae Anne Sintic Atle Harby Amirul Islam Khan Noor Quasim Khan Chris Bow les Catherine A M E Wilson Per Ludvig Bjerke Yaw Okyere S M A Azim Ishfaq Ahmed Tor Haakon Bakken Josip Jugovic Sebastian Palt Thorsten St sser Richard Hedger Roland Parrot Koen Blanchaert Istiarto Istiarto Ahmed Siyam Tom Bryant P ter Borsanyi Hans Petter Fjeldstad Chris Whitlow Doug Booker Mohammad Irfan Pravin Raj Aryal Michael Abebe Haile Harsha Suriyaarachchi Tim Fischer Antze Lars Jensen Susanne Kr ger Sabine Sultzer Fe
135. es over time during wetting and drying 114 xZ A Elevation z4 P4 z3 P3 z2 P2 z1 P1 Porosity gt Pc Grid Figure 4 8 1 Interpolation of vegetation porosity value Pc for one cell c in the grid Four points 1 4 define a porosity vegetation value as a function of the vertical elevation If the vegetation changes over time it is possible to describe the vegetation at several times in the vegdata file To do this a T data set has to be given between each group of vegetation data sets The T data set also has to have a floating point number which will be the time when the data set is valid The program will interpolate between the different times given in the vegdata file When time dependent changes in the vegetation is computed then the F 201 data set has to be used in the control file Also an U data set has to be used in the vegdata file The U data set has to have the same integers as on the F 201 data set Example Control file contains F 201 1 4 3 three times Vegdata file U143 T 0 0 A 76 16 37 05 37 20 37 35 37 55 3 0 1 0 1 2 0 5 A 76 17 37 05 37 20 37 35 37 65 3 0 1 0 0 8 0 5 A 76 18 37 05 37 20 37 25 37 75 4 0 1 0 1 1 0 5 all A data sets for this geometry and time 0 0 seconds T 10000 0 115 A 76 16 37 05 37 20 37 35 37 55 5 0 2 0 1 2 0 5 A 76 17 37 05 37 20 37 35 37 65 5 0 2 0 0 8 0 5 A 76 18 37 05 37 20 37 25 37 75 5 0 2 0 1 1 0 5 all A da
136. f the first integer is 1 The second integer will cause a reduction the upwind effect if it is 1 Default F 17900 algorithm not used SSIIM 2 only Reduction of critical bed shear stress due to sloping bed An integer is read If it is 1 the same algorithm as F 7 B is used Brooks 1963 If the integer is 2 then the algorithm is only used for cells that have a dry neighbour If the integer is 3 then the lateral slope in the formula will be the maximum slope The same formula is used only for the side cells if the integer is 4 If the integer is 5 the empirical formula by Dey 2003 is used It is only used for the side cells if the integer is 6 The formula by Lane 1955 is used if the integer is 7 or 8 If the integer is 8 the formula will only be applied to the border cells Default F 182 0 75 F 185 F 187 SSIIM 1 only Damping of turbulence close to the water surface An integer and a float is read If the integer is 1 a formula similar to the wall laws will be used for the epsilon equation This will give increased values of epsilon at the water surface and turbulence damping The float is an empirical coefficient in the damping function Typical values 0 0046 0 43 SSIIM 2 only An algorithm to reduce the water level gradients at the borders of the geometry The algorithm is used in connection with F 36 2 4 7 8 9 An integer is read If it is 1 the algorithm is used Default F 187 0 F 188 SSIIM 2 only Integ
137. f the water surface A float is read Default F 142 0 001 SSIIM 2 only Water surface computation algorithm An integer is read If it is 2 then the program will use the average pressure over the last iterations for computing the water surface If it is 1 then the program will do a linear regression analysis over the last iterations to estimate the water surface location This option is tested and did not give very good results Bed form smoothing algorithm An algorithm is invoked to smooth the bed as a func tion of the bed form characteristics An integer and a float is read The smoothing is used if the integer is above 0 The default value is 0 SSIIM 1 only Integer to invoke the roughm1 dll DLL file In this file the bed rough ness or the vegetation parameters can be modified by the user The DLL file is used if the integer is above zero SSIIM 1 only Integer to invoke an algorithm adding a source term to the velocity equations if the flow is supercritical This is done if the integer is above 0 Default F 146 0 The algorithm was intended to be used to improve results for supercritical flow computations in coarse grids but it has not been successful yet SSIIM 2 only Parameters for use in extrapolation of initial values to newly wetted cells Default F 147200 10 2 1 0 1 0 The first integer gives how many iterations the extrapolation algorithm should be used This should be larger than the number of cells in one direction in th
138. fall velocity from density variable integer pointer to algae density float 1 algae diameter in meters from Q 221 float 2 form resistance around 1 0 1 15 from Q 221 float 3 temperature in degree Centergrade SSIIM 2 only Special data set for calculation of light history from one species of algae The light history is calculated by a formula and fixed integer I pointer to algae concentration float 1 a regression constant in formula for specific vertical attenuation coefficient as Q 42 float 2 b regression constant in formula for specific vertical attenuation coefficient as Q 42 float 3 averaging period in seconds for example 86400 0 for 24 hours 99 Q 133 Q 151 Q 161 SSIIM 2 only Special data set for calculation of light history from one species of algae The light history is calculated as a passive contaminant integer I pointer to algae concentration float 1 a regression constant in formula for specific vertical attenuation coefficient as Q 42 float 2 b regression constant in formula for specific vertical attenuation coefficient as Q 42 float 3 averaging period in seconds for example 86400 0 for 24 hours SSIIM 2 only This is a special data set to calculate the density of algae in a lake The second number is an integer which is an index for the variable number which is the algae concentration The algae concentration is used when calculating the light trans mission After the second
139. ffect The geodata file contained a large number of points for each grid cell and the default bed interpolation al gorithm gave the average bed level of the surrounding measured points For this case we thought this was a too high value A lower value would better enable modelling the flow close to the bed between the stones A similar procedure to the default algorithm is initially used where the geodata points are di vided into the same four groups Then the average cell size close to p is computed and all points further away from p than this are discarded In each of the four groups then the following two parameters are computed the average bed level the minimum bed level This gives altogether eight numbers in the four groups if there are sufficient geodata points available The eight points are then averaged by adding them an dividing by eight This gives the bed level in point p This algorithm gives a lower bed level and often a smoother bed If there are no points in any of the groups the algorithm will fail The bed level in point p is set to zero and the following error message is written to the boogie bed file Could not use internal interpolation for i j 10 20 If there are no points in one of the groups the following warning message will be written to the boogie bed file Warning using skewed value for i j 10 20 This algorithm will not use the exact value of one of the geodata points if this point is very
140. files in a section of the geometry can be shown The horizontal location of the profiles are determined by the user so this method of presentation can be used for both cross sections longitudinal section or other user defined sections An example of a verify file is shown below P 40 0 10 0 3 5 0 0 5 0 1 6 5 0 6 0 12 7 0 0 8 0 05 P 70 0 10 0 2 6 0 1 00 1 6 0 1 50 8 Each profile is identified with a capital P Then the x and y coordinates of the point follow The coordinates are given in the same system as the grid After the coordinates an integer is read The integer tells how many points are measured in this profile Up to 11 points can be given On the following lines the data is given There must be the same number of lines as the integer on the P line Three floats are given on each line The first is the vertical coordinate where the data is taken This is given in the same coordinate system as the grid The following two floats are velocities or concentrations depending on what is calculated If velocities are calculated the second float is the velocity component in the x direction and the third float is the velocity in the y direction If concentration is calculated the second float is the measured concentra tion and the third float is a dummy number which is not used If concentrations are given the user can choose in the graphics presentation whether a total concentration or a fractional con centration is presented The example
141. for multiple sediment sizes The convergence criteria and number of iterations for the solver is given on the F 4 data set It is recommended to try to lower the convergence criteria and increase the numbers of iterations if there are sed iment continuity problems This will however lead to increased computational time espe cially if there are many sediment sizes Transient sediment computations are often done in connection with a moving free surface This may lead to stability problems One reason may be that the water level is only updated each 10th iteration default The water depth may then change a lot and supercritical flow may occur in some locations The problem may be solved by reducing the time step or decrease the number of iterations between each water surface update This is done on the F 105 data set For transient sediment computations some grid cells may be removed or added when wetting drying occur A stepped boundary may result which can give incorrect velocities at the boundary Using the F 64 11 option instead of the F 64 8 option the grid cells along the boundary will change shape to give a more smooth boundary When wetting drying occur some part of the water body may form ponds in the grid separate from the main flow If the ponds do not have an inflow or outflow the coefficients in the dis cretized equations will be zero This may lead to a situation with division on a very low number close to zero and instabil
142. fy the bed cell Then four floating point numbers are read The first two floating points are the angle of repose used to compute the reduction in the critical shear stress for erosion of a particle for upstream slopes and downstream slopes These values are typically used in the Brooks or Dey s formula The val ues are given in degrees Typical values are 25 50 degrees The third floating point number on the line is a lower limiter for reduction of critical shear stress The reduction of the critical shear stress will not be below this value The parameter should be between 0 and 1 The first three parameters can also be given values on the F 109 data set for all the cells Note that the angles given on the F 109 data set is the inverse tangens to the angle not the angle in degrees as given in the bedangle file The fourth parameter is the angle of repose used in the sand slide algorithm This is also given in degrees The variation in angle of repose for the sand slide algorithm is only coded for the F 56 200 option Example 3 4 40 0 35 0 0 2 33 0 129 Chapter 5 Advice for using SSIM 5 1 Advice for new users Generally it is advisable to start with reading this manual A CFD computation generally con sists of three steps 1 Pre processing 2 Computations 3 Post processing Pre processing is generation of grid and input files The SSIIM models contains grid genera tors to assist in making grids Post processing is viewing
143. g coefficient for the vegetation stems This is usually around unity 113 2 The diameter of the stems in meters 3 The number of stems in each cell As an example say there are five stems in each cell with diameter 7 cm and the stems are cir cular with a drag coefficient of 1 0 The vegetation parameter becomes 1 0x 07x5 0 35 An A data set is similar to a V data set except the number of stems pr square meter is given instead of number of stems in each cell Example A 76 16 37 05 37 20 37 35 37 55 3 0 1 0 1 2 0 5 A 76 17 37 05 37 20 37 35 37 65 3 0 1 0 0 8 0 5 A 76 18 37 05 37 20 37 25 37 75 4 0 1 0 1 1 0 5 A B data set is similar to an A data set but 4x4 more floats are read on each line First four numbers are read giving the number of stems pr square meter for each of the four levels Then four numbers are read giving the diameter of the stems The next four numbers are the drag coefficients The final four numbers are empirical parameters in the epsilon equation The additional terms are used for source terms in the k and epsilon equations The vegetation parameter can be seen in the map graphics This is a good way of testing that the correct values are given in the input file Using SSIIM 2 there is only one index for each cell In the vegdata file two indexes are given The two indexes corresponds to the indexes used in a structured grid This system is necessary as in SSIIM 2 as the numbering of the cells chang
144. ger is read specifying the number of the solution algorithm SSIIM 2 only Grid numbering direction When the unstructured grid is made the indexing of the cells start at the lower left corner or the first point marked in the Grid Editor One integer is read on this data set If the integer is 1 then the cell indexing will start on the corner diagonal opposite in the block This is mostly useful for debugging purposes Default F 165 0 SSIIM 2 only Regeneration of grid after water surface update An integer is read If it is 1 then the grid will be regenerated after each time the water surface is updated also if time dependent sediment transport is computed This is usually not done as the bed changes are normally recomputed more frequently than the water surface changes and the grid is always regenerated after each bed change Default F 166 0 F 168 SSIIM 2 only Multi grid solver for the pressure correction equation An integer is F 169 read and this is the number of levels in the grid nesting If the integers is 0 the algo rithm is not used Default F 168 0 Hiding exposure parameters An integer and a float is read The integer decides which algorithm is to be used The two parameters are passed on to the beddll dll where they can be used in the sediment transport formulas The beddll made by Riither uses the 74 F 173 F 174 F 178 F 179 F 182 following algorithms First integer is 1 Ergiazaroff s
145. gers The following table shows the meaning of these Table 1 Variable explanation Variable Character Integer1 Integer 2 horizontal velocity uor V level not used vertical velocity w level not used pressure p level not used turbulent kinetic energy k level not used epsilon e level not used eddy viscosity d level not used sediment concentration c level size no water quality q level number residual for horizontal velocity H level not used residual for vertical velocity W level not used 126 Table 1 Variable explanation Variable Character Integer 1 Integer 2 residual for pressure R level not used residual for turbulent kinetic energy K level not used residual for epsilon E level not used porosity or vegetation parameter P level not used water level v not used not used water depth y not used not used Froude number F not used not used depth averaged horizontal velocity D not used not used number of cells in the vertical direction i not used not used bed level Z not used not used bed shear stress m not used not used roughness depth h not used not used roughness r not used not used bed form height b not used not used sediment fraction f not used size no sediment thickness based on cell centres l not used not used sediment thickness of top layer L not used not used sediment thickness based on cell corners
146. group One line is written to the boogie file for each discharge group above zero This can be used to check if the sum of the discharges are zero and if all or too many discharge groups are used 42 Surface discharges The surface discharges are added in a similar way as the side discharges There is also ten sur face discharge groups but they are not corresponding to the side discharge groups Each sur face discharge group only has two parameters an integer as an index for the water quality constituent and the amount of pollutant to add The index correspond to the Q data sets in the control file The two parameters are given in an input dialog box 3 5 Presentation graphics There are two to three graphics modules for presentation of results These can be invoked any time during the calculation or afterwards More than one module can run simultaneously for the OS 2 version The modules are choices under the Graphics option of the main menu 3D OpenGL colour graphics not for SSIIM 2 for Windows Contour Map Contour map is included in Map for the Windows versions Map Longitudinal profile Cross sectional profile VerifyProfile VerifyMap OpenGL shows an orthographic projection of grid surfaces If no surfaces are specified on the G 19 data set in the control file the bed of the geometry will be shown Several G 9 data sets can be used to specify three dimensional surfaces of the geometry The figure can be rotat
147. gt lt a posneg 1 posneg 1 4 3 5 3 3 2 6 2 Figure 4 The following integers are indexes al a2 b1 b2 which gives the two dimensional coor dinates for the corner points of the part of the plane that is described The four varia bles are similar to the variables with the same name on the G 7 data set Note that if an internal wall is used where water is flowing on both sides of the grid line then wall laws must be declared on both sides of the wall and two W 4 data sets must be used Example If the groyne given in Fig 4 is to block the water from the bed to the water surface and there are four cells in the vertical direction cell no 2 to 5 the following data sets have to be given W41142425 W41 152425 Two W 4 data sets have to be given one for each side of the groyne The first is for the left side Fig 4 and the second is for the right side SSIIM 1 only Different Strickler s values than the default value for cross sections An integer is first read which tells how many cross sections are read Then an integer and a float is read for each cross section The integer tells which cross section is changed and the float tells the Strickler s value Several W 5 data sets can be used Note that the Strickler s value in the most upstream cross section will be used on a reach between two cross sections The Strickler s values are the inverse of the Man nings n values M
148. h the Print option in the main menu Hardcopies for the OS 2 versions It is not possible to plot directly from the OS 2 versions of SSIIM to a printer A graphics file has to be made first or copy to the clipboard and then use a word processor or a drawing pro gram to print Slightly different techniques are used to make copies from the OpenGL plots and the other plots Using the OpenGL graphics it is necessary to use a screen capture utility to make a copy to the clipboard or to make a bitmap file This can for example be done with the PmCamera util ity which is made by IBM The program is freeware and can be downloaded from internet sites Start the program in a separate window PmCamera then gives a dialog box Check on the active window radio button and on the OS 2 Clipboard checkbox Then minimise the dialog box with a click on the upper right icon The program will then run in the background and capture the graphics in the active window Next run SSIIM and display the OpenGL plot as you would like to have the hard copy Then push the Print Screen button on the keyboard and wait until you have heard two beeps PmCamera has then copied the graphics to the clip board It is also possible to let the PmCamera utility make a bitmap file which can be stored To plot the OpenGL graphics from the clipboard one can for example use the I BMWORKS wordprocessor from the Bonus pack Start the word processor and choose paste from the edi
149. harge group in the unstruc file The second integer is the number of the water qual ity constituent similar to the Q data set The float is the concentration of the nutrient The data set can also be used to specify inflow of algae It is possible to specify a number of M data sets according to the number of inflow groups and water quality constituents If a nutrient has zero concentration at the inflow it is not necessary to specify an M data set for it It is not necessary to specify M data sets for the outflow 19 Time dependent variation in input parameters To specify time dependent inflow of nutrients the timei file has to be used Also it is neces sary to specify an M data set in the control file for each of the varying inflow concentrations But instead of using the Z or J data set in the timei file an M data set is used On this data set the time is given first similar to the J data set Then a float is given which is a variable time step The variable time step is not coded yet but it has but be given in the data set Then the three floats for the wind is given if wind is specified in the control file Then up to 20 inflow concentrations are given Note that the depth and water discharges from the data set is not given The number of inflow concentrations is the same as the number of M data sets in the control file Irradiance read as the last number of the line if specified by the Q data sets in the control file Note th
150. he Define menu again Now we want to make the inlet channel and entrance region To do this we need to move four points These are the upstream corners and the two most upstream NoMovePoints We use the Give coordinates in the Define menu option for this When this menu choice is activated a dialog box emerges First we change the coordinates of the grid intersection to 0 0 0 5 1 0 This is done by clicking with the mouse on the grid intersection 1 1 and then choosing the Give coordinates option from the Define menu option Give 0 0 in the x coordi nate edit field 0 5 in the y coordinate edit field and 7 0 in the z coordinate edit field Note that default values are given so that the previous values have to be deleted from the edit field before inserting new numbers if the defaults are not correct Do the same thing again but change the line intersection 1 5 to 0 0 1 5 1 0 the line inter section 3 1 to 2 0 0 5 1 0 and the line intersection 3 5 to 2 0 1 5 1 0 The two last inter sections correspond to the NoMovePoints Afterwards first choose Boundary in the Generate menu Then choose Transfinitel in the Generate menu This makes the two dimensional grid Then choose Implementation in the Generate menu option to generate a new three dimensional grid Second stage calculation of water flow Go back to the main menu and look at a plan view of the grid by choosing Map graphics from the View menu option Then start
151. he F 706 data set If the F 706 data set is not used the active layer must be the same as the maximum grain size on the S data sets Note that the order of the bed cells in the fracres file is not important Also note that the values for the same cell can be given multiple times Then it is only the last value that will be used This feature can be useful when regions of different sediments are to be described Then the whole geometry can be covered in one particle distribution and then the region of different 128 distribution can be given afterwards It is not necessary to remove the originally given values before adding new ones This can be nested as many times as necessary The only limitation is the length of the fracres file which must have less lines than 20 x the number of bed cells If this is a problem it is easy to increase the number and recompile the program After the file is made the user should read it and look at the grain size distribution and the sed iment thickness in the SSIIM graphics Then possible mistakes can be seen 4 21 The bedangle file SSIIM 2 only The purpose of the bedangle file is to enable the user to give a spatially varying angle of repose for the sediments on the bed The file is only used if an F 274 data set in given in the control file The angles of repose are given on one line for each bed cell in the grid Each line has two inte gers and four floating point numbers The two integers identi
152. he length of the channel is 6 meters and the width is 1 meter So is the water depth The number of cross sections is 61 one more than the number of cells Similarly the number of points in a cross section is 11 one more than the number of cells we chose The cells then become 10x10 cm which makes it easier to generate the contraction 151 We can look at the grid by choosing the menu option View gt Map The geometry of the contraction is defined by the four points 1 4 in the figure below To gen erate the contraction we need to use the Grid Editor This is started by choosing View gt Grid Editor in the menu A 2 3 C The points 1 4 have to be defined in the grid editor and straight lines need to be generated between them This is done by first defining the four points as NoMovePoints To do this first choose Define gt NoMove Points Mode in the menu Then click with the mouse on the grid intersection close to point 1 Since point 1 is 2 meters from the entrance and the grid cells are 10 cm long the point is located on the 21st cross section When you click on the correct point the numbers 21 1 are shown in pink on the lower left corner of the window If you clicked on the wrong point then go to the menu and choose Define gt Delete last NoMove Point And try again Then define point 2 located at 26 1 five cells downstream of point 1 Point 3 is located 10 cells downstream of point 2 and point 4 is located 5 cells downst
153. he main Windows menu as a window In this window text commands can be given Writing clipbrd lt CR gt starts the Clipboard Viewer lt CR gt means Carriage Return The Clipboard Viewer has two windows a local one and a global one When the Clipboard Viewer is started the local window is often shown This needs to be minimized And then the global window the other one is maximized The Clipboard is then ready to view the graph ics Graphics from SSIIM is copied to the Clipboard using the SSIIM menu Print gt Copy to Clipboard The image is then seen in the Clipboard Viewer The graphics in the Clipboard Viewer can be saved to Clipboard files This is very convenient when storing graphics The image in the Clipboard Viewer can also be imported directly into a document for example a Word file using the menu File gt Import from Word For some unexplained reason it was sometimes not possible to copy directly from SSIIM into Word It was then necessary to follow the procedure above using the Clipboard Viewer and save the files to disk first However this problem seems to have been solved with the newer versions of compilers and Windows It is also possible to read old Clipboard files into the Clipboard Viewer and then import the images into the Word document This is very practical when making reports and other publica tions 3 6 Verify graphics The purpose of the Verify Graphics is to simplify comparison of the results from S
154. he main user interface disappears check the boogie file for possible error messages Also some warning messages may be written to the boogie file if particular problems occur Chapter 5 16 gives advice for finding bugs in the program The hardware requirements for running the program are sufficient amount of RAM in the computer and the speed of the computer In the beginning of the boogie file it is printed how much RAM the program allocates for the arrays This can be added to the RAM requirement for the program itself about 4 MB plus what the operating system requires An estimate for the amount of RAM is thereby obtained The harddisk is used as extra memory if there is not sufficient RAM The penalty is that the program runs very much slower This situation can be 130 detected by observing if the system swaps to the harddisk while running only the SSIIM pro gram The water flow module may take up to several days to converge for some cases even when there is enough RAM The results from the program ought to interpreted according to Possibilities of bugs in the program making errors Previous cases where the results have been compared with measurements Numerical errors like false diffusion grid independence etc Accuracy of boundary conditions Knowledge and experience in computational fluid dynamics and hydraulic engineering are essential for the assessment of the validity and accuracy of the results Chapter 5 13 gives ass
155. he program SSIIM reads each character of the file one by one and stops if a capital letter is encountered Then a data set is read depending on the letter A data set is here defined as one or more numbers or letters that the program uses This can for example be the water discharge or the Manning Strickler s friction coefficient It is possible to use lower case letters between the data sets and it is possi ble to have more than one data set on each line Not all data sets are required but some are Default values are given when a non required data set is missing SSIIM checks the data sets in the control file to a certain degree and if an error is found a message is written to the boogie file and the program is terminated Note that if more than one numbers are needed on a data set these are separated by a space and not by any other character Important note The F and G data sets should be given before any other data sets These data sets should also be ordered according to their number This is because the data may be checked against the size of the grid In the following the data sets for the control file is described 4 3 1 The F data sets F1 Debugging option If the character that follows is a D one will get a more extensive printout to the boogie file If the character is a C the coefficients in the discretized equations will be printed to the boogie file For SSIIM 1 if the character is Q then the program will allow a grid
156. he sediments This can be thought of as an added roughness Einstein and Ning Chen 1955 conducted a set of classical experiments where they obtained a modified velocity distribution as a function of the sediment concentration This function modifies the x constant in the law wall Equation 2 1 13 The formula is 1 dii OCT 2 5 eu k This formula is coded in SSIIM and invoked automatically for the water flow calculation whenever the sediment concentration array has values above zero 2 The other process is the sediment concentration increasing the density of the fluid changing the flow characteristics A typical example is a density current This effect is added as an extra term in the Navier Stokes equations OC Po 2 1 16 8A 2 1 16 This term is not automatically invoked The user can invoke this term by using the F 8 data set in the control file Note that the two effects will move the velocity profile in opposite directions Process will decrease the water velocity close to the bed while process 2 will increase the water velocity close to the bed 16 2 2 Water quality calculations The water quality is calculated with the convection diffusion equation for the concentration c of each water quality constituent A yya A a a aU r2 2 2 1 a The difference from computing sediment concentration is the addition of extra source and sink terms due to fluxes at the water surface and chemical and bio
157. his will allow both positive and negative values of the bed elevation changes Make sure you are using a SSIM 2 executable made after 14 February 2010 3 Use the same grid as in point 1 but now change the geodeata file to the one from the other bed level Use this file to make a new bed level with the same grid as in point 1 Make sure there is still no koomin file in the directory Write the unstruc file 4 Rename the koomin bed from point 1 to koomin without an extension Then start the pro gram with the unstruc file from point 3 and the koomin file from point 1 5 The variable sediment thickness will now be the difference between the two bed levels from the two geodata files This can be displayed in the SSIIM 2 graphics or written to the ParaView or Tecplot files If the variable does not show up when the Tecplot ParaView file is written directly from the menu it is necessary to add the parameter t on the G 24 data set and 169 use an F 48 option in the control file to produce the Tecplot ParaView file when writing the result file 6 The initial water volume of the reservoir is written to the boogie file at the beginning of each transient sediment computation Using the two unstruc files from point 1 and 3 will give two volumes for the reservoir As long as the water level is the same the difference in volumes will give the volume of the deposited eroded sediments in the reservoir 170 Chapter 6 Programming SSITM DLLs
158. ht This is used to prevent very small grid 65 F 87 F 90 F 92 F 94 cell heights If the corner grid cell is lower than this value it is set to zero Note that this only works for the F 64 5 11 13 options Default F 86 0 001 1 mm This information can alternatively be given on the F 94 data set Then the parameter on the F 86 data set will be equivalent to the second data set on the F 94 data set The first parameter on the F 94 data set will be set to 1 4 of the F 86 value SSIIM 2 only Parameter for number of grid cells n in the vertical direction as a func tion of water depth y The value is the p parameter in the following formula P n nmal gt max The nmay number is the third integer on the G 1 data set max Default F 87 0 6 Roughness option An integer is read giving several options how the roughness in the wall laws should be calculated 0 The value on the W 7 or F 16 data set is used 1 The bedrough file is used SSIIM 1 only 2 The roughness is calculated from the bed grain size distribution dog 3 The roughness is calculated from dog and the bed form height 4 Same as 3 but the critical shear stress for sediment movement is reduced so that only the grain roughness effect is taken into account Default F 90 0 SSIIM 2 only Algorithms to reduce velocity in cells with small depths An integer is read 1 Wall laws are used in more than one cell 2 A drag formula is used for vel
159. ication Such knowledge is generated by basic sediment transport research currently carried out by many universities in the world Such research is essential to improving the predictional capabilities of the CFD programs 6 2 Compilation The Windows versions of SSIIM are made using the C compiler in the Microsoft Visual Studio 2005 together with the Intel compiler The DLLs can be made using the same compil ers The express version of Microsoft Visual Studio 2005 can be downloaded for free from Microsofts web pages In the following it is described how the sediment bed functions DLL beddil dll is made using the Microsoft Visual C 6 0 compiler The same procedure is used for the other DLLs The beddll zip file contains several source input files Unzip the files into a separate subdirec tory Then start the compiler Choose File gt Open and in the dialog box choose All files in the Files of type edit field Then go to the directory where the beddil files are and choose the file beddll dsw This loads all the files In the left workspace window choose File View and 171 see all the Source Files Then choose the beddll cpp file This file is then loaded in the main window The file contains the six functions A function in C is similar to a subroutine in FORTRAN By scrolling in the window the source code is seen together with explanation of all the variables The source code is written in C and a basic knowledge of this la
160. iciency can be increased by increasing the convergence criteria This is done by changing the third parameter of the F 4 data set in the control file using an editor A value of 0 0001 or 0 00001 instead of 0 01 gives a total trap efficiency of 62 5 6 Tutorial 3 Two block grid SSHM 2 This tutorial is meant for first time users of the SSIIM 2 program Using OS 2 the tutorial is described in Chapter 5 5 1 The same tutorial using Windows is described in Chapter 5 5 2 5 6 1 OS 2 version The tutorial shows the main features of the user interface with the grid editing presentation graphics and animation The user is not required to edit files but some knowledge of grids is recommended The tutorial does not show the more advanced features of the program which necessitates editing of the input files The tutorial is divided in four stages During the first stage the grid is made The second stage shows how to specify inflow outflow water discharge Then the calculations of the velocity flow field is made in the third stage The presentation graphics is shown in the fourth stage The main user interface is a dialog box and a menu bar The dialog box will show intermediate results from the calculations and other messages The menu is used for starting different sub modules of the SSIIM program First stage generating the grid Start up SSIIM from a directory where the control and koordina files do not exist This is done by writing c
161. ime dependent sediment transport routine from SSIIM 2 The routine uses the two DLL files TSC2DLL and BEDDLL and the functions are given in bold smaller letters The page after shows a flowchart of the WaterSolve routine that solves the Navier Stokes equations 190 Flowchart TSC function morphology_tsc2DLL F 125 1 TSC2DLL Initialization of variables calculateTSC2initial P BedMake C global iterations K 1 print to timeo calculateTSC2timeo F68 p WaterSolve F 78 BedLoadVector code calculateTSC2bedvector Coefficients an Compute ap source Compute boundary conditions for sediments Bw InflowSediment F 111 BEDDLL concRijn concRijnDLt foo 7 i ke sediment iterations F 4 gt _ sediment fractions G D calculateTSC2bedvector1 2 M solver computation of concentration in bed cell including sediment fractions and limiters calculateTSC2bedgradient1 2 C C gt computation of changes in the bed grain size distribution calculateTSC2bedgrain continuity control code F 68 2 gt bedchange computeTSC2bedchange continuity control code sand slide algorithm F 56 calculateTSC2sandslide continuity control code and print out calculateTSC2continuity1 K calculateTSC2continuity2 end print out 191 Flowchart water flow function
162. ime step is given Then four floats are read This is the upstream and downstream water discharge and upstream and downstream water level respectively If a negative value is given the program will try to cal culate the value The last float s are sediment concentration s for the various sediment sizes These are only read if the transient sediment calculation is used Note that the time steps does not have to correspond to the time steps of the program The sum of the calculated time steps is calculated by the program and compared with the time step in the file If the calculated time exceeds the time from the file the values from this data line will be used The times must be in increasing order 123 An example of a timeo file corresponding to the above timei file SSIIM 1 is given below 0 0000e 00 2 0000e 00 8 804354e 01 6 837692e 04 1 853305e 01 1 950000e 01 1 792479e 01 4 0000e 00 9 185002e 01 7 081983e 04 3 949717e 01 1 950000e 01 1 792458e 0 6 0000e 00 1 100297e 00 1 121773e 03 5 289925e 01 1 950000e 01 1 792421e 01 8 0000e 00 1 156041e 00 1 389383e 03 8 122703e 01 1 950000e 01 1 792374e 01 1 0000e 01 1 207883e 00 1 614782e 03 9 418469e 01 1 950000e 01 1 792317e 01 Each line corresponds to a time step A time step of 2 seconds have been used The first float is the calculated time The second float is the velocity in cell 2 2 2 Then the sum of the con centrations in cell 2 2 2 is written Then the pressure and the vertical g
163. integer five floats are read The first float is the light trans missivity The second third and fourth float are coefficients cl c2 and c3 in the formula for algae density The fifth float is the half saturation irradiance for maximum rate of density increase This is also used in the density formula Note that the convection diffusion equation is not solved for the algae density but from a user point of view this variable is similar to other variables Example Q 151 12 1 0 2 0 3 0 4 05 0 Algal density is in variable no 1 and algae concentration is in variable no 2 The light transmissivity is 1 0 and the coefficients in the density equations are c 2 0 c2 3 0 c3 4 0 The half saturation irradiance coefficient is 5 0 Note that these numbers are arbitrarily chosen and may be unphysical Also note that if a Q 151 data set is present in the control file and the timei file is read for time dependent calculations an extra float is read as the last number of each line The float is the irradiance SSIIM 2 only Special data set to calculate algal density for cyanobacteria The second number is an integer which is an index for the variable number which is the algae con centration The algae concentration is used when calculating the light transmission After the second integer five floats are read The first float is the light transmissivity The second third and fourth float are coefficients c1 c2 and c3 in the formula for alg
164. integer is between 1 and 4 an interres file is written If the value on the F 48 data set is 4 the bed levels will be written to the interres file If 2 the velocities k and epsilon will be written to the file If 3 then water quality parameters will be written Default 0 See Chapter 4 12 for more details If the integer is 8 a file named tecplot dat will be written This file contains the coordi nates the velocities pressure k and epsilon for each cell The file can be imported into the Tecplot program If the integer is 5 the habitat file will be written SSIIM 1 only If the integer is 19 a time will also be read from the interpol file The print out to the interres file will then only happen at this time If the integer is 9 a 2D plan view Tecplot file will be written If the integer is 20 a file called sumforce is writ ten The file contains the pressure forces at the upstream and downstream boundary together with bed shear forces in a longitudinal profile SSIIM 2 only If the integer is 5 the water velocities in the surface cell is written to the interres file If the integer is 14 the value of the average velocity times the depth is written to the interres file If the integer is 10 a three dimensional ParaView file is written If the integer is 12 a two dimensional ParaView file is written from the cross section defined in the interpol file with the water velocities normal to the surface Number of water quality co
165. istance for interpreting the results 5 2 Starting up overview of steps The SSIIM programs are made up of a number of sub modules that reads files makes grids calculates unknown parameters write result files etc Some of the modules are started auto matically and some need to be started by the user The user has two options on how to start the modules 1 Use the menu in the graphics user interface 2 Specify which modules are to be run in an input file Option 1 is described in Chapter 3 and it is fairly self explanatory Option 2 requires that a file called control exist in the directory the program is run from and that this file contains a data set called F 2 This data set contains a number of capital letters For each letter a sub module of SSIIM is started See Chapter 4 3 for more details Some of the SSIIM versions do not have a user interface Then option 2 is the only option to start sub modules of the program 1 Making reading the grid When the program is started it automatically searches for the a file called control If the file is found it will use the data from this file What happens afterwards is different in SSIIM 1 and SSIIM 2 SSIIM 1 will automatically look for the koordina file which contains the grid If it is not found a dialog box will emerge and the user will be guided into making this file The same thing happens if the control file is not found The tutorials shows how this process is done
166. ities may result An algorithm to avoid the problem can invoked by F 104 data set The number given on the data set is added to the a term for the cells that have The accuracy of the computation is often a function of the number of grid cells For the verti cal direction this can be controlled by the F 87 data set It is recommended to change the grid resolution to see how this affects the results 164 Another empirical parameter is the minimum grid cell size This is given on the F 94 data set Experience from the Kali Gandaki reservoir flushing case showed that values of 1 cm worked well The horizontal sizes of the grid cells were 10 30 cm and the water depth was around 5 cm for this case 5 14 Nested grids Nested grids are used for resolving finer scale problems in some part of the geometry The nested grids can only be used in SSIIM 2 They are generated using the Grid Editor Several nested grids can be used The numbering of the grids are important and must be kept in mind when giving information later in the control file The first grid generated is numbered 1 second 2 etc whether they are nested or not When making a system with nested grids some decisions have to be made regarding the order of solving equations for the different grid parts and which equations to solve The specifica tion of which grid is to have its water flow computed is determined on the G 25 data set This data set reads a number of integers The numb
167. ity The second float is a relaxation factor for the porosity computation The second and third parameters are roughness values used in the porosity computation The last number the integer is an index giving which algorithm to use for the compu tation of the diameter in the equation Default F 25 0 35 2 0 0 5 0 8 5 Fraction of compacted sediments in bed deposits Or 1 0 water content of sediments at bed Default F 260 5 50 water Transient water flow parameters A float and an integer is read The float is the time step The integer is the number of inner iterations for each iteration Transient terms will be included in the equations if this data set is present Computation of the vertical elevation of the water surface An integer is read If it is 2 the water surface will be updated based on the computed pressure field The cell given on the G 6 data set will be kept fixed as a reference level For SSIIM 1 If the integer is 1 the gravity will be included in the solution of the Navier Stokes equations and the water level will be computed based on the computed water deficit surplus in the cells close to the water surface This algorithm is very unstable and a very short time step needs to be used The algorithm is only used when computing coefficient of discharge for a spillway or flood waves with steep fronts For SSIIM 2 More algorithms can be used F 36 3 the initial water surface is moved up down equally in all ce
168. k UVW SSIIM 1 only Source terms for the velocity equations Six integers and two floats il i2 j j2 kl k2 source relax The first six integers are indexes for the cells that are influenced by the source term The source variable is the form factor times a diameter of a cylinder in the cell times how many stems there are in one cell The relaxation variable is recommended set between 1 0 and 2 0 Outblocking option that is used when a region of the geometry is blocked out by a solid object An integer is read first which determines which sides the wall laws will be applied on The following options are possible 0 No wall laws are specified 1 Wall laws are used on the sides of the block 2 Wall laws are used on the sides and the top of the block 3 Wall laws are used on the sides the top and the bottom of the block Six integers are then read i1 i2 j1 j2 k1 k2 These integers define the cells of the block The two first integers are the first and the last cell in the i direction The next two inte gers are the first and the last cell in the j direction The last two integers are the first and the last cell in the vertical direction When making blocks note that there must be at least two free cells not blocked out between each block or to the wall It is recommended to use more free cells than two 88 G 14 G 16 G 18 G 19 to resolve the flow pattern between the blocks Up to 49 G 13 data sets can be used For SSIIM
169. l and error run to get the second parameter right SSIIM 2 only Data set for calculating water surface elevation with an adaptive grid 92 Four integers and two floats are read iSurf jSurf kSurf kSurf2 RelaxSurface ConvSurface The data set is identical with the G 6 data set except that four integers are read instead of three The fourth integer kSurf2 is the number of the discharge group that has the cell number in the second integer jSurf If jSurf2 is non zero the water level over the whole cross section of the discharge group is changed simultaneously and in a horizontal line instead of being lowered at one point 4 3 3 The I data set SSIIM 1 only Inflow of sediments at the upstream cross section An integer is read first giving the number of the size fraction Then the sediment inflow in kg s is given Example J 1 3 2 124 8 There is 3 2 kg s sediment inflow of size 1 and 4 8 kg s of size 2 Note that this data set only applies for the upstream cross section If sediments flow into another surface the G 20 data set can be used 4 3 4 The K data sets K1 K2 K3 Number of iterations for flow procedure and number that determines the minimum iterations between updates of water surface Two integers Default K 7 40000 50000 Two integers that indicate if laws of the wall are being used for the water flow compu tation If 0 wall laws are used and if 1 zero gradients are used The first integer ap
170. l at the start of the computation is below the highest water level Then a koordina file is made with the initial water level often using a spreadsheet to modify the koordina t file The F 1 2 1 data set is used when reading the unstruc file This causes the original unstruc file to be read first then the koordina file with the lower water level is read and then the grid is regenerated to the low ered water level IMPORTANT The unstruc file must not be written after this procedure when the water level has been lowered Only the original unstruc file must be used in the fol lowing work Otherwise no geometrical information will be stored for the dry areas causing problems later 3 3 3 Digitizing maps SSIIM 2 for Windows only It is possible to use SSIIM 2 for Windows to digitize maps to generate the geodata file A dig itizing table have to be used and the drivers have to be installed properly The digitizing table mouse will then show a cursor moving along the screen SSIIM uses the location of this mouse to generate coordinates The Grid Editor in SSIIM is used First SSIIM is started and the window maximized Then 37 the tablet mouse is moved so that the cursor is in the lower left corner of the inside of the SSIIM window A pencil is used to mark this point on the tablet This point is called A Then the tablet mouse is moved so that the screen cursor is at the upper left corner of the inside of the SSIIM window This is point B
171. l be no damping A value of 1 0 will dampen the movement to half the non damp ened value A value of 0 0 will dampen the movement completely so no movement will take place at the wall f3 Parameter to dampen the water movement at obstructions The numbers are the same as for parameter f2 J4 When the water level moves in a time step the water surface will get a vertical velocity W An algorithm is used where the velocity in the top cell w is affected by W using the following formula w f4 W 1 f4 w f5 Parameter for including the acceleration of the water movement in the vertical component of the Navier Stokes equation If it is 1 0 the full acceleration term is included If the parameter is zero the acceleration term is not included A value between 0 0 and 1 0 will take the term into account multiplied with the parameter fo A factor for smoothing the water levels If it is zero no smoothing will be used A higher positive value will give more smoothing Number of iterations in the Gauss Seidel procedure This is an integer which will affect the convergence and speed of the program A lower value will increase the number of iterations pr time while slowing the relative convergence pr iteration For some cases a lower value has given decreased computational time Note that if the TDMA solver K 10 data set is used then the F 59 data set will have no effect Default 10 Correction of van Rijn s formula for distanc
172. l simulation of solute transport in a meandering channel XXX IAHR Congress Thessaloniki Greece Wilson C A M E Stoesser T Olsen N R B and Bates P D 2003 Application and Vali dation of Numerical Codes in the Prediction of Compound Channel Flows Proceedings of ICE Water Maritime and Energy 153 pp 117 128 Wilson C A M E Boxall J B Guymer I and Olsen N R B 2003 Validation of a 3D numerical code in the simulation of pseudo natural meandering flows ASCE Journal of Hydraulic Engineering Vol 129 No 10 October Wilson C A M E Yagci O Olsen N R B and Rauch H P 2004 3D numerical model ling of vegetated compound channel flows 6th International Conference on Hydroinformat ics Singapore Wilson C A M E Stoesser T and Olsen N R B 2004 Validation of a 3D Computa tional Dynamics Code in the Simulation of Meandering Compound Channel Flows The Sixth International Conference on Hydroscience and Engineering Brisbane Australia Wilson C A M E Yagci O Rauch H P and Olsen N R B 2006 3D numerical mod elling of a willow vegetated river floodplain system Journal of Hydrology Vol 327 July 2006 pp 13 21 Wilson C A M E Guymer I Boxall J B and Olsen N R B 2007 Three dimensional numerical simulation of solute transport in a meandering self formed river channel Journal of Hydraulic Research October Wormleaton P R and Ewunetu M 200
173. law scheme or the second order upwind scheme The SIMPLE method is used for the pressure coupling An implicit solver is used producing the velocity field in the geometry The velocities are used when solving the convection diffusion equations for different sediment sizes This gives trap efficiency and sediment deposition pattern The model includes several utilities facilitating the creation of input data Some data can be given in dialog boxes There is also an interactive graphical grid editor with elliptic and trans finite interpolation together with a discharge editor Grid can be generated on the basis of measured geometry data The user interface of the program can present velocity vectors and scaler variables in a two dimensional view of the three dimensional grid in plan view a cross section or a longitudinal profile It is possible to export results to programs as Tecplot or ParaView for post processing New users are recommended to read Chapter 5 1 which gives more details and advice It is also recommended to try the tutorials described in Chapter 5 1 5 A guide to the different SSHM versions There are two main versions of SSITM SSIIM 1 and SSITM 2 SSIIM 1 uses a structured grid and SSIIM 2 uses an unstructured grid Each of the programs is divided in two modules A user interface and numerical algorithms There are SSIIM version both with and without the user interface Since the user interface is made in Windows versions runni
174. le is written when the pre scribed number of iterations have been calculated or when the solution has converged The results are velocities in three dimensions k pressure and the fluxes on all the walls of the cells The data from this file is used as input for the sediment flow calculations This file can also be read when the user wants to start the water flow calculations from where the result file was last written hot start 116 An example of a result file for SSIIM 1 Results from SSUM flow iter 12910 Residuals 0 000732 0 000588 0 000002 0 000003 0 001000 0 000000 Roughness 0 050000 C549 11 ijk uvweke fl f2 fp D 1 1 10 00000000e 00 0 00000000e 00 0 00000000e 00 0 00000000e 00 0 00000000e 00 0 00000000e 00 0 00000000e 00 0 00000000e 00 0 00000000e 00 D 1 1 20 00000000e 00 0 00000000e 00 0 00000000e 00 0 00000000e 00 0 00000000e 00 0 00000000e 00 0 00000000e 00 0 00000000e 00 0 00000000e 00 D 1 1 30 00000000e 00 0 00000000e 00 0 00000000e 00 0 00000000e 00 0 00000000e 00 0 00000000e 00 0 00000000e 00 0 00000000e 00 0 00000000e 00 D 2 4 76 31143968e 01 2 02894592e 01 6 80367016e 05 6 47305125e 03 3 85539263e 04 3 47858729e 03 5 19507052e 02 1 39776552e 03 1 91355310e 02 D 2 4 86 38189711le O1 2 051985 14e 01 2 09522025e 04 6 4072745 1e 03 3 13804122e 04 3 54203761e 03 5 25291012e 02 1 09548199e 03 1 91350056e 02 D 2 4 96 42687814e 01 2 06670571e 01 3 70305526e 04 6 37079494e 03 2 71714390e 04 3 5842195
175. lix Hermann Beate Kohler Faruk Bhuiyan Philip Soar Georg Premstaller Michael Tritthart Dania Huggins Juan Carlos Atoche Ricardo Mantilla Nils Riither Ingerid Pegg Oral Yagci Sandor Baranya Nasib Man Pradan Jagadishwar Man Singh Asta Gurandsrud Jerome Molliex Morten Stickler J rn Wildhagen Rami Malki Aravind Kumar Agrawal Juan Martin Viscardi Robert Feurich Nadine Kilsby Hans Bihs Peggy Zinke Zafer Defne Desislava Balzhieva Dejana Djordjevic Annette Schulte Rentrop Clemens Dorfmann Mostafa Jalali Ursula Stephan Christine Sindelar Christoph Ortner Gudrun Hillebrand Stefan Haun Lisa Emilie Hoven Marc Roberts Irina Klassen Gabriele Harb Laura Nardi Sigurd L vfall and Christian Svensson Also thanks to Richard Hibbert David Seed Richard May Luca Barone Isabelle Lavedrine Norbert Jamot and Fabio Spalivi ero at HR Wallingford Ltd U K for their input and evaluation reports on SSIIM Special thanks to Prof Wolfgang Rodi Prof Gerhard Jirka Prof Roger Falconer Thorsten St sser Catherine Wilson Jan Wissink Dominic von Terzi Manuel Garcia Villalba and Clemens Braun for advice on numerical algorithms and other assistance for the work during my sabbat ical stays in Cardiff and Karlsruhe 2005 2006 Trondheim 5 November 2011 Nils Reidar Bge Olsen Table of content Foreword iaeoa buen ae oo ened Ree as oe aa a eae we 2 Table OF contents encer iae e deaa a E ey hoe aka eee ee eee 5 Chaptert 1 Introd
176. lls according to downstream changes in water surface specified in the 57 F 37 F 38 F 40 F 41 F 42 F 47 F 48 timei file F 36 4 the water surface elevation is computed solving a partial differential equation for the local slope as a function of the pressure gradients to the four neigh bour cells F 36 8 Same as F 36 4 but the eight closest neighbour cells are used The algorithm invoked by F 36 7 is described by Olsen and Haun 2010 Note that some variations of this algorithm are invoked by the F 278 data set An algorithm with gravity has also been developed for SSIIM 2 It is improved from the algorithm in SSIIM 1 and it seems much more stable The algorithm is invoked by F 36 15 One of the example cases on the SSIIM web page uses this option Default F 36 0 Transient sediment computation An integer is read If this is 1 the transient sediment computation TSC algorithms will be used This option is always used when doing time dependent computations of sediment transport and always when computing changes in bed levels If the integer is 2 then a different algorithm is used for the bed cells where the sediment concentration formula is converted into an entrainment rate This can give slightly smaller bed movements where the bed sediment concentration is not in equilibrium Default F 37 0 SSIIM 2 only If the integer is 3 then an algorithm is invoked where more than two bed layers can be used active ina
177. lluvial Bed ASCE Journal of Hydraulic Engineering Vol 108 No 10 van Rijn L C 1987 Mathematical modeling of morphological processes in the case of sus pended sediment transport Ph D Thesis Delft University of Technology Rodi W 1980 Turbulence models and their application in hydraulics IAHR State of the art paper Rouse H 1937 Modern Conceptions of the Mechanics of Fluid Turbulence Transactions 181 ASCE Vol 102 Paper No 1965 Ruether N and Olsen N R B 2003 CFD modeling of meandering river evolution XXX IAHR Congress Thessaloniki Greece Ruether N and Olsen N R B 2003 CFD modeling of alluvial channel instabilities 3rd IAHR Symposium on River Coastal and Estuarine Morphodynamics Barcelona Spain Ruether N and Olsen N R B 2004 Three dimensional modeling of sediment transport in a channel bend Second International Conference on Fluvial Hydraulics Naples Italy Ruether N Singh J M Olsen N R B and Atkinson E 2005 Three dimensional model ling of sediment transport at water intakes Proceedings of the Institution of Civil Engineers UK Water Management Vol 158 March pp 1 7 Ruether N and Olsen N R B 2005 Three dimensional modeling of sediment transport in a narrow 90 channel bend ASCE Journal of Hydraulic Engineering October Ruether N and Olsen N R B 2005 Advances in 3D modeling of free forming meander formation from initial
178. logical reactions The source sink negative source terms in the equations have been modelled in a number of different ways by various researchers and computer programs A goal in the implementation of water quality in SSIIM was to give the user a flexibility on how to model each term The user must therefore not only specify various reaction constants but also specify each term in the source equation This involves some more work than other models when making the input files but it gives better flexibility for the user to make new terms and models for the various situations The user first have to decide how many constituents are to be simulated The user have to number each variable from 0 to as many variables as is used Presently the maximum number of variables are 20 The number of variables have to be given on the F 50 data set The names of each variable is given in the control file on the Q 0 data set Note that only lower case letters have to be used and a maximum of 40 characters For each equation the user have to specify the source terms in the equations This is done on the Q data set in the control file There are a number of various Q data sets from Q 1 Q 2 etc The various data sets are described in Chapter 4 3 9 Each data set gives a number of integers and floats The first integer is always the index for the equation The temperature is defined as a water quality constituent If the temperature influence on the water flow is
179. ly straight alluvial channels 31st IAHR Congress Seoul Korea Ruether N Olsen N R B 2006 Towards the prediction of free forming meander formation using 3D computational fluid dynamics Flow Simulation in Hydraulic Engineering Dres den Germany 9 11 March 2006 Ruether N Olsen N R B 2006 3D modeling of transient bed deformation in a sine gener ated laboratory channel with two different width to depth ratios Third International Confer ence on Fluvial Hydraulics River Flow 2006 Lisbon Portugal Ruether N and Olsen N R B 2007 Modelling free forming meander evolution in a labo ratory channel using three dimensional computational fluid dynamics Geomorphology No 89 pp 308 319 Rueter N Olsen N R B and Eilertsen R 2008 3D modeling of flow and sediment trans port over natural dunes RiverFlow 2008 International Conference on Fluvial Hydraulics Cesme Izmir Turkey Vol 2 pp 1479 1485 Riither N Jacobsen J Olsen N R B and Vatne G 2010 Prediction of the three dimen sional flow field and bed shear stresses in a regulated river in Mid Norway Hydrology Research Vol 41 No 2 pp 145 152 Schlichting H 1979 Boundary layer theory McGraw Hill Seed D 1997 River training and channel protection Validation of a 3D numerical model Report SR 480 HR Wallingford UK Sintic A 1996 Numerical models for dam break flood routing MS Thesis Institute of 182
180. m the k e model is multiplied with a factor taking into account the velocity and concentration gradients Rodi 1980 a 2p OZ Vp Vpoll ae 2 1 12 Ca The eddy viscosity is denoted v b is a constant equal to 10 p is the density of the water sed iment mixture U is the velocity z is the geometrical variable in the vertical direction g is the acceleration of gravity and a is a constant equal to 0 5 Note that the same formula is used to change the turbulent diffusivity when calculating other parameters than the water velocity The constants a and b then gets the values 1 5 and 3 33 respectively The user can specify different parameters on the F 82 data set in the control file Wall laws The velocity gradient towards the wall is often very steep If it is to be resolved in the grid this will require too many grid cells Instead wall laws are used This means that it is assumed that the velocity profile follows a certain empirical function called a wall law The equations we want to solve both the Navier Stokes equations and the turbulence equations have certain discretized source terms in the main computational domain For the cells close to the wall where the wall laws are applied the wall laws are used to derive analytical expressions for the source terms These analytical expressions are used instead of the normal source terms For example when computing the velocities the wall law is used to calculate the shea
181. main grid A similar routine is also used on the pressure cor rection gradients in the SIMPLE method if the integer is 10 Default F 1 4 0 algorithms not used VEGDLL parameter An integer is read If it is 1 the algorithms in the vegdll dll file to compute the effect of plants large stones on the water flow are used instead of the default algorithms SSIIM 2 only TFSDLL parameter An integer is read If it is 1 or 2 the free surface algorithms in the sfdifdll dll file are used instead of the default algorithms If 1 an implicit procedure is used to find the water surface If the integer is 2 an explicit pro cedure is used IODLL parameter An integer is read If it is above zero the free output algorithms in the io dil dil file are used instead of the default algorithms This DLL is not yet imple mented COFDLL parameter An integer is read If it is above zero the discretization algo rithms for the convective terms given in the cofdll dil file are used instead of the default algorithms This DLL is not yet implemented PRESDLL parameter An integer is read If it is above zero the pressure gradient algo rithms in the presdll dll file are used instead of the default algorithms This DLL is not yet implemented WALLSDLL parameter An integer is read If it is above zero the wall laws in the walldll dll file are used instead of the default algorithms This DLL is not yet imple mented TURBDLL parameter An integer is read
182. mber The following four integers specifies the surface area Example G2118329221 G211832926 The two data sets specifies two cross sectional surfaces located at node i 83 Both surfaces covers j 2 to j 9 but the first surface is from k 2 to k 21 while the second surface is from k 2 to k 6 The effect of the data sets is that an extra line is written to the boogie file for each data set The example above gives the following print out in the boogie file The bold text is specific for the G 2 data sets Trap efficiency after 49 iter all values in kg s l 1 Trapped 0 0510563 Fluxes 11 12 J1 J2 1 0 948 0 O Resid 0 0008 Flux 1 0 948952 Flux 2 0 881389 The numbering of the surfaces follows the grid lines which is different from the num bering of the cells If the water is flowing in a direction of decreasing grid cell num bers then the sediment flux will be equal to the concentration in a cell multiplied with the water flux in the cell side with the cell number minus one To take this into account the user can specify a negative sign for the integer indicating the direction For example 1 instead of 1 for a cross section where the water is flowing into the geometry at the last cross section or out of the geometry at the first cross section Up to 20 G 2 data sets can be used SSIIM 1 only Data set to model scour around submerged structures If this data set is not used the position of the grid intersection will m
183. mbers do not emerge The critical Froude number is given on the float Default 0 0 meaning the algorithm is not used Note that this algorithm may introduce unphysical water levels with corresponding instabilities SSIIM 1 only Special solver for grids with fairly large porous areas A float and an integer are read The float is a porosity limit for when the algorithm is used The inte ger is the number of iterations in the algorithm This algorithm is not fully imple mented yet SSIIM 2 only Number of bed layers This is used in an algorithm using several sedi ment layers under the bed The purpose is to compute for example sediment composi tion in a delta This algorithm is not fully implemented yet SSIIM 2 only Maximum pressure gradient A float is read This algorithm has not been successful SSIIM 2 only QNgrid algorithm The algorithm generates hexaheadral cells with more than six neighbours The algorithm is not implemented yet SSIIM 2 only Minimum value of the turbulent kinetic energy A float is read Default 10 SSIIM 2 only Minimum value of u in the wall laws for the velocity and turbulent kinetic energy default 1 0 SSIIM 2 only A limiter for epsilon A float is read This is the maximum value epsi 70 F 142 F 143 F 144 F 145 F 146 F 147 F 148 F 149 lon will get Default 100 0 Minimum value for epsilon is hard coded to 1016 SSIIM 1 only Convergence criteria for update o
184. me of 0 1 kg 2 65 kg l 0 03777 litres The 3 m s will take up a volume of 3000 litres The volume fraction will then be 0 03777 litres 3000 litres 1 25x10 The concentration value in the timei file should be 1 25e 5 or 0 0000125 The next question is how much volume on the bed does a given amount of sediment take up The default sediment packing on the bed for SSIIM is 0 5 meaning that 50 is sediment par ticles and 50 is water This can be changed on the F 26 data set One cubic meter of sedi 137 ments on the bed therefore contains 0 5 m sediments This will have a dry mass of 0 5 m x 2650 kg m 1320 kg Of course if the mass is wet then the 500 kg of water must also be added giving 1820 kg 6 How do I specify an initial grain size distribution on the bed in SSIIM 2 This is done most effectively with the fracres file The file gives the layer thickness and grain size distribution of each bed cell The values for each cell is given on one line The line starts with two integers giving the 2D indexes for the cell An indication about the index for each cell can be seen in the grid editor or the discharge editor by choosing View gt legend in the menu This will give the index for the grid intersections The corresponding cell will be in the direction of lower index values After the two indexes then 2 x 1 n floats are read where n is the number of sediment fractions First the thickness of the active to
185. mically modelling the spatial variation in chlorophyll a concentration in a remotely sensed image of Loch Leven 24th Annual Conference of the Remote Sensing Society Greenwich UK Hedger R D Olsen N R B George D G Atkinson P M Malthus T J 1999 Dynamic modelling of the spatio temporal distribution of phytoplankton in a small productive lake 4th International Conference on GeoComputation Fredericksberg USA Hedger R D Olsen N R B Malthus T J Atkinson P M 1999 The analysis of water quality spatial distributions in lakes by the integration of computational fluid dynamics with remote sensing 25th Annual Conference of the Remote Sensing Society Cardiff UK Hedger R D Olsen N R B Malthus T J Atkinson P M 2002 Coupling remote sensing with computational fluid dynamics modelling to estimate lake chlorophyll a concentration Remote Sensing of Environment Vol 79 No 1 pp 116 122 Hedger R D Olsen NRB George DG Malthus TJ Atkinson PM 2004 Modelling spatial distributions of Ceratium hirundnella and Microcystis spp in a small productive British lake Hydrobiologia 528 1 3 pp 217 227 Oct Hillebrand G and Olsen N R B 2010 Hydraulic characteristics of the open annular flume experiment and numerical simulation 1st Conference of the European section of the IAHR Edinburgh Scotland 176 Hoven L E 2010 Three dimensional numerical modelling of sedimens in w
186. mponent reducing the light does not have to be an algae It is also pos sible to specify for example an inorganic sediment 4 3 11 The S data set The S data sets gives the size and fall velocity of the sediments An integer is first read indi cating the size group Then the diameter in meters are given and then the fall velocity in m s Example S 0 001 0 06 Sediment size 1 has a diameter of 1 mm and a fall velocity of 6 cm s Note that the coarsest sediment size should be number 1 and then the finer sizes should follow with the finest size having the highest index 4 3 12 The T data set T Title field The following 30 characters are used in the graphics 4 3 13 The W data sets W1 Stricklers number discharge and downstream water level This data set must be 105 present in the file The parameters given here are used to generate the water level for the calculations using a standard backwater calculation Default values for SSIIM 2 W 1 50 0 1 0 1 0 Note that the Strickler value M is 1 0 n where n is the Manning s number Integers identifying which cross sections are used in the initial backwater water sur face computation First an integer is read giving the number of cross sections Then the number of each cross section is given For example if the grid has 20 cross sections and three sections are used the first number 1 the last number 20 and one in the middle number 10 the following data set is given
187. mputation This will of course give a completely wrong result Case e and f A time dependent computation of water and sediment transport require more data sets in the control file First the same data sets describing the sediments as given for case b must be included Also a time step has to be given on the F 33 data set Then the F 37 data set has to be used typically with an integer 1 If a free water surface is to be computed the F 36 data set also has to be used with the integer 2 The computation itself is invoked by the letter S on the F 2 data set The F 2 data set might therefore be F 2 RIS or F 2 URIS Starting with a previ ously computed flow field is optional and so is the initialization of the sediment concentra tions The data set might therefore be F 2 S or F 2 US Any variation over time of the water level water discharge or sediment inflow must be given in the timei file Case g and h Cases with wetting and drying are the most complicated and can only be computed with SSIIM 2 The main principle is to make a grid with SSIIM 2 that covers all areas both wetted and dry This grid is then stored in the unstruc file which is used at startup of the computa tions This file must not be overwritten later when the grid shrinks The file will contain information about the bed levels in areas that can dry up and later become wetted If the water level is to be changed during the computation the reference cell number on the
188. n E 1967 A monograph on sediment transport in alluvial streams Teknisk Forlag Copenhagen Denmark Feurich R and Olsen N R B 2010 Computation of bed deformation in an S shaped chan 175 nel using 3D numerical simulation 1st Conference of the European section of the IAHR Edinburgh Scotland Feurich R and Olsen N R B 2011 Three Dimensional Modeling of Nonuniform Sedi ment Transport in an S shaped Channel Journal of Hydraulic Engineering 137 493 2011 doi 10 1061 ASCE HY 1943 7900 0000321 Fischer Antze T St sser T Bates P and Olsen N R B 2001 3D numerical modelling of open channel flow with submerged vegetation IAHR Journal of Hydraulic Research No 3 Fischer Antze T Gutknecht D and Olsen N R B 2004 3D numerical modelling of morphological bed changes in the Danube river Second International Conference on Fluvial Hydraulics Naples Italy Fischer Antze T Olsen N R B and Gutknecht D 2008 Three dimensional CFD modeling of morphological bed changes in the Danube River Water Resources Research 44 W09422 doi 10 1029 2007W RO006402 Fischer Antze T Ruether N Olsen N R B and Gutknecht D 2009 3D modeling of non uniform sediment transport in a channel bend with unsteady flow Journal of Hydraulic Engineering and Research Vol 47 No 5 pp 670 675 Hedger R D Olsen N R B Malthus T J Atkinson P M George D G 1998 Dyna
189. n Scour and Erosion Tokyo Japan Bihs H and Olsen N R B 2010 Numerical investigations of local scour around a trape zoidal abutment using the finite volume method 1st Conference of the European section of the IAHR Edinburgh Scotland Bindloss M 1976 The light climate of Loch Leven a shallow Scottish lake in relation to primary production of phytoplankton Freshwater Biology No 6 Booker D J Dunbar M J and Ibbotson A 2004 Predicting juvenile salmonid drift feed ing habitat quality using a three dimensional hydraulic bioenergetic model Ecological Mod elling 177 1 2 pp 157 177 174 Booker D J 2003 Hydraulic modelling of fish habitat in urban rivers during high flows Hydrological Processes 17 3 pp 577 599 Booker D J Sear D A and Payne A J 2001 Modelling three dimensional flow structures and patterns of boundary shear stress in a natural pool riffle sequence Earth Surface Proc esses and Landforms Vol 26 No 5 May page 553 576 Booker D J 2000 Modelling and monitoring sediment transport in pool riffle sequences PhD thesis Department of Geography University of Southampton UK Bowles C Daffern C D and Ashforth Frost S 1998 The Independent Validation of SSIIM a 3D Numerical Model HY DROINFORMATICS 98 Copenhagen Denmark Brooks H N 1963 discussion of Boundary Shear Stresses in Curved Trapezoidal Chan nels by A T Ippen and P A D
190. n the vertical direction The float is the roughness value that will be used in generating the logarithmic profiles Note that all inflow profiles will be logarithmic if this data set is used Maximum number of processors used for the parallel versions of SSIIM An integer is read which gives the maximum number of processors If it is above the number of processors available on the computer then the maximum available processors are used The actual number of processors used is written to the boogie file Default F 206 0 parallellized algorithms not used Note this data set will only work on parallel versions of SSIIM SSIIM 1 only Algebraic stress model DLL Two integers are read If the first one is above zero then the algebraic stress model in the stress dll dll file will be used instead of the other turbulence models in SSIIM 1 The second integer is the size of the array 77 sent to the DLL from the main program F 208 SSIIM 1 only Order of the discretization of the time term An integer is read If this is F 209 F 211 F 212 F 218 F 219 1 then a second order backwards scheme is used for the time term Default value 0 meaning a first order backward Euler method is used This data set is usually only used if modelling large eddies URANS SSIIM 2 only Scaling depth for grid generation The default value is the largest depth in the geometry The value is used for deciding how many grid cells there will be over
191. ncluded in the parameter test The size of the grid should also be varied The following parameters can be tested Sediment formulas Use Shields curve for critical shear stress instead of a given Shields parameter default 0 047 F 1 data set Use bed load or suspended load formulas or both F 84 data set 154 Change the parameters in van Rijn s formulas F 6 or F 83 data sets Thickness of active sediment layer F 106 data set Include bed form effects F 90 data set Decrease critical shear stress on sloping beds F 7 B data set Water flow formulas Manning Stricklers friction coefficient W data set or the F 6 data set Numerical algorithms Time step and number of inner iterations F 33 data set First order or second order upwind scheme K 6 data set K 6 J 1 1 00 0 recommended for sec ond order upwind scheme Grid size For the current tutorial regenerate the grid with larger number of cells This will not take much time for the current simple geometry However for more complex geometries it is possible to use the F 7 DJ options 5 9 Examples Example cases with input files can be downloaded from the WWW at one of the addresses http www ntnu no nilsol beta or http www ntnu no nilsol ssiimwin Some of the files are also located in the package containing the OS 2 version of the program ssiim14 zip This can be downloaded at http www ntnu no nilsol cases ssiim ssiim14 zip Some of the examples
192. nes in the stream wise direction respectively SSIIM 1 only Sediment sources This data set is used for inserting sediment into other areas than what is defined on the I data set The data consist of seven integers and a float The first six integers define a surface by giving indexes for streamwise cross streamwise and vertical direction The seventh integer is an index for the sediment size The float is last and it is the sediment con centration Example I G 202101127 10 001 A concentration of 0 001 by volume is given for size 1 The concentration is given on the right side wall of the volume j 1 to 1 repeated indexes The surface area is within the indexes i 2 to 10 and k 2 to 7 Example II G 20 2 10 2 4 12 12 3 0 002 A concentration of 0 001 by volume is given for size 3 The concentration is given on the water surface as there are 11 cells in the vertical direction The surface area is within the indexes 1 2 to 10 and j 2 to 4 Up to 50 G 20 data sets can be used 90 G 21 G 23 SSIIM 1 only This data set is used for determining fluxes through special parts of the geometry As a default the boogie file will only give the fluxes through the four sides of the geometry Additional surfaces can be specified on this dataset Six integers are read The first integer specifies if the surface is a cross section 1 a longitudinal section 2 or a horizontal section 3 The second number specifies the section nu
193. ng natively on Unix are without user interface There are also both 32 bits and 64 bits versions of the Windows versions The main difference is that 32 bits versions can only access 2 GB RAM which means the maximum amount of cells are about 2 million for The 64 bits versions do not have this limitation From a practical point of view the amount of RAM in the computer limits the grid size of the 64 bits versions The programs can also be compiled to run with or without DLL s Dynamic Link Libraries The DLL s are modules where other programmers can code new algorithms and formulas for example a formula for the sediment transport capacity The DLL s only work on Windows so all UNIX versions are compiled without DLL s Structured vs unstructured grids In a structured 3D grid each cell will have three indexes making it easy to identify grid loca tions The location of walls and inflow outflow surfaces are then specified in input files where the grid indexes are included in the data set 10 In an unstructured grid this is not possible as the grid cells only have one index which is almost randomly generated The user then has to specify the inflow and outflow areas by the use of a graphical discharge editor This editor does not exist for the structured grid versions Also the grid editor for the unstructured grid includes the possibility of generating and con necting multiple blocks The structured grid editor only works on one
194. nguage is required After the file is modified it should be saved and then compiled The compilation and making the beddll dll file is done by using Build gt Build beddll dll Possible error messages in the compilation have to be sorted out and the process repeated Finally the beddil dll file is made This is located in the subdirectory Release or Debug according to which of the two options is chosen Debug is default The beddll dll file is then copied to the same directory as the SSIM executable file and input files and the SSZIM program can be run For further details the user is referred to the documentation of Microsoft Visual C 6 3 The BEDDLL file sediment transport functions The sediment transport functions are given in the beddll dll library There are six functions computeShear computeCriticalShear computeBedSlopeCorrection computeBed Concentration computeBedForms computeBedRoughness The names indicate the purpose of the functions A brief description is given below More detailed information about the input parameters are given in the source code The computeShear function computes the shear stress on the bed as a function of the turbu lent kinetic energy close to the bed It is also possible to take into account the effect of the bed forms and the roughness as input parameters The computeCriticalShear function computes the critical shear stress for movement of a sed iment particle The defaul
195. not is determined by the options No Turbulence and Include Turbulence in the menu When the particles hit the boundary there are two options the particles can stick or be reflected This is given by the user in the Boundary choice in the menu 48 The fall velocity of the particles can also be given by the user in the Fall velocity option of the menu Sedimentation can thereby be visualised 49 Chapter 4 Input result files 4 1 The file structure The OS 2 and Windows versions use the same input files and produce the same result files The files can be interchanged between the versions A flowchart describing the various files are given below Note that most of the files are only used for special purposes and they are normally not required Some of the files are output files The program can produce many of the input files For simpler cases all the necessary input files can be generated by the program koosurf lt g gt a control koordina lt lt q pe result SSIIM 1 0 geodata a lq timei koomin a timeo boogie Lag ap compres interpol p interres unstruc lt p gt pe control koordina a a result SSIIM 2 0 geodata a a timei koomin lt g gt timeo boogie la a gt compres interpol gt yp interres
196. nput data and to obtain reasonable results Care must also be taken not to mistype num bers on the Q data sets Initial values The initial values for water quality parameters when the calculation starts is given on the G 41 data set The data set specifies a vertical distribution of a variable Horizontal homogeneity is then assumed for the initial values For the temperature it is also possible to use the G 40 data set instead Adsorption Adsorption is a process where the concentration of a variable sticks to particles The particles are calculated as another variable The effect is that the absorption causes the concentration to decrease as the particles sink and deposit The Q 23 data set is used This process is only implemented in SSIIM 2 and it is not tested Resuspension Resuspension is calculated based on classical sediment transport theory The source in the bed cell is calculated as oc ie a t to 14 where T is the shear stress and a and b are coefficients The shear stress is calculated from the turbulence model wall laws and roughness of the hydrodynamic model Resuspension can be calculated using the Q 2030 data set Note that it is also possible to use a zero order formula for the resuspension with the Q 2001 data set This process using Q data sets is only implemented in SSIIM 2 and it is not tested 18 Pathogens and toxics Pathogen concentrations decrease increase due to the following processes Ch
197. nstituents Default F 50 0 Coriolis parameter Example F 5 0 0001263 lakes in South Norway Wind forces on the surface of the lake Three floats are read The first float is the mag nitude of the wind speed in meters sec 10 meters above the water level The second and third floats are components of the unity vector in the x and y direction Note that the vector sum must be unity Example F 52 4 0 1 0 0 0 Note for time varying wind the values in the timei file overrides the values on this data set Print iterations Four integers are read which gives the interval for when printout to files are done The first integer applies to the residual printout to the boogie file The second integer applies to writing the result file The third integer applies to writing data to the forcelog file The fourth integer applies to when data is written to the timeo file 59 F 54 F 56 F 58 Default F 53 100 100 1 1 This means that for example the result file is written each 100th iteration A float is read which is a limit for the residual during the transient calculation When the maximum residual goes below this value the inner iterations end and a new time step starts This is recommended when doing transient computations Default 107 Sand slide algorithm An integer and a float is read The float is tan angle of repose The integer is the number of iterations the algorithm will go through the whole grid If 200 is chosen a partic
198. nt sizes This data set must be present in the control file The program will read these values and allocate space for the arrays accordingly For SSIIM 2 the unstructured grid will also use structured arrays for connecting the different blocks The blocks will be put beside each other in the cross streamwise direction of the grid The default grid size is 300x300 cells If the grid size is smaller it may be an advantage of using smaller numbers on this data set to reduce the memory requirement If the length of one block number of cross sections is larger than 300 this data set must be changed accordingly If the number of blocks times its widths is larger than 300 this data set must also be changed accordingly The third integer znumber will be the maximum number of grid lines in the vertical direction The last integer number is the number of sediment sizes For SSIIM 1 Vertical distribution of grid cells This is further explained in the figure below where an example is given This data set must be present in the file V 0 6 h G 3 0 0 15 0 40 0 60 0 100 0 0 4 h 0 15 h The values are given as a percentage of the depth only with the grid options F 64 2 and F 64 5 For F 64 0 and F 64 1 the values are level in meters and the longitudinal and lateral grid lines are completely horizontal For SSIIM 2 The same distribution as described for SSIIM 1 is used if F 64 2 and F 64 5 is used in the control file For F 64
199. ntrol file The program then removes dry cells in the startup procedure Transfer of grid from SSIIM 1 to SSIIM 2 alternative B The koosurf file in SSIM 1 is similar to the koordina file in SSIIM 2 Follow the instructions below NAYADNBPWN HE Start the SSIIM 1 program with the existing grid Write the XCYC file from the menu This also writes the koosurf file Make a new directory for the SSIIM 2 input files Copy the SSIM 1 control file to the new directory Copy the koosurf file to the new directory In the new directory rename the koosurf file to koordina Edit the control file in the new directory and note the two first numbers on the G data set i and j on a separete piece of paper Increase 1 and j by 3 and save the control file 187 9 Start SSIIM 2 0 from the new directory 10 Start the Grid Editor 11 Make one block anywhere in the window The size of the block given in the dialog box must equal to the original i and j from point 7 12 Use the Transfinite Interpolation if the grid looks strange Menu option Generate gt Transfinitel 13 Generate the grid Menu option Generate gt 3D Grid 14 If an allocation error occurs increase the cell numbers on the F 65 data set in the control file and start from point 9 again 15 Write the unstruc file 16 End the program 17 Check the boogie file to see if an allocation error had occurred If so increase the cell numbers on the F 65 data se
200. nu Then choose elliptic on the generate menu Again choose Select block in the block menu and select block no 2 Choose boundary on the gener ate menu Then choose elliptic on the generate menu Finally choose select block on the block menu and choose All blocks Then the two blocks are seen connected like Fig D above Then choose Three dimensional on the generate menu This generates the 3D grid The unstruc file can now be written from the file option of the main SSIIM menu Second stage specifying inflow and outflow Start the program and read the previously generated unstruc file Then choose Input Editor gt DischargeEditor The grid seen from above emerges Choose Side Discharge gt Choose Group gt 1 Then Side Discharge gt Give values A dialog box emerges where the water dis charge is specified in m s Give a value of 0 1 for the inflow discharge In the right editfield for the vertical cell to give in 5 Then choose OK Then click on two of the sides of the cells bordering the grid at the left side Once clicked the lines change colour Then choose Side Discharge gt Choose Group gt 2 Then Side Discharge gt Give values In the dialog box click on the nflow button This specifies an outflow of the geometry Give a value of 0 1 for 145 the discharge In the right editfield for the vertical cell to give in 5 Then choose OK Note that it is possible to give up to 10 groups of water inflows and outflo
201. nverge with a completely different flow field It is thought that this problem has a higher risk of occurrence in geometries with expansions and recirculation zones and also if the Sec ond Order Upwind scheme is used instead of the Power Law Scheme Transient sediment computations Over the last years SSIIM has been used for several cases with transient sediment computa tions The bed then changes over time in a geomorphological simulation Some experiences have been obtained given in the following In current SSIM versions the sediment transport boundary condition for the bed is based on van Rijn s formula This formula is developed for fine uniform sediments in a flow with rela tively low water velocity and great depth It is not certain that the formula will produce good results for other cases However it may do so It is important to assess the results by compari sons with laboratory experiments or field data In van Rijn s formula one parameter is the dis tance from the bed In SSUM this is chosen to be half the height of the cell closest to the bed This means it may be possible to obtain different results for the sediment transport depending on the magnitude of the cell closest to the bed It is therefore advisable to include this variable in a parameter sensitivity test An algorithm is included in SSIIM to take into account unusual values of the ratio of a b where a is the distance from the bed and b is the bed form heigh
202. o algae variable integer 3 integer pointing to the other nutrient variable float 1 a regression constant in formula for specific vertical attenuation coefficient float 2 b regression constant in formula for specific vertical attenuation coefficient float 3 cO formula for growth rate k irradiance float 4 cl formula for growth rate k irradiance float 5 kmax maximum growth rate float 6 Ks constant for the nutrient being calculated float 7 Ks constant for the other nutrient float 8 temperature coefficient 102 float 9 fraction of nutrient in algae growth The data set is used for both nitrogen and phosphorous It is similar to Q 281 but the last float is the fraction of the algae growth Q 361 SSITM 2 only Special data set to calculate algae growth in case of two nutrients light limiting the growth integer I integer pointing to algae concentration integer 2 pointer to light irradiance variable integer 3 pointer to phosphorous variable integer 4 pointer to nitrogen variable float 1 cO formula for growth rate k irradiance float 2 cl formula for growth rate k irradiance float 3 kmax maximum growth rate float 4 Ks constant for phosphorous float 5 Ks constant for nitrogen float 6 temperature coefficient Q 371 SSIIM 2 only Special data set for nutrient depletion from algae growth for multiple algae species limiting the light and two nutrients Three integers and seven floats are read
203. ocities where the roughness is higher than the cells Default F 92 0 Algorithm is not invoked SSIIM 2 only Minimum grid corner height and maximum grid corner height for gen eration of one cell Two floats are read The first float is used to prevent very small grid cell heights If the corner grid cell is lower than this value it is set to zero The second float gives the depth of having only one cell in the vertical direction gt 2D cal culation Note that this only works for the F 64 and 13 options Example F 94 0 001 0 01 default 66 F 99 F 100 F 102 F 104 F 105 F 106 F 107 Grid cells under 1 mm will not be generated and all cells under 1 cm will be 2D SSIIM 2 only Integer to determine how often the grid is regenerated for time depend ent sediment flow calculations with moveable bed Default F 99 1 Example F 99 10 The grid will only be regenerated for every 10th time step Some times it is necessary to use F 99 to be able to read the bedres file together with the other files when starting from a previous computation SSIIM 1 only Integer to determine if the second term of the Boussinesq equation is included If the integer is 1 it is included Default F 100 0 SSIIM 2 only Integer to invoke an algorithm to change the shape of the grid cells close to the boundary If the integer is 1 the algorithm is included This algorithm is recommended for wetting drying computations Default
204. of 1995 Ecohydraulics 99 Salt Lake City USA Olsen N R B Hedger R D Heslop S George D G 1999 Computing spatial variation of algae in water supply reservoirs International Conference on Computing and Control for the Water Industry CCWT 99 Exeter UK Olsen N R B and Lysne D K 2000 Numerical modelling of circulation in Lake Speril len Norway Nordic Hydrology Vol 31 No 1 Olsen N R B 2000 Unstructured hexahedral 3D grids for CFD modelling in fluvial geo morphology Hydroinformatics 2000 Iowa USA Olsen N R B 2000 CFD modelling of bed changes during flushing of a reservoir Hydroinformatics 2000 Iowa USA Olsen N R B Hedger R D and George D G 2000 3D Numerical Modelling of Micro cystis Distribution in a Water Reservoir ASCE Journal of Environmental Engineering Vol 126 No 10 October Olsen N R B and Aryal P R 2001 3D CFD modelling of water flow in the sand trap of Khimti Hydropower Plant Nepal Hydropower 2001 Bergen Norway 180 Olsen N R B 2002 Estimating meandering channel evolution using a 3D CFD model Hydroinformatics 2002 Cardiff UK Olsen N R B 2003 3D CFD Modeling of a Self Forming Meandering Channel ASCE Journal of Hydraulic Engineering No 5 May Olsen N R B Pegg I Alfredsen K T Fergus T and Fjeldstad H P 2004 3D CFD modelling of sediment deposition in habitat improvement structures 5th
205. oint mode disappears In the normal mode the user can move all points including the NoMove Points The third option is Delete NoMovePoint This deletes the last point set under the NoMove Point mode The following four options are setting of attraction to certain points or lines in the grid This is used by the elliptic grid generator A dialog box emerges when the choice is made and the user must give two integers which describes the location of the attraction point line Then two attraction parameters are given The Prop att value is proportional to the attraction If nega tive the grid lines are moved away instead of attracted The Sq att value gives an attraction proportional to the grid line difference raised to a power of Sq att This value is used to deter 32 mine how far out in the grid the attraction works Note that a smaller value will give larger attractions Point attraction gives attraction to points and Line attraction gives attraction to lines Up to 200 attraction points can be defined The attraction points can be seen on the grid by coloured rectangles at the grid intersections The last option in the Define menu is Delete last attraction This deletes the last defined attraction Generate The first choice in the pull down menu is Boundary This choice interpolates linearly along the four border lines of the grid Note that the z values are also interpolated This will create a rectangle unless a NoMovePoin
206. ome additional tools and a revised manual It was uploaded on the net 22nd of December 1993 It was also distributed by diskette to selected water institutions in January 1994 Version 1 3 included several bug fixes improved sediment calculation and improved graphics This was uploaded on the net 5th of April 1994 It took a while until version 1 4 was uploaded on the net mainly due to the OpenGL additions This meant that OS 2 version 4 0 had to be used Version 1 4 also included transient calculations of water flow free surface and sediment transport water quality a 2D depth averaged water flow module and improved graphics SSIIM version 1 x uses a structured grid which makes it difficult to model very complex geometries In the summer of 1997 the main modules of SSIM 2 0 was made with an unstructured and nested grid This was tested and enhanced during the following two years of my post doc study in Bristol and Trondheim In the summer fall 1999 both versions of SSIIM were ported to Windows Version 1 was split into three executable The grid editor the OpenGL 3D graphics and the main program SSUM 2 had one executable with the grid editor incorporated and no OpenGL graphics The OpenGL graphics was only supported on Windows NT and omitting it in SSIIM meant that the program could be run on Windows 95 and Windows 98 The main advantages of the Win dows version are more computers can run the program and the Windows version runs roughly twic
207. omputer equipment This together with lack of knowledge of UNIX made it necessary to develop the program on a PC Then a prob lem was the 640 kB limit of DOS The arrays that the program used was often an order of magnitude larger than the DOS limit and the DOS extenders were fairly unreliable at that time Because of the long computational times it was also important to have a multitasking operating system Therefore the operating system OS 2 was chosen Compared to the UNIX of the early 1990s OS 2 was much more user friendly This was a major advantage during the development process giving increased productivity After finishing my dissertation in 1991 I wanted to improve the CFD programs A disadvan tage with the SSII and the SPIDER programs for practical situations was that a structured grid was used and it was only possible to have one block for an outblocked region A natural improvement was a multi block model with general outblocking possibilities This meant con siderable changes in SPIDER Instead a new water flow module for multi block calculation was made This model was added to SSII and the resulting model was called SSIM SSIIM version 1 0 was uploaded on the Internet 17th of June 1993 Version 1 1 had some bug corrections and some improvements in the water flow calculation for multiple blocks Version 1 1 was uploaded on the net 18th of October 1993 In the fall of 1993 version 1 2 was made with an improved user interface s
208. on dampen out the eddies For very large grids over 50 million cells an experience with SSIIM 2 is that a time step is needed initially to stabilize the solution However after some time the decrease in the residu als will be very low A faster convergence has then been achieved if the result file is first writ ten and then the computations are restarted without the time step but by first reading the result file 5 13 Interpretation of results As mentioned earlier it is advisable to have experience in computational fluid dynamics when proper interpretation of the results is required Some guidance is given below An important numerical effect that can deteriorate the results is false diffusion This effect is most noticed for first order schemes including the POW scheme The effect depends on how well the flow velocity vectors are aligned with the grid lines For small alignment angles the effect is small Maximum false diffusion will happen when the grid lines are aligned 45 degrees with the flow The amount of false diffusion also depends on the size of the grid cells There are three methods to decrease the amount of false diffusion 1 Decrease the size of the grid cells increase the number of cells 2 Align the grid with the flow field 3 Use the Second Order Upstream scheme Point 2 may be difficult in a practical situation However the calculations should be carried out using approach 1 and or 3 to assess the effect of false
209. on for creating the program was to simulate the sediment movements in gen eral river channel geometries This has shown to be difficult to do in physical model studies for fine sediments Later the use of the program has been extended to other hydraulic engi neering topics for example spillway modelling head loss in tunnels stage discharge relation ships in rivers turbidity currents and The main strength of SSIIM compared to other CFD program is the capability of modelling sediment transport with moveable bed in a complex geometry This includes multiple sedi ment sizes sorting bed load and suspended load bed forms and effects of sloping beds The latest modules for wetting and drying in the unstructured grid further enables complex geo morphological modelling Over the years SSIIM has also been used for habitat studies in rivers mainly for salmon In the last years free flowing algae has also been modelled as a part of extending the model for use in water quality engineering However the main focus of our research is on sediment transport The program is made for teaching and research purposes It is not as well tested as commercial CFD programs meaning it will have more bugs and be less reliable 1 4 Model overview The SSIIM program solves the Navier Stokes equations with the k e model on a three dimen sional almost general non orthogonal grid A control volume method is used for the discretiza tion together with the power
210. on of the max potential concentration fluxes fall velocity areas grain size distributions sediment thickness etc SSIIM 2 only Two relaxation factors used in the algorithms to reduce instabilities in triangular cells The first floating point is used for the velocities in the cells in the F 235 10 algorithm The second integer is used for the fluxes on the cell surfaces if F 235 is between 8 and 23 Default F 244 0 5 0 8 SSIIM 2 only Algorithms to stabilize the free surface algorithm F 36 7 Three integers and a float are read The algorithm works on the connection between the cell that is to be computed and each of its four or eight neighbours If the first integer is 1 and the water is coming into the cell or the integer is 2 a limiter will be invoked on the water depth in each cell Different types of limiters can be used depending on what the third integer is If the second integer is 1 the a term in the equation is increased if the Froude number is between 0 9 and 1 1 Around supercritical flow the above a term sometimes can be close to zero causing a crash If the second integer is 2 the a term will never be 80 F 249 F 251 F 252 F 256 F 260 F 261 F 264 below 1 0 If the second integer is 3 the a term will be increased if the Froude number is between 0 5 and 1 5 The third integer decides the magnitude and conditions of the depth limiter invoked by the first integer If the integer is above
211. on will be updated but with less frequent intervals than the Windows version In the summer 2007 work was started on parallel versions of the SSIIM programs Implemen tation was done by using OpenMP This enabled the utilization of multi core capabilities of the emerging processors It also enabled the use of the program on high performance clusters with shared memory nodes Future plans for SSIIM includes additions and improvements of the numerical models espe cially with respect to sediment transport applications More DLL modules may also be made Over the last years I have been working on web pages for my research on CFD using SSIM The address of the page is http folk ntnu no nilsol cfd News about applications books SSIIM versions etc will usually be posted there I would like to thank all the people who have provided me with insight into the various prob lems I have encountered in the development of this program I have benefited greatly from the knowledge of Prof Morten Melaaen at Telemark Institute of Technology in the science of computational fluid dynamics In the topics of hydraulics and sedimentation engineering I have learned from Prof Dagfinn Lysne at Division of Hydraulic and Environmental Engineer ing at the Norwegian University of Science and Technology and from Prof Pierre Julien Prof Johannes Gessler Prof Ellen Wohl and Prof Bogusz Bienkjewicz at Colorado State University Torulf Tjomsland and G sta Kjellb
212. only one block and there are no connections between blocks since it is only one block and no nested surfaces since there are no nested blocks In unstruc files generated by older versions of SSIJM 2 the first integer is the number of points in the grid This will always be above 10 Then there will be one less integer on the first line compared with the unstruc file produced by the newest SSIIM 2 versions The newest SSIM 2 version can read both formats and is therefore backwards compatible with old unstruc files Automatic grid changes The default water surface elevation is completely horizontal when starting to make a grid using SSIIM 2 When modelling a river one often would start with a sloping water surface Also one might want to start with a dry bed that can be wetted later The unstruc file must also contain some information about the grid in the dry areas The initial grid of the unstruc file therefore must cover the whole geometry that can be wetted which means a fairly large water surface elevation must be used Starting the computation with a lower water surface is then done by using the F 2 data set If the integer on this data set is set to 1 then the grid is regen erated right after the unstruc file is made Before the regeneration the koordina file is read In the koordina file the water surface elevation can be specified and this can be a sloping sur face The water surface can also be below the bed giving a startup wi
213. ons are given van Rijn s formula Engelund Hansen s formula Ackers White s formula Yang s streampower formula Shen Hung s formula Einstein s bed load formula uns By a Default R It is only recommended to use the R option If a different sediment transport formula is wanted then it should be coded in the beddil Alternatively the Wu formula is invoked by using the F 84 3 option Density of sediments and Shield s coefficient of critical bed shear for movement of a sediment particle Default F 11 2 65 0 047 SSIIM 1 and F 11 2 65 0 047 SSIIM2 If a negative Shield s coefficient is given the program will calculate it according to a parameterization of the original curve Schmidt s coefficient which is a correction factor for deviation between the turbulent diffusivity and the eddy viscosity The factor will affect both the water velocity and the sediment concentration computations Default 1 0 If multiple sediment sizes are to be modelled it is possible to give multiple Schmidt 55 F 15 F 16 F 18 F 20 F 21 F 24 numbers Example for three sizes Example F 12 1 0 1 2 1 3 An integer giving a choice between several algorithms for wall laws The choices are different in SSIIM 1 and SSIIM 2 SSIIM 1 If the value is 1 and there are two walls in a cell only the closest usually the bed will be used If the integer is 0 both walls will be used Note that the 1 option will only work with the k e
214. oosing the points we return to normal mode This is done by choosing Define and Set NoMovePoint again We observe that this mode disappears because the text Point mode 4 disappears x Figure 5 2 The grid seen from above dur ing four stages of the generation from A A to D KECY B pa C Now we want to move the points You can move any of the grid intersections by clicking on the intersection with the mouse and dragging it to another place and then release the mouse button Try this with one of the intersections between the marked points In the following the four marked points are denoted 1 2 3 and 4 starting from left Move point 2 and 3 down mid way into the channel The grid should look like Fig 5 2 B afterwards Then choose Generate from the menu and Boundary from the pull down menu This makes straight lines at the boundary The grid will look like Fig 5 2 C Now you see why we had to make the NoMove Points Then choose Generate from the menu and Elliptic from the pull down menu Do this 140 a couple of times until the grid looks ok Now you have generated an elliptic grid which looks something like Fig 5 2 D To apply the changes from the grid editor choose Generate from the menu and Implement from the pull down m
215. opic turbulent eddy viscosity Two floats are read the horizontal and the vertical eddy viscosity Note that the F 24 data set must have the parameter 6 for this data set to be used Default F 77 1 0 1 0 Bed load vector parameters An integer and a float is read The bed load on a trans verse sloping bed may not move in the direction of the water velocity close to the bed If the integer is 1 an algorithm taking this into account is used Note that this is fairly untested yet especially for SSIIM 2 Number of time steps in the timei file An integer is read Default F 87 200 Parameters to decrease the eddy viscosity as a function of the water density gradients and the Richardson number In the formula the alpha and beta are constants This data set gives the alpha and the beta for the velocity and the temperature other constituents Four floats are read Default F 82 0 5 10 0 1 5 3 33 Coefficients in van Rijn s formula for bed load sediment transport Four floats are read Default F 83 0 053 2 1 0 3 1 5 Flag to indicate the sediment transport formula An integer is read 0 Suspended load formula by van Rijn 1 Bed load formula by van Rijn 2 Both suspended and bed load formulas by van Rjin 3 Wu s formula Default F 84 0 SSIIM 2 only Flag indicating that the computation should not stop if water continuity is not satisfied This is invoked if 1 is given Default F 85 0 SSIIM 2 only Minimum grid corner heig
216. oughness Option 2 uses a two layer model where the middle layer is not used The inner layer is a linear function Option 0 is the function used previously The second integer will use a kappa of 0 4 if the integer is 1 If it is zero it will modify kappa according to the bed concentration using Einstein s formula Default F 15000 This data set is not much tested SSIIM 1 only Parameters for special algorithms for very shallow flows An integer and a float is read The float is the minimum water depth in the grid in meters The default is 3 of the average grid cell length The integer is a choice of combination of different parameters The algorithms are used if the bed level rises above the minimum water depth The following options can be used A A sink term in the Navier Stokes equations are used in the shallow areas B The SIMPLE corrections are not used in the shallow areas C An algorithm setting a to zero in the shallow areas The options for the integer are 0 No special algorithms are used default 1 A A B C PERDI awd Smoothing algorithm for the water surface An integer and a float is read Smoothing is done if the integer is 1 The smoothing is done by taking the average of the four neighbour values and multiplying this with the parameter on the data set Then 1 the parameter is multiplied with the old value and added This gives the new value In SSIIM 1 the averaging is done on the pressure at the water
217. ove vertically as the grid changes This data set fixes one grid surface Five integers are read The first two are indexes for the first and last cross section of the surface The next two are the first and last index of the grid line numbers in the lateral direction The last and fifth integer is an index for the vertical level Example G 23 31 45 1186 Surface number 6 from the bed is fixed in the region between cross sections no 31 and 45 and between the right bank and grid line j 18 91 G 24 G 40 G 41 G 42 G 62 Up to 500 G 23 data sets can be used if there are multiple submerged structures The data set is mostly used in combination with blocking out a region of the flow This is done by using the G 3 data set Data set to determine which variables are written to the Tecplot files First an integer is read giving the number of variables on the data set Then for each variable a char acter and two integers are read The character indicates the name of the variable as detailed in Chapter 4 19 The first integer gives the level above the bed The second integer gives the sediment size For some variables this information is not relevant Integers still have to be given but they are then not used Example G 243ul0p20c12 Initial vertical distribution of temperature An integer n is read which gives the number of points in the profile Then n pairs of floats are read the first float being a vertical level in me
218. p layer is given Then n fractions are read Then the thickness of the inactive layer is given and then n fractions are read for this layer The file can be made by using a spreadsheet Note that the order of the bed cells in the fracres file is not important Also note that the values for the same cell can be given multiple times Then it is only the last value that will be used This feature can be useful when regions of different sediments are to be described Then the whole geometry can be covered in one particle distribution and then the region of different distribution can be given afterwards It is not necessary to remove the originally given values before adding new ones This can be nested as many times as necessary The only limitation is the length of the fracres file which must have less lines than 20 x the number of bed cells If this is a problem it is easy to increase the number and recompile the program After the file is made the user should read it and look at the grain size distribution and the sed iment thickness in the SSIIM graphcs Then possible mistakes can be seen 7 I get problems with generating the grid in SSIIM 2 when wetting drying occurs See Chapter 3 3 2 and Chapter 5 11 5 4 Tutorial 1 Channel contraction SSIIM 1 for Windows This tutorial is meant for first time users of the SSIIM program The tutorial shows the main features of the user interface with the presentation graphics animation and grid e
219. pecsi Reyes A Gea seh eR ba QA hey 111 4 7 The bedrough file SSIIM 1 only 0 00000 112 4 8 The porosity and vegdata files 0 0 0 eee eee eee 113 4 9 The innflow file SSIM 1 only 00 0002 116 4 10 The res lt Tle corrs esene ee ow eee eee Soe a hoe ena Ba 116 4 11 The conres con2res files 0 52 ce tw bes Gee wae ea ee eas 118 4 12 The interpol and interres files 0 0 00 000 119 4 t3 Th everify me siea oe Be a 6 A Nee ati A Atos far Ra Baha ES 120 4 14 The timei and timeo files 2 0 0 0 eee eee eee 121 4 15 The forcelog file SSIM 1 only 0 000000 0 124 4 16 The xcyc and koosurf files SSIIM 1 only 124 4 17 The bedres file SSIM 2 only 0 20 ee eee eee 125 4 18 The babitatfile cys igs chen E A E Gy ead 126 4 19 The Tecplot and Paraview files 0 0 0 0 e ee eee eee 126 420 The fracres file af to BSS Ne Petcare tA hah hd Sulake 8 a 128 4 21 The bedangle file SSIIM 2 only 0000 129 Chapter 5 Advice for using SSIIM 0 0 0 0c eee eee eee 130 5 1 Advice for new users s 54 5 64 Ge sb RADE Ras oe eBay 130 5 2 Starting up overview of stepsi 4 i 44a ieee eae weed 131 5 3 Frequently asked questions 2 ieee eee ee ore ee 135 5 4 Tutorial 1 Channel contraction SSIIM 1 for Windows 138 5 5 Tutorial 2 Sand trap SSM 1 for Windows 141 5 6 Tutorial 3
220. pendent An example can be oscillations behind a cylinder or in an expansion It is possible to obtain a converged steady solution from the model although the physical problem is unsteady Olsen and Melaaen 1993 and 1996 This must be considered when interpreting the results The effects of an unsteady solution compared to the given solution should be assessed if this is probable When an unsteady case is solved with a steady method there can be convergence problems If the relaxation factors have to be fairly low to get the solution to converge this can be an indication that the flow field may be unsteady Another topic of interpretation is the resolution of the calculated flow field compared with the size of the grid cells Several cells are required to dissolve a recirculating zone Flow field characteristics smaller than about 4 7 cells may not show up in the solution And a recircula tion zone with very few cells may be inaccurately calculated because a certain resolution is required For some flow geometries the Navier Stokes equations may have more than one solution This can for example be seen in a flume with a symmetric expanding channel where the jet may follow one side of the channel If an obstacle is inserted into the side with the jet the jet moves to the other side of the channel This phenomena have also been experienced in non symmet rical expansions when varying the number of grid cells caused the Navier Stokes equations to co
221. plies to the side walls The second integer applies for the surface Wall laws are always used for the bed if not changed by the W 4 data set Default K 2 0 1 Relaxation factors Six floats For the three velocity equations the pressure correction equation and the k and e equation For further description of the relaxation factors see Chapter 5 4 Default K 3 0 8 0 8 0 8 0 2 0 5 0 5 93 K4 K5 K6 K 10 Number of iteration for each equation Six integers Default K4 71511 Block correction Six integers are read one for each of the six water flow equations If the integer is 1 block correction is used For the TSC algorithm in SSIIM 2 for Win dows the integer 2 indicates that the block correction is only used in the first of the inner iterations in each time step For SSIIM 2 the integer 10 used in connection with F 168 will invoke a multi grid algorithm Default K 5000000 Six integers are read one for each of the six water flow equations The integers deter mines whether the second order upwind SOU or the first order power law POW scheme is used If 0 POW is used if 1 SOU is used For SSIIM 1 the integer 2 gives the central scheme and 3 gives the QUICK scheme The two latter options are not implemented yet in SSIIM 2 Note that the different options only applies to the velocity and turbulence equations The pressure correction equation will use a different approach for the discretization This means that the
222. point is locked and will not move later similar to a NoMovePoint This is seen in Figure 3 3 2 1 Fig A shows two blocks that are to be connected Fig B shows the connection of two border grid points 35 EN E H A B C D Fig 3 3 2 1 Procedure to glue blocks together It is not necessary to connect all the points along a connection only the end points For each block one can use the Generate Boundary option to generate straight lines between corner points NoMovePoints and Connection points Then the intermediate points on the connection line will be located at the same place This is done in Fig 3 3 2 1 C above Note that it is only possible to edit one block at a time The user choose which block to edit by the menu option Block Choose no After the blocks are made and glued together it is usually necessary to modify each block boundary according to the points in the geodata file and also possibly to generate the initial points in the block with the elliptic or transfinite grid generator This is shown in Fig D above The user can click with the mouse on a grid intersection and drag this to a new location The mouse button must be pushed down while the movement is made When the user is satisfied with the two dimensional grid the grid has to be made in the third direction This is done in the Three dimensional grid option in the menu It is possible to have varying numbers of gri
223. polates between four geodata points The number of these points are written to the boogie bed file Internal 10 20 345 346 453 454 As for the default algorithm the exact value of the geodata point will be selected if the point is within a distance 0 05 meters from p The same message will then be written to the boogie bed file Using exact value for 10 20 4 567 If for example there are no cross sections at one side of the grid point the outcome of the algo rithm is not determined If the algorithm does not find any points zero indexes will be written to the boogie bed file for example Internal 10 20 0 0 453 454 Then it is advisable to check the bed levels for these points 3 3 5 Displaying measured bed changes in SSIIM 2 for Windows Measured bed changes can be displayed in SSIIM 2 by using the following method 1 First a grid has to be made of the geometry The grid would typically be made from a geo data file taken from the assumed lowest bed levels For example after the flushing or before sediment deposition The grid is then written to the unstruc file When this file is written a file called koomin bed is also written Rename this file so it is not overwritten later 2 Add an F 249 1 data set to the control file This will allow both positive and negative values of the bed elevation changes Make sure you are using a SSIIM 2 executable made after 14 February 2010 3 Use the same grid as in point 1 but now change th
224. presen tation graphics The user is not required to edit files but some knowledge of grids is recom mended The tutorial does not show the more advanced features of the program which necessitates editing of the input files The tutorial is divided in four stages During the first stage the grid is made The second stage shows how to specify inflow outflow water discharge Then the calculations of the velocity flow field is made in the third stage The presentation graphics is shown in the fourth stage The main user interface is a window with a menu Choosing Text in the View option of the main menu the intermediate results from the calculations and other messages are shown The menu is also used for viewing graphics and starting different sub modules of the SSIM pro gram First stage generating the grid Start up SSIIM from a directory where the control and koordina files do not exist This is done by writing c path ssiim2w lt CR gt when you are on this directory The path is here the path 146 were the executable program ssiim2w exe is placed After the main window is shown on the screen click on the GridEditor in the View option of the menu This starts the grid editor and a white area appear in the window where the grid is made Click on Add block in the Blocks option in the menu Then click on four points on the screen in the clockwise direction as shown in the figure below 2 3 4 1 Points in initial
225. psilon model If the integer 3 is specified wall shear will be used in the source terms of the Navier Stokes equations and zero gradients used for k and epsilon on the side walls If the integer is 4 an algorithm similar to option 3 is used but only if the cell is below a level equal to the roughness height Above this height normal wall functions will be used for all variables If the integer is 5 smooth wall laws will be used If the integer is 11 a rough wall law formulation by Rodi 1980 will be used for k SSIIM 2 A value of 8 will use a combination of rough and smooth wall laws if the roughness is small A value of 19 will use smooth wall laws on the sides and rough on the bed Default F 15 0 Roughness coefficient which is used on the side walls and the bed If not set the coef ficient is calculated from the Manning Strickler s friction coefficient van Rijn 1982 Values in the bedrough file overrides this value for the bed cells Density current source A float is read and if it is above 10 6 the sediment density term in the Navier Stokes equation is added The float is multiplied with the density term so a value of 1 0 is recommended when this term is needed Default 0 0 the term is not used Note that this option has not yet been tested SSIIM 1 only Repeated calculation option An integer is read and the calculation sequence on the F 2 data set will be repeated this many times Note that the graphical view of the b
226. qual parts When this option is used for the whole geometry the number of grid lines in the stream wise direction on the G data set must be multiplied with 2 and 1 must be subtracted SSIIM 1 only J Double the number of grid cells in the cross streamwise direction The same procedure for the lines in the cross streamwise direction G data set is required SSIIM 1 only 54 F9 F 10 F 11 F 12 Inflowing velocities in the y direction are set to zero SSIIM 1 only Diffusion for sediment calculations in non vertical direction is set to zero SSIIM 1 only Correction for sloping bed is used when calculating bed sediment concentra tion Cell walls at outblocked area is not changed when there are changes in the cells outside the block SSIIM 1 only 90 degree turning of the plot seen from above map Only SSIIM 1 for OS 2 Vertical distribution of inflowing sediment is uniform SSIIM 1 only Activate a routine that changes the flux on the wall if ap 0 Use porosity calculation and the porosity file SSIIM 1 only w YENS Q Note that there must only be spaces between the number 2 and the letters on the data sets If tabs are used the letters will not be read SSIIM 1 only Factor that is used to change the turbulent viscosity of the inflowing water The factor is proportional to the turbulent viscosity Default 1 0 Which sediment transport formula is used to calculate the concentration at the bed The following opti
227. r stress at the wall The shear stress multiplied with the area of the cell side bordering the wall is used as a sink term in the velocity equation The default wall law in SSIIM is given below It is an empirical formula for rough walls Schlichting 1979 U 1 n 22 2 1 13 u K k The shear velocity is denoted u and is a constant equal to 0 4 The distance to the wall is y and the roughness k is equivalent to a diameter of particles on the bed It can be specified on the F 6 data set in the control file If the roughness varies at the bed a roughness for each bed cell can be given in the bedrough file In SSIIM 1 it is also possible to use wall laws for smooth boundaries This is done by giving 15 an F 15 5 data set in the control file The following function is then used Eyu Eyu Oe in af x for cat us K v v 2 114 E Eyu U h foi ch u v E is an empirical parameter equal to 9 0 Influence of sediment concentration on the water flow Note that there is still a discussion about the following arguments in the science of sediment transport Some of the theories below are not generally agreed upon The effect of the sediment concentration on the water flow can be divided in two physical processes 1 The sediments close to the bed move by jumping up into the flow and settling again This causes the water close to the bed to loose some of its velocity because some of the energy is used for moving t
228. r the example above the maximum water continuity defect was 1 41e 3 kg s for cell 1 96 j 7 k 20 The velocity in the x direction for this cell was 0 64 m s the velocity in the y direction was 5 14 mm s and the velocity in the vertical direction was 5 76 cm s 4 3 The control file The control file gives most of the parameters the model needs The main parameters are the size of the arrays used for the program To generate the water surface it is necessary to know a downstream water level together with the water discharge and the Manning Strickler s fric tion factor These parameters are given on the G and the W data set in the control file If the control file does not exist the user is prompted for these parameters in a dialog box The user can then later choose Write control in the File option of the main menu and get a control file written to the disk as control new This can then be edited according to the user s needs Note that only the most used parameters are written to the control new file During the water flow calculations there are several parameters that can be varied These parameters affect the accuracy and the convergence of the solution Some of the parameters can be modified while the water flow field is being calculated A dialog box with the parame ters is invoked by choosing Waterflow parameters from the Input Editor choice in the main 52 menu The control file contains most of the other data necessary for t
229. r uphill and downhill slopes where 0 is a kind of angle of repose for the sediments O is actually an empirical parameter based on flume studies The third float is a minimum value for the reduction factor SSIIM 2 only Parameters for limiting the effect of the Hunter Rouse extrapolation for sediment concentration computed in a reference level different from what van Rijn subscribed The parameter will only have effect when used with the F 60 data set Default F 110 2 0 0 01 BEDDLL parameter An integer is read If it is 1 the sediment transport algorithms in the beddil dll file are used instead of the default algorithms SSIIM 2 only An integer is read If it is 1 the program will regenerate the grid auto matically right after it has read the unstruc file The regeneration will be made from the water levels given in the koordina file The option is used when computing wet ting drying in a situation where the initial water level is lower than what it will be later In other words the program is started with dry cells The program needs to know the grid layout of the areas that will be wetted so the unstruc file needs to cover the whole geometry If the initial computational domain will expand horizontally at a later time than the initial water level can be given in the koordina file and the program will start with a grid based on this Note that if the G 6 option is used in this case the indexes refer to the grid in the orig inal uns
230. ransfer of grid between SSHM 1 and SSIIM 2 Transfer of grid from SSIIM 1 to SSIIM 2 alternative A ADM WNH 8 9 Start the SSIIM 1 program with the existing grid Write the XCYC file from the menu This also writes the koosurf file Make a new directory for the SSIIM 2 input files Copy the SSHM 1 control file to the new directory Copy the koosurf file to the new directory Copy the koosurf file to the file koordina Edit the control file in the new directory Increase the two first integers on the G data set by 3 Add an F 64 data set for example F 64 11 Save the control file Start SSIIM 2 0 from the new directory Start the Grid Editor 10 Choose from the menu Blocks gt Add block from koosurf 11 Generate the grid Menu option Generate gt 3D Grid 12 If an allocation error occurs increase the numbers on the F 65 data set in the control file 13 and start from point 8 again Write the unstruc file 14 End the program 15 Check the boogie file to see if an allocation error had occurred If so increase the numbers on the F 65 data set in the control file and start from point 8 again 16 Start SSIIM 2 0 again 17 18 Enter the Discharge Editor Specify the discharge 19 Write the unstruc file 20 If you want to start the computations with a grid with a lower water surface then edit the koordina file so that it contains the new water surface Then add the F 2 1 data set to the co
231. ream of point 3 The grid intersections for the points are Point 1 21 1 Point 2 26 1 Point 3 36 1 Point 4 41 1 When this is done choose the menu option Define gt NoMove Points Mode again and it will be possible to click on the grid without generating new NoMove Points Then the exact coordinates for these four points must be given Point 1 and 4 are already located at the correct position But Point 2 and 3 needs to be moved towards the center of the channel This is done by first clicking one of the points for example Point 2 Then choose Define gt Give coordinates A dialog box appears Then give the coordinates x 2 5 y 0 5 z 0 0 Then click OK The point is moved to the center of the channel Then do the same with Point 3 The coordinates of this point is x 3 5 y 0 5 z 0 0 Then choose from the menu Generate gt Boundary and Generate gt Transfinite I Then choose Generate gt Implementation The last choice causes the koordina file to be written with the generated geometry together with a control file It also initializes the water velocity in the geometry To compute the velocity field choose the menu option Calculation gt Waterflow 3D The com putation may not converge as it may be necessary to modify the control file first 152 Second stage prepare the control file Edit the control file with for example the Windows notepad The initial control file only has seven data sets You may type a title on the first T dat
232. red blue If a wrong point is chosen remove it immediately by choosing Define gt Delete NoMovePoint Then the NoMovePoints and the corners of the geometry are given coordinates This is done by first clicking with the mouse on the point and then choosing Coordinate in the Define option of the menu The following coordinates are given in the emerging dialog box one set at a time i j x y Z 1 1 0 0 10 0 6 1 6 0 0 2 0 0 6 4 1 4 0 1 0 0 6 4 6 4 0 2 0 0 6 8 1 8 0 0 0 0 0 8 6 8 0 3 0 0 0 23 1 23 0 00 0 0 23 6 23 0 30 0 0 From the menu then choose Generate gt Boundary and Generate gt TransfiniteI Then write the unstruc file to the disk by choosing File gt Write unstruc Second stage Specification of water discharge Start the DischargeEditor from the View option of the menu Choose Side discharge gt Group no gt 1 Give 0 1 m3 s as inflow Specify from level 1 to 11 Then scale the grid so that the inflow part on the left side is seen clearly and it is easy to choose individual grid lines for the in Then click on all the lines on the left side of the geometry The colour will change if this is done successfully If a wrong line is chosen remove it by choosing from the main menu Side discharge gt Remove last area This may have to be done repeatedly Then specify the water outflow by choosing Side discharge gt Group no gt 2 Give 0 1 m3 s as inflow Specify from level 1 to 11 Click on the inflow button to remove the mark Then s
233. respond to the value on the Q data set Then a float is read which is the value of the variable The last two numbers are floats which gives the starting and ending time for the variable to flow into the geometry in sec onds Example G 18 1 1242 50 0 01 100 0 200 0 This gives an inflow at the upstream boundary i 1 in cell j 2 to 4 lateral and k 2 to 5 vertical This is variable no 0 and a value of 0 01 is specified after calculated time 100 0 seconds The inflow ends after 200 0 seconds Up to 100 G 8 data sets can be used SSIIM 1 only OpenGL 3D surfaces parameters One surface is described on each G 89 G 20 19 data set Up to 50 G 19 data sets can be used Each data set consist of eight integers The first integer specifies the number of the grid line The second integer is an index showing the main direction of the grid surface The following options are possible 1 cross section 2 longitudinal profile 3 plan view The following four integer defines the corners of the surface The last two integers are presently not used for anything but they must be given Example G 19 113252600 This gives a surface along the grid surface k 11 from i 2 to 5 and j 2 to 6 If no G 19 data sets are given a default data set is used this is G 19 1 3 2 xnumber 2 ynumber 0 0 This will give the bed of the geometry The parameters xnumber and ynumber are given on the G data set and are the number of cross sections and li
234. ribution in the two layers Each line in the file describes one bed cell The first two integers are the i and j values identifying the cell in a structured grid An indication about the index for each cell can be seen in the grid editor or the discharge editor by choosing View gt legend in the menu This will give the index for the grid intersections The corre sponding cell will be in the direction of lower index values After the two integers a floating point number is given which is the thickness of the active sediment layer in meters Then the fractions of each sediment size are given as floating point numbers After that the thickness of the inactive layer is given meters Then the fractions for the inactive layer are given A total of 2 x 1 n floats are then read where n is the number of sediment fractions Example Three sediment sizes 2 3 0 01 0 4 0 3 0 3 2 0 0 3 0 4 0 3 The line is for cell 2 3 The thickness of the active layer is 0 01 m In the active layer there is 40 sediments of size 1 30 of size 2 and 30 of size 3 The inactive layer has a thickness of 2 0 meters and contains 30 of sediment size 1 40 of size 2 and 30 of size 3 The fracres file can be made by using a spreadsheet The fracres file is read by using an O letter not zero on the F 2 data set Or reading the com pres file from the menu Also note that the active layer thickness in the fracres file must be the same as what is given on t
235. rid elevations This format is chosen so that it is easy to import the file in a spreadsheet for presentations 4 15 The forcelog file SSIIM 1 only This file contains time series of the forces on one or more obstacles for the transient free sur face calculation One line is written for each time step An example of a forcelog file is shown below Forces on block I 271 062 0 099838 N in x and y direction Forces on block 1 398 574 0 082644 N in x and y direction 4 16 The xcyc and koosurf files SSIIM 1 only The two files xcyc and koosurf contain the geometry of the grid This is used when restarting calculations which have changed the grid The koosurf file is identical to the koordina file except that the surface level is also written for each line This is similar to using the koordina file with the tunnel option The xcyc file contains the x y and z values of all the grid intersections When writing the files from the menu both files will be written When reading the files SSIIM will try to read both files but if the xcyc file is missing it will only read the koosurf file The internal grid nodes will be generated by linear interpolation as given on the G 3 data set in the control file If the internal nodes of the grid are generated by linear interpolation the only necessary file is 124 the koosurf file However for calculations where some part of the grid moves and some is outblocked and does not move it is
236. rinker ASCE Journal of Hydraulic Engineering Vol 89 No HY3 Chandrashekhar J 1994 Numerical Simulation of Sediment Movement in Desilting Basins using SSIIM M S Thesis Division of Hydraulic and Environmental Engineering The Nor wegian Institute of Technology Trondheim Chapra S C 1997 Surface water quality modeling McGraw Hill ISBN 0 07 115242 3 Dey S 2003 Threshold of sediment motion on combined transverse and longitudinal slop ing beds Journal of Hydraulic Research Vol 41 No 4 pp 405 415 Dordevic D and Biron P M 2008 Role of upstream planform curvature at asymmetrical river confluences laboratory experiments revisited River Flow 2008 Vol 3 pp 2277 2286 Dorfmann C and Knoblauch H 2009 Calibration of 2D and 3D numerical models of a large reservoir using ADCP measurements Proceedings of the 33rd Congress of the Interna tional Association of Hydraulic Engineering and Research Vancouver Canada van Dorn W 1953 Wind stress on an artificial pond Journal of Marine Research No 12 pp 249 276 Einstein H A and Ning Chien 1955 Effects of heavy sediment concentration near the bed on velocity and sediment distribution UCLA Berkeley Institute of Engineering Research Engelund F 1953 On the Laminar and Turbulent Flows of Ground Water through Homoge neous Sand Transactions of the Danish Academy of Technical Sciences No 3 Engelund F and Hanse
237. rithm An integer and a float is read If the integer is 1 the nested domain will be coupled with the coarse grid when computing water flow If the integer is 2 the coupling will also be applied for the sediment concentrations The float is a relaxation coefficient for the interpolation Its value is between 0 and 1 SSIIM 2 only Variable bed sediment density algorithms An integer is read If it is above 0 then it will be used by the functions in the vdmldll dll file computing varia tions in the bed sediment density If it is 1 then a hard coded algorithm is used 81 F 267 F 268 F 272 F 274 F 275 F 277 F 278 F 279 Default F 264 0 Note that these algorithms will only be used if the F 37 data set is set to 3 multiple bed layers SSIIM 2 only Faster display of map graphics An integer is read If it is 1 then quad rilaterals will be used instead of contours in displaying the Map graphics This may give faster graphics for large grids Default F 267 0 SSIIM 2 only Decision about the nested blocks being printed to the Result Tecplot Paraview files An integer is read If it is O default all the blocks are printed If 1 then only the coarse grid is printed If the integer is 2 then only the nested blocks are printed SSIIM 2 only Alternative algorithm to compute the production of turbulent kinetic energy Pk as proposed by Kato and Launder 1993 This is invoked if the integer read on the data
238. rk again Also note it is possible to remove geodata points graphically in the grid editor 3 3 4 Bed interpolation algorithms The algorithms provide a method to interpolate the bed levels of the grid given a large number of measured points randomly distributed on the bed The measured points are given in the ge odata file There are currently three algorithms implemented in SSIIM 1 for Windows The default algorithm The minimum algorithm The cross section algorithm 38 Only the first one is currently implemented in SSIIM 2 and the OS 2 versions In the following the index p is given for the point where the algorithm computes the bed level The algorithm then computes z given x y and a number of geodata points x y Z The default algorithm The default algorithm divides all the geodata points in four groups according to their position in the x y plane The first group has both larger x and y values than point p The second group has larger x values and smaller y values The third group has smaller x and y values than p And the fourth group has larger x values and smaller y values From each group the point closest to p is then chosen This gives normally four points all surrounding point p A linear interpolation of the z value from these four points is then done based on the inverse of the distance from the points to p The following line is written to the boogie bed file First 10 20 345 456 345 321
239. rradiance light extinction coeffi cient k and a number of coefficients in the density formula The time dependent irradiance is given in the timei file The amount of irradiance 7 decrease with the factor f as a function of the water depth and the algae concentration The following formula is used pete 2 5 1 fe 2 cells above current cell The algae concentration is denoted c and z is the vertical size of a cell The specific light transmission coefficient k is given by Bindloss 1976 25 k ac b 2 5 2 where a and b are constants in a regression formula based on measurements in a lake The algal density is calculated by the following equation given by Kromkamp and Walsby 1990 I Pat Paot a k kalyy ks 2 5 3 Pa is the algae density t is the time and k k2 k3 and K are constants I4 is the average irradi ance over the last 24 hours The coefficients of Kromkamp and Walsby 1990 are used The fall rise velocity w of the algae is calculated from Stoke s equation 2 Pw Pa 2 5 4 CBIC py Sa where p and p is the algal and water density and v is the kinematic water viscosity evalu ated as 6 0 55234 0 026668T v 10 e 2 5 5 where T is the temperature in degrees Centergrade The Q 42 data set models algal production The algae growth is based on light extinction and a time series of the irradiance The two first floats on the data set are coefficients in th
240. rs can be given in the dialog boxes The other parameters have to be given in the control file Usually it is not recommended to use the dialog boxes When running many cases with differ ent input parameters each run is usually done in a separate directory This directory will then contain both input files and the results The system is more convenient for archival purposes when later looking at which parameters in the input files were used to create certain results 3 3 The grid editor OS 2 The grid editor is invoked by choosing GridEditor on the Input Edit choice in the main menu A window opens showing the geometry and grid seen from above Windows The Grid Editor is invoked from the View option in the main menu The grid is seen from above SSIIM 1 In SSIIM 1 a structured grid is used When starting the Grid Editor without reading a previ ously generated grid a rectangular grid is shown as default The left side of this rectangular grid is the default water inflow The right side is the default water outflow In the Windows 30 version of SSIIM 1 the default inflow side is coloured red And the default outflow side is coloured green When generating a grid for a natural geometry using geodata points the inflow of water is often not on the left side and the outflow not often on the right side The grid therefore has to be rotated initially This is most easily done by moving the corners first and then using the m
241. rticle The animation graphics was made using the OpenGL graphics library The modules were incorporated in the OS 2 exe files This was not possible for the Windows version running Windows 95 or Windows 98 The Windows versions of SSIIM therefore does not have anima tion graphics A separate program with only OpenGL graphics was made to run on Windows NT This only works for SSI M 1 files The animation is a part of the OpenGL graphics In the OS 2 versions the menu options will refer to the Particle option in the OpenGL menu The main idea is to release a number of particles simultaneously from the inflow regions of the geometry This is done when the user chooses Release in the menu The default number of particles is equivalent to the number of cells in the inflow area There is one particle for each cell The user can change this by choosing a different number in the Space direction option in the menu Space direction 2 means that every other cell will have a particle etc The module will guess a certain time step and move the particles accordingly Sometimes this will be too slow or too fast for the visualisation The user can adjust the speed by choosing Double Speed or Half Speed in the menu This can be repeated A model to take turbulence into account is also implemented This is fairly crude and gives a random movement according to the turbulent kinetic energy of the flow The random move ment is isotropic Including turbulence or
242. s The algorithms have been further developed in SSIIM 2 and the newest version is the F 36 7 option 5 How can I convert between sediment fluxes bed elevation changes and concentra tions The concentrations in SSIIM is given as volume fractions That is the volume of the sediment particles as a fraction of the total volume of the water sediment mixture If the density of the sediments is 2 65 kg litre the mass fraction will be 2 65 times higher than the volume frac tion Or in other words if you have a mass concentration you need to divide by 2 65 to get it in volume concentrations Note that concentrations in ppm are often mass concentrations The density of the sediments can be modified on the F data set in the control file if you want a different density than 2 65 A flux F of sediments in kg s is obtained by the following formula F p cuUA U is the water velocity in m s normal to the area A in m The sediment concentration in vol ume fractions is c and p is the density of sediments in kg m for example 2650 kg m The inflow of sediments can be specified on the I data sets in the control file in kg s They can also be specified for example in the timei file as a concentration If a concentration is to be given then this is the volume fraction How this is computed is most easily shown in an exam ple Let us say we have a water inflow of 3 m s and a sediment inflow of 0 1 kg s The sediments will take up a volu
243. s The nutrients are often phosphorous but nitrogen and silica may also be important for some species and situations The other main algae modelling characteristic is its fall rise velocity This is due to changes in its buoyancy The buoyancy is often dependent on other parameters for example irradiance A number of special data sets are made for different species of algae Some of these can be used in combination with each other Also they can be used in combination with the other water quality data sets Two different groups of data sets are used depending on whether there are multiple species of algae or only one single species contributing to the light shading If there is only one species of algae the light shading parameters are give in the growth data set These types of data sets are described first Calculation of spatial distribution of algae includes modelling of the algal vertical rise fall velocity The rise fall velocity is dependent on the algal density algal diameter and a form fac tor The algal density is dependent on the irradiance and the light extinction in the water body Because the algal density depends on the values of the previous time step it has to be mod elled as a separate parameter This means that modelling algae concentration necessitates an extra variable Some special Q data sets can be used to model algae settling and production For example Q 151 is used to calculate the density as a function of the i
244. s also written here If errors occur an explana tion is also often written to this file before the program stops The file contains the data that is normally written to the screen in a DOS program The option D on the F data set will give additional print out to the file Initially in the file it is written how much memory that is occupied by the arrays that are dynamically allocated To estimate the total recommended memory requirement for SSIIM add the size of the SSIIM executable to this value A table then follows which shows the cross sectional area hydraulic radius average velocity and water level at the cross sections that have been used for initializing the water surface If the option D on the F data set is used this information is written for all the cross sections additionally Then a table of waterlevels for all cross sections follows An example is given below Loop iter area radius velocity waterlevel 12 1 002389e 00 1 002389e 00 9 976163e 01 1 002390e 00 Loop1 iter area radius velocity waterlevel 11 1 001588e 00 1 001588e 00 9 984146e 01 1 001589e 00 Waterlevel 1 000398 meters for cross section i 10 Waterlevel 1 000797 meters for cross section i 9 51 Waterlevel 1 001195 meters for cross section i If the MB flow module is used the residual norms are written Then follows a sequence of two lines for each iteration of MB flow An example with four iterations is shown below Iter 5 Resid 1
245. s are under 10 3 Fourth stage viewing the results The results are viewed by choosing one of the options in the View menu of the main user inter face Choose the View option of the main menu and the Map option in the pull down menu This gives you a graphics view of the grid as seen from above Choose Variable from the menu in the map window and Velocity vectors from the pull down menu Then you see the velocity vectors You can scale and move the plot by using the lt Page up gt lt Page down gt and arrow keys You can also scale the velocity vectors by choosing Scale and VarEnlarge Var Shrink And you can see the other parameters than the velocity by choosing different variables in the Graph pull down menu 5 7 Tutorial 4 Sand trap SSIIM 2 for Windows A simple geometry similar to a sand trap is made using only one block The geometry is made first in Stage 1 The water discharge is specified in Stage 2 The water flow is then calculated in Stage 3 The sediment transport is calculated in Stage 4 First stage Specification of the geometry 148 The program is stated in a directory where there are no control or koordina files The GridEdi tor is started first and a rectangular block is specified It has 22 cross sections and 6 longitudi nal lines Four NoMovePoints are added 4 1 4 6 8 1 and 8 6 This is done by choosing Define gt Set NoMovePoints and then clicking on the grid intersections The point will be colou
246. s located at given levels 100 values of levels in meters and volume are written to the file SSIIM 2 only Debug information Two integers are read When the program has done as many iterations as the first integer a large number of debug information will be written to the boogie file from the cell which has the same number as the second inte ger SSIIM 2 only Parameter to invoke an automatic restart after the program has crashed The relaxation parameters are lowered before the restart The integer tells 78 F 221 F 222 F 224 F 225 F 233 F 234 F 235 how many times the procedure should be repeated Maximum 4 times SSIIM 2 only Convergence stopping of the program In a steady situation the pro gram stops when the residuals are below 0 001 In a time dependent case the program will not stop if the residuals are below 0 001 However if time terms are used to improve convergence of a steady situation the program should still stop An integer is read If it is 0 the program will not stop in time dependent computations when the residual is below 0 001 If the integer is 1 the program will stop Default F 221 0 SSIIM 2 only Downstream depth algorithm An integer is read which can be 0 or 1 If 1 an algorithm is invoked to try to prevent the downstream bed level to rise to heights where it will block the outflow Default F 222 1 the algorithm is used by default SSIIM 2 only One float is read In a time
247. s of the maximum and minimum values and there are six equal interval between maximum and minimum values default The values in the contour map of the Win dows version is given in the Text view Profile presents a longitudinal cross section profile of the geometry Graphs with different parameters as a function of depth along the longitudinal profile is obtained It is also possible to view the grid or the velocity vectors It is possible to change between different longitudinal profiles To see where the profile is located in the OS 2 version look at the Map Graphics and choose Profile in the Variables option on the menu For the Windows version look at the cell numbers in both the Profile and the Map graphics The numerical values for the plot are given on the Text view in the Windows version VerifyProfile presents calculated profiles of concentration or velocity at locations specified by the user It also presents user given data in the same plot See the next chapter for more infor mation VerifyMap presents calculated and measured velocity vectors in the same figure See the next chapter for more information Graphics menu system The modules use the standard GUI for OS 2 and Windows and have approximately the same system of menus Starting OpenGL graphics from SSIIM is only available for the OS 2 ver sion The OpenGL graphics has an option Legend This shows the colour legend of the plot It can be used in presentations by using a
248. s of the sediments is seen in the Map graphics For example if the erosion is too deep this can be due to a too low sediment size to little in flowing sediments or too high shear stress The too high shear stress can be due to too high ve locities or too high roughness If the velocity is too high this can be due to too low water depth Too low water depth can be due to too low pressure By following the parameters in the graph ics it is often possible to trace the bug to an algorithm for specific physical process SSIIM of ten has several algorithms for the same process for example computation of the water level Then other alternative algorithms for the same process can be tested During this testing it can be useful to make ParaView or Tecplot animations of a number of variables for example velocities pressure water levels bed levels bed changes roughness etc For sediment computations it is useful to look at the sediment continuity The boogie file will provide more detailed results if F D is given in the control file 168 2 If the bug is in a complex case geometry it can be easier to find the bug in a simpler similar case A typical simpler case is a straight channel with constant depth and velocity Then pa rameters as shear stress sediment transport capacity and bed changes can be computed by hand and compared with the results from SSIIM Another simplification is to use one sediment size instead of many 3 It is
249. s the number of bed layers as given on the F 34 data set 125 4 18 The habitat file The habitat file gives the availability function commonly used in analysis of fish habitat The file is written at the same time as the result file The availability function is divided in 20 groups and tabulated so that it can easily be imported into a spreadsheet This can be used to determine the preferences for the fish The file is written when the result file is written if the F 48 data set has the parameter 5 4 19 The Tecplot and Paraview files The Tecplot files are result files used for graphics presentation in the Tecplot program The files have a format that makes them directly importable into the Tecplot program There are basically two version of the files A 2D version and a 3D version Also the files can be written by the user interface through the menu or from the main program The main program can write multiple files for one time dependent run making it possible to create animations in the Tecplot program The selection whether a 2D or a 3D tecplot file is given can be specified on the F 48 data set The files written by the main program not by the SSIIM user interface menu can write user specified variables The specification of the variables is given on the G 24 data set This data set reads a number of data groups one group for each variable Up to 30 groups variables can be used Each group consists of one character and two inte
250. sable to start with a simpler grid with a couple of blocks covering the main part of the water body and add more detail afterwards Also note 34 that it is not possible to remove already added blocks so it may be advisable to save files with the simplified grid The blocks are added by choosing the Add block in the Block menu After making the choice the user clicks with the mouse on the four corners of the block The four points must be added in the clockwise direction starting with the south west corner then the north west corner then the north east corner and finally the south east corner Note that the directions north south east west does not have to follow the true directions according to the map but it has to be con sistent relative to the rest of the grid After the four clicks are made a rectangle is seen on the screen The user then have to choose the number of grid cells in the block This is done by choosing the Size block in the Block menu and giving the numbers in the dialog box The grid lines in the block then emerge The user can now move the grid lines of the block to better fit the boundary or other characteristics of the desired grid A new block is added by the repeating the same procedure starting with Add block Up to 19 blocks can be used The next step is to glue blocks together The connection is actually made in the three dimen sional generation procedure The algorithm checks if two grid points are very clos
251. sactions ASCE 120 1 pp 1234 1260 Lovoll A Lysne D K and Olsen N R B 1995 Numerical and physical modelling of dynamic impact on structures from a flood wave IAHR 26th Biennial Congress London Lovoll A 1996 Hydrodynamic forces from steep waves in rivers Dr Ing Dissertation Department of Hydraulic and Environmental Engineering The Norwegian University of Sci ence and Technology Lysne D K Olsen N R B Stole H and Jacobsen T 1995 Withdrawal of water from sediment carrying rivers Recent developments in planning and operation of headworks International Journal on Hydropower and Dams March Mayer Peter E and Mueller R 1948 Formulas for bed load transport Report on Second Meeting of International Association for Hydraulic Research Stockholm Sweden 177 Melaaen M C 1992 Calculation of fluid flows with staggered and nonstaggered curvilin ear nonorthogonal grids the theory Numerical Heat Transfer Part B vol 21 pp 1 19 Melaaen M C 1990 Analysis of curvelinear non orthogonal coordinates for numerical cal culation of fluid flow in complex geometries Dr Ing Thesis Division of Thermodynamics The Norwegian Institute of Technology Minor B Rennie C D and Townsend R D 2007 Barbs for river bend bank protection application of a three dimensional numerical model Canadian Journal of Civil Engineering Vol 34 pp 1087 1095 Naden P Rameshwaran
252. science and Engineering Cottbus Germany 179 Olsen N R B Hedger R D George D G and Heslop S 1998 3D CFD modelling of spatial distribution of algae in Loch Leven Scotland 3rd International Conference on Hydroscience and Engineering Cottbus Germany Olsen N R B 1999 Two dimensional numerical modelling of flushing processes in water reservoirs IAHR Journal of Hydraulic Research Vol 1 Olsen N R B and Wilson C A M E 1999 CFD modelling of rivers and reservoirs Int Seminar on Optimum Operation of Run of River Reservoirs Trondheim Norway Olsen N R B Jimenez O Lovoll A and Abrahamsen L 1999 3D CFD modelling of water and sediment flow in a hydropower reservoir International Journal of Sediment Research Vol 14 No 1 Olsen N R B and Kjellesvig H M 1999 Three dimensional numerical modelling of bed changes in a sand trap IAHR Journal of Hydraulic Research Vol 37 No 2 abstract Olsen N R B and Lysne D K 1999 3D Numerical Modelling of Water Currents in an Ice Covered Lake IAHR 28th Biennial Congress Graz Austria Olsen N R B Hedger R D and George D G 1999 Modelling the Horizontal Distribu tion of Algae in a Water Supply Reservoir IAHR 28th Biennial Congress Graz Austria Olsen N R B Kjellberg G Bakken T H and Alfredsen K A 1999 Numerical model ling of water quality in Lake Mj sa Norway during the flood
253. set is 1 Default F 272 0 SSIIM 2 only Bed angle parameters An integer is read If it is larger than zero then the program will try to read the bedangle file Default F 274 0 SSIIM 2 only Modifications of the epsilon constants Two floating point numbers are read which gives two of the epsilon constants in the k epsilon model Default F 275 1 44 1 92 SSIIM 2 only Option to display a graphic view of the sediment continuity defects This is done if an integer above zero is read Then the continuity defect is seen when choosing Debug information in the graphics Default F 277 0 SSIIM 2 only Variations of the F 36 7 algorithm Not tested much The F 278 6 and 7 variations seemed promising Default F 278 0 SSIIM 2 only Variations in computing the bed shear stress Can not be used with the beddll An integer is read The following options are 82 F 281 F 283 F 285 F 286 F 287 1 The shear stress is computed from the maximum kinetic energy in the bed cell and in the cell above the bed cell 2 The bed shear stress is computed from the maximum of the shear in the bed cell and the neighbour cells if the cell corners have been moved inwards F 102 Default F 279 0 Normal bed shear computation from the kinetic energy in the bed cell SSIIM 2 only Increase in the vertical eddy viscosity due to dunes An integer and a float are read If the integer is read the vertical eddy viscosity is increased by a
254. shallow area and only 1 cell over the depth was generated this would still work However if you later increased the maximum number of grid cells to 20 in the control file then the specification of 1 11 cells in the unstruc file would be incorrect You would actually then only specify an inflow in the lower half of the geometry If the inflow out flow region was in a shallow are only the top cell no 20 might exist This meant that the inflow outflow region did not exist So the advice is to be careful every time you change the number of grid vertical grid cells for SSIIM 2 and make sure the inflow outflow data in the unstruc file are changed accordingly If you have inflow outflow over the whole depth give a large integer in the to field of the dis charge editor dialog box It can also be useful to test that the inflow outflow areas are correctly defined by checking the Discharge Editor while the program is running Problems with the unstruc file 166 When the grid is made and the unstruc file is written it may not look correct when it is read back in again Typically some of the grid lines along the boundary will move to incorrect coordinates like shown on the figure below The reason for the problem lies in the way the geometry data is organized for the wetting and drying computation To make it possible for lateral erosion to take place the wetting proce dure must have information about where the grid cells should be lo
255. source term is applied to In the following note that this is not repeated and the two fist integers are not described further Q1 The second number is a float giving the value of a constant source Q2 The second number is an integer This is an index for the variable in the source term The third number is a float giving a coefficient which is multiplied with the variable Example Q 2 1 2 0 05 This means that a source term for equation 1 is used and the source term is 0 05 multi plied with the value of variable 2 97 Q3 Q11 Q 42 Q51 Q 113 Q 121 The second number is an integer This is an index for the first variable in the source term The third number is an integer giving the second variable in the source term The fourth number is a float which is multiplied with both variables Example Q 3 1 2 1 0 04 This means that a source term for equation 1 is used and the source term is 0 04 multi plied with the value of variable 2 multiplied with the value of variable 1 the same variable as calculated for this source term Fall velocity data set This is a special data set to include the effect of the fall velocity of a water quality constituent for example sediments or algae A constant fall velocity is given Note that calculating algae with variable fall velocity as a function of light irradiance for example the Q 151 Q 221 data sets can be used instead The second parameter is a float which is the f
256. sts of a dialog box and a menu bar The dialog box appears in the lower left corner of the screen and the menu bar appears on the middle left side of the screen The dialog box does not have any editfields only text fields and a push button The dialog box shows intermediate results The two top lines in the dialog box are text which is written from the different modules There are also six numbers on an exponential format These are the residuals for the six equations in the water flow calculation The push button is used for refreshing the text and values in the dialog box The menu bar of the main user interface is used for starting different sub modules and show ing graphics The File option gives the possibility of reading and writing different files Chap ter 4 describes these files The Input Edit option gives the possibility of editing the input data through a grid editor or dialog boxes The Computations option is used for starting the water flow or the sediment calculations The Graphics option is used for displaying the results in different graphics windows 3 1 2 Windows version The Windows version consist of only one window with one menu At start up the window show text with information about convergence and the run similar to the dialog box in the OS 2 version The content of the window can be changed by choosing different sub options in the View option of the menu Each View option will correspond to a window in the OS 2 version
257. surface before the sur face changes are done In SSIM 2 the averaging is done on the water levels directly SSIIM 2 only Option to pause the program during a computation This is used for debugging purposes An integer is read The following options are possible 1 Before the start of regenerating the grid 2 After the regeneration of the grid 3 Before the velocity and flux corrections in the SIMPLE algorithm 4 After the velocity and flux corrections in the SIMPLE algorithm 5 Before interpolating the variables to the new grid 6 After interpolating the variables to the new grid 12 F 159 F 160 7 At the end of a time step computing the bed level changes F 37 1 2 The option can be used in combination of the Pause option in the Compute menu of the program SSIIM 2 only Algorithms to improve stability by avoiding grid problems Five inte gers are read for five different algorithms The algorithms are invoked if the integer is 1 and it is not invoked if the integer is 0 The algorithms are only used when the parameter on the F 64 data set is equal to 8 11 13 38 or greater than 100 The first algorithm tries to remove dead end channels that are only one cell wide A maximum of 30 cells can be removed The second integer invokes different algorithms dealing with the problem of ridges between wet cells Some algorithms try to give better connection between two neigh bour column of cells that are separated by a high ridg
258. t The algorithm is based on 163 the Hunter Rouse distribution of suspended sediments It is invoked by using the F 60 F 110 data sets Doing a sediment computation it is important to use the correct shear stress at the bed The shear stress is a function of the bed roughness There are several options on how this is com puted and it is recommended to use a reasonable value It is possible to let SSIIM compute the effective roughness as a function of the sediment grain size distribution and the bed form height This is of course the most elegant solution However the bed form roughness is com puted by van Rijn s method which may not give accurate results for all cases The method is derived from uniform grain size data giving higher bed forms than less uniform sizes The default roughness in SSIIM is 2 cm which should not be used unless this is a reasonable value Determination of the roughness algorithm is done on the F 90 data set The numerical algorithms are approximations to exact formulas The accuracy may therefore be variable It is recommended to check the sediment continuity when doing sedimentation computation This can be done by using the F D option in the control file Sediment continu ity fluxes are then written to the boogie file for each iteration One common reason for sedi ment disappearing is that the solution of the equations for the sediment grain size distribution has not converged This is particularly the case
259. t of the menu to copy from the clipboard Then print the result It is also possible to generate gif files from the bmp files using a freeware tool bmpgif2 exe 45 This can be found on most OS 2 Internet software sites The gif files can be used in most types of presentation and word processing software and is very useful when making web pages Using non OpenGL graphics it is possible to copy directly to the clipboard or to a metafile from SSIIM It is then also possible to use a word processor to copy from the clipboard or import the metafile and then print the results A useful utility which is bundled with OS 2 is PicView which plots the vector graphics from the clipboard or from a metafile to the plotter Some advice when plotting on a pen plotter If the lines of the plot are not clear leave the paper in the plotter and plot several times on the same paper This technique can also be used to get both vector and colour plots on the same figure Importing SSIIM graphics into documents in Windows The Windows versions of SSIIM can copy most of the graphics not OpenGL to the Clip board This is a kind of a graphics storage space What is in the Clipboard can be seen with the Clipboard Viewer The Clipboard Viewer is a program that is included in the Windows operat ing system It is also called Clipbook Viewer in newer Windows versions It can most conven iently be started from a command prompt The command prompt is started from t
260. t of the sediment is transported close to the bed it is important that the bed cells are hex ahedral in sediment computations 62 Example F 6411 F 65 F 67 F 68 The option 13 is similar to 11 but has different generation criteria for wetting and dry ing The two values on the F 94 data set is then used If the F 64 3 data set is used then the cells will be generated initially just like using the F 64 11 option However cells will not be generated in areas that were dry in the previous iteration unless the cell depths are above 0 0 meters The value 0 0 meters can be changed by giving a dif ferent number on the F 62 data set Default F 64 0 See also Chapter 3 3 2 for generation of grids SSIIM 2 only Grid size for the unstructured grid SSIIM 2 has to allocate the arrays before the grid is read Because it is possible to expand the grid after it is read it is nec essary to give the grid array sizes in the input file Five integers are read The first integer is the maximum number of grid cells in the grid The second integer is the maximum number of surfaces in the grid The third integer is the maximum number of grid corner points The fourth integer is the maxi mum number of surfaces in connection between blocks The sixth integer is the maxi mum number of connection points used in the Grid Editor Default F 65 50000 80000 50000 10000 1000 If the grid has been made and the grid size will not increase later
261. t has been defined on the border Then the interpolation will be between the corners and the NoMovePoints The second choice is Elliptic This starts the elliptic grid generator Note that this will not change the z values The third choice is TransfiniteI This is transfinite interpolation in the streamwise direction The z values will be interpolated IMPORTANT In this mode the NoMovePoints will also be moved The fourth choice is TransfiniteJ This is the same as Transfinitel except it is in the cross streamwise direction The second last choice Bed levels Bed interpolations generates z values for the bed surface of the grid The z values are interpolated from a set of geometrical data read from the geodata file If there is no geodata file present an error message is given The interpolation routine goes through all the grid points i j and finds the closest points in the geodata file in all four quadrants where the grid intersection i j is the centre of the coordinate system Then a linear interpolation from these four points is made If one of the points in the geodata file is closer than 5 cm from the grid point this z value is chosen and no interpolation is done The outcome of the interpolation is logged to the file boogie bed If the interpolation routine is unsuccessful in finding the point the z value is set to zero The last choice 3D Grid Implementation is used after having changed the z values on any of the coordinates
262. t in the control file and start from point 9 again 18 Edit the control file and specify a gridding option on the F 64 data set for example F 64 11 19 If specifying the F 64 11 option remember to also add an F 94 data set giving the minimum cell height If this is too small instabilities will occur The default is very small 20 Start SSIIM 2 0 again 21 Read the unstruc file 22 Enter the Grid Editor Note that the window may be blank Just proceed with next point 23 Generate the 3D grid Menu options Generate gt 3D Grid 24 Write the unstruc file 25 Start SSIIM 2 0 again 26 Enter the Discharge Editor 27 Specify the discharge 28 Write the unstruc file 29 If you want to start the computations with a grid with a lower water surface then edit the koordina file so that it contains the new water surface and add the F 712 1 data set in the control file The program then removes dry cells in the startup procedure Transfer of grid from SSIIM 2 to SSIIM 1 Transfer of grid from SSIIM 2 to SSIIM 1 is only possible if the grid has one block 1 When the unstruc file is written from SSIIM 2 a file called koordina sil is written at the same time This file can be used by SSIIM 1 Copy the file to a separate directory and rename it koordina without an extension 2 Copy the control file to the same directory 3 Edit the G data set in the control file so that the grid size is the same as the block generated in SSIIM
263. t not used not used d50 or average sediment diameter at the bed a not used not used bed movement S not used not used temperature gradient parameter Sperillen x not used not used When printing Tecplot files from SSIIM 2 it is possible to use versions with both structured 2D and unstructured 3D grids However since SSIM 2 uses an unstructured grid printing the structured 2D Tecplot file only the first block is written The Paraview vtk file is a file similar to the Tecplot dat file The file can be viewed in the Par aView program which is similar to Tecplot in functionality ParaView is freeware and can be downloaded from the Internet In SSIIM 2 a three dimensional ParaView file is written instead of a result file if the F 48 10 127 is given in the control file Printing cross sections for ParaView from SSIIM 2 Sometimes the user wants to see variables in a cross section from a SSIIM 2 grid This can bed done by specifying the integer 12 on the F 48 data set and print the result file Then a ParavView file will be written from the cross section defined in the interpol file Note only one cross section can then be given in the file Both the Tecplot and Paraview programs may show strange results if using UTM coordinates with a large number of digits are used for the grid 4 20 The fracres file The fracres file contains information about the thickness of the active and inactive layer and the grain size dist
264. t routine uses a parameterization of Shields graph where the input parameters are the sediment size density of the sediments and the bed shear stress The computeBedSlopeCorrection function computes the changes in the critical shear stress for the particle as a function of the sloping bed The three vector components normal to the bed are used as input together with the velocity vector components and two empirical param eters The computeBedConcentration is the main function for computing the boundary condition for the sediment transport The default routine uses van Rijn s formulas together with the Hunter Rouse sediment distribution A number of parameters are used as input including the 172 bed shear stress critical bed shear stress sediment size empirical parameters velocity com ponents close to the bed etc The computeBedForms function computes the bed form height Van Rijn s formula is used in the default routine Input parameters are water depth ds dog and a shear stress parameter The computeBedRoughness function computes the bed roughness This is then used in the solution of the Navier Stokes equation Input parameters are bed form height water depth dog etc 173 Literature Alfredsen K Bakken T H Harby A and Marchand W 1997 Application and Comparision of Computer Models for Quantifying Impacts of River Regulations on Fish Habitat HY DROPOWER 97 Trondheim Norway Alfredsen K 199
265. t what the roughness is for a given configuration of input it is recom mended to start the program an look at the roughness parameter in the Map graphics 4 How is the free surface computed The free surface is computed using a fixed lid approach with zero gradients for all variables The location of the fixed lid and its movement as a function of time and the water flow field are computed by three different algorithms 1 1D backwater computation 2 Gravity and control volume algorithm 3 Pressure and Bernoulli algorithm 1D Backwater computation The first algorithm is a 1D backwater computation This computation is done when the pro gram starts and it is invoked automatically It is a part of the grid generation for SSIIM 1 It is not used for SSIIM 2 which has a horizontal free surface as initial default The initially gener ated free surface is used for the subsequent computations as a fixed lid with zero gradients for all variables if no other free surface algorithms are specified Gravity and control volume algorithm This algorithm is used to compute the movement of the free surface It is invoked by using the F 36 1 option This is only implemented in SSIIM 1 and not in SSIIM 2 The algorithm includes the gravity term in the Navier Stokes equations A time step has to be specified by the F 33 data set The basis of the algorithm is to use the continuity equation instead of the SIMPLE algorithm to compute the changes in the
266. ta sets for time 10000 seconds T 30000 0 A 76 16 37 05 37 20 37 35 37 55 3 0 1 0 1 2 0 5 A 76 17 37 05 37 20 37 35 37 65 3 0 1 0 0 8 0 5 A 76 18 37 05 37 20 37 25 37 75 4 0 1 0 1 1 0 5 all A data sets for time 30000 seconds 4 9 The innflow file SSIIM 1 only This file is used to read velocities in three directions for the upstream boundary condition The program searches for this file and uses the data on the file if it exists If the file does not exist a warning message is written to the boogie file and the program proceeds normally On each line the velocities in a cell of the upstream cross section are given First the character E is written Then the indexes j and k horizontal and vertical are given Then the velocity components in the x y and z directions are given An example is given below 2 0 299115 0 023009 0 3 1 79469 0 138055 0 4 1 9941 0 153394 0 5 E E E E 2 19351 0 168733 0 2 2 2 2 The file does not have to contain values for all the nodes The normal initialization procedures are applied first and then the innflow file is read The nodes that are not present in the innflow file will keep the values from before the file was read It is also possible to specify k and e in the innflow file Then each line should start with a D instead of an E and the values of k and e should be given after the velocities 4 10 The result file This file contains the results from the water flow calculations The fi
267. ted with any input files If you try different input files or omit some input files will the bug still be there This applies especially to bedres files 5 If the program ran well on an earlier case or a similar other case what is the difference be tween this case and the current case 6 Often a bug can be related to one of the algorithms invoked by the data sets in the control file By removing some of the data sets in the file it may be possible to connect the bug to a specific data set Or a combination of data sets and input files Complex bugs A bug can show up right away after the program starts or it can emerge after long computational times A bug that shows up right away is usually easy to find by debugging the source code A bug causing incorrect results after a longer computational time is more difficult to find This can be called a complex bug Here are some advice in how to find such a bug 1 Similar to a physical laboratory model you can look at the physics of the problem observed in the SSIIM graphics during the computation Is the water surface location correct Is the wa ter depth correct Is the velocity field correct Are the secondary currents correct Is the rough ness correct Is the shear stress correct and follow patterns of depth velocity roughness Does the sediment concentration and bed changes follow the pattern of the shear stress Is there enough sediments on the bed for erosion to take place The thicknes
268. ter and sediment flow in a sand trap IAHR Journal of Hydraulic Research No 6 Olsen N R B and Tesaker E 1995 Numerical and physical modeling of a turbidity cur rent IAHR 26th Biennial Congress London Olsen N R B and Oldervik O 1995 Three dimensional numerical modeling of water flow through a gate plug IAHR 26th Biennial Congress London Olsen N R B and Stokseth S 1995 Three dimensional numerical modeling of water flow in a river with large bed roughness IAHR Journal of Hydraulic Research Vol 33 No 4 178 Olsen N R B and Chandrashekhar J 1995 Calculation of water and sediment flow in desilting basins 6th International Symposium on River Sedimentation New Delhi India Olsen N R B 1995 Numerical modelling of hydropower reservoir flushing International Conference on Hydropower into the next Century Barcelona Spain Olsen N R B and Melaaen M C 1996 Three dimensional numerical modeling of tran sient turbulent flow around a circular cylinder 2nd Int Conf on Modelling Testing and Monitoring for Hydro Powerplants Lausanne Switzerland Olsen N R B 1996 Three dimensional numerical modelling of local scour Hydroinfor matics 96 Zurich Olsen N R B 1997 Computational fluid dynamics as a tool for prediction of sedimenta tion and erosion in reservoirs Q 74 a COLD Conference Florence Italy Olsen N R B 1997 A framework for a 3D n
269. ters and the second float is the corresponding temperature in degrees Centergrade Example G 40 2 101 0 20 0 88 0 17 0 At the start of the calculation the temperature is 20 degrees Centergrade at level 101 0 meters and 17 degrees at level 88 0 There is linear variation between the given levels The highest levels must be first in the data set Initial vertical distribution of a water quality parameter Two integers are first read where the first integer is the number of the water quality parameter This corresponds to the Q data sets The second integer is the number of data points n in the vertical direction Then n pairs of floats are read the first float being a vertical level in meters and the second float is the corresponding temperature in degrees Centergrade Example G 41 4 2 101 0 20 0 88 0 17 0 At the start of the calculation the water quality parameter no 4 is 20 at level 101 meters and 17 level 88 0 There is linear variation between the given levels The highest levels must be first in the data set SSIIM 2 only Multiple vertical surfaces for the OpenGL graphics A surface is give on each G 42 data set and up t 20 G 42 data sets can be given For each data set two integers are read The first integer is a grid node number This indicates the starting point of the surface The second integer is a flag indicating the direction of the surface A zero is in one direction and 1 is the other It is necessary with a tria
270. th a partially dry geome try 4 6 The geodata file This file contains a number of x y and z coordinates An example is shown below 111 E 2 2 3 3 3 4 E 4 5 3 3 2 2 E 3 3 4 2 1 2 Z 3 0 3 0 3 0 The letter E is used for counting the number of points The letter Z is used for the last line in the file The numbers on this line are not used The purpose of this file is to use geometrical data that has been obtained from the field a dig itized map or a GIS system The file is used in the GridEditor to display the points in the file when generating the grid The View option of the menu and the Geodata points option in the pull down menu activates this The grid points are displayed with different colours according to which level they are The second use for this file is also in the GridEditor It is then used in the Make bed interpola tions for generating the z values for the bed of the grid A linear interpolation procedure is used The procedure is further described in Chapter 3 3 The GridEditor in SSIIM 2 makes it possible to add new geodata points graphically After wards the total set of points can be written to a new geodata file Similarly points can be deleted This is convenient for studies investigating changes in the geometry Note that only 498 new geodata points can be added at once If you want to add more points write the geo data file to the disk and then read it back again Also note that even if SSIIM 1 is use
271. the depth for a given location in the geometry SSIIM 1 only Convergence criteria for the water flow computations Default F 211 0 001 Special post processing print out An integer is read Depending on the value and which SSIIM version varying extra print out is given The print out is done when the result file is written 1 Works only with SSIIM 1 The average bed velocity vector in the grid direction and normal to the grid direction is printed to the boogie file The grid direction is here defined as parallel to the grid lines in the i direction which in the default configuration is in the main flow direction 2 Works only with SSIIM 1 Writes the average velocity vector for all grid cells to the boogie file Also writes the average bed shear stress 3 Works only with SSIIM 1 Writes a file innflow t which has the same format as the innflow file The values in the file correspond to the last cross section of the grid This enables the user to take the values from the last cross section and give them into the first cross section 4 Works only with SSIIM 1 Writes a file kKoordina in which has the same size as the koordina file but it is made up of only cross sections similar to the first cross section Together with the 3 option this enables the user to compute values for the upstream profile 12 Works only with SSIIM 2 Writes a file cellvol This file uses the geodata file and the grid to specify how much of the cell volume i
272. the light reduction It is possible to simulate up to five different algae species or other variables that influence the light irradiance When using the Q 6 00 data set the light history is calculated with the Q 3 data set Also the algae growth can be calculated in combination with the Q 6 00 data set using the Q 252 or the Q 361 data set Nutrient depletion is then calculated using the Q 26 or the Q 371 data set Nutrient depletion The nutrient depletion data set for one algae species is called Q 297 The data set is used for both nitrogen and phosphorous It is similar to Q 281 but the last float is the fraction of the algae growth For multiple algae species the Q 37 data set is used If the growth is only lim ited by one nutrient the Q 26 data set can be used The implementation of this algorithm is not tested Predatation The predatation is calculated as Chapra 1997 decay T kCal rio 2 5 9 dc ar Kon aiezos 2 5 10 Subscript al denotes phytoplankton and subscript zoo denotes zooplankton The sink source term is modelled with the Q 121 data set Note that this data set must be used 27 for both the phytoplankton and the zooplankton The implementation of this algorithm is not tested 28 Chapter 3 User interface 3 1 The main user interface The main user interface appears once the program is started and the input files are read or gen erated 3 1 1 OS 2 version The main user interface consi
273. the number of cells in the vertical direction and is used in the same formula as the parameter on the F 87 data set The last number on the second line is an integer giving how many cells there are in the grid Then there is a block of data where each line gives information about one depth averaged cell The first two integers on the line gives the i and j indexes of the cell in the 2D structured grid The third number is a float The integer value of this float gives the cell number of the bed cell in the 2D grid Then four additional floating point numbers are given the bed level the water level the limit of movable bed from the koomin file and the bed movement The last block of data gives information for each 2D depth averaged cell in the grid The 2D cell number is given first which is not the same as the 3D cell number Then the 3D cell number is given then the roughness is given twice the first time from a 3D array and the sec ond time from a 2D array Of course these should be the same Then the bedform height is given After this there will be 2 1 ZL floating point numbers given where L is the number of sediment sizes as given on the G data set First the thickness of the active top bed layer is given in meters Then the sediment fraction for each sediment size is given Then the same is repeated for the inactive layer If multiple layers are used F 37 3 and F 134 then N 1 2L floating point numbers are given where N i
274. the time is given first similar to the Z data set Then a float is given which is a variable time step The variable time step is not coded yet but it has but be given in the data set Then the three floats for the wind is given if wind is specified in the control file Then up to 20 inflow concentrations are given Note that the depth and water discharges from the Z data set is not given The number of inflow concentrations is the same as the number of M data sets in the control file Irradiance read as the last number of the line if specified by the Q data sets in the control file The order of the M data sets in the control file is not important but the order of the data on the M data in the timei file has to be the same as the order of the M data sets in the control file The timeo file The timeo file gives the output time series from the calculation For each time step a line of variables are written to the file Each line has Vars floats according to which variables were given in the timei file In the above file six variables are written The first variable is the veloc ity in x direction for cell 2 2 2 The second variable is the sum of all sizes of concentration for cell 2 2 2 The pressure and vertical grid elevations for various grid intersections are written The second group of parameters in the timei file is an input time series Each time step in the series are given on one line The line starts with a capital Then the t
275. tical to the time on the corre sponding data set Then ten additional floats are read The first nine are discharges in the nine first discharge groups The last float is the water level Note that zero s are given for the dis charge groups that are not used If the water inflow is not equal to the outflow there will be a water continuity error To sup press the error message and keep the program running the F 85 data set in the control file can be used 122 An example of the timei file for SSZIM 2 is given below There are three sediment sizes given in the control file In the unstruc file two inflow groups are given and one outflow group IO 0 0 0 0 0 0 0 0 0 0 0 0012 0 0027 0 0 0 00029 0 00032 I 86400 0 0 0 0 0 0 0 0 0 0 0 0018 0 0021 0 0 0 00026 0 00038 I 172800 0 0 0 0 0 0 0 0 0 0 0 0011 0 0017 0 0 0 00027 0 00029 DO 5 6 0 74 5 9 0 0 0 0 0 0 0 0 0 0 0 0 33 0 D 86400 5 4 0 54 15 1 0 0 0 0 0 0 0 0 0 0 0 0 33 0 D 172800 5 7 0 84 25 7 0 0 0 0 0 0 0 0 0 0 0 0 32 9 The time varying discharge can also be used in the same way for water quality computations Time dependent variation in water quality input parameters for SSIIM 2 Time dependent inflow of water quality constituents for SSIIM 2 are specified in the timei file Also it is necessary to specify an M data set in the control file for each of the varying inflow concentrations But instead of using the Z or J data set in the timei file an M data set is used On this data set
276. tions A fast solver It is always a good thing to check the boundary conditions in case of slow convergence or strange results Also note that warning messages may be written to the boogie file if particular undesirable configurations are present Therefore check the boogie file if problems occur Experience shows that the degree of non orthogonality of the grid will affect the convergence A higher degree of non orthogonality will give slower convergence A slower convergence will also be experienced where strong gradients are present This applies for example at the inflow of a jet from a wall The convergence speed is strongly influenced by the choice of the solver For most cases using block correction K 5 in the control file for SSIIM 1 will lead to much faster conver gence A speed up of one order of magnitude has been observed for some cases SSIIM 1 has reasonably good block correction algorithms The block corrections in an unstructured grid like for SSIIM 2 is more problematic but a multi grid algorithm is implemented for use in shallow flows F 168 and K 5 0 0 0 10 0 0 in the control file 160 For many cases it can be said that lower relaxation coefficients will give less instabilities dur ing the convergence but a slower convergence Higher relaxation coefficients will give more rapid convergence if there are no instabilities This is however only a rule of thumb which does not apply to all cases Instabilities can be obser
277. truc file and not on the regeneration after the koordina file is used Also the inflow outflow specification is done on the grid in the original unstruc file One of the most common problems for new SSIIM 2 users has been that they write the unstruc file with dry cells The latest versions of SSIIM 2 will therefore not allow the Grid Editor or the Discharge Editor to open if the F 2 data set is used in the control file SSIIM 2 only Algorithms to stabilize the solution in very shallow regions close to the side walls The algorithms use different interpolation algorithms from the center of the cells to the cell surfaces Different algorithms have been tested using integers from 1 to 7 68 F 114 F 115 F 116 F 117 F 118 F 119 F 120 F 121 3 4 Using second order interpolation instead of third order interpolations for pressure gradients 5 Setting the Rhie and Chow term to zero for 2D cells in shallow areas Shallow defined as depths below the values given on the first value of the F 94 data set 7 Flux limiter the extra term from the Rhie and Chow interpolation should not be more than 20 of the linear interpolation term Note that these algorithms are not tested extensively Default F 1 3 0 algorithms not used SSIIM 2 only An integer is read If it is 9 10 or 20 special algorithms to compute the pressure gradients are used This can give a more stable solution where there are very shallow areas inside the
278. ty is variable no 1 and the temperature is variable no 0 The algae diameter is 0 00001 meters and the form resistance coefficient is 1 0 SSIIM 2 only Special data set to calculate algae growth in case of only one nutrient irradiance limiting the growth integer I integer pointing to algae concentration integer 2 pointer to light irradiance variable integer 3 pointer to nutrient variable float 1 c0 formula for growth rate k irradiance float 2 cl formula for growth rate k irradiance float 3 kmax maximum growth rate float 4 Ks constant for nutrient float 5 temperature coefficient SSIIM 2 only Special data set for nutrient depletion from algae growth for multiple algae species limiting the light and one nutrient Three integers and seven floats are read integer 1 integer pointing to nutrient variable integer 2 integer pointing to light variable integer 3 integer pointing to algae variable float 1 cO formula for growth rate k irradiance float 2 cl formula for growth rate k irradiance float 3 kmax maximum growth rate float 4 Ks constant for the nutrient being calculated float 5 temperature coefficient float 6 fraction of nutrient in algae growth Q 281 SSITM 2 only Special data set for algae growth with phosphorus nitrogen and light 101 Q 282 Q 291 as the limiting variables integer 1 integer pointing to algae variable integer 2 integer pointing to phosphorous variabl
279. ual to the number of the discharge group at the outlet given in the Dis chargeEditor This will then cause the water level over the whole outlet cross section to be lowered simultaneously and in a horizontal line instead of being lowered at one point Selecting the surface index is usually done in the map graphics where the cell indexes are seen Note that a dynamically changing grid must not be computed during this pro cedure and the F 2 data set must not be used in the control file when finding the number The F 2 data set can be re inserted into the control file after the G 6 num bers are found When the grid cell indexes change for a dynamic grid the location of the cells in the initial grid is used Example G 6 35310 43673 0 0 1 0 1 The water surface above cells 35310 and 43673 is fixed during the movement of the water surface For SSIIM 2 also see the G 62 data set SSIIM 1 only This data set specifies water inflow on geometry sides bed or top Each inflow outflow location is given on one G 7 dataset It is possible to have up to 19 G 7 datasets When the G 7 data sets are used the default inflow outflow discharges are not used Therefore it is then necessary to use at least two G 7 data sets if they are used On each dataset eight integers and four floats are read The names of the variables are G 7 type side al a2 b1 b2 parallel update discharge Xdir Ydir Zdir Each variable is explained in the following type 1
280. uations are below this parameter Recommended value 0 01 1 0 The first three integers are interpreted differently in SSIIM 1 and SSIIM 2 SSIIM 1 Note The G 6 data set is not used if F 36 J is used in the control file The three integers iSurf jSurf kSurf indicate a cell in the grid The water surface in this cell is not moved In the present implementation kSurf have to be equal to znum ber 1 This means the cell has to be on the water surface If not a warning message is sent to the boogie file and kSurf is set to znumber 1 The computations continue afterwards Example G 6 31 790 1 0 1 Seen from above the water elevation in cell 31 7 will not move during the computa tion of the free surface SSIIM 2 In SSIIM 2 the grid is unstructured so it is only necessary with one index to reference a cell The first index iSurf is then used to point to this cell The water level above this 85 G7 cell will not be moved during the computations Normally the other two variables jSurf and kSurf should be set to zero However it is also possible to use two reference cells that do not move This is not correct from a hydraulic point of view but it can be done to improve stability The number of the second cell is then given as the second integer jSurf The third integer kSurf is normally zero However if the water level is changed at only one location for example the downstream boundary the kSurf integer can be set eq
281. uction wh 549 69 Peewee talked EL E Dl 8 1 1 Disclaimer and legal matters 0 0 0 0 0 0 2 e eee eee 8 1 2 Limitations of the program and known bugs 8 1 3 Model purpose 2222 40 00 beetebiahee ee bia nee hnetkagent 9 t4 Model Overview ve c2d ope ES aoe ees Bae i ho Gee oe 9 1 5 A guide to the different SSIIM versions 4 10 Chapter 2 Theoretical basis 2203 34 ig eal Bun ce hd ee oat sie he et gens 12 2 1 Water flow calculation 22 4003 e 0geeee kee ig ade Sete dee is 12 2 2 Water quality calculations 0 0 cece eee eee ee 17 2 3 Sediment flow calculation 4s 2ves o aeeud oy ev oe soe seeds 22 2 4 Temperature calculations 23 0 254 Gels oe ote le eh eS 24 2 5 Modelling free flowing algae 0 eee eee eee 25 Chapter 3 User interface 5 426 240 b oes ope eee eight vere 29 3 1 The main user interface 25 i bcck rasan Kee tiaetebeagauais 29 Sel LeOS 2 VERSION e cine pe Sie eed ate Whee BREEN hS 29 5 12 Windows VEISION s 4 5 ede gine ey we E a Se ow omen 29 3 2 Interactive input of parameters 0 0 e eee ee eee 30 3 3 ENG Grid CONOR My yat a ata PAG Ge Osa SEGA Ow See OR a 30 3 3 1 The grid editor menu 55 25 ee cae es CAR aE aed Res 31 3 3 2 Grid generation for SSIIM2 0 00 eee eee eee 34 3 3 3 Digitizing maps SSIM 2 for Windows only 37 3 3 4 Bed interpolation algorithms nenen naana nauenean 38 3 3 5 Displaying measured bed changes
282. ular algorithm is used which has given better results than the other ones Default F 56 0 1 0 not used Typical values if used F 56 200 0 62 Note that the angle of repose for the sediments is lower for sediments submerged in water than in air The algorithm does not work properly for more than one sediment size SSIIM 1 only Parameters for the Transient Free Surface TFS algorithm The TFS algorithm is used when including F 36 in the control file Four integers and six floats are read F 58 il i2 i3 i4 fl f2 f3 f4 fd fo Default F 58 7 0 0 1 0 02 2 0 2 0 0 0 1 0 0 0 il If this integer is 1 the transient terms are included in the equations If it is zero the transient terms are not included i2 If the integer is 1 the pressure will always be positive 13 If the integer is 1 the side walls will not move vertically i4 If the integer is 1 an upwind algorithm is used to transfer the water level movement from the center of the cell to the corners If the integer is zero the movement will be equal in all directions fl Parameter in the upwind algorithm for transferring the water level movements from the center of the cell to the corner If the parameter is zero all the movement will take place in the downstream direction A very large parameter will give equal movement in all directions f2 Parameter to dampen the water movement at the walls If the parameter is 2 0 there 60 F 59 F 60 F 62 F 63 F 64 wil
283. umber and j is an integer for the cell numbering in the lateral direc tion If only one group is used it is possible to give B 0 0 0 0 0 which indicates that this group is distributed in all the cells 4 3 9 The P data sets P2 Five floating points that give scaling for the graphical presentation The first three gives scales in streamwise cross streamwise and vertical direction The fourth and fifth give movements in left right and vertical direction Defaults 1 0 for the scales and 0 0 for the movements P3 _ Four integers that give initial location of the graphical plots in streamwise cross streamwise and vertical direction and sediment fraction number Ht P4 A character that indicates initial type of plot g gives the grid v gives velocity Han lines V gives velocity vectors c gives concentration P6 Minimum and maximum values for blue and red colours in the OpenGL graphics Two floats are read P10 Integer for the number of global iterations between printing results for time dependent computations In SSHM 2 the result and bedres files are printed with an increasing number extension These files can be renamed to have no extension and read by Tec plot to show the results at a specific time P11 SSIM 2 only Extra print out to the boogie file for each time step An integer is read 96 Depending on the integer different information is printed 1 Total amount of water quality constituent 1 for the
284. umerical model for hydropower reservoir water quality HY DROPOWER 97 Trondheim Norway Olsen N R B and Kjellesvig H M 1997 A 3D numerical model for determination of spillway capacity HYDROPOWER 97 Trondheim Norway Olsen N R B and Kjellesvig H M 1997 3D Numerical Modelling of Sediment Deposi tion and Bed Changes in a Tunnel Type Sand Trap IAHR ASCE Congress San Francisco USA Olsen N R B 1997 Computational Fluid Dynamics in Hydraulic and Sedimentation Engineering Class notes Division of Hydraulic and Environmental Engineering The Norwegian University of Science and Technology Olsen N R B and Kjellesvig H M 1998 Three dimensional numerical flow modelling for estimation of maximum local scour depth IAHR Journal of Hydraulic Research No 4 Olsen N R B and Kjellesvig H M 1998 Three dimensional numerical flow modelling for estimation of spillway capacity IAHR Journal of Hydraulic Research No 5 Olsen N R B and Heslop S 1998 Flow visualisation by particle animation for 3D CFD modelling in hydraulic engineering HY DROINFORMATICS 98 Copenhagen Denmark Olsen N R B 1998 Unstructured and nested grids for 3D CFD modelling in hydraulic engineering HY DROINFORMATICS 98 Copenhagen Denmark Olsen N R B and Tjomsland T 1998 3D CFD modelling of wind induced currents and radioactive tracer movements in a lake 3rd International Conference on Hydro
285. valent to water at 20 degrees Centergrade This is hard coded and can not be changed The program is not made for the marine environment so all effects of density gradi ents due to salinity differences are not taken into account In computer science a very well tested program still contains about one bug pr 2000 lines of source code The SSIIM programs contains over 100 000 lines of source code and several modules have not been much tested Also combinations of modules may not have been tested at all It is therefore likely that there are a number of bugs in the program The user is advised to take this into consideration when evaluating the results of the program Some modules are especially not much tested The time dependent flow in connection with free surface and any modules involving density gradients These modules are also prone to instabilities Some problems are also described in more detail in Chapter 5 14 If you find any serious bugs that are not mentioned above I would appreciate if you let me know Please use the following address Nils R Olsen Department of Hydraulic and Environmental Engineering The Norwegian University of Science and Technology S P Andersens vei 5 N 7491 Trondheim Norway 1 3 Model purpose SSIIM is an abbreviation for Sediment Simulation In Intakes with Multiblock option The pro gram is made for use in River Environmental Hydraulic Sedimentation Engineering Initially the main motivati
286. ved during the iterations when the residual or the velocities increase and decrease periodically For the convergence of the k and epsilon equations for river problems the size of the cell clos est to the bed is important This can be changed by changing the second number in the G 3 data set in the control file This parameter also depends on the roughness of the bed The height of the bed cell should not bee too much smaller than the roughness of the bed The fol lowing formula is used to determine the roughness of the bed given the Stricklers friction coefficient M van Rijn 1982 M amp 5 11 1 The default values of the relaxation coefficients are set to 0 8 for the velocity equations and 0 2 for the pressure correction equation For k and e 0 5 is used as default The values of the relaxation coefficients for the velocity equations and the pressure correction equations are presumed to give an optimum convergence for the average flow case Values of 0 5 for all equations will often give a slower convergence but with less probability of divergence Theo retically the sum of the relaxation coefficient for the velocity equations and the relaxation coefficient for the pressure correction equation should be unity for optimum convergence However for some difficult cases this rule has to be abandoned The relaxation coefficients may be reduced down to 0 1 for the velocities 0 03 for the pressure and 0 05 for k and e If the solution blows
287. ver by using the loga rithmic formula for the vertical velocity profile and Mannings formula it can be shown that k is equal to d The user can override this value by using the F 6 data set Then both Xks Wall and Xks i j will get this value If the user wants to specify a spatially varying roughness at the bed this can be done by making a bedrough file Then only the Xks i j values will be affected and not the XksWall value The roughness specified in the bedrough file will override the value specified on the F 6 data set This means that using both a bedrough file and the F 16 data set the value on the F 6 data set will only be used for the walls The roughness given in the XksWall and Xks i j variables will not affect the location of the initial water surface However the variables will affect the shear stress and thereby the pres sure in the flow field So if the algorithm is used where the water surface is updated as a func tion of the pressure field the water surface will be affected by the roughness values 135 In the time dependent sediment computations invoked by using the F 37 data set it is possi ble to further change the roughness values in the Xks i j array This is done by using the F 90 data set Then the bed form height can be computed and thereby also the bed roughness This will again affect the location of the water surface only if it is recomputed during the computation If you are unsure abou
288. voll et al 1995 and Lovoll 1996 The flood wave case was also discussed by Sintic 1996 The control file includes G 9 data sets to view the water surface with the 3D OpenGL graph ics This can be done while the computation is running 156 Also note that the forces on the obstacle is written as a time series to the forcelog file Scour in a flume SSIIM 1 only The files have extension sco This shows the scour in a flume where an obstruction is placed To avoid excessive computational time for this case a very coarse grid has been used The grid is too coarse to resolve the flow field around the obstruction enough to simulate local scour However scour because of channel contraction is simulated Except for the coarse grid this case is similar to the local scour case presented by Olsen 1996 The time step is chosen to be 1000 seconds This is also to avoid excessive computation time when running the example This allows the user to observe how the bed evolution changes The time step is however to long to give an accurate prediction of the evolution of the scour Note the grid extends relatively far downstream of the obstacle For some cases this has shown to be necessary to avoid unphysical results at the downstream boundary The development of the scour hole is best seen with the contour map graphics or the OpenGL graphics showing the bed level seen from above Note some bugs in the contour map graphics causes some lines not
289. w Start the program and read the previously generated unstruc file Then choose View gt Dis chargeEditor The grid seen from above emerges Choose Side Discharge gt Choose Group gt 1 A dialog box emerges where the water discharge is specified in m s Give a value of 0 1 for the inflow discharge In the right editfield for the vertical cell to give 11 Then choose OK Then click on two of the sides of the cells bordering the grid at the left side Once clicked the lines change colour Then choose Side Discharge gt Group no gt 2 In the dialog box click on the nflow button This specifies an outflow of the geometry Give a value of 0 1 for the discharge In the right editfield for the vertical cell to give in 11 Then choose OK Click on two grid lines bordering the upper line of the geometry The lines change colour indicating outflow Note that it is possible to give up to 10 groups of water inflows and outflows But the sum of the inflows have to be equal to the sum of the outflows Third stage calculating the water flow Choose Text from the View option in the menu To start the solution of the Navier Stokes equations you select the option Compute gt Waterflow from the menu After this push F 0 to see how the residuals develop The window shows the residual for all the six partial differen tial equations that are solved for the water flow calculation The water flow calculation is con verged when all the residual
290. w locations of inflow and outflow The old inflow outflow surfaces has to be removed and the new specified This is similar to what was done in the second stage Afterwards the unstruc file should be saved again and the computations started This is done by the menu options Calculations gt Water 150 flow Choose the profile graphics or map graphics to watch the deposition pattern and other variables 5 8 Tutorial 5 Scour in a contraction SSIIM 1 for Windows We will compute the erosion and deposition pattern in a flume with a contraction initially covered with a flat sand bed The figure below shows the flume seen from above pe UO cg a lt 70m 1 0m 2 0m The flume is 1 meter wide and 1 meter deep The length is 6 meters The inflow of water is in section A and the outflow is in C The flume width of the contraction in B is 0 5 meters The water discharge is 1 0 m s and the sediment size on the bed is 0 5 mm First stage Generation of grid Let us initially generate a relatively coarse grid 60 cells in the longitudinal direction and 10 cells in the lateral direction We start the program from an empty directory and a dialog box appears In this we give the following parameters Length of initial channel meters 6 Width of initial channel meters 1 Water depth level meters 1 Number of cross sections 61 Number of points in cross sections 11 Then press the OK button and the program starts T
291. walls of the boundary when this data set is used The walls with no inflow must be closed with the W 4 data set If inflow through a side set as wall is specified with the G 7 data set the wall laws must be removed using the W 4 data set The default walls are on the sides of the channel The first and last cross sections 87 G8 G11 G13 have the inflow and outflow by default Also note that it is not possible to have inflow through the free water surface If such a case is to be simulated it is necessary to model a closed conduit K 2 0 0 addition to koordina file and then to open a hole in the roof If the G 7 data sets are not coded correctly there will be a continuity error It is then advisable to look at the velocity vectors in the SSIIM graphics to see if the vectors computed in the first iterations gives a picture that looks reasonable Remember the red lines shows solid walls and blue lines show inflow outflow The vectors close to inflow outflow regions should point roughly in the right direction after the first itera tion For SSIIM 2 the data set is not used Instead the inflow outflow is specified in the Discharge Editor The information is stored in the unstruc file SSIIM 1 only Values for initial velocities Up to 19 G 8 data sets can be used Six integers are read first to specify the volume that is being set Then three floats are read which gives the velocities in the three directions G8 il i2 jl j2 kl
292. water surface The algorithm is very unsta ble and a very short time step has to be used for stability reasons This algorithm is only used for cases with very steep water surface gradients for example computation of coefficient of discharge for a spillway or a flood wave with a steep front In 2009 this algorithm was improved a bit for the SSIIM 2 version giving a more stable solu tion The new algorithm is invoked by F 36 5 Pressure and Bernoulli algorithm The last algorithm is implemented in both SSIIM 1 and 2 It can be used for both steady and unsteady computations The algorithm is based on the computed pressure field It uses the Bernoulli equation along the water surface to compute the water surface location based on 136 one fixed point that does not move The location of this point is given on the G 6 data set both for steady and unsteady computations For a steady computation the algorithm is invoked by using a small number for the second integer on the K data set This integer gives the number of iterations between each time the water surface is updated For an unsteady computation F 36 2 is specified in the control file together with the time step on the F 33 data set Using this algorithm it is possible to use the timei file to compute a location of the water surface that varies over time The algorithm is fairly stable so that it can also be used in connection with computation of sediment transport and bed change
293. with negative areas Otherwise the program will stop when negative areas occur The Q option can be useful when making a complex grid If the character is a P then time stamps are written to the boogie file from different parts of the program The purpose is to find parts of the program where improvements can be made in the parallelization If the character is an A then the grid is checked for possible errors and error messages are written to the boogie file F2 Automatic execution possibility Some parts of the program will be executed directly after the initialisation if a character is placed in this field The subprograms will be executed in the order they are given The possibilities are Read the result file Initialize sediment concentration computation Calculate sediment concentration Start the water flow computation Read the unstruc file only SSHM 2 Read the XCYC file only SSIIM 1 Compute water quality SSIIM 1 Compute water quality SSIIM 2 Write the results from the water quality computation SSIIM 2 only Read the results from the water quality computation SSIIM 2 only OmNOKxaCsuz 53 F4 F6 F7 End the program and exit SSIIM 1 End the program and exit SSIIM 2 Write the result file Write the unstruc file SSIIM 2 Regenerate the grid SSIIM 2 Interpolate the bed levels from the geodata file SSIIM 2 lt lt EZD Example 1 F 2 WISA The program will first compute the water flow th
294. ws But the sum of the inflows have to be equal to the sum of the outflows Third stage calculating the water flow To start the solution of the Navier Stokes equations you select the option Compute from the main menu Then select MB Flow from the pull down menu After this push the update but ton on the dialog box to see how the residuals develop The dialog box shows the residual for all the six partial differential equations that are solved for the water flow calculation The water flow calculation is converged when all the residuals are under 10 3 Fourth stage viewing the results The results are viewed by choosing one of the options in the Graphics menu of the main user interface This is the same as SSIIM version 1 Also animation is similar in the OpenGL graphics Choose the Graphics option of the main menu and the Map option in the pull down menu This gives you a graphics view of the grid as seen from above Choose Graph from the menu in the map window and Velocity from the pull down menu Then you see the velocity vectors You can scale and move the plot by using the lt Page up gt lt Page down gt and arrow keys You can also scale the velocity vectors by choosing Scale and VarEnlarge VarShrink And you can see the other parameters than the velocity by choosing different variables in the Graph pull down menu 5 6 2 Windows version The tutorial shows the main features of the user interface with the grid editing and the
295. x choices on the pull down menu The first choice Show geometrical points displays the points in the geodata file on the grid plot The points are shown with a cir cle and the different colour indicate different vertical levels Note that the points are read from the file and this may take some time if the file is large The second choice Make bed interpolations generates z values for the bed surface of the grid The bed interpolations are done in a separate thread in OS 2 because the calculations may 31 take some time This allows other tasks to be carried out during the interpolation The z values are interpolated from a set of geometrical data read from the geodata file If there is no geodata file present an error message is given The interpolation routine goes through all the grid points i j and finds the closest points in the geodata file in all four quadrants where the grid intersection i j is the centre of the coordinate system Then a linear interpolation from these four points is made If one of the points in the geodata file is closer than 5 cm from the grid point this z value is chosen and no interpolation is done The outcome of the interpo lation is logged to the file boogie bed If the interpolation routine is unsuccessful in finding the point the z value is set to zero The third choice Apply changes sets a global change flag When the waterflow routine sees that this flag is set it updates the calculation geometry
296. y Brooks 1963 g singsina ees Teo aE can 2 3 4 tan 0 tan 0 tan The angle between the flow direction and a line normal to bed plane is denoted a The slope angle is denoted and O is a slope parameter The factor K was calculated and multiplied with the critical shear stress for a horizontal surface to give the effective critical shear stress for a sediment particle In addition to the suspended load the bed load qp can be calculated Van Rijn s formula for bed load is used T 772 T S pE 0 055 ___ 2 3 5 pis p p g Ds 2 2 j a a or A The empirical parameters in the equation 0 053 2 1 0 3 and 1 5 may be changed by using the F 83 data set in the control file The bed form height A is calculated by van Rijn s equation 1987 23 T T Di T 4 4 0 11 gt 1a Fe 25 c 2 3 6 where d is the water depth The effective roughness is computed as van Rijn 1987 25 k 3Do ndi e a 2 3 7 where A is the bedform length calculated as 7 3d Note that van Rjin s equations for bed form roughness was developed on mostly uniform sed iments For non uniform sediments the bed forms will be smaller Many of the parameters in the formulas given above can be changed by giving different parameters in the control file If completely different formulas are to be used this can be coded in the beddll dll file 2 4 Temperature calculations
297. zero the limiting value is decided by a formula in the sfdifdll dll file which can be coded by the user Negative values indicate differ ent alternative hard coded formulas not in the DLL The following options for the limiter are 1 the depth if the Froude number is above 1 2 the depth 1 1 if the Froude number is above 1 3 the depth the Froude number if the Froude number is above 1 4 the depth if the Froude number is above 0 9 5 same as option 3 except the Froude number is taken as the maximum of the cell and its neigbours 6 the depth if the Froude number is above 0 5 The float is a limiter on the allowable surface slope used in the determination of the App Coefficients for the F 36 7 algorithm Default F 246 1 1 00 1 SSIIM 2 only An integer is read If 1 then negative sediment thicknesses are allowed The feature is used to present measured bed elevation changes SSIIM 2 only Different Shields curves An integer is read If non zero a lower or higher Shields curve will be used SSIIM 2 only A relaxation factor for the outflow discharge if a zero gradient update boundary condition is used Default F 252 0 9 SSIIM 2 only Maximum sediment concentration at the bed Default 0 1 Flocculation DLL An integer is read If it is above zero the flocdll dll file will be used to compute flocculation of the sediments Note that this will only work if the F 37 2 option is used SSIIM 2 only Nested grid algo
Download Pdf Manuals
Related Search
Related Contents
取扱説明書 4000TOC センサ M300 TOC トランスミッター Manual - Recal Samsung Gear fit Bruksanvisning KTS2シリーズ 取扱説明書 New Transducers 42PF9830/93 User's Manual Curtis RMW741 microwave FR80 MB91660 Series HARDWARE MANUAL User Manual SP-12000M-CXP4 SP-12000C-CXP4 Copyright © All rights reserved.
Failed to retrieve file