home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 8 Other / 08-Other.zip / ssiim14.zip / ssiim14.inf (.txt) < prev   
OS/2 Help File  |  1996-11-20  |  443KB  |  3,697 lines

  1.  
  2. ΓòÉΓòÉΓòÉ 1. Introduction ΓòÉΓòÉΓòÉ
  3.  
  4.  
  5. ΓòÉΓòÉΓòÉ 1.1. About this INF file. ΓòÉΓòÉΓòÉ
  6.  
  7. This file, ssiim.inf, is made from the SSIIM User's Manual. Most of the 
  8. equations are deleted, and some of the figures too. Some new figures are added, 
  9. especially in the examples 
  10.  
  11.  
  12. ΓòÉΓòÉΓòÉ 1.2. Foreword ΓòÉΓòÉΓòÉ
  13.  
  14. A THREE-DIMENSIONAL NUMERICAL MODEL FOR SIMULATION OF SEDIMENT MOVEMENTS IN 
  15. WATER INTAKES WITH MULTIBLOCK OPTION 
  16.  
  17. Version 1.4 
  18.  
  19.  The SSII model was developed in 1990-91 during the work with my dr. ing. 
  20. degree at the Division of Hydraulic Engineering at the Norwegian Institute of 
  21. Technology. SSII is an abbreviation for Sediment Simulation In Intakes. The 
  22. model was originally build around the numerical model Spider, which was made by 
  23. Prof. M. Melaaen during the work on his dr. ing. degree in 1989-90. Spider 
  24. solves a flow problem for a general three-dimensional geometry. SSII was made 
  25. up of sediment calculation routines for 3D solution of the convection-diffusion 
  26. equation for the sediments, communications with Spider and a graphical user 
  27. interface made in OS/2. 
  28.  
  29. The main motivation for making SSII was the difficulty to simulate fine 
  30. sediments in physical models. The fine sediments, often under 0.2 mm, are 
  31. important for wear on turbines. It was also an advantage to be able to simulate 
  32. other problems as for example sediment filling of reservoirs and channels. 
  33.  
  34. At the time SSII was made I had limited funding for computer equipment. This, 
  35. together with lack of knowledge of UNIX, made it necessary to develop the 
  36. models on a PC. Then a problem arouse, the 640 kB limit of DOS. The arrays that 
  37. the model used was often an order of magnitude larger than the DOS limit. The 
  38. DOS extenders were fairly unreliable at that time. Because of the long 
  39. computational times it was also important to have a multi- tasking operating 
  40. system. Therefore, the operating system OS/2 was used. Compared to UNIX, OS/2 
  41. is much more user-friendly, and this has been a major advantage during the 
  42. development process, giving increased productivity. 
  43.  
  44. After finishing my dissertation in 1991, I wanted to improve the numerical 
  45. models. A disadvantage with the SSII and the Spider models for practical 
  46. situations was that a structured grid was used, and it was only possible to 
  47. have one block for an outblocked region. A natural improvement was a 
  48. multi-block model with general outblocking possibilities. This meant 
  49. considerable changes in Spider. Instead, a new water flow module for 
  50. multi-block calculation was made. This model was added to SSII, and the 
  51. resulting model was called SSIIM. 
  52.  
  53. SSIIM, version 1.0, was uploaded on the Internet 17th of June 1993. Version 1.1 
  54. had some bug-corrections and some improvements in the water flow calculation 
  55. for multiple blocks. Version 1.1 was uploaded on the net 18th of October 1993. 
  56. In the fall of 1993 version 1.2 was made, with an improved user interface, some 
  57. additional tools and a revised manual. It was uploaded on the net 22nd of 
  58. December 1993. It was also distributed by diskette to selected water 
  59. institutions in January 1994. Version 1.3 included several bug-fixes, improved 
  60. sediment calculation and improved graphics. This was uploaded on the net 5th of 
  61. April 1994. It took a while until version 1.4 was uploaded on the net, mainly 
  62. due to the OpenGL additions. This meant that OS/2 version 4.0 had to be used. 
  63. Version 1.4 also includes transient calculations of water flow, free surface 
  64. and sediment transport, water quality, a 2D depth-averaged water flow module 
  65. and improved graphics. 
  66.  
  67. Future plans for SSIIM includes a version with non-structured grid. It is very 
  68. likely that the graphics presentation modules will be improved. There are also 
  69. plans to include SSIIM in the River System Simulator (Internet: 
  70. www.sintef.no/nhl/rss/), a commercial product made by SINTEF Civil and 
  71. Environmental Engineering. 
  72.  
  73. Several people have provided me with insight into the various problems I have 
  74. encountered in the development of this program. I have benefitted greatly from 
  75. the knowledge of Prof. Melaaen at Telemark Institute of Technology, in the 
  76. science of computational fluid dynamics. In the topics of hydraulics and 
  77. sedimentation engineering I have learned from Prof. Lysne at Division of 
  78. Hydraulic and Environmental Engineering at the Norwegian University of Science 
  79. and Technology, and from Prof. Julien, Prof, Gessler, Prof. Wohl and Prof. 
  80. Bienkjewicz at Colorado State University. Knut Alfredsen helped me with 
  81. software and hardware problems during the work with my dissertation, making the 
  82. SSII model. Vijaya K. Singh at IBM Canada has helped me with the C compiler. 
  83. Dave Zenz and Suzy Deffeyes at IBM Visual Systems has helped me with the OpenGL 
  84. graphics. I would also like to thank the following people for helping me test 
  85. the program: Morten Skoglund, Oscar Jimenez, Aslak L╨½voll, Lars Abrahamsen, 
  86. Siri Stokseth, J. Chandrashekhar, Knut Alfredsen, Hild Andreassen, Hilde Marie 
  87. Kjellesvig, Md. Mahbubur Rahman, Tuva Cathrine Daae, Anne Sintic, Atle Harby, 
  88. Amirul Islam Khan, Noor Quasim Khan, Chris Bowles, Catherine Wilson and 
  89. Per-Ludvig Bjerke. Also thanks to Richard Hibbert, David Seed, Richard May, 
  90. Luca Barone, Isabelle Lavedrine and Norbert Jamot at HR Wallingford Ltd, U.K. 
  91. for their work and evaluation reports on SSIIM. 
  92.  
  93. Trondheim, 18. November 1996 
  94.  
  95. Nils Reidar B╨½e Olsen 
  96.  
  97.  
  98. ΓòÉΓòÉΓòÉ 1.3. Model purpose and structure ΓòÉΓòÉΓòÉ
  99.  
  100. SSIIM is an abbreviation for Sediment Simulation In Intakes with Multiblock 
  101. option. The program is made for use in 
  102. River/Environmental/Hydraulic/Sedimentation Engineering. The main motivation 
  103. for the program is to simulate the sediment movements in general river/channel 
  104. geometries. This has shown to be difficult to do in physical model studies for 
  105. fine sediments. 
  106.  
  107. The program solves the Navier-Stokes equations with the k-epsilon model on a 
  108. three-dimensional almost general non-orthogonal grid. The grid is structured. A 
  109. control volume method is used for the discretization, together with the 
  110. power-law scheme or the second order upwind scheme. The SIMPLE method is used 
  111. for the pressure coupling. The solution is implicit, also over the boundary of 
  112. the different blocks. This gives the velocity field in the geometry. The 
  113. velocities are used when solving the convection-diffusion equations for 
  114. different sediment sizes. This gives trap efficiency and sediment deposition 
  115. pattern. 
  116.  
  117. The model has a user interface with capabilities of presenting graphical plots 
  118. of velocity vectors and scaler variables. The plots show a two-dimensional view 
  119. of the three- dimensional grid, in plan view, a cross-section or a longitudinal 
  120. profile. It is also possible to view the geometry in three dimensions. The 
  121. OpenGL graphics library has been used to make graphics with color shading and 
  122. 3D views. Additionally it is possible to simulate particle animation for 
  123. visualization purposes. See http: //www.sintef.no/nhl/vass/vassdrag.html for 
  124. examples of graphics presentation for various cases. 
  125.  
  126. The model includes several utilities which makes it easier to give input data. 
  127. The most commonly used data can be given in dialog boxes. Several of the 
  128. modules in the program can be run simultaneously as separate threads. This 
  129. exploits the multi-tasking capabilities in OS/2. There is an interactive 
  130. graphical grid editor with elliptic and transfinite interpolation. Grid and 
  131. some of the input data can be changed during the calculation. This can be 
  132. useful for convergence purposes, and also when optimizing the geometry with 
  133. respect to the flow field. 
  134.  
  135.  Advice for new users are given, who also are recommended to try the tutorial 
  136.  
  137.  
  138. ΓòÉΓòÉΓòÉ 1.4. Limitations of the program and known bugs ΓòÉΓòÉΓòÉ
  139.  
  140. SSIIM version 1.4 requires OpenGL graphics libraries to be installed with OS/2. 
  141. These are included in OS/2 version 4.0 and later. 
  142.  
  143. Some of the most important limitations of the program are listed below. 
  144.  
  145.       * The program neglects non-orthogonal diffusive terms. 
  146.       * The program neglects stress terms for elements that are not at the 
  147.       boundary. 
  148.       * The grid lines in the vertical direction have to be completely 
  149.       vertical. 
  150.       * Internal walls cannot be used within two cells from a multi-block 
  151.       connection. 
  152.       * Kinematic viscosity and density of the fluid is equivalent to water at 
  153.       20 degrees Centergrade. This is hard-coded and can not be changed. 
  154.       * Fully turbulent flow is assumed. 
  155.  Also note that some combinations of different options may not have been 
  156.  tested, and then there is a risk of a bug in the program. Not all algorithms 
  157.  are implemented for the multi-block options, since this option is redundant in 
  158.  a new version with unstructured grid. The animation graphics routine is not 
  159.  maintained as well as the other routines, which means that this routine has 
  160.  some bugs. The time-dependent flow in connection with free surface is also not 
  161.  to well tested. The contour map graphics routine also has a bug in connection 
  162.  with the boundary between blocks, and also sometimes some contour lines are 
  163.  missing. 
  164.  
  165.  If you find any serious bugs that are not mentioned above, I would appreciate 
  166.  if you let me know. Please use the following addresses: 
  167.  
  168.  E-mail:        Nils.R.Olsen@civil.sintef.no 
  169.  
  170.  Ordinary mail: 
  171.  
  172.   Nils R. Olsen
  173.   SINTEF Civil and Environmental Engineering
  174.   Klaebuvn. 153
  175.   7034 Trondheim
  176.   Norway
  177.  
  178.  
  179. ΓòÉΓòÉΓòÉ 1.5. Disclaimer and legal matters ΓòÉΓòÉΓòÉ
  180.  
  181. I disclaim all warranties with regard to this software and the information in 
  182. this document, whether expressed or implied, including without limitation, 
  183. warranties of fitness and merchantability. In no event shall I or my employer, 
  184. SINTEF, be liable for any special, indirect or consequential damages or any 
  185. damages whatsoever resulting from loss of use, data or profits, whether in an 
  186. action of contract, negligence or other tortuous action, arising out of or in 
  187. connection with the use or performance of this software. It is therefore not 
  188. recommended that the program be used for solving a problem whose incorrect 
  189. solution could lead to injury to a person or loss of property. If you do use 
  190. the program in such a manner, it is at your own risk. It is necessary to know 
  191. that to understand and interpret the program results properly it is required 
  192. that the user have knowledge and experience in computational fluid dynamics and 
  193. hydraulic engineering. 
  194.  
  195. If results from SSIIM are used in a publication, this should be stated in the 
  196. publication. 
  197.  
  198. Provided the user complies with the above statements, the program can be used 
  199. freely. The program can be distributed freely on condition that an unchanged 
  200. copy of this manual is distributed with the program. 
  201.  
  202. Nils Reidar B. Olsen 
  203.  
  204.  
  205. ΓòÉΓòÉΓòÉ 2. Theoretical basis ΓòÉΓòÉΓòÉ
  206.  
  207. Some of the theoretical basis is explained in this chapter. For more details, 
  208. including the equations, see the written manual or some of the literature. 
  209.  
  210.  
  211. ΓòÉΓòÉΓòÉ 2.1. Standard water flow calculation ΓòÉΓòÉΓòÉ
  212.  
  213. The initial water surface is generated by a standard one-dimensional backwater 
  214. calculation. The friction loss is calculated by Manning's formula, using the 
  215. friction factor given on the W 1 data set in the control file. A separate 
  216. Manning's friction factor for each cross- section can be given on the W 5 data 
  217. set. This prescribed water surface can afterwards be changed according to the 
  218. calculated pressure field. The parameters for this procedure is given on the G 
  219. 6 and the K 1  data set in the control file. It is also possible for the user 
  220. to specify the water surface. This is done by setting the  K 1 data set in the 
  221. control file to K 1 0 0, and adding the vertical level of each grid 
  222. intersection in the koordina file. In this way it is possible to simulate for 
  223. example a tunnel. 
  224.  
  225. The Navier-Stokes equations for turbulent flow in a general three-dimensional 
  226. geometry are solved to obtain the water velocity. Alternatively, it is possible 
  227. to use a depth-averaged two-dimensional model. This can be specified on the F 
  228. 44 data set of the control file. The k-Γûá model is used for calculating the 
  229. turbulent shear stress. A simpler turbulence model can be used for the 
  230. two-dimensional calculation. This is then specified on the F 43 data set of the 
  231. control file. 
  232.  
  233. The equations are discretized with a control-volume approach. An implicit 
  234. solver is used,  also for the multi-block option. The SIMPLE method is the 
  235. default method used for  pressure-correction. The SIMPLEC method is invoked by 
  236. the K 9 data set in the control file.  The power-law scheme or the second-order 
  237. upwind scheme is used in the discretization  of the convective terms. This is 
  238. determined by the values on the K 6 data set in the control file. The numerical 
  239. methods are further described by Patankar (1980),  Melaaen (1992) and Olsen 
  240. (1991). 
  241.  
  242. The default algorithm in SSIIM neglects the transient term. To include this in 
  243. the calculations the F 33 data set in the control file  is used. The time step 
  244. and number of inner iterations are given on this data set. For transient 
  245. calculations it is possible to give the water levels and discharges as input 
  246. time series. The timei file is then used. 
  247.  
  248. The gravity term is not included in the standard algorithms. It is however 
  249. invoked in some of the free surface calculations. 
  250.  
  251. Wall laws for rough boundaries are used. These are given by Schlichting (1979). 
  252. The roughness, ks, is equivalent to the diameter of particles on the bed. It 
  253. can be specified on the  F 16 data set in the  control file. If the roughness 
  254. varies at the bed, a roughness for each bed cell can be given in the  bedrough 
  255. file. 
  256.  
  257. Influence of sediment concentration on the water flow 
  258.  
  259. Note that there is still a discussion about the following arguments in the 
  260. science of sediment transport. Some of the explanations below are not generally 
  261. agreed upon. 
  262.  
  263. The effect of the sediment concentration on the water flow can be divided in 
  264. two physical phenomena: 
  265.  
  266. 1. The sediment close to the bed move by jumping up into the flow and settling 
  267. again. This causes the water close to the bed to loose some of its velocity, 
  268. because some of the energy is used for moving the sediments. This can be 
  269. thought of as an added roughness. Einstein and Ning Chen [ 19] conducted a set 
  270. of classical experiments where they obtained a modified velocity distribution 
  271. as a function of the sediment concentration. This function modifies kappa in 
  272. the law wall. This formula is coded in SSIIM, and invoked automatically 
  273. whenever the sediment concentration array has values above zero, and the water 
  274. flow calculation is done. 
  275.  
  276. 2. The other phenomena is that the sediment concentration increase the density 
  277. of the fluid, which changes the flow characteristics. A typical example is a 
  278. density current. This effect is added as an extra term in the Navier-Stokes 
  279. equations. This term is not automatically invoked.  The user can invoke this 
  280. term by using the F 18 data set in the control file. 
  281.  
  282. Note that the two effects will push the velocity profile in opposite 
  283. directions. Effect 1 will decrease the water velocity close to the bed, while 
  284. effect 2 will increase the water velocity close to the bed. 
  285.  
  286.  
  287. ΓòÉΓòÉΓòÉ 2.2. Sediment flow calculation ΓòÉΓòÉΓòÉ
  288.  
  289.  SSIIM calculates sediment transport by size fractions. In the control file, 
  290. each fraction is specified on an S data set, where the diameter and fall 
  291. velocity is given. This data set has to be given when calculating sediment 
  292. transport. The number of sediment sizes is given on the G 1 data set. 
  293.  
  294. There are two ways to specify sediment inflow in the control file. One way is 
  295. to give the inflow on the I data sets in kg/s. An I data set must then be given 
  296. for each fraction. A vertical sediment concentration distribution will then be 
  297. used. This sediment concentration will be given over the entire upstream 
  298. cross-section (i=1). 
  299.  
  300. The other way to specify sediment inflow is to use the G 5 data set. Then the 
  301. concentration is given for a specified surface at the boundary of the grid. The 
  302. concentration is given in volume fraction, which is used in all calculations by 
  303. SSIIM. 
  304.  
  305. It is possible to use both I and G 5 options simultaneously to specify two 
  306. sources of sediments. 
  307.  
  308. Sediment transport is traditionally divided in bedload and suspended load. The 
  309. suspended load can be calculated with the convection-diffusion equation for the 
  310. sediment concentration, c. In SSIIM the concentration is calculated by volume 
  311. fraction, and not by mass fraction.  The fall velocity of the sediment 
  312. particles is denoted w. The diffusion coefficient is taken from the k-epsilon 
  313. model. The Schmidt number is set to 1.0 as default. If the user want a 
  314. different number, this can be set on the F 12 data set in the control file. 
  315.  
  316. The concentration in the elements closest to the bed can be found by various 
  317. methods described below. The concentration is "forced" on the bed boundary 
  318. finite volumes in a similar manner as the boundary condition for epsilon in the 
  319. k-epsilon model. The convection-diffusion equation is not solved for the cells 
  320. closest to the bed. Sediment continuity for these cells are therefore usually 
  321. not satisfied. The discrepancy in continuity is used to calculate changes in 
  322. the bed levels. This method also has the advantage of simulating the 
  323. interaction between the sediment that moves close to the bed and the sediment 
  324. that move in suspension. 
  325.  
  326. Van Rijn (1987) developed a formula for the equilibrium sediment concentration 
  327. close to the bed. 
  328.  
  329. Another approach is to use a formula for total load, for example 
  330. Engelund/Hansen's (1967) formula, together with the theoretical vertical 
  331. sediment and water velocity distribution for uniform flow. 
  332.  
  333. In SSIIM version 1.2 there were many different options for determining the bed 
  334. concentration. Since then a block-correction method has been added to the 
  335. sediment concentration solver. This meant a major improvement in convergence, 
  336. and also the difference between the various methods became smaller. The choice 
  337. of initial bed grain size distribution and recalculation algorithm is given on 
  338. the F 30 data set. 
  339.  
  340. It is possible to calculate transient sediment transport. A transient term is 
  341. included in the differential equation. This algorithm is invoked on the F 36 
  342. data set. 
  343.  
  344. For the calculation of bed grain size distribution, this algorithm divides the 
  345. bed in two layers: an upper layer at the bed surface, and the one below. The 
  346. bed grain size distribution is recalculated based on a budget method for the 
  347. upper layer. The thickness of the surface layer is set equal to the largest 
  348. grain size. To avoid unphysical results, the upper layer is not allowed to 
  349. erode a vertical distance more than the thickness of the upper layer during one 
  350. time step. This applies only if multiple grain sizes are used. This limitation 
  351. has the effect that too low erosion rates can be observed if the maximum grain 
  352. size is small and the time steps are long. 
  353.  
  354.  
  355. ΓòÉΓòÉΓòÉ 2.3. Porosity calculation ΓòÉΓòÉΓòÉ
  356.  
  357. A roughness element in a complex geometry can always be modeled by providing 
  358. fine enough grid to dissolve the boundary of the roughness element. The 
  359. disadvantage with this method is that the number of grid cells may be too 
  360. excessive for practical use. Instead, the roughness elements can be modeled 
  361. within each grid cell. This can be done in two ways, depending on the magnitude 
  362. of the roughness elements. If the magnitude is fairly small compared to the 
  363. size of the grid cell, the roughness can be incorporated in the law of the 
  364. wall. If the roughness elements are larger, other methods must be used. The 
  365. porosity model used in SSIIM is developed by Engelund (1953): 
  366.  
  367. Note that the porosity will also affect the turbulence in the flow field. To 
  368. model this it would be necessary to modify the k-epsilon turbulence model. This 
  369. is not done in this study. It is assumed that the source term given by the 
  370. porosity model is so great that it dominates over the turbulent diffusive 
  371. terms. Then the values of k and epsilon in the porous domain will only have 
  372. negligible effects on the flow field. 
  373.  
  374. The porous domain is defined by the user for each cell as a distance above the 
  375. bed. The grid lines in the vertical direction is completely vertical and 
  376. parallel. This means that for each horizontal projection of the grid, one must 
  377. search for the cell where the top of the porosity is located. Wall functions 
  378. are applied in this cell, and the porosity model is applied for the cells 
  379. below. In the porous area the values for k are set to 0.01, and the values for 
  380. epsilon are set according to wall laws. 
  381.  
  382. The porosity is calculated using a routine which is based on a set of measured 
  383. depths at different locations in the river. For each significant rock in the 
  384. river points are taken on top of the rock and on its sides. Thus, several 
  385. points are taken for each bed element. The porosity generation model finds all 
  386. the points in each bed cell, and calculates how many points are located within 
  387. certain elevations. The top elevation is taken to be equal to the elevation of 
  388. the highest point in the cell. 
  389.  
  390. The porosity, pmin, at the bed level is given as a user input. 
  391.  
  392. For each cell the porosity is calculated from interpolation from the set of 
  393. porosities as a function of the elevation. 
  394.  
  395. The porosity calculation is further described by Olsen and Stokseth (1995). 
  396.  
  397. Calculations with porosity have to use a P on the F 7 data set in the control 
  398. file, and the porosity data must be given in the porosity file. 
  399.  
  400.  
  401. ΓòÉΓòÉΓòÉ 2.4. Free surface calculation ΓòÉΓòÉΓòÉ
  402.  
  403. First, note that if a tunnel is simulated, and the user want to specify the 
  404. upper boundary, the K 1 data set in the control file should have the parameter 
  405. 0, and the koordina file should be arranged accordingly. 
  406.  
  407. There are several methods of calculating free surface in SSIIM. The standard 
  408. (default) method is to use a one-dimensional backwater calculation and use the 
  409. result as a fixed lid with zero gradients. Different Manning's friction factors 
  410. can be given for the various cross-sections on data set W 5 in the control 
  411. file, thereby allowing the user to make the appropriate lid. 
  412.  
  413. The next alternative is to update the lid as a function of the calculated 
  414. pressure field. This is done on the G 6 data set in the control file. The user 
  415. gives which point in the grid that will not move, and the rest of the surface 
  416. grid moves according to the pressure field. This routine gives satisfactory 
  417. results for the curved channel example 
  418.  
  419. There are two more alternatives, both coupled with the transient calculation. 
  420. The F 36 data set in the control file invokes the transient free calculation. 
  421. If the index is 2, than a routine similar to the routine of the G 6 data set is 
  422. used. This method is called method 2. The method does not necessary give the 
  423. correct flow field for a wave or a rapidly moving surface. If the surface has 
  424. only small movements, this method can be used. Note that this method does not 
  425. preserve water continuity. 
  426.  
  427. If the index on the G 6 data set is 1, then another method is invoked.  This 
  428. method adds a gravity term in the Navier-Stokes equations. Thereby the 
  429. hydrostatic pressure field will result if the flow is uniform. The movement of 
  430. the water surface is based on the continuity defect in the cells closest to the 
  431. water surface. This is done instead of using the SIMPLE algorithm for these 
  432. cells. The method gives a more correct simulation of rapidly moving water 
  433. surfaces, as for example a flood wave. Water continuity is satisfied, contrary 
  434. to the other water surface calculation methods. The disadvantage is that the 
  435. calculation becomes more unstable. This is further discussed here 
  436.  
  437.  
  438. ΓòÉΓòÉΓòÉ 2.5. Water quality and temperature ΓòÉΓòÉΓòÉ
  439.  
  440. The water quality and temperature is calculated with the convection-diffusion 
  441. equation for the concentration of each variable, similar to the sediment 
  442. concentration. The difference is the addition of extra source and sink terms, 
  443. due to fluxes at the water surface and chemical and biological reactions. The 
  444. source (sink=negative source) terms in the equations have been modeled in a 
  445. number of different ways by various researchers and computer programs. It was 
  446. the goal of the implementation of water quality in SSIIM to give the user a 
  447. flexibility on how to model each term. The user must therefore not only specify 
  448. various reaction constants, but also specify each term in the source equation. 
  449. This is sligtly more laboreous than other models when making the input files, 
  450. but it gives better flexibility for the user to make new terms and models for 
  451. the various situations. 
  452.  
  453. The user first have to decide how many constituents are to be simulated. Note 
  454. that the temperature is here defined as a water quality constituent. The user 
  455. have to number each variable from 0 to as many variables as is used. Presently, 
  456. the maximum number  of variables are 20. The number of variables have to be 
  457. given on the F 50 data set. The names of each variable is given in the control 
  458. file on the Q 0 data set. Note that only lowercase letters can be used, and a 
  459. maximum of 40 charachters. For each equation, the user have to specify the 
  460. source terms in the equations. This is done on the Q data set in the control 
  461. file. There are a number of various Q data sets, from Q 1, Q 2 ... etc. Each 
  462. data set gives a number of integers and floats. The first integer is always the 
  463. index for the equation. 
  464.  
  465. Each term in each equation have its own Q data set. For example, if 
  466. temperature, oxygen and nitrogen is simulated, this gives three variables. The 
  467. following Q 0 data sets can then be used: 
  468.  
  469. Q 0 0 temperature
  470. Q 0 1 oxygen
  471. Q 0 2 nitrogen
  472.  
  473. The source terms then have to be specified. For simplicity, let us say that the 
  474. temperature source is 0.1 times the oxygen concentration and the oxygen source 
  475. is 0.3 times the temperature. The nitrogen source is 2.1 times the oxygen 
  476. concentration multiplied with the temperature minus 0.4 times the nitrogen 
  477. concentration. This is then given as: 
  478.  
  479. Q 1002 0 1.0 18.0
  480. Q 1 2 1 0.3
  481. Q 2 3 1 2 2.1
  482. Q 1 3 2 -0.4
  483.  
  484. More details on the Q data sets are given here. Also, consult one of the 
  485. examples. 
  486.  
  487. No more than 40 variables can be simulated, and it is not allowed to have more 
  488. than 200 Q data sets in the control file. 
  489.  
  490. The above example shows the flexibility of the program to incorporate new 
  491. models for the various reactions. It also shows that the user is able to make 
  492. models that make little sense from a biological/chemical point of view, and the 
  493. program will allow this calulation to be carried out. The user must therefore 
  494. have a good knowledge of water quality processes to give reasonable input data 
  495. and to obtain reasonable results. Care must also be taken not to mis-type 
  496. numbers on the Q data sets. 
  497.  
  498. In addition to this, the user must specify the inflow of each variable. This is 
  499. done on the G 18 data set. The concentration/temperature is specified together 
  500. with the geometrical location of the inflow and the time the inflow starts. No 
  501. more than 100 G 18 data sets can be used in the control file. Note that the G 
  502. 18 data set has a parameter for when the inflow starts. This can be used to 
  503. specify a time series of inflow of a given variable. 
  504.  
  505.  
  506. ΓòÉΓòÉΓòÉ 3. User interface ΓòÉΓòÉΓòÉ
  507.  
  508. The main user interface appears once the program is started and the input files 
  509. are read or generated. 
  510.  
  511. If a control file is not present, the user is prompted for the necessary 
  512. parameters in a dialog box. A default control file is then made and written to 
  513. the disk. 
  514.  
  515. If a koordina file is not present a rectangular channel is made initially. A 
  516. dialog box appears, which prompts the user for the length and the width of the 
  517. channel. The bed levels of the channel will be at elevation 0.0. The water 
  518. depth is given in the dialog box for the control file, or on the W 1 data set 
  519. in the control file. 
  520.  
  521. The main user interface consists of a dialog box and a menu bar. The dialog box 
  522. appears in the lower left corner of the screen, and the menu bar appears on the 
  523. middle left side of the screen. The dialog box does not have any editfields, 
  524. only text fields and a push button. The dialog box shows intermediate results. 
  525. The two top lines in the dialog box are text which is written from the 
  526. different modules. There are also six numbers on an exponential format. These 
  527. are the residuals for the six equations in the water flow calculation. The 
  528. push-button is used for refreshing the text and values in the dialog box. 
  529.  
  530. The menu bar of the main user interface is used for starting different 
  531. sub-modules and showing graphics. The File option gives the possibility of 
  532. reading and writing different files. The Input Edit option gives the 
  533. possibility of editing the input data through a grid editor or dialog boxes. 
  534. The Computations option is used for starting the water flow or the sediment 
  535. calculations. The Graphics option is used for displaying the results in 
  536. different graphics windows. 
  537.  
  538.  
  539. ΓòÉΓòÉΓòÉ 3.1. Interactive input of parameters ΓòÉΓòÉΓòÉ
  540.  
  541. Some of the most commonly used parameters can be set in dialog boxes. These 
  542. dialog boxes are activated by the Input Edit choice in the main menu bar. The 
  543. choices are: 
  544.  
  545. * Grid Editor 
  546.  
  547. * Sediment data: This gives the grain size, fall velocity and inflow of each 
  548. grain size. Note that the number of grain sizes can not be changed. 
  549.  
  550. * Sediment parameters: This gives various parameters for calculation of 
  551. sediment flow. 
  552.  
  553. * Waterflow parameters: This gives various parameters for calculation of water 
  554. flow. This is an important dialog box that is used when there are convergence 
  555. problems and when parameter tests are done. Note that the parameters can be 
  556. changed while the program is calculating the water flow field. 
  557.  
  558. Note that the parameters that can not be given in the dialog boxes have to be 
  559. given in the control file. 
  560.  
  561.  
  562. ΓòÉΓòÉΓòÉ 3.2. The Grid Editor ΓòÉΓòÉΓòÉ
  563.  
  564.  The grid editor is invoked by choosing GridEditor on the Input Edit choice in 
  565. the main menu. The user can click with the mouse on a grid intersection and 
  566. drag this to a new location. The mouse button must be pushed down while the 
  567. movement is made. 
  568.  
  569. The main menu of the grid editor is made up of five main choices plus the Help 
  570. choice. 
  571.  
  572. Move/Scale
  573. Utility
  574. Define
  575. Generate
  576.  
  577. Note that after having edited the grid, it is advisable to write the content to 
  578. a koordina file. This is done in the File option of the main menu. A file named 
  579. koordina.new will be written. The attraction parameters and the fixed point 
  580. parameters can be written to the control.new file from the same sub-menu. 
  581.  
  582.  
  583. ΓòÉΓòÉΓòÉ 3.2.1. Move/Scale ΓòÉΓòÉΓòÉ
  584.  
  585.  The option Move is used to move the plot upwards, downwards or sideways. The 
  586. arrow keys can be used instead of the menu. The option Scale is used to 
  587. enlarge, shrink or distort the plot. The keys <Page Up> and <Page Down> can be 
  588. used for scaling. The option 2 Point Enlarge is used for enlarging a certain 
  589. section of the grid. After this choice is made, the user clicks at the lower 
  590. left corner and upper right corner of the part of the grid that the user wants 
  591. to see. After the second click the enlargement is made. 
  592.  
  593.  
  594. ΓòÉΓòÉΓòÉ 3.2.2. Utility ΓòÉΓòÉΓòÉ
  595.  
  596.  The option Utility has five choices on the pull-down menu. The first choice, 
  597. Show geometrical points, displays the points in the geodata file on the grid 
  598. plot. The points are shown with a square, and the different color indicate 
  599. different vertical levels. 
  600.  
  601.  The second choice, Make bed interpolations, generates z values for the bed 
  602. surface of the grid. This is the same level as given in the koordina file. This 
  603. option can then be used to make the z values in the koordina file, if the 
  604. choice write koordina.new is made from the File option in the menu of the main 
  605. user interface. The bed interpolations are done in a separate thread in OS/2, 
  606. because the calculations may take some time. This allows other tasks to be 
  607. carried out during the interpolation. 
  608.  
  609.  The z values are interpolated from a set of geometrical data read from the 
  610. geodata file. If there is no geodata file present, an error message is given. 
  611. The interpolation routine goes through all the grid points i,j, and finds the 
  612. closest points in the geodata file in all four quadrants where the grid 
  613. intersection (i,j) is the center of the coordinate system. Then a linear 
  614. interpolation from these four points is made. If one of the points in the 
  615. geodata file is closer than 5 cm from the grid point, this z value is chosen 
  616. and no interpolation is done. The outcome of the interpolation is logged to the 
  617. file boogie.bed. If the interpolation routine is unsuccessful in finding the 
  618. point, the z value is set to zero. 
  619.  
  620.  The third choice, Apply changes, sets a global change flag. When the waterflow 
  621. routine sees that this flag is set it updates the calculation geometry 
  622. according to the grid editor geometry. 
  623.  
  624.  The fourth choice, Read koordina.mod, reads x,y and z values for one or more 
  625. points in the grid. The data in the koordina.mod file is on the same format as 
  626. in the ordinary koordina file, but it is not required that all of the 
  627. coordinates are present in this file. This option is useful if a predefined 
  628. shape is wanted, for example a circle. Then the grid line intersections for the 
  629. circle can be generated with a spreadsheet, and only the points on the circle 
  630. is placed in the koordina.mod file. When this is read, the grid is moved 
  631. according to the points on the circle. 
  632.  
  633. The fifth choice, New water level and grid, is used after having changed the z 
  634. values on any of the coordinates. The grid editor only moves the grid in the 
  635. layer bordering the bed. So if any of the grid points have been moved in the 
  636. vertical direction, the water level and the grid points above the bed needs to 
  637. be recalculated. This is done by using this option. Note that this will modify 
  638. the koordina file according to the changes that are made. 
  639.  
  640.  
  641. ΓòÉΓòÉΓòÉ 3.2.3. Define ΓòÉΓòÉΓòÉ
  642.  
  643. This option is used for defining different parameters. The parameters are often 
  644. connected to grid intersection points. The point that was last activated by the 
  645. mouse is used as default. 
  646.  
  647. The first option is Give coordinates. This gives a dialog box where the user 
  648. can give numerical values for x,y and z for a grid intersection. 
  649.  
  650. The second option is Set NoMovePoint. This invokes a mode where the user can 
  651. define certain points which will not be moved by the interpolation, called 
  652. NoMovePoints. In NoMovePoint mode it is not possible to move the grid points 
  653. with the mouse. When the user clicks on a grid intersection, a blue star 
  654. emerges on the intersection as a sign that this is chosen. Up to 200 
  655. NoMovePoints can be chosen. To verify that this mode is present, the letters 
  656. "Point mode, 0" is shown on the lower part of the editwindow when the Set 
  657. NoMovePoint is chosen. The integer shows how many points you have chosen. To 
  658. return to the normal mode, choose Define and Set NoMovePoint again. It is 
  659. verified that the normal mode is set because the text "Point mode" disappears. 
  660. In the normal mode the user can move all points including the NoMovePoints. 
  661.  
  662. The third option is Delete NoMovePoint. This deletes the last point set under 
  663. the NoMovePoint mode. 
  664.  
  665.  The following four options are setting of attraction to certain points or 
  666. lines in the grid. This is used by the elliptic grid generator. A dialog box 
  667. emerges when the choice is made, and the user must give two integers which 
  668. describes the location of the attraction point/line. Then two attraction 
  669. parameters are given. The Prop. att. value is proportional to the attraction. 
  670. If negative, the grid lines are moved away instead of attracted. The Sq. att. 
  671. value gives an attraction proportional to the grid line difference raised to a 
  672. power of Sq. att.. This value is used to determine how far out in the grid the 
  673. attraction works. Note that a smaller value will give larger attractions. If 
  674. the value of Prop. att. is negative, the grid lines are moved away instead of 
  675. attracted. Point attraction gives attraction to points, and Line attraction 
  676. gives attraction to lines. Up to 200 attraction points can be defined. The 
  677. attraction points can be seen on the grid by colored rectangles at the grid 
  678. intersections. 
  679.  
  680.  The last option in the Define menu is Delete last attraction. This deletes the 
  681. last defined attraction. 
  682.  
  683.  
  684. ΓòÉΓòÉΓòÉ 3.2.4. Generate ΓòÉΓòÉΓòÉ
  685.  
  686.  The first choice in the pull-down menu is Boundary. This choice interpolates 
  687. linearly along the four border lines of the grid. Note that the z values are 
  688. also interpolated. This will create a rectangle unless a NoMovePoint has been 
  689. defined on the border. Then the interpolation will be between the corners and 
  690. the NoMovePoints. 
  691.  
  692.  The second choice is Elliptic. This starts the elliptic grid generator. Note 
  693. that this will not change the z values. 
  694.  
  695.  The third choice is TransfiniteI. This is transfinite interpolation in the 
  696. streamwise direction. The z values will be interpolated. In this mode the 
  697. NoMovePoints will also be moved. 
  698.  
  699. The fourth choice is TransfiniteJ. This is the same as TransfiniteI, except it 
  700. is in the cross- streamwise direction. 
  701.  
  702. The fifth choice is TransfiniteM. This is an average of TransfiniteI and 
  703. TransfiniteJ. 
  704.  
  705. The sixth choice is Average. This is a procedure where the x,y and z values of 
  706. a grid intersection are taken to be the average of the four neighboring grid 
  707. intersections. This procedure is repeated for all the inner grid intersections. 
  708. This will not move the NoMovePoints. 
  709.  
  710. Important notes: 
  711.  
  712. 1.   After having edited the grid, it is advisable to write the content to a 
  713. koordina file. This is done in the File option of the main menu. A file named 
  714. koordina.new will be written. The attraction parameters and the fixed point 
  715. parameters can be written to the control.new file from the same sub-menu. 
  716.  
  717. 2.   Using unfavorable attraction coefficients can cause the elliptic generator 
  718. to crash, which means that SSIIM also crashes, and the grid data are lost. It 
  719. is therefore adviceable to write the grid to files before starting the elliptic 
  720. generation with attraction coefficients. 
  721.  
  722.  
  723. ΓòÉΓòÉΓòÉ 3.3. Presentation graphics routines ΓòÉΓòÉΓòÉ
  724.  
  725.  There are ten graphics modules for presentation of results. These can be 
  726. invoked any time during the calculation or afterwards. More than one module can 
  727. run simultaneously. The modules are choices under the Graphics option of the 
  728. main menu: 
  729.  
  730. The modules use the standard GUI for OS/2, and have approximately the same 
  731. system of menus. 
  732.  
  733.  
  734. ΓòÉΓòÉΓòÉ 3.3.1. OpenGL 2D ΓòÉΓòÉΓòÉ
  735.  
  736. OpenGL 2D will show a two-dimensional projection of a profile in the x,y or z 
  737. plane. The profile will follow a grid surface. A cross-section will be shown as 
  738. a projection in the yz plane, a longitudinal profile will be shown as a 
  739. projection in the xz plane and a plan will be shown as a projection in the xy 
  740. plane. Also, the velocity vectors may not be parallel to the grid. The x, y or 
  741. z components is used. 
  742.  
  743. The variables will be displayed with color shading. The colors will always 
  744. display red as the maximum value, then yellow, then green and blue as the 
  745. minimum value. The user can choose from a number of variables. 
  746.  
  747. Examples of OpenGL plots are given in: Flow in a curved channel Map of velocity 
  748. field in a reservoir 
  749.  
  750.  
  751. ΓòÉΓòÉΓòÉ 3.3.2. OpenGL 3D ΓòÉΓòÉΓòÉ
  752.  
  753. OpenGL 3D shows an orthographic projection of grid surfaces. If no surfaces are 
  754. specified on the G 19 data set in the control file, the bed of the geometry 
  755. will be shown. Several G 19 data sets can be used to specify three-dimensional 
  756. surfaces of the geometry. The figure can be rotated, scaled and moved. Various 
  757. options for variables can be displayed. 
  758.  
  759.  
  760. ΓòÉΓòÉΓòÉ 3.3.3. Map ΓòÉΓòÉΓòÉ
  761.  
  762. Map presents the geometry seen from above. It is possible to get velocity 
  763. vector plots and plots and bar plots of concentration, diffusivity, k, etc. It 
  764. is also possible to plot the grid and change between different vertical levels. 
  765.  
  766.  
  767. ΓòÉΓòÉΓòÉ 3.3.4. Contour map ΓòÉΓòÉΓòÉ
  768.  
  769. Contour map presents the variables as contour plots, seen from above. The user 
  770. can give the values of the contour lines on the L data set in the control file. 
  771. If the L data set is not given, seven contour lines will be used. These are 
  772. calculated to be within the range of the calculated variable field. If the 
  773. option Variable under Scale is chosen, the user can give the numerical values 
  774. of the lines. It is also possible to choose the number of lines. Note that if 
  775. more than 7 lines are chosen, all lines will be black. Also note that if 0 
  776. lines are chosen in the dialog box, the plotting will be similar to giving no L 
  777. data set in the control file. 
  778.  
  779.  
  780. ΓòÉΓòÉΓòÉ 3.3.5. Color map ΓòÉΓòÉΓòÉ
  781.  
  782. Color map presents the variables with colors and density patterns for each cell 
  783. depending on the value in the cell. This is seen from above. The user can give 
  784. different colors and shading pattern on the H data sets. 
  785.  
  786.  
  787. ΓòÉΓòÉΓòÉ 3.3.6. Longitudinal profile ΓòÉΓòÉΓòÉ
  788.  
  789. Longitudinal profile presents a longitudinal profile of the geometry. Graphs 
  790. with different parameters as a function of depth along the longitudinal profile 
  791. is obtained. It is also possible to view the grid or the velocity vectors. It 
  792. is possible to change between different longitudinal profiles. 
  793.  
  794.  
  795. ΓòÉΓòÉΓòÉ 3.3.7. Cross-section ΓòÉΓòÉΓòÉ
  796.  
  797. Cross-section presents a cross-section of the profile. It is only possible to 
  798. see a velocity vector profile. It is possible to change between different 
  799. cross-sections. 
  800.  
  801.  
  802. ΓòÉΓòÉΓòÉ 3.3.8. VerifyProfile ΓòÉΓòÉΓòÉ
  803.  
  804. VerifyProfile presents calculated profiles of concentration or velocity at 
  805. locations specified by the user. It also presents user-given data in the same 
  806. plot. Arrange the measured values in the verify file. 
  807.  
  808.  
  809. ΓòÉΓòÉΓòÉ 3.3.9. VerifyMap ΓòÉΓòÉΓòÉ
  810.  
  811. VerifyMap presents calculated and measured velocity vectors in the same figure. 
  812. Different colors and legends are used to differentiate the calculated and 
  813. measured vectors. Arrange the measured values in the verify file. 
  814.  
  815.  
  816. ΓòÉΓòÉΓòÉ 3.3.10. Animation ΓòÉΓòÉΓòÉ
  817.  
  818.  The purpose of the animation module is flow visualization. The module displays 
  819. the grid as seen from above, and animates the movement of a sediment particle. 
  820. The movement of the particle will depend on the flow field and the fall 
  821. velocity of the particle. 
  822.  
  823. When the animation window starts, it checks a mouse scaling parameter. If this 
  824. is not provided in the G 15 data set in the control file, an X is written in 
  825. the window, and the user should click on this to make the program scale the 
  826. location of the mouse. If the user writes the control.new file from the main 
  827. menu, the correct G 15 data set is given in this file. 
  828.  
  829. The animation window has five menu options. These are Move and Scale which are 
  830. similar to the other presentation windows. Then there is the Particle option. 
  831. The pull- down menu is used to set the particle size, which will be used by the 
  832. program to calculate a fall velocity. The next menu option is Run, which starts 
  833. the particle movement. 
  834.  
  835. The particle starts from one point in the grid and always from the top cell in 
  836. the vertical direction. Then it moves along the geometry until it reaches one 
  837. of the cells that borders the boundary. Then it returns to the starting point. 
  838. The starting point is changed by clicking with the mouse at a location in the 
  839. geometry. 
  840.  
  841. The last option in the animation window menu is Speed. By choosing Double or 
  842. Half the time step is doubled or divided by two. This choice can be repeated 
  843. for further increase or decrease in time step. Note however that if the time 
  844. step becomes large, the particle may not move along the steam lines any more, 
  845. and it may even move out of the geometry during the time step. The accuracy of 
  846. the particle trajectory will increase with decreasing time step. 
  847.  
  848.  
  849. ΓòÉΓòÉΓòÉ 3.4. Presentation graphics menu system ΓòÉΓòÉΓòÉ
  850.  
  851.  
  852. ΓòÉΓòÉΓòÉ 3.4.1. Legend ΓòÉΓòÉΓòÉ
  853.  
  854. The OpenGL graphics has an option Legend. This shows the color legend of the 
  855. plot. It can be used in presentations by using a screen-capturing tool to move 
  856. one of the legends to the word processor. The maximum and minimum values are 
  857. shown in the bar above the menu. 
  858.  
  859.  
  860. ΓòÉΓòÉΓòÉ 3.4.2. Direction ΓòÉΓòÉΓòÉ
  861.  
  862. The OpenGL 2D graphics has an option Direction. This gives the choice of 
  863. displaying a cross-section, longitudinal profile or a plan view. 
  864.  
  865.  
  866. ΓòÉΓòÉΓòÉ 3.4.3. Rotate ΓòÉΓòÉΓòÉ
  867.  
  868. The OpenGL 3D graphics has an option Rotate. This gives the choice of rotating 
  869. the three-dimensional view around the x,y or z axis. Instead of using the menu, 
  870. it is possible to use the <F3> and <F4> keys to rotate around the x-axis, the 
  871. <F5> and <F6> keys to rotate around the y-axis and the <F11> and <F12> keys to 
  872. rotate around the z-axis. 
  873.  
  874.  
  875. ΓòÉΓòÉΓòÉ 3.4.4. Move ΓòÉΓòÉΓòÉ
  876.  
  877. The option Move is used to move the plot upwards, downwards or sideways. The 
  878. arrow keys can be used instead of the menu. 
  879.  
  880.  
  881. ΓòÉΓòÉΓòÉ 3.4.5. Scale ΓòÉΓòÉΓòÉ
  882.  
  883. The option Scale is used to enlarge, shrink or distort the plot. The keys <Page 
  884. Up> and <Page Down> can be used for scaling. Some of the graphs also use <CTL> 
  885. + arrows for distorting the plot. The option 2 Point Enlarge is used for 
  886. enlarging a certain section of the grid. After this choice is made, the user 
  887. clicks at the lower left corner and upper right corner of the part of the grid 
  888. that the user wants to see. After the second click the enlargement is made. 
  889.  
  890. For the OpenGL plots, sub-menu under Scale can be used to move the color scale 
  891. to red or blue. This is also visualized in the Legend view. The <F7> and <F8> 
  892. keys can be used for the same purpose. For the OpenGL 2D plots, the velocity 
  893. vectors can be turned on/off and enlarged/shrinked. The <F5> and <F6> keys 
  894. enlarges/shrinks the velocity vectors. 
  895.  
  896.  
  897. ΓòÉΓòÉΓòÉ 3.4.6. Graph ΓòÉΓòÉΓòÉ
  898.  
  899. The third option in the menu bar is Graph. The sub-menu displays different 
  900. parameters that can be shown. The option Sediment sample no. is a reference to 
  901. which of the N datasets from the control file is placed at which location at 
  902. the grid. The sub-menu option Bedchanges shows the bed changes during and after 
  903. sediment calculation. The sub-option Dominant grain size shows which bed grain 
  904. size has the highest fraction in each bed element. The ColorMap option is be 
  905. used for displaying a color map of some of the following parameters: water 
  906. depth, bed shear stress, turbulence, velocity and sediment size. The colors are 
  907. given by the user in the H data sets in the control file. 
  908.  
  909. The sub-option L-val concentration is used to change between different grain 
  910. sizes. When choosing Sum, the sum of the different grain sizes (total 
  911. concentration) is shown. The three last options are used for changing which 
  912. two-dimensional slice is presented. The two first sub-sub options are i++, i--, 
  913. j++, j--, k++, k--, depending on which direction is changed. These options 
  914. chooses the next(++) or previous(--) slice. 
  915.  
  916.  
  917. ΓòÉΓòÉΓòÉ 3.4.7. Timer ΓòÉΓòÉΓòÉ
  918.  
  919. The next option on the menu bar is Timer. The timer is a module which updates 
  920. the graphics at certain time intervals. The numbers of the different 
  921. sub-options under Timer indicates the interval in seconds. The options Start 
  922. and End starts and stops the timer. 
  923.  
  924.  
  925. ΓòÉΓòÉΓòÉ 3.4.8. Copy to clipboard ΓòÉΓòÉΓòÉ
  926.  
  927. From the clipboard, the plot can be pasted directly into for example a word 
  928. processor that support the clipboard. 
  929.  
  930. Also see Hardcopies 
  931.  
  932.  
  933. ΓòÉΓòÉΓòÉ 3.4.9. System/save ΓòÉΓòÉΓòÉ
  934.  
  935. The last option on the menu bar is System or Save. The pull-down menu of System 
  936. has the option Save. This is used for storing the plot in an OS/2 metafile. It 
  937. can then be printed or plotted on paper by the Picture Viewer utility that 
  938. comes with OS/2. The names of the metafiles file will be mapfl000.met, 
  939. longf000.met, color000.met, conto000.met, vprof000.met, bedfl000.met or 
  940. cross000.met, depending on which of the graphics procedures that produced the 
  941. file. If there is an existing file with the same name, this will not be 
  942. overwritten. Instead a new file with last charachters 001 instead of 000 will 
  943. be written. If this exist, further increments in the number in the name will be 
  944. made, until number 999. 
  945.  
  946. Also see Hardcopies 
  947.  
  948.  
  949. ΓòÉΓòÉΓòÉ 3.4.10. Bedchange ΓòÉΓòÉΓòÉ
  950.  
  951. The other options from System is Bedchange+ and Bedchange-. These options only 
  952. have effects in the Map graphics. The option Bedchange+ activates the change in 
  953. the bed levels according to the calculated bed changes. Bedchange- changes the 
  954. bedlevels back. It is not recommended to use these, but instead use the 
  955. time-dependent calculations that are introduced in version 1.4. 
  956.  
  957.  
  958. ΓòÉΓòÉΓòÉ 3.5. Hardcopies ΓòÉΓòÉΓòÉ
  959.  
  960.  It is not possible to plot directly from SSIIM to a plotter. One must first 
  961. make a graphics file, or copy to the clipboard, and then use a word processor 
  962. or a drawing program to plot to the plotter. Slightly different techniques are 
  963. used to make copies from the OpenGL plots and the other plots. 
  964.  
  965. Using the OpenGL graphics, it is necessary to use a screen capture utility to 
  966. make a copy to the clipboard or to make a bitmap file. This can for example be 
  967. done with the PmCamera utility, which is made by IBM. The program is freeware 
  968. and can be downloaded from internet sites. Start the program in a separate 
  969. window. PmCamera then gives a dialog box. Check on the "active window" 
  970. radiobutton, and on the "OS/2 Clipboard" checkbox. Then minimize the dialog box 
  971. with a click on the upper right icon. The program will then run in the 
  972. background and capture the graphics in the active window. Next, run SSIIM, and 
  973. display the OpenGL plot as you would like to have the hard-copy. Then push the 
  974. "PrintScreen" button on the keyboard, and wait until you have heard two beeps. 
  975. PmCamera has then copied the graphics to the clipboard. It is also possible to 
  976. let the PmCamera utility make a bitmap file, which can be stored. 
  977.  
  978. To plot the OpenGL graphics from the clipboard, one can for example use the 
  979. IBMWORKS wordprocessor from the Bonus-pack. Start the word-processor, and 
  980. choose "paste" from the "edit" of the menu to copy from the clipboard. Then 
  981. print the result. 
  982.  
  983. It is also possible to generate .gif files from the .bmp files using a freeware 
  984. tool bmpgif2.exe. This can be found on most os/2 Internet software sites. The 
  985. .gif files can be used in other types of presentation and word processing 
  986. software. 
  987.  
  988. Using non-OpenGL graphics, it is possible to copy directly to the clipboard or 
  989. to a metafile from SSIIM. It is then also possible to use a word processor to 
  990. copy from the clipboard, or import the metafile and then print the results. A 
  991. useful utility which is bundeled with OS/2 is PicView, which plots the vector 
  992. graphics from the clipboard or from a metafile to the plotter. 
  993.  
  994. Some advice when plotting on a pen plotter: If the lines of the plot are not 
  995. clear, leave the paper in the plotter and plot several times on the same paper. 
  996. This technique can also be used to get both vector and color plots on the same 
  997. figure. 
  998.  
  999.  
  1000. ΓòÉΓòÉΓòÉ 4. Input/result files ΓòÉΓòÉΓòÉ
  1001.  
  1002.  most of the files are only used for special purposes and they are normally not 
  1003. required. Some of the files are output files. The program can produces many of 
  1004. the input files. For simpler cases all the necessary input files can be 
  1005. generated by the program. The two main input files are the control file and the 
  1006. koordina file. All the files are ASCII files, and can be created using a 
  1007. standard editor.  SSIIM file structure for main files 
  1008.  
  1009.  
  1010. ΓòÉΓòÉΓòÉ 4.1. The control file ΓòÉΓòÉΓòÉ
  1011.  
  1012.  The control file gives most of the parameters the model needs except the grid. 
  1013. The main parameters are the grid size, that is how many grid lines there are in 
  1014. the three directions. The number of sediment sizes is also an important 
  1015. parameter. To generate the water surface it is necessary to know a downstream 
  1016. water level, together with the water discharge and the Manning's friction 
  1017. factor. These parameters are given on the G 1 and the W 1 data set in the 
  1018. control file. If the control file does not exist, the user is prompted for 
  1019. these parameters in a dialog box. The user can then later choose Write control 
  1020. in the File option of the main menu, and get a control file written to the disk 
  1021. (as control.new). This can then be edited according to the user's needs. Note 
  1022. that only the most used parameters are written to the control.new file. 
  1023.  
  1024. During the water flow calculations there are several parameters that can be 
  1025. varied. These parameters affect the accuracy and the convergence of the 
  1026. solution. These parameters can be modified while the water flow field is being 
  1027. calculated. A dialog box with the parameters is invoked by choosing Waterflow 
  1028. parameters from the Input Editor choice in the main menu. 
  1029.  
  1030. The control file contains all other data that are necessary for the program. 
  1031. SSIIM reads each character of the file one by one, and stops if a capital 
  1032. T,F,G,I,S,N,B or W is encountered. Then a data set is read, depending on the 
  1033. letter. A data set is here defined as one or more numbers or letters that the 
  1034. program uses. This can for example be the water discharge, or the Manning's 
  1035. friction coefficient. It is possible to use lower-case letters between the data 
  1036. sets, and it is possible to have more than one data set on each line. Not all 
  1037. data sets are required, but some are. Default values are given when a 
  1038. non-required data set is missing. SSIIM controls the data sets in the control 
  1039. file to a certain degree, and if an error is found, a message is written to the 
  1040. boogie file and the program is terminated. 
  1041.  
  1042.  Remember that the order of the data sets may be important. For example the G 1 
  1043. data set should be early in the file. If the order of the data sets follows the 
  1044. description given here, this should not be a problem. 
  1045.  
  1046.  For the initialization and graphics, the following data sets are required: 
  1047.  
  1048. G 1, G 3, W 1-2 
  1049.  
  1050. For the sediment calculation, the following data sets are required: 
  1051.  
  1052. S, I 
  1053.  
  1054. For the water flow calculation by using MB-Flow, no data sets are required. 
  1055.  
  1056. In addition, there are a number of optional data sets for each calculation. 
  1057. These are described below. 
  1058.  
  1059.  
  1060. ΓòÉΓòÉΓòÉ 4.1.1. T ΓòÉΓòÉΓòÉ
  1061.  
  1062. Title field. The following 30 characters are used in the graphics programs. 
  1063.  
  1064.  
  1065. ΓòÉΓòÉΓòÉ 4.1.2. F 1 ΓòÉΓòÉΓòÉ
  1066.  
  1067. Debugging possibility. If the character that follows is a D, one will get a 
  1068. more extensive print-out to the boogie file. If the character is a C, the 
  1069. coefficients in the discretized equations will be printed to the boogie file. 
  1070.  
  1071.  
  1072. ΓòÉΓòÉΓòÉ 4.1.3. F 2 ΓòÉΓòÉΓòÉ
  1073.  
  1074. Automatic execution possibility. Some parts of the program will be executed 
  1075. directly after the initialization if a character is placed in this field. The 
  1076. sub-programs will be executed in the order they are given. The possibilities 
  1077. are: 
  1078.  
  1079.  R Read the result file
  1080.  I Initialize the sediment calculations
  1081.  S Calculate sediment concentration
  1082.  W Start the multi-block water flow routine
  1083.  B Change the bed according to sediment calculation
  1084.  M Write result file
  1085.  P Use porosity in the calculation
  1086.  V Initialize water surface level
  1087.  X Read xcyc/koosurf files
  1088.  
  1089.  
  1090. ΓòÉΓòÉΓòÉ 4.1.4. F 4 ΓòÉΓòÉΓòÉ
  1091.  
  1092. Relaxation factor for second order interpolation of bed concentration, maximum 
  1093. iterations for concentration calculations and convergence criteria for 
  1094. suspended sediment calculation. The convergence criteria is given as allowable 
  1095. flux deficit as part of inflowing sediments. 
  1096.  
  1097. Defaults: relaxation: 0.5, iterations: 500, convergence criteria: 0.01. 
  1098.  
  1099.  
  1100. ΓòÉΓòÉΓòÉ 4.1.5. F 6 ΓòÉΓòÉΓòÉ
  1101.  
  1102. Coefficients for formula for bed concentration. Default is van Rijn's 
  1103. coefficients: 0.015, 1.5 and 0.3. If one uses this option, the sediment 
  1104. transport formula given in dataset F 10 must be R, which is van Rijn's formula 
  1105. is used as basis. 
  1106.  
  1107.  
  1108. ΓòÉΓòÉΓòÉ 4.1.6. F 7 ΓòÉΓòÉΓòÉ
  1109.  
  1110. Run options. read 10 characters. If the following capital letters are included 
  1111. this will mean: 
  1112.  D Double the number of grid cells in streamwise direction in comparison to 
  1113. what is given in the koordina file. Each cell is divided in two equal parts. 
  1114. When this option is used for the whole geometry, the number of grid lines in 
  1115. the streamwise direction (on the G 1 data set) must be multiplied with 2 and 1 
  1116. must be subtracted. 
  1117.  J Double the number of grid cells in the cross-streamwise direction. The same 
  1118. procedure for the lines in the cross- streamwise direction (G 1 data set) is 
  1119. required. 
  1120.  I Inflowing velocities in the y-direction are set to zero. 
  1121.  A Diffusion for sediment calculations in non-vertical direction is set to 
  1122. zero. 
  1123.  B Correction for sloping bed is used when calculating bed sediment 
  1124. concentration. 
  1125.  G Cell walls at outblocked area is not changed when there are changes in the 
  1126. cells outside the block. 
  1127.  V 90 degree turning of the plot seen from above (map). 
  1128.  Z Vertical distribution of inflowing sediment is uniform. 
  1129.  X Grid is read in from the "XCYC" file. This is only used in the 
  1130. post-processor, and with presentation of results from Spider where the lines in 
  1131. the k-direction are not vertical. 
  1132.  C Inflowing and ouflowing water in default walls is set to zero. This means 
  1133. that the water flow must be specified on the G 7 data sets. 
  1134.  E Activate a routine that changes the flux on the wall if ap=0. 
  1135.  P Use the porosity file 
  1136.  
  1137.  
  1138. ΓòÉΓòÉΓòÉ 4.1.7. F 8 ΓòÉΓòÉΓòÉ
  1139.  
  1140. Maximum bed level change relative to water depth. This is controlled for all 
  1141. the cells. Default: 0.1. This parameter is used to compute the time step for 
  1142. the bed changes. 
  1143.  
  1144.  
  1145. ΓòÉΓòÉΓòÉ 4.1.8. F 9 ΓòÉΓòÉΓòÉ
  1146.  
  1147. Factor that is used to change the turbulent viscosity of the inflowing water. 
  1148. The factor is proportional to the turbulent viscosity. Default: 1.0. 
  1149.  
  1150.  
  1151. ΓòÉΓòÉΓòÉ 4.1.9. F 10 ΓòÉΓòÉΓòÉ
  1152.  
  1153. Which sediment transport formula is used to calculate the concentration at the 
  1154. bed. The following options are given: 
  1155.  
  1156.  R van Rijn's formula
  1157.  E Engelund/Hansen's formula
  1158.  A Ackers/White's formula
  1159.  Y Yang's streampower formula
  1160.  S Shen/Hung's formula
  1161.  
  1162. Default: R. 
  1163.  
  1164. Note that only the option R is fully tested. 
  1165.  
  1166.  
  1167. ΓòÉΓòÉΓòÉ 4.1.10. F 11 ΓòÉΓòÉΓòÉ
  1168.  
  1169. Density of sediments and Shield's coefficient. Default: 2.65 and 0.047. 
  1170.  
  1171.  
  1172. ΓòÉΓòÉΓòÉ 4.1.11. F 12 ΓòÉΓòÉΓòÉ
  1173.  
  1174. Schmidt's coefficient, which is a correction factor for deviation between the 
  1175. turbulent diffusivity for sediment and water. Default: 1.0 
  1176.  
  1177.  
  1178. ΓòÉΓòÉΓòÉ 4.1.12. F 15 ΓòÉΓòÉΓòÉ
  1179.  
  1180. An integer that determines how the law walls will be used in the cells which 
  1181. borders both the wall and the bed. A value of 0 will make the program use wall 
  1182. laws on both walls. A value of 1 will make the program only use wall laws on 
  1183. the bed wall. For cases where the vertical dimensions are approximately the 
  1184. same as the horizontal dimensions, a value of 0 is recommended. Default: 0. 
  1185.  
  1186.  
  1187. ΓòÉΓòÉΓòÉ 4.1.13. F 16 ΓòÉΓòÉΓòÉ
  1188.  
  1189. Roughness coefficient which is used on the side walls and the bed. If not set, 
  1190. the coefficient is calculated from the Manning's friction coefficient. The file 
  1191. bedrough overrides this value for the bed cells. 
  1192.  
  1193.  
  1194. ΓòÉΓòÉΓòÉ 4.1.14. F 18 ΓòÉΓòÉΓòÉ
  1195.  
  1196. Density current source. A float is read, and if it is above 10-6, the sediment 
  1197. density term in the Navier-Stokes equation is added. The float is multiplied 
  1198. with the density term, so a value of 1.0 is recommended when this term is 
  1199. needed. Default 0.0 (the term is not used). 
  1200.  
  1201.  
  1202. ΓòÉΓòÉΓòÉ 4.1.15. F 20 ΓòÉΓòÉΓòÉ
  1203.  
  1204. Repeated calculation option. An integer is read, and the calculation sequence 
  1205. on the F 2 data set will be repeated this many times. Note that the graphical 
  1206. view of the bedlevel changes will only appear on the last iteration when 
  1207. sediment calculations are done. Also note that if a result file is read in the 
  1208. F 2 data set, it is only read during the first iteration. 
  1209.  
  1210.  
  1211. ΓòÉΓòÉΓòÉ 4.1.16. F 21 ΓòÉΓòÉΓòÉ
  1212.  
  1213. Relaxation coefficient for the Rhie and Chow interpolation. Normally a value 
  1214. between 0.0 and 1.0 is used. When 0.0 is used the Rhie and Chow interpolation 
  1215. will have no effect. When 1.0 is used the Rhie and Chow interpolation will be 
  1216. used normally. Default 1.0. 
  1217.  
  1218.  
  1219. ΓòÉΓòÉΓòÉ 4.1.17. F 22 ΓòÉΓòÉΓòÉ
  1220.  
  1221. Minimum porosity and relaxation factor for porosity calculations. Two floats. 
  1222. Default 0.2 and 2.0. 
  1223.  
  1224.  
  1225. ΓòÉΓòÉΓòÉ 4.1.18. F 24 ΓòÉΓòÉΓòÉ
  1226.  
  1227.  Turbulence model. An integer is read, which corresponds to the following 
  1228. models: 
  1229.  
  1230.  0 : standard k-Γûá model (default)
  1231.  7 : eddy viscosity = 0.11 * depth * shear velocity (Olsen, 1991)
  1232.  
  1233.  Note that only option 0 and 7 has been implemented, and that option 7 only 
  1234. works for the two-dimensional calculation. 
  1235.  
  1236.  
  1237. ΓòÉΓòÉΓòÉ 4.1.19. F 25 ΓòÉΓòÉΓòÉ
  1238.  
  1239. Porosity parameters. Four floats and one integer. The two first floats are 
  1240. identical to the ones on the F 22 data set. The following two floats give the 
  1241. porosity on the second and third level above the ground. These have default 
  1242. values 0.5 and 0.8. These are used if the roughness height is larger than the 
  1243. levels of the porosity in the porosity file. The effective porosity height is 
  1244. set to maximum of bed cell height and roughness height. The last integer 
  1245. determines the procedure for finding particle diameter in the porosity formula. 
  1246. The following options are given: (default 0) 
  1247.  
  1248.  0 : Maximum of roughness height and porosity height
  1249.  1 : Maximum of roughness height and 0.33 * porosity height
  1250.  2 : Equal to height of bed cell
  1251.  3 : Maximum of height of bed cell and porosity height
  1252.  
  1253.  
  1254. ΓòÉΓòÉΓòÉ 4.1.20. F 26 ΓòÉΓòÉΓòÉ
  1255.  
  1256. Volume fraction of sediments in deposits. One float is read. Default 0.5. If 
  1257. the water content is 51 % in a fully saturated sample, the volume fraction will 
  1258. be 0.49. 
  1259.  
  1260.  
  1261. ΓòÉΓòÉΓòÉ 4.1.21. F 30 ΓòÉΓòÉΓòÉ
  1262.  
  1263. Bed concentration recalculation methods. Six integers are read. The first 
  1264. integer determines which initial bed sediment grain size distribution is 
  1265. present. The following possibilities are present: 
  1266.  
  1267.  0 : Given by the user on the N data sets
  1268.  1 : Shield's graph method
  1269.  2 : Zero for all sizes
  1270.  
  1271. The second integer tells which method is used to recalculate the bed  sediment 
  1272. grain size distribution. The following options are given: 
  1273.  
  1274.  0 : No recalculation
  1275.  1 : Recalculation based on fluxes in/out of the bed cell
  1276.  2 : Recalculation based on deposition
  1277.  3-5 : Recalculation based on deposition and erosion
  1278.  
  1279.  Option 3 and 4 does not necessarily scale the sum of the fractions to unity, 
  1280. if the sum is below unity. Option 5 does. Option 4 allows the sum of the 
  1281. fractions to be above unity, whereas option 3 and five does not. 
  1282.  
  1283.  Note that the method for recalculation of bed grain size distribution is still 
  1284. on the experimental stage, and that the above options are not verified yet. 
  1285.  
  1286.  The third integer invokes second order extrapolation of bed concentration if 
  1287. it is 2. 
  1288.  
  1289.  If the fifth integer is 2, it invokes routine that keeps the bed concentration 
  1290. under the level of the inflowing concentration. 
  1291.  
  1292.  Default: F 30 0 0 0 0 0 0 Note that six integers must be present, even if only 
  1293. one or two are different from zero. 
  1294.  
  1295.  
  1296. ΓòÉΓòÉΓòÉ 4.1.22. F 31 ΓòÉΓòÉΓòÉ
  1297.  
  1298. Two porosity coefficients are read. The coefficients are used for making the 
  1299. porosity file. This is further described here  Default: F 31 0.8 0.8 
  1300.  
  1301.  
  1302. ΓòÉΓòÉΓòÉ 4.1.23. F 33 ΓòÉΓòÉΓòÉ
  1303.  
  1304. Transient water flow parameters. A float and an integer is read. The float is 
  1305. the time step. The integer is the number of inner iterations for each 
  1306. iteration. Transient terms will be included in the equations if this data set 
  1307. is present. 
  1308.  
  1309.  
  1310. ΓòÉΓòÉΓòÉ 4.1.24. F 36 ΓòÉΓòÉΓòÉ
  1311.  
  1312. Transient free surface routine is invoked if the F 36 1 data set is present. 
  1313. Note that this has not yet been fully implemented. 
  1314.  
  1315.  
  1316. ΓòÉΓòÉΓòÉ 4.1.25. F 37 ΓòÉΓòÉΓòÉ
  1317.  
  1318. Transient sediment calculation is invoked if the F 37 1 data set is present. 
  1319. Note that this has not yet been fully implemented. 
  1320.  
  1321.  
  1322. ΓòÉΓòÉΓòÉ 4.1.26. F 38 ΓòÉΓòÉΓòÉ
  1323.  
  1324. Residual limit for when warning messages are written to the boogie file. 
  1325. Default: 1.0e+7. 
  1326.  
  1327.  
  1328. ΓòÉΓòÉΓòÉ 4.1.27. F 40 ΓòÉΓòÉΓòÉ
  1329.  
  1330. Turbidity current parameter. If this is unity the extra term in the Navier- 
  1331. Stokes Equation are taken in that takes into account the effect of 
  1332. gravitational forces on water that have higher density because of high sediment 
  1333. concentration. If this is above 0.001, the term is still incorporated but 
  1334. relaxed with the factor on the data set. Default 0.0. 
  1335.  
  1336.  
  1337. ΓòÉΓòÉΓòÉ 4.1.28. F 41 ΓòÉΓòÉΓòÉ
  1338.  
  1339. Maximum scour depth for bed changes in meters. 
  1340.  
  1341.  
  1342. ΓòÉΓòÉΓòÉ 4.1.29. F 42 ΓòÉΓòÉΓòÉ
  1343.  
  1344. Minimum level where the bed will not move under in meters. 
  1345.  
  1346.  
  1347. ΓòÉΓòÉΓòÉ 4.1.30. F 43 ΓòÉΓòÉΓòÉ
  1348.  
  1349. Underflow parameter. An integer is read. If it is 1 the solver will check for 
  1350. underflow errors and correct these. This procedure will cause SSIIM to run 
  1351. slightly slower. The parameter can be used if the program halts with the system 
  1352. underflow error. This is most often encountered when blocking out regions of 
  1353. the flow. Default 0. 
  1354.  
  1355.  
  1356. ΓòÉΓòÉΓòÉ 4.1.31. F 44 ΓòÉΓòÉΓòÉ
  1357.  
  1358. Two-dimensional flow calculation parameter. If 1 the two-dimensional 
  1359. calculation will be used. If 0, the 3D calculation will be used. Default 0. 
  1360.  
  1361.  
  1362. ΓòÉΓòÉΓòÉ 4.1.32. F 45 ΓòÉΓòÉΓòÉ
  1363.  
  1364. Transient Free Surface parameters. Three floats are read. 
  1365.  
  1366. The first is a diffusion parameter for spreading of water flow elevation to the 
  1367. corners of the cell. A small parameter will cause movements in the direction of 
  1368. the flow. A larger value will give more movements in all directions. It is only 
  1369. used when the flow is supercritical. Default 0.05. 
  1370.  
  1371. The second float is an accelleration factor for speeding up a wave. When zero, 
  1372. this has no effect. A factor of 1.0 may give higher speed. Default 0.0. 
  1373.  
  1374. The third float is a damping parameter for obstacles in the flow. Default: 2.0, 
  1375. which means no damping. 
  1376.  
  1377.  
  1378. ΓòÉΓòÉΓòÉ 4.1.33. F 47 ΓòÉΓòÉΓòÉ
  1379.  
  1380. Interpolation parameter in meters. One float is read, which is used in the bed 
  1381. interpolation routine that are called from the GridEditor. If the points given 
  1382. in the geodata file are located a horizontal distance under the interpolation 
  1383. limit, than the interpolation routine will use the exact value of the geodata 
  1384. point instead of interpolating from surrounding points. 
  1385.  
  1386.  Default: 0.05 m. 
  1387.  
  1388.  
  1389. ΓòÉΓòÉΓòÉ 4.1.34. F 48 ΓòÉΓòÉΓòÉ
  1390.  
  1391. Parameter for interpolation of results. An integer is read. If 0, then a normal 
  1392. result file will be written when this routine is invoked. If higher values are 
  1393. given, the program will search for the interpol file. It will use this file to 
  1394. write an interres file. If the value is 0, the bed levels will be written to 
  1395. the interres file. If 2, the velocities, k and epsilon will be written to the 
  1396. file. If 3, then sediment concentrations will be written. Default 0. Further 
  1397. description of the interpol and interres files is given here 
  1398.  
  1399. Note that the procedure for writing the interres file and this data set changed 
  1400. from SSIIM version 1.3 to version 1.4. 
  1401.  
  1402.  
  1403. ΓòÉΓòÉΓòÉ 4.1.35. F 50 ΓòÉΓòÉΓòÉ
  1404.  
  1405. Number of water quality constituents. 
  1406.  
  1407.  
  1408. ΓòÉΓòÉΓòÉ 4.1.36. F 53 ΓòÉΓòÉΓòÉ
  1409.  
  1410. Print iterations. Four integers are read, which gives the interval for when 
  1411. print-out to files are done. The first integer applies to the residual printout 
  1412. to the boogie file. The second integer applies to writing the result file. The 
  1413. third integer applies to writing data to the forcelog file. The fourth integer 
  1414. applies to when data is written to the timeo file. 
  1415.  
  1416. Default: F 53 100 100 1 1 
  1417.  
  1418. This means that for example the result file is written each 100th iteration. 
  1419.  
  1420.  
  1421. ΓòÉΓòÉΓòÉ 4.1.37. F 54 ΓòÉΓòÉΓòÉ
  1422.  
  1423. A float is read, which is a limit for the residual during the transient 
  1424. calculation. When the maximum residual goes below this value, the inner 
  1425. iterations end, and a new time step starts. Default 10e-7 
  1426.  
  1427.  
  1428. ΓòÉΓòÉΓòÉ 4.1.38. F 55 ΓòÉΓòÉΓòÉ
  1429.  
  1430. Maximum allowable bed concentration. A float. Default 0.3. 
  1431.  
  1432.  
  1433. ΓòÉΓòÉΓòÉ 4.1.39. F 56 ΓòÉΓòÉΓòÉ
  1434.  
  1435. Avalanche parameters. An integer and a float is read. If the integer is above 
  1436. zero, an avalanche procedure will be invoked in the TSC calculation. This 
  1437. routine checks the bed slope after each bed movement to see if it is above a 
  1438. certain angle (of repose). If it is, then the bed slope will be adjusted to 
  1439. become equal to the angle of repose. The float that is read is tan to the angle 
  1440. of repose. Example: 1.0 is equal to an angle of repose of 45 degrees. 
  1441.  
  1442. If all the grid lines at the bed is checked, and one is adjusted, it is 
  1443. possible that a neighboring grid line to the adjusted line becomes steeper than 
  1444. the angle of repose, because of the first adjustment. To prevent this, the 
  1445. avalanche procedure is repeated a number of times. The number of times is given 
  1446. by the first integer in the data set. 
  1447.  
  1448. Default: This procedure is not invoked automatically. 
  1449.  
  1450.  
  1451. ΓòÉΓòÉΓòÉ 4.1.40. F 58 ΓòÉΓòÉΓòÉ
  1452.  
  1453. TFS parameters. Four integers, i1-i4, and six floats, f1-f6, are read, which 
  1454. controls the TFS calculation. 
  1455.  
  1456. i1 removes the time term in the Navier-Stokes equations if it is 0. Default: 1. 
  1457.  
  1458. i2 corrects the pressure so that it is always possitive if i2 is 1. Default 0. 
  1459.  
  1460. i3 makes walls of outblocked regions move vertically according to the water 
  1461. surface if it is 1. Default 0. 
  1462.  
  1463. i4 will give more water level movements in the direction of the velocity vector 
  1464. if i4 is 1. It will give equal movement in all direcions if it is 0. Default 1. 
  1465.  
  1466. f1 is a diffusion factor for forward movement of water surface elevation 
  1467. changes. If i4 is 1, and f1 is zero, all horizontal water surface movements are 
  1468. in the direction of the velocity vector. If f1 is a large number, all movement 
  1469. will be distributed equally in all directions, even if i4 is 1. Default: 0.02. 
  1470.  
  1471. f2 is a damping coefficient for the side walls. If f2 is 2.0, there will be no 
  1472. damping of the vertical water movement at the side walls. If f2 is 0.0, the 
  1473. damping is so great the water surface will not move at all. Default 2.0. 
  1474.  
  1475. f3 is a damping coefficient for the outblocked regions. Otherwise similar to 
  1476. f2. Default 2.0. 
  1477.  
  1478. f4 gives the influence of the water surface movement on the velocity in the 
  1479. cell closest to the water surface. If f4 is 0, there will be no effect. If f4 
  1480. is 1.0, the vertical velocity will be set equal to the velocity of the water 
  1481. surface. (Note that f4 above 0 will give unphysical results for a steady flow 
  1482. with sloping water surface) 
  1483.  
  1484. f5 is a factor which includes a source term for the accelleration force from 
  1485. the moving grid on the water in the cells. The term is multiplied with f5, so 
  1486. that zero gives no effect of the term. 
  1487.  
  1488. f6 is a smoothing factor for the water surface. Zero gives no smooting. 
  1489.  
  1490. Summary of defaults: F 58 1 0 0 1 0.02 2.0 2.0 0.0 1.0 0.0 
  1491.  
  1492. Note that the TFS routine and these parameters are still on an experimental 
  1493. stage. When more research and testing is done, it will probably be possible to 
  1494. remove several of the parameters as the influence of the various effect is 
  1495. better understood. 
  1496.  
  1497.  
  1498. ΓòÉΓòÉΓòÉ 4.1.41. F 59 ΓòÉΓòÉΓòÉ
  1499.  
  1500. Number of iterations in the Gauss-Seidel procedure. This is an integer which 
  1501. will affect the convergence and speed of the program. A lower value will 
  1502. increase the number of iterations pr. time, while slowing the relative 
  1503. convergence pr. iteration. For some cases, a lower value has given decreased 
  1504. computational time. Note that if the TDMA solver (K 10 data set) is used, then 
  1505. the F 59 data set will have no effect. Default: 10. 
  1506.  
  1507.  
  1508. ΓòÉΓòÉΓòÉ 4.1.42. F 60 ΓòÉΓòÉΓòÉ
  1509.  
  1510. Two integers are read. If the first integer is unity, an algorithm is invoked, 
  1511. where the concentration in the bed cell is extrapolated from what was given by 
  1512. van Rijn's formula by using the Hunter-Rouse equation for the suspended sedimen 
  1513. concentration profile. 
  1514.  
  1515. If the second integer is unity, the bedform roughness will be taken into 
  1516. account when calculating the sediment concentration. Note that this is not 
  1517. tested yet. 
  1518.  
  1519. Default: F 60 0 0 
  1520.  
  1521.  
  1522. ΓòÉΓòÉΓòÉ 4.1.43. G 1 ΓòÉΓòÉΓòÉ
  1523.  
  1524. xnumber, ynumber, znumber and lnumber. There are four integers that show the 
  1525. number of grid lines in the streamwise, cross-streamwise and vertical 
  1526. direction. lnumber is the number of sediment sizes. This data set must be 
  1527. present in the control file. The program will read these values and allocate 
  1528. space for the arrays accordingly. 
  1529.  
  1530.  
  1531. ΓòÉΓòÉΓòÉ 4.1.44. G 3 ΓòÉΓòÉΓòÉ
  1532.  
  1533. Vertical distribution of grid cells. This dataset must be present in the file. 
  1534. A number of floats are read; equally many as grid lines in the vertical 
  1535. direction. The first number is 0 and the last is 100 (%). If there for example 
  1536. are 4 grid lines in the vertical direction, and the first cell is has a height 
  1537. of 25 % of the depth, the second cell has a height of 40 % of the depth and the 
  1538. third (top) cell has a height of 35 % of the depth, the following data set is 
  1539. used: 
  1540.  
  1541. G 3 0.0 25.0 65.0 100.0 
  1542.  
  1543.  
  1544. ΓòÉΓòÉΓòÉ 4.1.45. G 5 ΓòÉΓòÉΓòÉ
  1545.  
  1546. Sediment sources. Six integers and lnumber floats are read. The integers 
  1547. indicate a region of the grid. The first two are in the streamwise direction, 
  1548. the following two are in the cross-stream direction and the two last integers 
  1549. indicate the vertical direction. The following floats gives the sediment 
  1550. concentration in volume fractions. 
  1551.  
  1552. Example: Sediment concentration 0.001 flows into the top of the geometry n an 
  1553. area given by the following cells: j=2 to j=4 and i=3 to i=5. It is assumed 
  1554. that there are 11 grid lines in the vertical direction. This gives the 
  1555. following data set: 
  1556.  
  1557. G 5 3 5 2 4 11 11 0.001 
  1558.  
  1559.  
  1560. ΓòÉΓòÉΓòÉ 4.1.46. G 6 ΓòÉΓòÉΓòÉ
  1561.  
  1562. Data set for calculating water surface location with an adaptive grid. Three 
  1563. integers and two floats: 
  1564.  
  1565.   iSurf:
  1566.   jSurf:
  1567.   kSurf:
  1568.  
  1569. These are three integers that indicate three grid lines. This point is a 
  1570. reference point, and it is not moved. In the present implementation, kSurf have 
  1571. to be equal to znumber + 1. If not, a warning message is sent to the boogie 
  1572. file, and kSurf is set to znumber + 1. The computations continue afterwards. 
  1573.  
  1574.   RelaxSurface: 
  1575.  
  1576.  This is a float that relaxes the estimation of the increment to the new 
  1577. recalculated water surface. Recommended values are between 0.5 and 0.95. 
  1578.  
  1579.   ConvSurface: 
  1580.  
  1581.  This float sets the limit for when the water surface should be recalculated. 
  1582. The water surface will be updated when the maximum residual of the equations 
  1583. are below this parameter. Recommended value: 0.01 - 1.0 
  1584.  
  1585.  
  1586. ΓòÉΓòÉΓòÉ 4.1.47. G 7 ΓòÉΓòÉΓòÉ
  1587.  
  1588. This data set specifies water inflow on geometry sides, bed or top. Each 
  1589. surface is given on one G 7 dataset. It is possible to have up to 19 G 7 
  1590. datasets. 
  1591.  
  1592. On each dataset, seven integers and four floats are read. The names of these 
  1593. variables are: 
  1594.  
  1595.  G 7 type, side, a1, a2, b1, b2, parallel, update, discharge, Xdir, Ydir, Zdir 
  1596.  
  1597.  Each variable is explained in the following: 
  1598.  
  1599.  - type:  1: outflow, 0: inflow.
  1600.  - side:  1: plane i=1
  1601.      -1: plane i=xnumber,
  1602.       (cross-streamwise plane)
  1603.       2: plane j=1
  1604.      -2: plane j=ynumber,
  1605.       (streamwise plane)
  1606.       3: plane k=1
  1607.      -3: plane k=znumber
  1608.       (horizontal plane)
  1609.  - a1,a2,b1,b2: four integers that determine the limits of the
  1610.       surface. An example is shown in the figure.
  1611.  
  1612.  
  1613.  - parallel: direction of the flow:
  1614.    0: normal to surface
  1615.    1: parallel to grid lines normal to surface
  1616.    2: direction is specified (vector directions)
  1617.  - update: 0 for not update, 1 for update.
  1618.   (only partly implemented)
  1619.  - discharge:  discharge in qm/s. Note that the sign of the
  1620.     discharge must correspond with the direction of the
  1621.     desired flow velocity. Positive discharges indicate
  1622.     discharges in positive directions.
  1623.  - Xdir:   direction vector in x-direction
  1624.  - Ydir:   direction vector in y-direction
  1625.  - Zdir:   direction vector in z-direction
  1626.  
  1627.  Example: G 7 0 1 2 11 2 11 0 0 32.0 1.0 0.0 0.0 
  1628.  
  1629.  This example specifies inflow in the most upstream cross-section. The inflow 
  1630. area is from cell no. 2 to cell no. 11 in both cross- streamwise and vertical 
  1631. direction. The flow direction is normal to the cross-section. The discharge is 
  1632. 32 cubic meters/second. 
  1633.  
  1634.  The parameter "side" can be used to specify flux on sections that have been 
  1635. "amputated" by the multi-block procedure. The parameter side is then evaluated 
  1636. as the number of the block plus 10. Example: A geometry with one multi-block 
  1637. that starts at node i=30. To specify flux on wall i=29, use the G7 data set 
  1638. with the parameter "side" set to 11 (10+1). 
  1639.  
  1640. Remember to define the walls of the boundary that when this dataset is used. 
  1641. This must be done on the W 4 data set. If inflow through a wall is specified 
  1642. with the G 7 data set, the wall must be removed with the W 4 data set. 
  1643.  
  1644.  
  1645. ΓòÉΓòÉΓòÉ 4.1.48. G 8 ΓòÉΓòÉΓòÉ
  1646.  
  1647. Values for initial velocities. Up to 19 data G 8 data sets can be used. Six 
  1648. integers are read first to specify the volume that is being set. Then three 
  1649. floats are read, which gives the velocities in the three directions. 
  1650.  
  1651.  G 8  i1  i2  j1  j2  k1  k2  U  V  W 
  1652.  
  1653.  
  1654. ΓòÉΓòÉΓòÉ 4.1.49. G 11 ΓòÉΓòÉΓòÉ
  1655.  
  1656. Source terms for the velocity equations. Six integers and two floats. 
  1657.  
  1658.  i1,i2,j1,j2,k1,k2, source, relax 
  1659.  
  1660. The first six integers give the cells that are influenced by the source term. 
  1661. The source variable is the form factor times a diameter of a cylinder in the 
  1662. cell. The relaxation variable is recommended set between 1.0 and 2.0 
  1663.  
  1664.  
  1665. ΓòÉΓòÉΓòÉ 4.1.50. G 12 ΓòÉΓòÉΓòÉ
  1666.  
  1667. Sediment source for multi-block border. This is used where there is inflow of 
  1668. sediments in a branch of a block that is cut of. An integer is first read, 
  1669. which tells the number of the block. Then lnumber floats are read, which is 
  1670. inflow of sediments for each size. This is given in kg/s. The option is not 
  1671. fully tested yet. 
  1672.  
  1673.  
  1674. ΓòÉΓòÉΓòÉ 4.1.51. G 13 ΓòÉΓòÉΓòÉ
  1675.  
  1676. Outblocking option that is used when a region of the geometry is blocked out by 
  1677. a solid object. An integer is read first, which determines which sides the wall 
  1678. laws will be applied on. The following options are possible: 
  1679.  
  1680.  0: No wall laws are specified
  1681.  1: Wall laws are used on the sides of the block
  1682.  2: Wall laws are used on the sides and the top of the block
  1683.  3: Wall laws are used on the sides, the top and the bottom of the block
  1684.  
  1685.  Six integers are then read, i1,i2,j1,j2,k1,k2. These integers define the cells 
  1686. of the block. The two first integers are the first and the last cell in the 
  1687. i-direction. The next two integers are the first and the last cell in the 
  1688. j-direction. The last two integers are the first and the last cell in the 
  1689. vertical direction. 
  1690.  
  1691. When making blocks, note that there must be at least two free cells (not 
  1692. blocked out) between each block or to the wall. It is recommended to use more 
  1693. free cells than two, to resolve the flow pattern between the blocks. 
  1694.  
  1695. Up to 19 G 13 data sets can be used. 
  1696.  
  1697.  
  1698. ΓòÉΓòÉΓòÉ 4.1.52. G 14 ΓòÉΓòÉΓòÉ
  1699.  
  1700. Debug dump option, where a variable in a cell is written to the boogie file. 
  1701. Four integers are read. The first integer indicate which equation. Velocities 
  1702. in x,y and z directions are denoted 1,2 and 3, respectively. 5 and 6 are used 
  1703. for k and Γûá, respectively. 
  1704.  
  1705. The next three integers are cell indexes i,j and k. 
  1706.  
  1707. Example: G 14 1 3 4 6 causes velocity in x-direction for cell i=3, j=4 and k=6 
  1708. to be written to the boogie file for each iteration. 
  1709.  
  1710. Up to 29 G 14 data sets can be used. 
  1711.  
  1712.  
  1713. ΓòÉΓòÉΓòÉ 4.1.53. G 15 ΓòÉΓòÉΓòÉ
  1714.  
  1715. Scaling factor for mouse location in graphics routines. Default 1.0 
  1716.  
  1717.  
  1718. ΓòÉΓòÉΓòÉ 4.1.54. G 16 ΓòÉΓòÉΓòÉ
  1719.  
  1720. Local vertical distribution of grid cells. This data set can be used when a 
  1721. different distribution of grid cells than what is given on the G 3 data set is 
  1722. wanted in some parts of the geometry. Four integers are read first. These tells 
  1723. which area are affected by the changed distribution. Then znumber floats are 
  1724. read, similarly to what is on the G 3 data set. 
  1725.  
  1726. Example: G 16 2 3 1 4 0.0 50.0 75.0 100.0 when znumber is 4, gives the new 
  1727. distribution for the eight vertical lines i=2 to i=3 and j=1 to j=4. 
  1728.  
  1729. Up to 20 G 16 data sets can be used. 
  1730.  
  1731.  
  1732. ΓòÉΓòÉΓòÉ 4.1.55. G 18 ΓòÉΓòÉΓòÉ
  1733.  
  1734. Specification of inflow of water quality constituents. Seven integers and two 
  1735. floats are read. The first six integers specify a surface where the inflow is. 
  1736. The first two integers are the streamwise index, the next two the cross- 
  1737. streamwise index and the last 5th and 6th integers specify the vertical index. 
  1738. Example: Inflow through the upstream boundary (i=1), on cross-streamwise cell 
  1739. index j=2 to 4 and vertical cell k=3 to 5 gives the following six numbers:  G 
  1740. 18 1 1 2 4 3 5 ....  Note that one of the three pairs have to be identical to 
  1741. define a surface. 
  1742.  
  1743.  The seventh integer is an idex to specify the water quality consituent. Note 
  1744. that 0 is used for the first constituent, 1 for the second etc. 
  1745.  
  1746.  The eighth number, or first float, is the value of the water quality 
  1747. constituent at the boundary. 
  1748.  
  1749.  The ninth number, or second float, is the time when the water quality 
  1750. constituent start flowing into the geometry. Note that if two G 18 data sets 
  1751. are given at the same location for the same variable, the one with the higher 
  1752. time value will overwrite the inflow data for the data set with the lower time 
  1753. value. This makes it possible to specify a discrete time series of inflow. 
  1754.  
  1755. A maximum of 100 G 18 data sets can be used. 
  1756.  
  1757.  
  1758. ΓòÉΓòÉΓòÉ 4.1.56. G 19 ΓòÉΓòÉΓòÉ
  1759.  
  1760. OpenGL 3D surfaces parameters. One surface is described on each G 19 data set. 
  1761. Up to 50 G 19 data sets can be used. 
  1762.  
  1763. Each data set consist of eight integers. The first integer specifies the number 
  1764. of the grid line. The second integer is an index showing the main direction of 
  1765. the grid surface. The following options are possible: 
  1766.  
  1767. 1: cross-section
  1768. 2: longitudinal profile
  1769. 3: plan view
  1770.  
  1771.  The following four integer defines the corners of the surface. The last two 
  1772. integers are presently not used for anything, but they must be given. 
  1773.  
  1774. Example: G 19 11 3 2 5 2 6 0 0 
  1775.  
  1776. This gives a surface along the grid surface k=11, from i=2 to 5, and j=2 to 6. 
  1777.  
  1778. If no G 19 data sets are given, a default data set is used this is: 
  1779.  
  1780. G 19 1 3 2 xnumber 2 ynumber 0 0 
  1781.  
  1782. This will give the bed of the geometry. The parameters xnumber and ynumber are 
  1783. given on the G 1 data set, and is the number of grid lines in the streamwise 
  1784. and cross-streamwise direction. 
  1785.  
  1786.  
  1787. ΓòÉΓòÉΓòÉ 4.1.57. H 1 ΓòÉΓòÉΓòÉ
  1788.  
  1789. This data set is used for plotting a color graphics map where the plotted 
  1790. parameter is the absolute value of the velocity. The user chooses different 
  1791. colors and fill pattern according to the variable. 
  1792.  
  1793.  An integer is first read, which tells how many different colors and fill 
  1794. patterns are wanted. Then a floating point, v1, is read which marks the upper 
  1795. boundary for the variable. Then two integers are read. The first integer, i1, 
  1796. tells what color is used, and the second integer,j1, tells what fill pattern is 
  1797. used. All areas that have a value below v1 will be filled with the color i1 and 
  1798. pattern j1. Up to 20 points can be used. Example: 
  1799.  
  1800.  H 1 3 0.01 1 1 0.1 2 2 1.0 3 3 
  1801.  
  1802.  The elements which have an absolute velocity under 0.01 m/s will be filled 
  1803. with the color no. 1 and fill pattern 1. The elements with absolute velocity 
  1804. between 0.01 and 0.1 will be filled with color 2 and fill pattern 2. 
  1805.  
  1806.  The numbers of the different colors and fill patterns are given below: 
  1807.  
  1808.  No.  Color
  1809.  
  1810.  1 Green
  1811.  2 Blue
  1812.  3 Black
  1813.  4 Cyan
  1814.  5 Magenta
  1815.  6 Brown
  1816.  7 Red
  1817.  8 Yellow
  1818.  9 Pale gray
  1819.  10 Dark gray
  1820.  11 Dark blue
  1821.  12 Dark red
  1822.  13 Dark magenta
  1823.  14 Dark green
  1824.  15 Dark cyan
  1825.  16 White
  1826.  
  1827.  The numbers of the different density patterns are given below: 
  1828.  
  1829.  No.  Patten
  1830.  
  1831.  1 Blank
  1832.  2 Density1, light
  1833.  3 Density2
  1834.  4 Density3
  1835.  5 Density4
  1836.  6 Density5
  1837.  7 Density6
  1838.  8 Density7
  1839.  9 Density8, dark
  1840.  10 Diagonal lines, SW-NE, narrow spacing
  1841.  11 Diagonal lines, SW-NE, wide spacing
  1842.  12 Diagonal lines, NW-SE, narrow spacing
  1843.  13 Diagonal lines, NW-SE, wide spacing
  1844.  14 Horizonal lines
  1845.  15 Vertical lines
  1846.  16 Solid
  1847.  
  1848.  
  1849. ΓòÉΓòÉΓòÉ 4.1.58. H 2 ΓòÉΓòÉΓòÉ
  1850.  
  1851. Color map plotting for water depth instead of velocity. Otherwise it is the 
  1852. same as the H 1 data set. 
  1853.  
  1854.  
  1855. ΓòÉΓòÉΓòÉ 4.1.59. H 3 ΓòÉΓòÉΓòÉ
  1856.  
  1857. Color map plotting for sediment size instead of velocity. Otherwise it is the 
  1858. same as the H 1 data set. 
  1859.  
  1860.  
  1861. ΓòÉΓòÉΓòÉ 4.1.60. H 4 ΓòÉΓòÉΓòÉ
  1862.  
  1863. Color map plotting for bed shear stress instead of velocity. Otherwise it is 
  1864. the same as the H 1 data set. 
  1865.  
  1866.  
  1867. ΓòÉΓòÉΓòÉ 4.1.61. H 5 ΓòÉΓòÉΓòÉ
  1868.  
  1869. Color map plotting for turbulent kinetic energy. Otherwise it is the same as 
  1870. the H 1 data set. 
  1871.  
  1872.  
  1873. ΓòÉΓòÉΓòÉ 4.1.62. H 6 ΓòÉΓòÉΓòÉ
  1874.  
  1875. Color map plotting for sediment concentration. Otherwise as H 1. 
  1876.  
  1877.  
  1878. ΓòÉΓòÉΓòÉ 4.1.63. H 14 ΓòÉΓòÉΓòÉ
  1879.  
  1880. Color map plotting for bed level changes. Otherwise as H 1. 
  1881.  
  1882.  
  1883. ΓòÉΓòÉΓòÉ 4.1.64. L ΓòÉΓòÉΓòÉ
  1884.  
  1885. Specification of isoline values for ContourMap plot. First, an integer is read, 
  1886. which gives the number of isolines. Then, this number of floats are read. The 
  1887. floats specify the isolines. Example: 
  1888.  
  1889.  L 6  55.0 56.0 57.0 58.0 59.0 60.0 
  1890.  
  1891.  If the geometry has bed levels between 55 and 60 meters, and the user chooses 
  1892. bed levels from the graphics options, a contour map of the bed levels will be 
  1893. displayed. There will be contour lines for each meter, from 55 to 60 meters. 
  1894.  
  1895. Default: The program finds the maximum and minimum value of the variable in the 
  1896. field, and uses 5 lines located between the values. 
  1897.  
  1898. If more than 5 lines are displayed, all lines will be black. Otherwise each 
  1899. line will have different color. 
  1900.  
  1901. Note that sometimes there may be errors in the contouring, if the contour line 
  1902. and the value are identical. This can often be the case for plotting bed 
  1903. levels. To avvoid this problem, add a very small value to the values on the L 
  1904. data set. For example, if the above data set is used and there is a problem for 
  1905. the 57.0 contour line because the bed level at one of the grid intersections 
  1906. are 57.0, change the data set to: 
  1907.  
  1908.  L 6 55.0 56.0 57.0001 58.0 59.9 60.0 
  1909.  
  1910.  
  1911. ΓòÉΓòÉΓòÉ 4.1.65. P 2 ΓòÉΓòÉΓòÉ
  1912.  
  1913. Five floating points that give scaling for the graphical presentation. The 
  1914. first three gives scales in streamwise, cross-streamwise and vertical 
  1915. direction. The fourth and fifth give movements in left-right and vertical 
  1916. direction. Defaults: 1.0 for the scales, and 0.0 for the movements. 
  1917.  
  1918.  
  1919. ΓòÉΓòÉΓòÉ 4.1.66. P 3 ΓòÉΓòÉΓòÉ
  1920.  
  1921. Four integers that give initial location of the graphical plots in streamwise, 
  1922. cross-streamwise and vertical direction, and sediment fraction number. 
  1923.  
  1924.  
  1925. ΓòÉΓòÉΓòÉ 4.1.67. P 4 ΓòÉΓòÉΓòÉ
  1926.  
  1927. A character that indicates initial type of plot. "g" gives the grid, "v" gives 
  1928. velocity lines, "V" gives velocity vectors, "c" gives concentration. 
  1929.  
  1930.  
  1931. ΓòÉΓòÉΓòÉ 4.1.68. W 1 ΓòÉΓòÉΓòÉ
  1932.  
  1933. Manning's number, discharge and downstream waterlevel. This dataset must be 
  1934. present in the file. The parameters given here are used to generate the 
  1935. waterlevel for the calculations using a standard backwater calculation. 
  1936.  
  1937.  
  1938. ΓòÉΓòÉΓòÉ 4.1.69. W 2 ΓòÉΓòÉΓòÉ
  1939.  
  1940. Water surface initialization array of integers. The first integer tells how 
  1941. many numbers there are in the array. The next numbers tell which cross- 
  1942. sections are going to be used in the initialization of the water surface of the 
  1943. grid. The integers must be given in rising order, and start with 1. This 
  1944. dataset must be present in the file. 
  1945.  
  1946.  
  1947. ΓòÉΓòÉΓòÉ 4.1.70. W 3 ΓòÉΓòÉΓòÉ
  1948.  
  1949. Specification of multiple blocks for the multi-block water flow module. First 
  1950. an integer that indicates the number of extra blocks is given. The maximum 
  1951. value is 9. Then two integers for each extra block are given. The first integer 
  1952. tells where the block is cut off. The second integer tells where the block is 
  1953. added. If the second integer is negative, the block is added on the left side 
  1954. of the main block. Otherwise it is added on the right side of the block. This 
  1955. is explained with an example on the figure below. The corresponding dataset 
  1956. would be: W 3 1 10 -5 
  1957.  
  1958.  
  1959. ΓòÉΓòÉΓòÉ 4.1.71. W 4 ΓòÉΓòÉΓòÉ
  1960.  
  1961. Specification of extra walls for the multi-block water flow module. Seven 
  1962. integers have to be given for each wall. There can be up to 29 walls, and each 
  1963. wall is described on one W 4 data set. 
  1964.  
  1965.  The variable names are: 
  1966.  
  1967. W 4 dir,posneg,node,a1,a2,b1,b2 
  1968.  
  1969.  The first integer, dir, indicates the plane. 1 is the j-k plane 
  1970. (cross-section), 2 is the i-k plane (longitudinal section) and 3 is the i-j 
  1971. plane (seen from above). 
  1972.  
  1973.  The second integer, posneg, indicates if the wall is in the positive or 
  1974. negative direction of the node. The coordinates are given for nodes. 1 or -1 is 
  1975. given. If 0 is given, a previously set wall is deleted. 
  1976.  
  1977.  The third integer is the number of the node plane. 
  1978.  
  1979.  An example is given in the figure below. The figure shows the i-j plane. The 
  1980. wall is to be given on node i=4. If the second integer, posneg, is 1, then wall 
  1981. laws are applied on the wall upstream of node 4, in the negative i-direction. 
  1982. If posneg = -1, then the wall laws are applied on node 4 if the cell in the 
  1983. downstream i-direction (line i=3) is a wall. 
  1984.  
  1985. The four following integers are indexes a1,a2,b1,b2, which gives the 
  1986. two-dimensional coordinates for the corner points of the part of the plane that 
  1987. is described. The four integers are the same as given on the G 7 data set. 
  1988.  
  1989.  
  1990. ΓòÉΓòÉΓòÉ 4.1.72. W 5 ΓòÉΓòÉΓòÉ
  1991.  
  1992. Different Manning's values than the default value for cross-sections. An 
  1993. integer is first read, which tells how many cross-sections are read. Then an 
  1994. integer and a float is read for each cross-section. The integer tells which 
  1995. cross-section is changed, and the float tells the Manning's value. Several W 5 
  1996. data sets can be used. 
  1997.  
  1998.  
  1999. ΓòÉΓòÉΓòÉ 4.1.73. W 6 ΓòÉΓòÉΓòÉ
  2000.  
  2001. NoMovePoint - a point which is used in the GridEditor. Two integers are read, 
  2002. which is the numbers of the i and j grid lines. The intersection of these lines 
  2003. are not moved by the elliptic grid generator. One W 6 data set is required for 
  2004. each NoMovePoint. Maximum 199 points can be used. 
  2005.  
  2006. The W 6 data set is usually generated by the Grid Editor. 
  2007.  
  2008.  
  2009. ΓòÉΓòÉΓòÉ 4.1.74. W 7 ΓòÉΓòÉΓòÉ
  2010.  
  2011. Attraction point used in the GridEditor. Each W 7 data set represents 
  2012. attraction to one grid line or point. Maximum 199 attraction points can be 
  2013. used. An integer is read first which tells the type of attraction. The 
  2014. following options are given: 
  2015.  
  2016.  0: Point attraction in i-direction
  2017.  1: Point attraction in j-direction
  2018.  2: Line attraction in i-direction
  2019.  3: Line attraction in j-direction
  2020.  
  2021.  Then two integers are read, which tells which grid line intersection the 
  2022. attraction is towards. For the line attraction, only one of the integers are 
  2023. used. Then the two attraction parameters are read, which are floats. 
  2024.  
  2025.  The W 7 data set is normally generated by the Grid Editor. 
  2026.  
  2027.  
  2028. ΓòÉΓòÉΓòÉ 4.1.75. S ΓòÉΓòÉΓòÉ
  2029.  
  2030. Integer that gives the number of the sediment fraction, float that gives the 
  2031. size of the sediments for these fraction, float that gives the fall velocity 
  2032. for the fraction. 
  2033.  
  2034.  There must be lnumber datasets like this in the file, as long as sediment 
  2035. concentration is to be calculated. All numbers are given in SI units, that is, 
  2036. the grain size is given in meters and the fall velocity is given in 
  2037. meters/second. This data set must be present when sediment transport is 
  2038. calculated. 
  2039.  
  2040.  This dataset defines the grain sizes that are used in the program. Note that 
  2041. this applies for both the grain sizes in the bed and in the suspended sediment 
  2042. calculation. 
  2043.  
  2044. The grain sizes should be numbered from 1 to lnumber, where size 1 is the 
  2045. coarsest size, and the following sizes have decreasingly smaller diameter. 
  2046.  
  2047.  
  2048. ΓòÉΓòÉΓòÉ 4.1.76. N ΓòÉΓòÉΓòÉ
  2049.  
  2050. These data sets define different grain size distributions for the sediments 
  2051. that are in the bed when the calculation starts. 
  2052.  
  2053.  Maximum 10 different samples can be used. 
  2054.  
  2055.  Each sample has its own number. This starts with zero, and increases 
  2056. sequentially to the total number of samples minus one. 
  2057.  
  2058.  First, an integer for the number of the sample is given. The second integer 
  2059. shows which size is described. The third number is a float, which gives the 
  2060. fraction of the size in the sample. It is required to have lnumber N data sets 
  2061. for each sample. These data sets must be present when sediment transport is 
  2062. calculated. 
  2063.  
  2064.  The number of N datasets that is required is: 
  2065.  
  2066.  (number of grain size distributions) x (number of sediment sizes) 
  2067.  
  2068.  Note that if only deposition is calculated, it is not necessary to specify the 
  2069. N data sets. However, if the data sets are specified, the program will control 
  2070. that the sum of the fractions are unity. 
  2071.  
  2072.  
  2073. ΓòÉΓòÉΓòÉ 4.1.77. B ΓòÉΓòÉΓòÉ
  2074.  
  2075. This data set gives where the samples (from the N - data sets) are placed in 
  2076. the geometry before the calculation starts. 
  2077.  
  2078. The first integer indicates the number of the sample. The four following 
  2079. integers give the number of the corner cells on a rectangle of the bed. The 
  2080. sample is placed on the bed from i=second integer to i= third integer and 
  2081. j=fourth integer to j=fifth integer. A B data set overwrite previous B 
  2082. datasets. 
  2083.  
  2084. The dataset B 0 0 0 0 0 tells that sample no. 0 covers the whole bed. 
  2085.  
  2086.  
  2087. ΓòÉΓòÉΓòÉ 4.1.78. I ΓòÉΓòÉΓòÉ
  2088.  
  2089. Inflowing sediments. First integer shows which sediment fraction is simulated. 
  2090. Second number is a float that is the amount of inflowing sediment of this size 
  2091. in kg/s. lnumber of these data sets must be present when sediment 
  2092. concentrations are calculated.  Note that the I dataset follows the sizes on 
  2093. the S data set, but it has nothing to do with the N and B data sets. 
  2094.  
  2095.  
  2096. ΓòÉΓòÉΓòÉ 4.1.79. K 1 ΓòÉΓòÉΓòÉ
  2097.  
  2098. Number of iterations for flow procedure and number that determines the minimum 
  2099. iterations between updates of water surface. Two integers. Default:  K 1 40000 
  2100. 50000 
  2101.  
  2102.  
  2103. ΓòÉΓòÉΓòÉ 4.1.80. K 2 ΓòÉΓòÉΓòÉ
  2104.  
  2105. Two integers that indicate if laws of the wall are being used. The first 
  2106. integer applies to the side walls. The second integer applies for the surface. 
  2107. 0 is used for wall laws, and 1 for free surface. Wall laws are always used for 
  2108. the bed, if not changed by the W 4 data set. Default: 0 1. 
  2109.  
  2110.  
  2111. ΓòÉΓòÉΓòÉ 4.1.81. K 3 ΓòÉΓòÉΓòÉ
  2112.  
  2113. Relaxation factors. Six floats. For the three velocity equations, the pressure 
  2114. correction equation and the k and Γûá equation. 
  2115.  
  2116. Default:  K 3 0.8 0.8 0.8 0.2 0.5 0.5 
  2117.  
  2118.  
  2119. ΓòÉΓòÉΓòÉ 4.1.82. K 4 ΓòÉΓòÉΓòÉ
  2120.  
  2121. Number of iteration for each equation. Six integers. 
  2122.  
  2123. Default:  K 4 1 1 1 5 1 1 
  2124.  
  2125.  
  2126. ΓòÉΓòÉΓòÉ 4.1.83. K 5 ΓòÉΓòÉΓòÉ
  2127.  
  2128. Block-correction index for each equation. Six integers. If 0, no block- 
  2129. correction. If 1, the block-correction is used. 
  2130.  
  2131. Default:  K 5 0 0 0 0 0 0  Note that the block-correction may not work with the 
  2132. SOU scheme. 
  2133.  
  2134.  
  2135. ΓòÉΓòÉΓòÉ 4.1.84. K 6 ΓòÉΓòÉΓòÉ
  2136.  
  2137. Six integers are read which determines whether the SOU or POW scheme is used. 
  2138. If 0 POW is used, if 1, SOU is used. Note that presently the multi- block flow 
  2139. module may not converge completely when the SOU scheme is used with multiple 
  2140. blocks. This may be due to a bug. SOU will work if there is only one block. 
  2141.  
  2142. Note that the flow module will always use the POW scheme for the 
  2143. pressure-correction equation. 
  2144.  
  2145. Default:  K 6 0 0 0 0 0 0 
  2146.  
  2147.  
  2148. ΓòÉΓòÉΓòÉ 4.1.85. K 9 ΓòÉΓòÉΓòÉ
  2149.  
  2150. A character deciding whether SIMPLE or SIMPLEC is used. Y= SIMPLE, N = SIMPLEC. 
  2151. Default: Y 
  2152.  
  2153.  
  2154. ΓòÉΓòÉΓòÉ 4.1.86. K 10 ΓòÉΓòÉΓòÉ
  2155.  
  2156. A character that decides which solver is used. Y = Gauss-Seidel solver, N = 
  2157. TDMA solver. Default: Y 
  2158.  
  2159.  
  2160. ΓòÉΓòÉΓòÉ 4.1.87. Q ΓòÉΓòÉΓòÉ
  2161.  
  2162. There are two types of Q data sets. One is the Q 0 data set, which gives the 
  2163. name of the variable. The other type specifies the source term in the 
  2164. convection-diffusion equations. 
  2165.  
  2166.  
  2167. ΓòÉΓòÉΓòÉ 4.1.88. Q 0 ΓòÉΓòÉΓòÉ
  2168.  
  2169. The Q 0 data set specifies the name of the constituent. This is used in the 
  2170. graphics presentations. First, an integer is specified. This is the number 
  2171. identifying the water quality constituents. Note that 0 is used for the first 
  2172. constituent, 1 for the second etc. Example:  Q 0 0 temperature  Note that 
  2173. lower-case letters must be used, and maximum 40. 
  2174.  
  2175.  
  2176. ΓòÉΓòÉΓòÉ 4.1.89. Q 1 ΓòÉΓòÉΓòÉ
  2177.  
  2178. Q 1 specifies a biochemical source. First, an integer is read, identifying 
  2179. which water quality constituent the source is applied to. Note that 0 is used 
  2180. for the first constituent, 1 for the second, etc. Then a float is read, which 
  2181. is a constant in the equation.  Example:  Q 1 0 0.001 
  2182.  
  2183.  
  2184. ΓòÉΓòÉΓòÉ 4.1.90. Q 2 ΓòÉΓòÉΓòÉ
  2185.  
  2186. Q 2 specifies a biochemical source. First, an integer is read, identifying 
  2187. which water quality constituent the source is applied to. Then a new integer is 
  2188. read, which identifies a variable in the source term. Then a float is read, 
  2189. which is multiplied with the variable. 
  2190.  
  2191. Example:  Q 2 0 2 0.001 
  2192.  
  2193. If variable 0 is oxygen and variable 2 is temperature, the example means that a 
  2194. source term for the oxygen is that for all the cells there is a source term 
  2195. equal to 0.001 times the temperature. 
  2196.  
  2197.  
  2198. ΓòÉΓòÉΓòÉ 4.1.91. Q 3 ΓòÉΓòÉΓòÉ
  2199.  
  2200. Q 3 specifies a biochemical source. First, an integer is read, identifying 
  2201. which water quality constituent the source is applied to. Then two integers are 
  2202. read, specifying two variables. Then a float is read, which is multiplied with 
  2203. the variables. 
  2204.  
  2205. Example:  Q 3 3 2 1 -0.002 
  2206.  
  2207. If variable 3 is algae, variable 2 is nitrogen and variable 1 is temperature, 
  2208. then the data set specifiecs a negative source term for algae as 0.002 
  2209. multiplied with the nitrogen concentration multiplied with the temperature. 
  2210.  
  2211.  
  2212. ΓòÉΓòÉΓòÉ 4.1.92. Q 1001 ΓòÉΓòÉΓòÉ
  2213.  
  2214. Q 1001 specifies a biochemical source for the surface cells. First, an integer 
  2215. is read, identifying which water quality constituent the source is applied to. 
  2216. Note that 0 is used for the first constituent, 1 for the second, etc. Then a 
  2217. float is read, which is a constant in the equation.  Example:  Q 1001 0 0.001 
  2218.  
  2219.  
  2220. ΓòÉΓòÉΓòÉ 4.1.93. Q 1002 ΓòÉΓòÉΓòÉ
  2221.  
  2222. Q 1002 specifies a source for the surface cells. First, an integer is read, 
  2223. identifying which water quality constituent the source is applied to. Then two 
  2224. floats are read. The source term is : float1 * ( float2 - variable ). 
  2225.  
  2226. Example:  Q 1002 0 0.001 23.0 
  2227.  
  2228. This term can be used for calculation of temperature fluxes across the water 
  2229. surface, where the first float is the heat exchange coefficient for the water 
  2230. surface (0.001) and the second float is the air temperature (23 degrees). 
  2231.  
  2232.  
  2233. ΓòÉΓòÉΓòÉ 4.1.94. Q 1003 ΓòÉΓòÉΓòÉ
  2234.  
  2235. Q 1003 specifies a biochemical source for the surface cells. First, an integer 
  2236. is read, identifying which water quality constituent the source is applied to. 
  2237. Then two integers are read, specifying two variables. Then a float is read, 
  2238. which is multiplied with the variables. 
  2239.  
  2240. Example:  Q 1003 3 2 1 -0.002 
  2241.  
  2242. If variable 3 is algae, variable 2 is nitrogen and variable 1 is temperature, 
  2243. then the data set specifiecs a negative source term for algae as 0.002 
  2244. multiplied with the nitrogen concentration multiplied with the temperature. 
  2245. This is only applied to the surface cells. 
  2246.  
  2247.  
  2248. ΓòÉΓòÉΓòÉ 4.1.95. Q 1012 ΓòÉΓòÉΓòÉ
  2249.  
  2250. Q 1012 specifies a biochemical source for the surface cells. First, an integer 
  2251. is read, identifying which water quality constituent the source is applied to. 
  2252. Then a new integer is read, which identifies a variable in the source term. 
  2253. Then a float is read, which is multiplied with the variable. 
  2254.  
  2255. Example:  Q 1012 0 2 0.001 
  2256.  
  2257. If variable 0 is oxygen and variable 2 is temperature, the example means that a 
  2258. source term for the oxygen is that for all the surface cells there is a source 
  2259. term equal to 0.001 times the temperature. 
  2260.  
  2261.  
  2262. ΓòÉΓòÉΓòÉ 4.1.96. Q 2001 ΓòÉΓòÉΓòÉ
  2263.  
  2264. Q 2001 specifies a biochemical source for the bed cells. First, an integer is 
  2265. read, identifying which water quality constituent the source is applied to. 
  2266. Note that 0 is used for the first constituent, 1 for the second, etc. Then a 
  2267. float is read, which is a constant in the equation.  Example:  Q 2001 0 0.001 
  2268.  
  2269.  
  2270. ΓòÉΓòÉΓòÉ 4.1.97. Q 2002 ΓòÉΓòÉΓòÉ
  2271.  
  2272. Q 2002 specifies a biochemical source for the bed cells. First, an integer is 
  2273. read, identifying which water quality constituent the source is applied to. 
  2274. Then a new integer is read, which identifies a variable in the source term. 
  2275. Then a float is read, which is multiplied with the variable. 
  2276.  
  2277. Example:  Q 2002 0 2 0.001 
  2278.  
  2279. If variable 0 is oxygen and variable 2 is temperature, the example means that a 
  2280. source term for the oxygen is that for all the bed cells there is a source term 
  2281. equal to 0.001 times the temperature. 
  2282.  
  2283.  
  2284. ΓòÉΓòÉΓòÉ 4.1.98. Q 2003 ΓòÉΓòÉΓòÉ
  2285.  
  2286. Q 2003 specifies a biochemical source applied only to the cells close to the 
  2287. bed. First, an integer is read, identifying which water quality constituent the 
  2288. source is applied to. Then two integers are read, specifying two variables. 
  2289. Then a float is read, which is multiplied with the variables. 
  2290.  
  2291. Example:  Q 2003 3 2 1 -0.002 
  2292.  
  2293. If variable 3 is algae, variable 2 is nitrogen and variable 1 is temperature, 
  2294. then the data set specifiecs a negative source term for algae as 0.002 
  2295. multiplied with the nitrogen concentration multiplied with the temperature, 
  2296. only for the bed cells. 
  2297.  
  2298.  
  2299. ΓòÉΓòÉΓòÉ 4.2. The boogie file ΓòÉΓòÉΓòÉ
  2300.  
  2301.  This is a file that shows a print-out of intermediate results from the 
  2302. calculations. It also shows parameters as average water velocity, shear stress 
  2303. and water depth in the initialization. Trap efficiency and sediment grain size 
  2304. distribution is also written here. If errors occur, an explanation is also 
  2305. often written to this file before the program stops. The file contains the data 
  2306. that is normally written to the screen in a DOS program. 
  2307.  
  2308.  The option D on the F 1 data set will give additional print-out to the file. 
  2309.  
  2310.  Initially in the file it is written how much memory that is occupied by the 
  2311. arrays that are dynamically allocated. To estimate the total recommended memory 
  2312. requirement for SSIIM, add 1.2 MB to this value. 
  2313.  
  2314.  A table then follows, which shows the cross-sectional area, hydraulic radius, 
  2315. average velocity and water level at the cross-sections that have been used for 
  2316. initializing the water surface. If the option D on the F 1 data set is used, 
  2317. this information is written for all the cross-sections additionally. Then a 
  2318. table of waterlevels for all cross-sections follows: 
  2319.  
  2320. Loop1,iter,area,radius,velocity,waterlevel: 12 1.002389e+00 1.002389e+00 9.976163e-01
  2321. 1.002390e+00
  2322. Loop1,iter,area,radius,velocity,waterlevel: 11 1.001588e+00 1.001588e+00 9.984146e-01
  2323. 1.001589e+00
  2324. Waterlevel = 1.000398 meters for cross-section i = 10
  2325. Waterlevel = 1.000797 meters for cross-section i = 9
  2326. Waterlevel = 1.001195 meters for cross-section i = 8
  2327.  
  2328.  If SSIIM terminates and the boogie file contains the following message: Error, 
  2329. negative areas for cell i=13, j=2, or some other combinations of i and j, then 
  2330. there is an error in the koordina file. The indexes denote the cell number, so 
  2331. for i=13, j=2, the x and y coordinates for the following grid line 
  2332. intersections should be checked: (13,2); (13,1); (12,2) amd (12,1). 
  2333.  
  2334.  If the MB-flow module is used, the residual norms are written. Then follows a 
  2335. sequence of two lines for each iteration of MB-flow. An example with four 
  2336. iterations is shown below: 
  2337.  
  2338. Iter: 5, Resid: 1.69e-05 4.10e-06 2.73e-05 1.17e-04 1.38e-02 1.13e-02
  2339. Cont: 9.23e-08, DefMax: 1.65e-03, U,V,W(96,7,20): 6.40e-01 -5.14e-03 5.76e-02
  2340. Iter: 6, Resid: 1.62e-05 3.85e-06 2.62e-05 1.10e-04 1.31e-02 1.08e-02
  2341. Cont: 9.23e-08, DefMax: 1.56e-03, U,V,W(96,7,20): 6.40e-01 -5.14e-03 5.76e-02
  2342. Iter: 7, Resid: 1.57e-05 3.65e-06 2.50e-05 1.04e-04 1.25e-02 1.03e-02
  2343. Cont: 9.23e-08, DefMax: 1.48e-03, U,V,W(96,7,20): 6.40e-01 -5.14e-03 5.76e-02
  2344. Iter: 8, Resid: 1.51e-05 3.46e-06 2.38e-05 9.86e-05 1.18e-02 9.77e-03
  2345. Cont: 9.23e-08, DefMax: 1.41e-03, U,V,W(96,7,20): 6.40e-01 -5.14e-03 5.76e-02
  2346.  
  2347.  The first line has the word "Iter" at first. Then an integer follows, which 
  2348. shows the number of the iteration. In the example above this runs from 
  2349. iteration number 5 to 9. Then the residuals for the six equations are shown. 
  2350. The x,y and z velocity equations are first, then the pressure equation and the 
  2351. k and epsilon equation follow.  All these must be under 0.001 before the 
  2352. solution has converged. 
  2353.  
  2354.  The second line starts with the word "Cont". Then a floating point value is 
  2355. shown. This is the sum of all the water inflow and outflow in the geometry. 
  2356. This should be a very low value, typically under 10E-7. If a larger value is 
  2357. given, check the boundary conditions. Then the word "DefMax" is written. The 
  2358. residual for the cell with largest water continuity defect is then written. The 
  2359. indexes for this cell are then written, with the velocities in the three 
  2360. directions for this cell. In iteration 9 for the example above, the maximum 
  2361. water continuity defect was 1.41e-3 kg/s for cell i=96, j=7, k=20. The velocity 
  2362. in the x-direction for this cell was 0.64 m/s, the velocity in the y direction 
  2363. was -5.14 mm/s and the velocity in the vertical direction was 5.76 cm/s. 
  2364.  
  2365.  If 3D changes in the water surface elevation is calculated, the water surface 
  2366. elevations along the centerlines in the two horizontal directions are written 
  2367. to the boogie file. This is done for each update. An example of some of these 
  2368. results is shown below: 
  2369.  
  2370. WL(20,1) = 1.012947e+00
  2371. WL(20,2) = 1.012427e+00
  2372. WL(20,3) = 1.011113e+00
  2373. WL(20,4) = 1.009520e+00
  2374. WL(20,5) = 1.007900e+00
  2375.  
  2376. If the sedimentation calculation is used, the fluxes through the four side 
  2377. walls and the trapped sediments are written for each size. This is written for 
  2378. each 100th iteration. An example is shown below: 
  2379.  
  2380. Trap efficiency after 24700 iter: all values in kg/s
  2381.  l=1: Trapped: 230.015, Fluxes (I1,I2,J1,J2): 229.843, 2.95575e-20, 0, 0 Resid: 0.000750
  2382.  l=2: Trapped: 485.265, Fluxes (I1,I2,J1,J2): 499.657, 85.56, 0, 0 Resid: 0.142433
  2383.  l=3: Trapped: -2617.23, Fluxes (I1,I2,J1,J2): 269.815, 3489.59, 0, 0 Resid: 2.233171
  2384.  
  2385.  Three sizes are given in the example. For size 2 the inflow is 499.657 kg/s, 
  2386. the outflow is 85.56 kg/s and 485.256 kg is trapped. The residual is the 
  2387. continuity defect divided by the inflow. The convergence criteria is given on 
  2388. the F 4 data set. The solution is converged when the average residual is under 
  2389. the convergence criteria. 
  2390.  
  2391.  After the sedimentation calculation has finished, the time step is written. A 
  2392. further explanation of the time step is given in [4]. 
  2393.  
  2394.  If the bed changes are calculated this is also written to the file. The bed 
  2395. changes are given in meters. An example is given below: 
  2396.  
  2397. BedMove(10,8) = 1.009495e-03 meters
  2398. BedMove(10,9) = 1.030140e-03 meters
  2399. BedMove(10,10) = 1.019934e-03 meters
  2400.  
  2401.  In the example, the deposition in cell i=10, j=10 causes the bed to rise 1.02 
  2402. mm during the given time step. 
  2403.  
  2404.  For the transient sediment calculation routine, sediment continuity is written 
  2405. for each time step. All numbers are in cubic meters. 
  2406.  
  2407. Sedim. continuity: In, Out, DcDt, Bed, Move, ContDef., MoveDef:
  2408. Dt:  0.453509 20.995623 -20.666748 0.355497 0.110065 0.230863 0.245432
  2409. Sum: 0.888430 50.468110 16.613033 - 66.460044 -68.192414 -0.267331 1.732371
  2410.  
  2411. The first line gives the names of the variables in the two lines below. The 
  2412. second lines give data for each time step, while the third line gives data for 
  2413. accumulated time. 
  2414.  
  2415. The first number is the inflow of sediments. The second is the outflow of 
  2416. sediments. The third is the accumulated sediments in the water body. The fourth 
  2417. is the calculated bed changes. The fifth is the actual bed changes. The sixth 
  2418. is the continuity defect, and the second is the defect because of the bed 
  2419. changes. The last two numbers should be small compared with the total flux in 
  2420. the geometry. 
  2421.  
  2422.  
  2423. ΓòÉΓòÉΓòÉ 4.3. The koordina and koomin files ΓòÉΓòÉΓòÉ
  2424.  
  2425.  The koordina file describes the bed of the geometry. An example is show in the 
  2426. figure below. The grid can be made using a map, a spreadsheet or the Grid 
  2427. Editor 
  2428.  
  2429. Grid with numbering of lines and cells 
  2430.  
  2431. The necessary input data is the x,y and z coordinates of the points where the 
  2432. grid lines meet. The format of the data is given below. 
  2433.  
  2434. i  j   x   y    z
  2435.  
  2436. An example
  2437.  
  2438. 1  1  0.34  0.54  0.11
  2439. 1  2  0.35  0.66  0.12
  2440.  
  2441. The first two numbers are integers, while the following three are floats. The 
  2442. numbers are read in a free format, which means that the distance between them 
  2443. does not matter. The sequence of the points are not important, as long as all 
  2444. points are included. This is not controlled by the model, so the user must do 
  2445. this by looking at the grid in the graphic modules of the program. 
  2446.  
  2447. If a tunnel is simulated, or the user wants to specify the water surface, an 
  2448. additional floating point number is read for each line. This gives the top 
  2449. level for each grid intersection. An example: 
  2450.  
  2451. 1  1  0.34  0.54  0.11  1.21
  2452. 1  2  0.35  0.66  0.12  1.33
  2453.  
  2454. To make SSIIM read the last float, the K 1 data set in the control file must 
  2455. be: K 1 0 0 
  2456.  
  2457. Some words about indexing and numbering of grid lines and cells. The variable 
  2458. names for the number of grid lines in the three directions are: 
  2459.  
  2460. xnumber : number of cross-sections
  2461. ynumber : number of longitudinal lines
  2462. znumber : number of horizontal lines
  2463.  
  2464. The numbering of the grid lines goes from 1 to xnumber in the streamwise 
  2465. direction, and similarly for the other two directions. 
  2466.  
  2467. However, the grid lines define cells between the grid lines. The variables are 
  2468. calculated in the center of each cell. This means that a numbering for cells 
  2469. also is required. The word node is often used for the center of a cell. 
  2470.  
  2471. From a geometrical view of the grid, it is observed that the number of lines 
  2472. always exceeds the number of cells by one in each direction. When the arrays 
  2473. are defined, it is therefore a choice for the programmer to start the numbering 
  2474. of the cells on one or two. The choice that is made in this program is that the 
  2475. numbering starts on two. This means that the cell that is defined by grid lines 
  2476. i=1 and i=2 and j=1 and j=2 has the number (2,2). Cell number (1,1) does not 
  2477. exist. The numbering of the cells is also shown in Fig. 1. The numbering of the 
  2478. grid lines is shown with the <,> sign, while the numbering of the calculation 
  2479. nodes is shown with the (,) sign. The grid is non-staggered. 
  2480.  
  2481. If SSIIM terminates and the boogie file contains the following message: Error, 
  2482. negative areas for cell i=13, j=2, or some other combinations of i and j, then 
  2483. there is an error in the koordina file. The indexes denote the cell number, so 
  2484. for i=13, j=2, the x and y coordinates for the following grid line 
  2485. intersections should be checked: (13,2); (13,1); (12,2) and (12,1). 
  2486.  
  2487. The data on the koordina file defines a surface. It is possible to make a file 
  2488. with exactly the same format and call it koomin. This surface is then used as a 
  2489. minimum elevation surface for bed changes. The bed will not be lowered under 
  2490. this surface. 
  2491.  
  2492.  
  2493. ΓòÉΓòÉΓòÉ 4.4. The geodata file ΓòÉΓòÉΓòÉ
  2494.  
  2495. This file contains a number of x,y and z coordinates. An example is shown 
  2496. below: 
  2497.  
  2498. E 2.2 3.3 3.4
  2499. E 4.5 3.3 2.2
  2500. E 3.3 4.2 1.2
  2501.  
  2502.  The purpose of this file is to use geometrical data that has been obtained 
  2503. from the field, a digitized map or a GIS system. These data would normally not 
  2504. fit into a grid like the koordina file. 
  2505.  
  2506. The file is used in three modules in the program. The first module is the 
  2507. GridEditor, which can display the points in the file with the grid. This makes 
  2508. it easier to generate the grid. The Utility option of the menu and the Show 
  2509. geometrical points option in the pull- down menu activates this. The grid 
  2510. points are displayed with different colors according to which level they are. 
  2511.  
  2512. The second use for this file is also in the GridEditor. It is then used in the 
  2513. Make bed interpolations for generating the z values for the bed of the grid. A 
  2514. linear interpolation procedure is used. 
  2515.  
  2516. The third use is to make the Porosity file. The module that does this is 
  2517. activated from the main menu of the user interface, from File and Make porosity 
  2518. file in the pull-down menu. 
  2519.  
  2520.  
  2521. ΓòÉΓòÉΓòÉ 4.5. The bedrough file ΓòÉΓòÉΓòÉ
  2522.  
  2523.  This file is used to give a roughness height to individual bed cells.  Values 
  2524. in this file overrides the value calculated from Manning's coefficient, and the 
  2525. value given on the F 16 data set. On each line a character, two integer and a 
  2526. float are given. The first character is a B, and the two following integers are 
  2527. indexes for the bed cell. The float is the roughness in meters. An example is 
  2528. given below: 
  2529.  
  2530. B          19      2    0.001
  2531. B          19      3    0.001
  2532. B          19      4    0.001
  2533.  
  2534.  
  2535. ΓòÉΓòÉΓòÉ 4.6. The porosity file ΓòÉΓòÉΓòÉ
  2536.  
  2537.  Note: When using the porosity file, use a P on the F 7 data set. 
  2538.  
  2539. This file is used when the bed of the river is covered by stones, and a 
  2540. porosity term is used in some of the cells. This file describes the location 
  2541. and magnitude of the porosity in the geometry. An example is given below: 
  2542.  
  2543. P 17 6 3.349774 3.399189 3.450101 3.499517 0.000000 0.700000 0.833333 1.000000
  2544. P 17 7 3.358273 3.413603 3.470610 3.525940 0.000000 0.653846 0.807692 1.000000
  2545. P 17 8 3.403323 3.426084 3.449536 3.472297 0.000000 0.642857 0.785714 1.000000
  2546.  
  2547.  First, the character P is read. Then two indexes for the i and j number of the 
  2548. bed cell is read. Then four vertical levels are read, which have the same zero 
  2549. reference as the koordina file. The porosities in each of these levels are then 
  2550. read. 
  2551.  
  2552.  The porosity file can be made from a koordina file and a geodata file. The 
  2553. module that does this is activated from the main menu of the user interface, 
  2554. from File and Make porosity file in the pull-down menu. The procedure goes 
  2555. through each element and used the points in the geodata file to obtain the 
  2556. data. 
  2557.  
  2558.  
  2559. ΓòÉΓòÉΓòÉ 4.7. The innflow file ΓòÉΓòÉΓòÉ
  2560.  
  2561.  This file is used to read velocities in three directions for the upstream 
  2562. boundary condition. The program searches for this file, and uses the data on 
  2563. the file if it exists. If the file does not exist, a warning message is written 
  2564. to the boogie file, and the program proceeds normally. 
  2565.  
  2566.  On each line the velocities in a cell of the upstream cross-section are given. 
  2567. First, the character E is written. Then the indexes j and k (horizontal and 
  2568. vertical) are given. Then the velocity components in the x,y and z directions 
  2569. are given. An example is given below: 
  2570.  
  2571. E  2  2  0.299115  0.023009  0
  2572. E  2  3  1.79469  0.138055  0
  2573. E  2  4  1.9941  0.153394   0
  2574. E  2  5  2.19351  0.168733  0
  2575.  
  2576.  The file does not have to contain values for all the nodes. The normal 
  2577. initialization procedures are applied first, and then the innflow file is read. 
  2578. The nodes that are not present in the innflow file will keep the values from 
  2579. before the file was read. 
  2580.  
  2581.  
  2582. ΓòÉΓòÉΓòÉ 4.8. The loggfil file ΓòÉΓòÉΓòÉ
  2583.  
  2584.  This is a file that is used to log bed changes between each time the bed is 
  2585. changed. The bed changes are written with the "append" mode in C, so that for 
  2586. the file to be updated, it must exist before SSIIM writes to it. What is 
  2587. written to the file will be appended to what is present in the file. 
  2588.  
  2589.  What is written to the file is a time step for each change, together with the 
  2590. bed changes for each cell in meters. The bed sediment grain size distribution 
  2591. for each time step is also written to this file. 
  2592.  
  2593.  When SSIIM starts, it looks for a file called loggfil.pre, and if it exist, it 
  2594. uses this file to change the bed and give initial bed sediment grain size 
  2595. distribution. If one decides to start from a previous time step, one must have 
  2596. copied loggfil to loggfil.pre before starting SSIIM. 
  2597.  
  2598.  loggfil is written from the Bedchange+ option in the Map graphics module. 
  2599.  
  2600.  The loggfil file is never overwritten by the program. New bed changes are 
  2601. appended to the end of the file. The user must therefore take care so that only 
  2602. the relevant data exist in the loggfil and loggfil.pre files. 
  2603.  
  2604.  Note that if the program does not find the loggfil.pre file, a warning is 
  2605. written to the boogie file, and the program proceeds normally. 
  2606.  
  2607.  
  2608. ΓòÉΓòÉΓòÉ 4.9. The result file ΓòÉΓòÉΓòÉ
  2609.  
  2610.  This file contains the results from the water flow calculations. The file is 
  2611. written when the prescribed number of iterations have been calculated or when 
  2612. the solution has converged. The results are velocities in three dimensions, k, 
  2613. Γûá, pressure, and the fluxes on all the walls of the cells. The data from this 
  2614. file is used as input for the sediment flow calculations. This file can also be 
  2615. read when the user wants to start the water flow calculations from where the 
  2616. result file was last written (hot start). 
  2617.  
  2618.  An example of a result file: 
  2619.  
  2620. Results from SSIIM - flow, iter = 12910
  2621. Residuals: 0.000732 0.000588 0.000002 0.000003 0.001000 0.000000
  2622. Roughness : 0.050000
  2623. C 54 9 11
  2624.  i  j  k   u   v   w   k  e  f1  f2  f3  p
  2625. D  1  1  1 0.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
  2626. D  1  1  2 0.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
  2627. D  1  1  3 0.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
  2628.  
  2629. D  2  4  7 6.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
  2630. D  2  4  8 6.38189711e-01 2.05198514e-01 -2.09522025e-04 6.40727451e-03 3.13804122e-04 3.54203761e+03 -5.25291012e+02 1.09548199e+03 1.91350056e+02
  2631. D  2  4  9 6.42687814e-01 2.06670571e-01 -3.70305526e-04 6.37079494e-03 2.71714390e-04 3.58421958e+03 -5.28978103e+02 7.51732364e+02 1.91343817e+02
  2632.  
  2633. The first lines gives the residuals, the roughness and the grid size. Then each 
  2634. line gives the nine values for one cell. The letter D starts the line, then the 
  2635. three indexes for the cell. Then the three velocities, the k and epsilon 
  2636. values. Then the fluxes in the three directions and finally the pressure. All 
  2637. the parameters are placed on one line in the file. 
  2638.  
  2639. All the results are given in SI units, so that for example the velocities are 
  2640. in meters/second and the pressure is in Pascal, or Newton/m2. 
  2641.  
  2642.  
  2643. ΓòÉΓòÉΓòÉ 4.10. The conres file ΓòÉΓòÉΓòÉ
  2644.  
  2645.  This file is written after the sediment concentration calculation has 
  2646. finished. Each line in the file contains first three indexes indicating for the 
  2647. node number. Then the total concentration is written and then lnumber floats 
  2648. that give the concentration for the sizes. An example is given below: 
  2649.  
  2650. 1 1 21 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00
  2651. 1 2 2 5.075079e-04 0.000000e+00 1.026459e-04 1.030081e-04 1.032351e-04
  2652. 1 2 3 4.064470e-04 0.000000e+00 1.011788e-04 1.015358e-04 1.017596e-04
  2653. 1 2 4 4.004061e-04 0.000000e+00 9.967497e-05 1.000267e-04 1.002471e-04
  2654.  
  2655.  If a file conres.pre exist, this will be read by the program before the 
  2656. sediment calculation starts. The conres.pre file has the same format as the 
  2657. conres file. 
  2658.  
  2659.  
  2660. ΓòÉΓòÉΓòÉ 4.11. The interpol and interres files ΓòÉΓòÉΓòÉ
  2661.  
  2662.  Vertical profiles of velocity or concentration are sometimes needed. 
  2663. Coordinates for the locations where the profiles are wanted are given in this 
  2664. file. When the write results routine is activated and the integer on the F 48 
  2665. data set in the control file is above 1, it will search for this file. If this 
  2666. file is not found, it will proceed normally and write the result or the conres 
  2667. file. If the interpol file is found and the integer on the F 48 data set is 
  2668. above 1, the program will not write to the result file, but write the 
  2669. interpolated vertical velocities to a file named interres. An example of an 
  2670. interpol file is given below: 
  2671.  
  2672. M      2.03    0.5
  2673. M       4.06   0.39
  2674. M       4.06    0.5
  2675.  
  2676.  The character M is read first, and then the x and y coordinates for the point 
  2677. one wishes to interpolate the vertical profile to. If the value on the F 48 
  2678. data set is 3 the concentrations are interpolated. If the value on the F 48 
  2679. data set is 2, the velocities, k and epsilon are written to the file. If the 
  2680. value on the F 48 data set is 1, the bed levels are written (no profile, only 
  2681. one point). The results are written to a file called interres. 
  2682.  
  2683. An example of an interres file is given below: 
  2684.  
  2685. C 9.250000 0.100000, size = 0
  2686. 1.530130 0.000000e+00
  2687. 1.491877 5.266262e-05
  2688. 1.415370 9.303652e-05
  2689. 1.338864 1.349549e-04
  2690. 1.262357 1.740915e-04
  2691. 1.185851 2.075269e-04
  2692.  
  2693.  The first line starts with a C, and then the x and y coordinates of the 
  2694. vertical profile is given. Two columns follow. The first column is the z value 
  2695. of the vertical profile. The second column is the concentration. If velocities 
  2696. are interpolated instead of concentrations, an M is written on the first line 
  2697. instead of the C. Instead of the concentration column, five calamus are 
  2698. written. The variables in the columns are: velocity in x,y and z directions, k 
  2699. and epsilon. 
  2700.  
  2701. Note that the procedure for writing the interres file changed from SSIIM 
  2702. version 1.3 to version 1.4. 
  2703.  
  2704.  
  2705. ΓòÉΓòÉΓòÉ 4.12. The verify file ΓòÉΓòÉΓòÉ
  2706.  
  2707.  This file is used as input for the VerifyProfile graphics option. The user can 
  2708. present calculated velocity or concentration profiles together with measured 
  2709. values. Up to 20 vertical profiles in a section of the geometry can be shown. 
  2710. The horizontal location of the profiles are determined by the user, so this 
  2711. method of presentation can be used for both cross-sections, longitudinal 
  2712. section or other user-defined sections. An example of a verify file is shown 
  2713. below: 
  2714.  
  2715. P 40.0 10.0 3
  2716. 5.0 0.5 0.1
  2717. 6.5 0.6 0.12
  2718. 7.0 0.8 0.05
  2719. P 70.0 10.0 2
  2720. 6.0 1.0 0.1
  2721. 8.0 1.5 0.8
  2722.  
  2723.  Each profile is identified with a capital P. Then the x and y coordinates of 
  2724. the point follow. The coordinates are given in the same system as the grid, or 
  2725. the koordina file. After the coordinates, an integer is read. The integer tells 
  2726. how many points are measured in this profile. Up to 11 points can be given. On 
  2727. the following lines the data is given. There must be the same number of lines 
  2728. as the integer on the P line. Three floats are given on each line. The first is 
  2729. the vertical coordinate where the data is taken. This is given in the same 
  2730. coordinate system as the grid, or the koordina file. The following two floats 
  2731. are velocities or concentrations, depending on what is calculated. If 
  2732. velocities are calculated, the second float is the velocity component in the 
  2733. x-direction and the third float is the velocity in the y-direction. If 
  2734. concentration is calculated, the second float is the measured concentration and 
  2735. the third float is a dummy number which is not used. If concentrations are 
  2736. given, the user can choose in the graphics presentation wheter a total 
  2737. concentration or a fractional concentration is presented. 
  2738.  
  2739. The example above gives two profiles. The first is located at x = 40.0 meters 
  2740. and y = 10.0 meters. Three data points have been measured. The first point is 
  2741. located at global coordinate z = 5.0 meters, and have a measured x-component 
  2742. velocity of 0.5 m/s and a y- component velocify of 0.1 m/s. The second point is 
  2743. located at global coordinate z = 6.5 meters, and have a measured x-component 
  2744. velocity of 0.6 m/s and a y-component velocity value of 0.12 m/s. 
  2745.  
  2746. Note that this file changed from SSIIM version 1.3 to version 1.4. 
  2747.  
  2748.  
  2749. ΓòÉΓòÉΓòÉ 4.13. The timei and timeo files ΓòÉΓòÉΓòÉ
  2750.  
  2751.  There are two files that are relevant to time series calculations. The first 
  2752. file, timei, is an input file for time series of discharge, waterlevel, 
  2753. sediment concentration and control for output. The second file, timeo, is an 
  2754. output file with time series from the model. 
  2755.  
  2756. The timei file reads two types of data sets. The first type controls the output 
  2757. to the timeo file. This data set begins with a capital O, and then reads a 
  2758. float, Time, and an integer, Vars. Time is the time for when the print out 
  2759. starts, and Vars tells how many variables are written to the timeo file for 
  2760. each time step. Maximum 25 variables can be written. A maximum of 20 control 
  2761. output data sets can be used. 
  2762.  
  2763. After reading Time and Vars, the next lines read which variables are printed 
  2764. and in which cell. Vars lines are read. Each line starts with a lowercase 
  2765. character, and then three integers (four in case of sediment concentration) are 
  2766. read. The integers indicate which cell the variable is located in. If sediment 
  2767. concentration is read, the last integer tells which fraction is written. 0 
  2768. indicates the sum of the fractions. The characters corresponding to different 
  2769. variables are listed below: 
  2770.  
  2771. character:  variable:
  2772. u      velocity in x-direction
  2773. v      velocity in y-direction
  2774. w      vertical velocity
  2775. p      pressure
  2776. k      turb. kin. energy
  2777. e      epsilon
  2778. d      turb. diffusion
  2779. z      vertical grid elevation
  2780. c      concentration
  2781.  
  2782. The second type of data set is input data. The line starts with a capital I, 
  2783. and then five floats are read. The first float indicates the time for when the 
  2784. following variables are used. The second float is the upstream water discharge. 
  2785. The third float is the downstream water discharge. The fourth float is the 
  2786. upstream water level, and the fifth float is the downstream water level. 
  2787. Sometimes one of the last variables are unknown, and then a negative value can 
  2788. be inserted and the program will try to calculate the value. 
  2789.  
  2790. If the TFS method is used, lnumber floats are read additionally, indicating the 
  2791. upstream inflowing sediment transport. 
  2792.  
  2793. An example of a timei file is given below: 
  2794.  
  2795. O 0.0 6
  2796. u 2 2 2
  2797. c 2 2 2 0
  2798. p 2 2 2
  2799. z 41 3 6
  2800. z 1 2 1
  2801. z 2 2 1
  2802. I 0.0 10.0 10.0 -20.0 19.5.0 0.000
  2803. I 100.0 10.0 10.0 -20.0 19.0 0.000
  2804. I 200.0 10.0 10.0 -20.0 18.5 0.000
  2805. I 300.0 10.0 10.0 -20.0 18.0 0.000
  2806. I 400.0 10.0 10.0 -20.0 17.5 0.000
  2807.  
  2808.  The timeo file gives the output time series from the calculation. For each 
  2809. time step, a line of variables are written to the file. Each line has Vars 
  2810. floats, according to which variables were given in the timei file. In the above 
  2811. file six variables are written. The first variable is the velocity in 
  2812. x-direction for cell (2,2,2). The second variable is the sum of all sizes of 
  2813. concentration for cell (2,2,2). The pressure and vertical grid elevations for 
  2814. various grid intersections are written. 
  2815.  
  2816. The second group of parameters in the timei file is an input time series. Each 
  2817. time step in the series are given on one line. The line starts with a capital 
  2818. I. Then the time step is given. Then four floats are read. This is the upstream 
  2819. and downstream water discharge and upstream and downstream water level, 
  2820. respectively. If a negative value is given, the program will try to calculate 
  2821. the value. The last float(s) are sediment concentration(s) for the various 
  2822. sediment sizes. These are only read if the transient sediment calculation is 
  2823. used. Note that the time steps does not have to correspond to the time steps of 
  2824. the program. The sum of the calculated time steps is calculated by the program 
  2825. and compared with the time step in the file. If the calculated time exceeds the 
  2826. time from the file, the values from this data line will be used. The times must 
  2827. be in increasing order. 
  2828.  
  2829. An example of a timeo file corresponding to the above timei file is given 
  2830. below: 
  2831.  
  2832. 0.0000e+00
  2833. 2.0000e+00 8.804354e-01 6.837692e-04 -1.853305e+01 1.950000e+01 1.792479e+01
  2834. 4.0000e+00 9.185002e-01 7.081983e-04 -3.949717e+01 1.950000e+01 1.792458e+01
  2835. 6.0000e+00 1.100297e+00 1.121773e-03 5.289925e+01 1.950000e+01 1.792421e+01
  2836. 8.0000e+00 1.156041e+00 1.389383e-03 8.122703e+01 1.950000e+01 1.792374e+01
  2837. 1.0000e+01 1.207883e+00 1.614782e-03 9.418469e+01 1.950000e+01 1.792317e+01
  2838.  
  2839. Each line corresponds to a time step. A time step of 2 seconds have been used. 
  2840. The first float is the calculated time. The second float is the velocity in 
  2841. cell (2,2,2). Then the sum of the concentrations in cell (2,2,2) is written. 
  2842. Then the pressure and the vertical grid elevations. 
  2843.  
  2844. This format is chosen so that it is easy to import the file to a spreadsheet 
  2845. for presentation. 
  2846.  
  2847.  
  2848. ΓòÉΓòÉΓòÉ 4.14. The forcelog file ΓòÉΓòÉΓòÉ
  2849.  
  2850.  This file contains time series of the forces on one or more obstacles for the 
  2851. transient free surface calculation. One line is written for each time step. An 
  2852. example of a forcelog file is shown below: 
  2853.  
  2854. Forces on block 1 : 271.062, 0.099838 N in x and y direction
  2855. Forces on block 1 : 398.574, 0.082644 N in x and y direction
  2856.  
  2857.  
  2858. ΓòÉΓòÉΓòÉ 4.15. The xcyc and koosurf files ΓòÉΓòÉΓòÉ
  2859.  
  2860.  The two files xcyc and koosurf contain the geometry of the grid. This is used 
  2861. when restarting calculations which have changed the grid. 
  2862.  
  2863. The koosurf file is identical to the koordina file, except that the surface 
  2864. level is also written for each line. This is similar to using the koordina file 
  2865. with the tunnel option. 
  2866.  
  2867. The xcyc file contains the x, y and z values of all the grid intersections. 
  2868.  
  2869. When writing the files from the menu, both files will be written. When reading 
  2870. the files, SSIIM will try to read both files, but if the xcyc file is missing, 
  2871. it will only read the koosurf file. The internal grid nodes will be generated 
  2872. by linear interpolation, as given on the G 3 data set in the control file. 
  2873.  
  2874. If the internal nodes of the grid are generated by linear interpolation, the 
  2875. only necessary file is the koordina file. However, for calculations where some 
  2876. part of the grid moves, and some is outblocked and does not move, it is 
  2877. necessary to save the xcyc file, and let SSIIM read this. 
  2878.  
  2879.  
  2880. ΓòÉΓòÉΓòÉ 5. Advice for users ΓòÉΓòÉΓòÉ
  2881.  
  2882.  
  2883. ΓòÉΓòÉΓòÉ 5.1. Advice for new users ΓòÉΓòÉΓòÉ
  2884.  
  2885.  Generally, it is advisable to start with reading this manual. It is important 
  2886. to understand that the model is made up of several sub-models. This is 
  2887. reflected in the different choices in the main menu which is used to start the 
  2888. sub-models. Some models can be run simultaneously. 
  2889.  
  2890. The hardware requirements for running the program are mainly focused on having 
  2891. enough RAM. In the beginning of the boogie file it is printed how much RAM the 
  2892. program allocates for the arrays. This can be added to the RAM requirement for 
  2893. the program itself, about 1.2 MB, plus what the operating system requires. An 
  2894. estimate for the amount of RAM is thereby obtained. OS/2 will use the harddisk 
  2895. as extra memory if there are not sufficient RAM. The penalty is that the 
  2896. program runs very much slower. This situation can be detected by observing if 
  2897. the system swaps to the harddisk while running only the SSIIM program. The 
  2898. water flow module may take from some hours to some days to converge for a 
  2899. typical case, when there is enough RAM. However, under OS/2 it is not any 
  2900. problem to let the program run in the background while doing other tasks on the 
  2901. computer. 
  2902.  
  2903.  An advice for the first-time user is to run the tutorial and one of the 
  2904. example cases. Try to modify some of the parameters and run it again. Often the 
  2905. user wants to simulate a particular case. It is then advisable to try to find a 
  2906. similar example case and modify this step by step. 
  2907.  
  2908. Some words about crashing the program and input control. There are various 
  2909. controls for input and checking of intermediate results. If any of these 
  2910. controls finds something wrong, an error message is written to the boogie file, 
  2911. and the program may terminate. Therefore, if the program suddenly stops, and 
  2912. the main user interface disappears, check the boogie file for possible error 
  2913. messages. 
  2914.  
  2915. Two files are required to run the program. These are called koordina and 
  2916. control. The koordina file contain the grid. The control file contain the rest 
  2917. of the necessary parameters. The newer versions have new options for making the 
  2918. input data for the control file, and there is also a Grid Editor that can be 
  2919. used to make the koordina file. 
  2920.  
  2921.  Finally, the results from the program ought to interpreted according to: 
  2922.  
  2923. - Possibilities of bugs in the program making errors
  2924. - Previous cases where the results have been compared with measurements
  2925. - Numerical errors, like false diffusion, grid independence, etc.
  2926. - Accuracy of boundary conditions
  2927.  
  2928. Knowledge and experience in computational fluid dynamics and hydraulic 
  2929. engineering are essential for the assessment of the validity and accuracy of 
  2930. the results. Also see advice for interpretation of results. 
  2931.  
  2932.  
  2933. ΓòÉΓòÉΓòÉ 5.2. The grid ΓòÉΓòÉΓòÉ
  2934.  
  2935.  Making the grid is often the most time-consuming process in the preparation of 
  2936. input data for SSIIM. The general idea is to divide the water body into cells. 
  2937. The size and alignment of the cells will strongly influence the accuracy of the 
  2938. calculation, the convergence and the computational time. 
  2939.  
  2940. The grid used in SSIIM is structured. This can make it difficult to adapt the 
  2941. grid to complex geometries without loss of accuracy or slow convergence. In the 
  2942. following there are given some guidelines of how to make a good grid. Also, it 
  2943. is recommended to read Chapter 4.4 first, to understand the index system of the 
  2944. grid lines. 
  2945.  
  2946. If the water body is rectangular, it is possible to use a spreadsheet to make 
  2947. the grid. However, in most cases, the fastest way to make the grid is to use 
  2948. the GridEditor. It is recommended to read Chapter 3.3 and try the tutorials to 
  2949. get to know the GridEditor. 
  2950.  
  2951. When the grid is made, a backwater calculation is carried out to determine the 
  2952. initial water surface. The water surface will therefore have a downward slope 
  2953. from cross-section j=1 to cross-section j=ynumber. The parameter ynumber is the 
  2954. number of cross-sections. Also, by default, the given discharge is flowing into 
  2955. cross-section j=1 and out of cross- section j=ynumber. Therefore, when making 
  2956. the grid, be sure that the line j=1 is the upstream cross-section of the 
  2957. geometry, where most of the water enter the geometry. 
  2958.  
  2959. Here is some advice on how to shape the cells: 
  2960.  
  2961. 1 Make the grid line intersections as perpendicular as possible. It is not 
  2962. adviceable to have intersections with an angle of less than 45 degrees. Non- 
  2963. orthogonality in the grid will make the convergence slower. It is recommended 
  2964. to use the elliptic grid generator to make the grid smoother. 
  2965.  
  2966. 2 Try to align the grid lines in the streamwise direction paralell to the 
  2967. velocity vectors. This will decrease false diffusion. 
  2968.  
  2969. 3 The distortion ratio should not be too great. The distortion ratio is the 
  2970. dimension of the grid in one direction divided by the dimension in another 
  2971. direction. Some people say this should be less than 2 (two), but other people 
  2972. have obtained good results for ratios up to 10. On occations, ratios of up to 
  2973. 100 have been used. This gave reasonable results, but it required very low 
  2974. relaxation coefficients and an extremely large number of iterations to 
  2975. converge. 
  2976.  
  2977. 4 The size of a grid cell should not be too much larger than its neigbours. 
  2978. Some people say the increase in size should not be greater than 20 %. On some 
  2979. occations this value have been over 1000 % (a factor 10). Some of these cases 
  2980. gave reasonable results, but other cases gave unphysical results. A 
  2981. recommendation is to try to stay within 50 %, but if much larger values are 
  2982. used, be aware that unphysical results may occur. Unphysical results can be 
  2983. velocity vectors that point in another direction than what seems natural, for 
  2984. example not paralell to walls. 
  2985.  
  2986.  The following two chapters give more advice on convergence and interpretation 
  2987. of the results: 
  2988.  
  2989. Experience with convergence for the water flow calculation 
  2990.  
  2991. Advice for interpretation of results 
  2992.  
  2993.  
  2994. ΓòÉΓòÉΓòÉ 5.3. Experience with convergence and crashes ΓòÉΓòÉΓòÉ
  2995.  
  2996.  There are three ways SSIIM can crash: 
  2997.  
  2998. 1.   The program stops calculation and the dialog box says there is an error. 
  2999.  
  3000. 2.   The program stops and exits, the menu and the dialog box disappear. 
  3001.  
  3002. 3.   The program stops with an OS/2 system error, usually floating point 
  3003. invalid    operation, overflow or underflow error. 
  3004.  
  3005. Often an error message is written to the  boogie  file before the crash occur. 
  3006. This happens particularly for type 1 and 2 of this list above. If an error in 
  3007. the input files are detected, an error message is written to the boogie file 
  3008. and type 2 crash occurs. If the program crashes, it is therefore recommended to 
  3009. take a look at the boogie file. If crash type 1 occurs, it is also possible to 
  3010. look at the graphics to try to see where in the geometry the problem is. 
  3011.  
  3012. If the boogie file contains the following message: Error, negative areas for 
  3013. cell i=13, j=2, or some other combinations of i and j, then there is an error 
  3014. in the koordina file. The indexes denote the cell number, so for i=13, j=2, the 
  3015. x and y coordinates for the following grid line intersections should be 
  3016. checked: (13,2); (13,1); (12,2) amd (12,1).  Crashes during initiation of the 
  3017. water surface  The initial water surface calculation is a 1 D backwater 
  3018. calculation using Manning's formula for the friction loss. When this does not 
  3019. converge the program may crashes with no error messages, except an OS/2 error 
  3020. message that tells that the program had caused a floating point overflow error. 
  3021. This usually happens when there is supercritical flow somewhere in the 
  3022. geometry. The remedy is twofold: 
  3023.  
  3024.  1. Increase the number of cross-sections for the initiation on the W 2 data 
  3025. set in the control file. 
  3026.  
  3027. 2. Choose higher Manning's friction factors on the W 1 or the W 5 data set in 
  3028. the control file. 
  3029.  
  3030.  This procedure has so far worked for all the cases where this problem has 
  3031. occurred. 
  3032.  
  3033.  Crashes with underflow error  For some cases the program can crash with an 
  3034. underflow error (type 3 crash). This happens particularly when some part of the 
  3035. geometry is blocked out. The reason is that a variable is multiplied with 
  3036. 10e-30 for each outblocked cell, and when the solver multiplies these together 
  3037. and there are sufficient outblocked cells to get below 10e-300 an underflow 
  3038. exception occurs. To prevent this there has to be an if-statement inside the 
  3039. solver loop, and this slows down execution of the program slightly. Therfore 
  3040. two solvers are incorporated, and if the F 43 data set is used, the solver with 
  3041. control of underflow error is used. Calculations with default values of F 43 
  3042. will not check for underflow errors.  Convergence  There are four main 
  3043. calculation algorithms in SSIIM: 
  3044.  
  3045. 1. Initial water surface calculation
  3046. 2. 3D water flow field
  3047. 3. 3D sediment flow field
  3048. 4. Water quality
  3049.  
  3050. The sediment calculation has always converged, although sometimes it may take 
  3051. some time. Presently, it is believed that the water quality calculation also 
  3052. will not experience major convergence problems.  The main problem is then to 
  3053. get the 3D water flow field calculation to converge. Generally, in 
  3054. computational fluid mechanics cases it is often a problem to get the solution 
  3055. to converge. Two factors are important: 
  3056.  
  3057.  - A good grid.
  3058.  - Proper relaxation coefficients.
  3059.  
  3060. It is presumed that the boundary conditions are correct, which is always a good 
  3061. thing to check in case of low convergence or strange results. 
  3062.  
  3063.  Experience shows that the degree of non-orthogonality of the grid will affect 
  3064. the convergence. A higher degree of non-orthogonality will give slower 
  3065. convergence. A slower convergence will also be experienced where strong 
  3066. gradients are present. This applies for example at the inflow of a jet from a 
  3067. wall. 
  3068.  
  3069.  For the convergence of the k and epsilon equations for river problems, the 
  3070. size of the cell closest to the bed is important. This can be changed by 
  3071. changing the second number in the G 3 data set in the control file. This 
  3072. parameter also depends on the roughness of the bed. The size of the bed cell 
  3073. should increase with increasing roughness. The height of the bed cell should 
  3074. not bee too much smaller than the roughness of the bed. 
  3075.  
  3076. The default values of the relaxation coefficients are set to 0.8 for the 
  3077. velocity equations and 0.2 for the pressure-correction equation. For k and 
  3078. epsilon, 0.5 is used as default. The values of the relaxation coefficients for 
  3079. the velocity equations and the pressure-correction equations are presumed to 
  3080. give an optimum convergence for the average flow case. Values of 0.5 for all 
  3081. equations will often give a slower convergence, but with less probability of 
  3082. divergence. Theoretically, the sum of the relaxation coefficient for the 
  3083. velocity equations and the relaxation coefficient for the pressure-correction 
  3084. equation should be unity for optimum convergence. However, for some difficult 
  3085. cases this rule has to be abandoned. 
  3086.  
  3087.  If the solution blows up after the first few iterations, it is possible to set 
  3088. the relaxation coefficients very low, and then increase the coefficients for 
  3089. the following iterations. 
  3090.  
  3091.  For some cases where the equation for k is slowest in convergence, a more 
  3092. rapid convergence has been achieved when changing the relaxation coefficient 
  3093. for k from 0.5 to 1.0 after several iterations. 
  3094.  
  3095.  For many cases it can be said that lower relaxation coefficients will give 
  3096. less instabilities during the convergence, but a slower convergence. Higher 
  3097. relaxation coefficients will give more rapid convergence if there are no 
  3098. instabilities. This is however only a rule of thumb, which does not apply to 
  3099. all cases. Instabilities can be observed during the iterations when the 
  3100. residual or the velocities increase and decrease periodically. 
  3101.  
  3102.  Use of block-correction will lead to a more rapid convergence. There is 
  3103. however a possibility of this procedure leading to negative values of k. The 
  3104. program will then crash because in the wall laws the square root of k is 
  3105. calculated. The multi-block flow module avoids this problem never using a k 
  3106. value below 10-9. This value is equivalent bed shear stress of 3.0x10-7 N/m2, 
  3107. and an interpretation of this minimum value is that the bed shear stress also 
  3108. has a minimum value of 3.0x10-7 N/m2. 
  3109.  
  3110.  For some cases there have been problems getting the solution to converge if 
  3111. there are parts of the geometry that has relatively low total velocity. 
  3112. Experience has shown that the initial conditions then may be important. If such 
  3113. a situation is present it is important to start the iterations with very low 
  3114. initial velocities. This is done with the G 8 data sets. 
  3115.  
  3116.  Transient calculations 
  3117.  
  3118. If during steady calculations there are oscillations in the velocities, this 
  3119. may be a sign that the flow field has a transient charachter. One may then 
  3120. invoke the transient calculation and a periodical transient solution may be 
  3121. observed. However, another possibility is that the oscillations disappear after 
  3122. adding transient terms. The transient terms can have a stabilizing effect on 
  3123. the solution. 
  3124.  
  3125.  Note that a non-transient solution may very well emerge even though the 
  3126. corresponding prototype flow field has transient oscillations. 
  3127.  
  3128.  Transient free surface calculations 
  3129.  
  3130.  The transient free surface algorithm is somewhat unstable. A remedy to cause 
  3131. more stability is to increase the number of inner iteration pr. time step. 
  3132. Perhaps a better method is to decrease the time step. If the changes in water 
  3133. surface with time are very small, it is recommended to use option 2 instead of 
  3134. option 1 on the F 37 data set. This is a more stable algorithm. 
  3135.  
  3136.  
  3137. ΓòÉΓòÉΓòÉ 5.4. Advice for interpretation of results ΓòÉΓòÉΓòÉ
  3138.  
  3139.  As mentioned earlier, it is advisable to have experience in computational 
  3140. fluid dynamics when proper interpretation of the results is required. Some 
  3141. guidance is given below. 
  3142.  
  3143.  An important numerical effect that can deteriorate the results is false 
  3144. diffusion. This effect is most noticed for first-order schemes, including the 
  3145. POW scheme. The effect depends on how well the flow velocity vectors are 
  3146. aligned with the grid lines. For small alignment angles, the effect is small. 
  3147. Maximum false diffusion will happen when the grid lines are aligned 45 degrees 
  3148. with the flow. The amount of false diffusion also depends on the size of the 
  3149. grid cells. 
  3150.  
  3151.  There are three methods to decrease the amount of false diffusion: 
  3152.  
  3153. 1. Decrease the size of the grid cells == increase the number of cells
  3154. 2. Align the grid with the flow field
  3155. 3. Use the second-order upwind scheme
  3156.  
  3157. Point 2 may be difficult in a practical situation. However, the calculations 
  3158. should be carried out using approach 1 and/or 3 to assess the effect of false 
  3159. diffusion. 
  3160.  
  3161.  Another important aspect is the boundary condition. This especially applies to 
  3162. the inflowing boundary. If the velocity field at the inflowing boundary is not 
  3163. known exactly, one should try different velocity distributions to try to assess 
  3164. the effect of this parameter. For a river running into a reservoir, it is 
  3165. possible to model a part of the river upstream of the reservoir, and thereby 
  3166. obtaining a better estimate for the velocity distribution where the river 
  3167. enters the reservoir. The upstream boundary condition is also important for 
  3168. sediment calculations, where both the total amount of sediment inflow and the 
  3169. sediment grain size distribution can be varied. For the bed boundary, it is 
  3170. possible to vary the roughness to investigate the effect of this parameter. It 
  3171. can also sometimes be advantageous to make variations for the formula for 
  3172. sediment concentration close to the bed. This especially applies for sediment 
  3173. particles outside the range for which the formula is applied for. 
  3174.  
  3175.  When interpreting the results from the model it is also important to keep the 
  3176. accuracy of model in mind. The k-epsilon turbulence model has limitations in 
  3177. how accurate the turbulence field is predicted. This will also affect the 
  3178. velocity field. For example, when calculating the recirculation zone for a step 
  3179. case, the length of the recirculation zone can often not be predicted with any 
  3180. better accuracy than 10-30 %. 
  3181.  
  3182.  In some situations the water flow will be time-dependent. An example can be 
  3183. oscillations behind a cylinder or in an expansion. It is possible to obtain a 
  3184. converged steady solution from the model although the physical problem is 
  3185. unsteady. This must be considered when interpreting the results. The effects of 
  3186. an unsteady solution compared to the given solution should be assessed if this 
  3187. is probable. When an unsteady case is solved with a steady method there can be 
  3188. convergence problems. If the relaxation factors have to be fairly low to get 
  3189. the solution to converge, this can be an indication that the flow field may be 
  3190. unsteady. 
  3191.  
  3192.  Another topic of interpretation is the resolution of the calculated flow field 
  3193. compared with the size of the grid cells. Several cells are required to 
  3194. dissolve a recirculating zone. Flow field characteristics smaller than about 
  3195. 4-7 cells may not show up in the solution. And a recirculation zone with very 
  3196. few cells may be inaccurately calculated because a certain resolution is 
  3197. required. 
  3198.  
  3199.  For some flow geometries the Navier-Stokes equations may have more than one 
  3200. solution. This can for example be seen in a flume with a symmetric expanding 
  3201. channel, where the jet may follow one side of the channel. If an obstacle is 
  3202. inserted into the side with the jet, the jet moves to the other side of the 
  3203. channel. This phenomena have also been experienced in non-symmetrical 
  3204. expansions, when varying the number of grid cells caused the Navier- Stokes 
  3205. equations to converge with a completely different flow field. It is thought 
  3206. that this problem has a higher risk of occurance in geometries with expansions 
  3207. and recirculation zones, and also if the Second-Order Upwind scheme is used 
  3208. instead of the Power-Law Scheme. 
  3209.  
  3210.  
  3211. ΓòÉΓòÉΓòÉ 6. Tutorial ΓòÉΓòÉΓòÉ
  3212.  
  3213.  This tutorial is meant for first time users of the SSIIM program. The tutorial 
  3214. shows the main features of the user interface, with the presentation graphics, 
  3215. animation and grid editing. The user is not required to edit files, but some 
  3216. knowledge of grids is recommended. It is important to know the purpose of the 
  3217. the control and koordina input files. During the tutorial the files will be 
  3218. made interactively. The tutorial does not show the more advanced features of 
  3219. the program, which necessitates editing of the input files. 
  3220.  
  3221.  The tutorial is divided in four stages. During the first stage the two input 
  3222. files are made. During the second stage the presentation graphics is shown. The 
  3223. third stage familiarizes the user with the grid editor. The animation graphics 
  3224. is shown in the fourth stage. 
  3225.  
  3226.  
  3227. ΓòÉΓòÉΓòÉ 6.1. First stage ΓòÉΓòÉΓòÉ
  3228.  
  3229.  In this stage the two user input files control and koordina are made. 
  3230.  
  3231.  Start up ssiim from a directory where the files control and koordina do not 
  3232. exist. This is done by writing [path]ssiim13 <CR> when you are on this 
  3233. directory. The [path] is here the path were the executable program for SSIIM is 
  3234. placed. 
  3235.  
  3236.  After this a dialog warning box shows up on the screen, telling you that the 
  3237. control file is not found, and that you have to fill in the parameters in the 
  3238. next dialog box. Choose OK in the warning box, and you see the main parameters 
  3239. dialog box. Default values are present in the edit fields. Click on the edit 
  3240. field for lines in streamwise direction. Change this value from 4 to 10 or a 
  3241. higher value. Also change the number of lines in cross- streamwise direction 
  3242. from 4 to for example 6. After this, push the OK button with the mouse. The 
  3243. control file is then automatically made, and written to the disk. 
  3244.  
  3245.  Immediately after this you will get a second warning box, which tells you that 
  3246. the files koordina or geodata are not found. The file geodata can be used 
  3247. initially instead of the koordina file, but that is a more advanced topic which 
  3248. you can read more about after this tutorial. Push the OK button on the warning 
  3249. box, and a new dialog box emerges. In this box you give the dimensions of the 
  3250. grid. The default grid that is made initially is rectangular. You can choose a 
  3251. grid which is 11 meters long and 6 meters wide. Change value in the editfields 
  3252. from 10.0 to 11.0 for the length and from 5.0 to 6.0 for the width. Then push 
  3253. the OK button. After this, the koordina file is made and written to the 
  3254. harddisk. Immediately afterwards the normal user interface for the program is 
  3255. shown and the program is started. The flow field for this grid is made in the 
  3256. second stage 
  3257.  
  3258.  
  3259. ΓòÉΓòÉΓòÉ 6.2. Second stage ΓòÉΓòÉΓòÉ
  3260.  
  3261.  In this stage we will solve the flow field for the given grid, and look at the 
  3262. results. 
  3263.  
  3264.  The main user interface is a dialog box and a menu bar. The dialog box will 
  3265. show intermediate results from the calculations and other messages. The menu is 
  3266. used for starting different sub-modules of the SSIIM program. 
  3267.  
  3268.  In the first dialog box to make the control file, we gave a Manning's 
  3269. coefficient, water discharge, downstream waterlevel and dimension of the 
  3270. geometry. This is all we need to calculate the flow field with the 
  3271. Navier-Stokes equations. To start the solution of the Navier-Stokes equations 
  3272. you select the option Computations from the main menu. Then select MB-Flow from 
  3273. the pull-down menu. After this, push the update button on the dialog box to see 
  3274. how the residuals develop. The dialog box shows the residual for all the six 
  3275. partial differential equations that is solved for the water flow calculation. 
  3276. The water flow calculation is converged when all the residuals are under 0.001. 
  3277.  
  3278. After convergence, we want to see the results. Choose the Graphics option of 
  3279. the main menu, and the Map option in the pull-down menu. This gives you a 
  3280. graphics view of the grid as seen from above. Choose Graph from the menu in the 
  3281. map window, and Velocity from the pull-down menu. Then you see the velocity 
  3282. vectors. You can scale and move the plot by using the <Page up>, <Page down> 
  3283. and arrow keys. You can also scale the velocity vectors by choosing Scale and 
  3284. VarEnlarge/VarShrink. And you can see the other parameters than the velocity by 
  3285. choosing different variables in the Graph pull-down menu. 
  3286.  
  3287. The velocity vectors are not too exciting for this channel and to make a more 
  3288. complex flow pattern, you need to change the grid. This is done in the third 
  3289. stage. 
  3290.  
  3291.  
  3292. ΓòÉΓòÉΓòÉ 6.3. Third stage ΓòÉΓòÉΓòÉ
  3293.  
  3294.  In this stage we will concentrate about the grid editor. But first, we want to 
  3295. show several graphic windows on the same time on the screen. Therefore, use the 
  3296. mouse and push the main menu down in the lower left quadrant of your screen. 
  3297. Scale the map window so that it fits in your upper left quadrant of the screen. 
  3298. To fit the grid in the window, choose the Scale option in the map window and 
  3299. Shrink in the pull-down menu together with the Move option in the map window 
  3300. and left, down options in the pull-down menu. 
  3301.  
  3302.  Then start the grid editor by choosing Input Edit from the main menu bar and 
  3303. GridEdit from the pull-down menu. Scale and move the window and the grid so 
  3304. that it fits in your upper quadrant of your screen. 
  3305.  
  3306.  To edit the grid, you first choose some points which will not be affected by 
  3307. the interpolation routines. This is done in a special modus of the editor. This 
  3308. modus is invoked by choosing Define from the menu and Set NoMovePoints from the 
  3309. pull-down menu. To verify that this modus is chosen, the letters "Point mode, 
  3310. 0" is shown on the lower part of the editwindow. The integer shows how many 
  3311. points you have chosen. We want to choose four points, all on the upper 
  3312. boundary of the grid. A point is chosen by clicking with the mouse on a grid 
  3313. intersection. If successful, a blue star emerges at the grid intersection. For 
  3314. a further explanation on which points to choose, see Fig. A. After choosing the 
  3315. points we return to normal modus. This is done by choosing Define and Set 
  3316. NoMovePoint again. We observe that this modus disappears because the text 
  3317. "Point mode, 4" disappears. 
  3318.  
  3319. Now we want to move the points. You can move any of the grid intersections by 
  3320. clicking on the intersection with the mouse and dragging it to another place 
  3321. and then release the mouse button. Try this with one of the intersections 
  3322. between the marked points. In the following the four marked points are denoted 
  3323. 1,2,3 and 4, starting from left. Move point 2 and 3 down midway into the 
  3324. channel. The grid should look like Fig. B afterwards. Then choose Generate from 
  3325. the menu and Boundary from the pull-down menu. This makes straight lines at the 
  3326. boundary. The grid will look like Fig. C. Now you see why we had to make the 
  3327. "NoMovePoints". Then choose Generate from the menu and Elliptic from the 
  3328. pull-down menu. Do this a couple of times until the grid looks ok. Now you have 
  3329. generated an elliptic grid, which looks something like Fig. D. 
  3330.  
  3331.  Next, we want to calculate the flow field for this grid. To increase the 
  3332. visual effect, first go to the map window in the left upper corner, and start 
  3333. the timer with 5 seconds interval. This makes the map window and the results 
  3334. dialog box refresh automatically every 5 seconds. The timer is started by first 
  3335. choosing Timer in the map window, and choosing 5 S on the pull-down menu. Then 
  3336. choose Timer once more, but this time choose Start from the pull-down menu. You 
  3337. can observe that the window is refreshed every 5 seconds. 
  3338.  
  3339.  To apply the changes from the grid editor, go back to the grid editor window 
  3340. in the upper right quadrant, and choose Utilities from the menu and  apply 
  3341. changes from the pull-down menu. Then restart the water flow calculation by 
  3342. choosing Computations from the main menu and MB-Flow from the pull-down menu. 
  3343. Watch the results in the map window and the residuals as the solution 
  3344. converges. 
  3345.  
  3346. In the fourth stage we look at particle animation. 
  3347.  
  3348.  
  3349. ΓòÉΓòÉΓòÉ 6.4. Fourth stage ΓòÉΓòÉΓòÉ
  3350.  
  3351.  In this stage we look at the animation. This is started by choosing Graphics 
  3352. from the main menu and Animation from the pull-down menu. 
  3353.  
  3354. When the window opens, a cross is displayed in the center of the window. Click 
  3355. with the mouse on the center of the cross. This scales the mouse location for 
  3356. the particle movement. 
  3357.  
  3358. The grid seen from above is then shown. Move and scale the window and the grid 
  3359. so that it fits in the lower right quadrant of your screen. Click with the 
  3360. mouse inside the grid at the upstream part. Watch the particle that moves to 
  3361. the place you chose. Start the animation by choosing Particle in the menu and 
  3362. run on the pull-down menu. 
  3363.  
  3364. After a while, click with the mouse on another part of the grid, and watch what 
  3365. happens. 
  3366.  
  3367.  
  3368. ΓòÉΓòÉΓòÉ 7. Examples ΓòÉΓòÉΓòÉ
  3369.  
  3370.  Several example cases are presented. Some of the examples includes the input 
  3371. files for the cases, including the control.xxx and the koordina.xxx file. The 
  3372. files can be used for SSIIM calculations by removing the extensions of the 
  3373. files. 
  3374.  
  3375.  
  3376. ΓòÉΓòÉΓòÉ 7.1. X shaped channel crossing ΓòÉΓòÉΓòÉ
  3377.  
  3378.  The files have extensions .x. In this example two channels cross. The example 
  3379. is used to test the multi-block flow routine. Two extra blocks are added to 
  3380. create the geometry. The geometry is symmetric, so the result should also be 
  3381. symmetric.  The grid, seen from above  Velocity vectors, seen from above, level 
  3382. 6  Contour map of horizontal velocity, level 6  Contour map of vertical 
  3383. velocity, level 10 
  3384.  
  3385.  
  3386. ΓòÉΓòÉΓòÉ 7.2. Y shaped channel ΓòÉΓòÉΓòÉ
  3387.  
  3388.  The files have extension .y. A channel branches in two at an angle of 45 
  3389. degrees. The two branches have identical boundary geometry. The case was 
  3390. initially thought of being used for symmetry testing. However, the grid is not 
  3391. symmetrical, and therefore the flow field will not be completely symmetrical. 
  3392. This case is instead used for demonstrating sediment transport.  Contour map of 
  3393. horizontal velocity, bed level (level 2) 
  3394.  
  3395.  
  3396. ΓòÉΓòÉΓòÉ 7.3. Curved channel ΓòÉΓòÉΓòÉ
  3397.  
  3398.  The files have extensions .svi. The channel is used for testing the programs 
  3399. ability to calculate the secondary flow pattern in a curved channel. It is also 
  3400. used for testing the routine that recalculates the water surface location based 
  3401. on the 3D flow field. The cross- sectional slope corresponds very well to 
  3402. theoretical solutions.  Grid of channel, seen from above  Contour map of 
  3403. vertial velocity, level 6  OpenGL color map of depth. Blue is minimum value and 
  3404. red is maximum value.  OpenGL color map of cross-secton at downstream end. The 
  3405. velocity vectors are parallell to the plane. The colors show velocity normal to 
  3406. the plane. Blue is minimum value and red is maximum value. 
  3407.  
  3408.  
  3409. ΓòÉΓòÉΓòÉ 7.4. Fish farm tank ΓòÉΓòÉΓòÉ
  3410.  
  3411.  The files have extensions .kar. This case is used for demonstrating inflow and 
  3412. outflow at different locations in the geometry. The inflow is on one side, at 
  3413. 45 degrees to the wall. The outflow is at the bottom of the tank. The case is 
  3414. also used for demonstration of fish habitat. It is also suited for particle 
  3415. animation because the particle will move in a circular pattern. This case is 
  3416. further described by Olsen and Alfredsen (1994).  Grid, seen from above 
  3417. Velocity vectors at bed  Velocity vectors at level 10 
  3418.  
  3419.  
  3420. ΓòÉΓòÉΓòÉ 7.5. Reservoir sedimentation ΓòÉΓòÉΓòÉ
  3421.  
  3422.  The files have extension .res. This case is used for demonstration of trap 
  3423. efficiency calculation in a reservoir. It is a modified version of the Mae Tian 
  3424. reservoir calculation case from Thailand (Olsen and Melaaen, 1993 a,b). 8.3 
  3425. cubic meters of water is flowing in through the reservoir. Several sediment 
  3426. sizes are used. The user can see the contour map of the bed levels, color map 
  3427. of the bed level changes, cross-section velocities and longitudinal profiles of 
  3428. the sediment concentration.  Grid, seen from above  Contour map of bed levels 
  3429.  
  3430.  
  3431. ΓòÉΓòÉΓòÉ 7.6. 3D flood wave around building ΓòÉΓòÉΓòÉ
  3432.  
  3433.  The files have extension .wav. This example shows a flood wave in a 50 m long 
  3434. and 25 meter wide channel hitting a square building with sides 5 meters. The 
  3435. upstream water surface is 3 meters above the bed, and a water velocity of 3 m/s 
  3436. is in the inflowing water. The speed and the depth of the wave correspond to 
  3437. hydraulic formulas. The case is presented by Olsen (1994). Forces on the 
  3438. building are written to the forcelog file. A verification study for this 
  3439. example is presented by Lovoll et al (1995).  Velocity vector map, seen from 
  3440. above, after 12 seconds 
  3441.  
  3442. The following figures are longitudinal profiles along the centerline of the 
  3443. geometry.  After 1 second After 5 seconds After 9 seconds 
  3444.  
  3445.  
  3446. ΓòÉΓòÉΓòÉ 7.7. Sand trap ΓòÉΓòÉΓòÉ
  3447.  
  3448.  The sand trap case is a verification case, where an 18 m long physical model 
  3449. of a sand trap were studied. The with of the sand trap was 1 m and it had a 
  3450. height of 1.5 m. The results from the physical model study compared fairly well 
  3451. with the results from the numerical model. For a further description of this 
  3452. study, see Olsen and Skoglund (1994) and Olsen and Chandrashekhar (1995). 
  3453. Example input files are not provided.  Comparision of calculated (lines) and 
  3454. measured (X) velocity profiles in a longitudial section, with a modified 
  3455. turbulence model.  Comparision of calculated (lines) and measured (X) 
  3456. concentration profiles in a longitudial section, with a modified turbulence 
  3457. model.  Comparision of calculated (lines) and measured (X) velocity profiles in 
  3458. a longitudial section, with the standard turbulence model.  Comparision of 
  3459. calculated (lines) and measured (X) concentration profiles in a longitudial 
  3460. section, with the standard turbulence model. 
  3461.  
  3462.  
  3463. ΓòÉΓòÉΓòÉ 7.8. Time-dependent evolution of scour ΓòÉΓòÉΓòÉ
  3464.  
  3465.  The input files have extension .sco. 
  3466.  
  3467. The example is scour in a channel caused by an object decreasing the 
  3468. cross-section area of the channel. This would normally also cause local scour 
  3469. around the object. However, to avvoid excessive computer calculation time, a 
  3470. very coarce grid is used. This grid is not fine enough to resolve the current 
  3471. around the obstacle which is causing the local scour. To get a more reliable 
  3472. prediction of the scour depth, a finer grid has to be used. 
  3473.  
  3474. The time step is chosen to be 1000 seconds. This is also to avvoid excessive 
  3475. computation time when running the example. This allows the user to observe how 
  3476. the bed evolution changes. The time step is however to long to give an accurate 
  3477. prediction of the evolution of the scour. 
  3478.  
  3479. Note the grid extends relatively far downsteam of the obstacle. For some cases 
  3480. this has shown to be necessary to avvoid unphysical results at the downstream 
  3481. boundary. 
  3482.  
  3483. The development of the scour hole is best seen with the contour map graphics or 
  3484. the OpenGL graphics, showing the bed level seen from above. Note some bugs in 
  3485. the contour map graphics causes some lines not to be shown at all times. 
  3486.  
  3487.  
  3488. ΓòÉΓòÉΓòÉ 7.9. Water quality with Streeter-Phelps model ΓòÉΓòÉΓòÉ
  3489.  
  3490.  The input files have extension .qua 
  3491.  
  3492. The water quality in a river is modeled with the Streeter-Phelps model. This 
  3493. has two water quality constitutents: Organic substance measured in Biological 
  3494. Oxygen Demand (BOD) and Oxygen Saturation Deficit (OSD). The 
  3495. convection-diffusion equation for each constituent is solved, including source 
  3496. terms for biochemical reactions. 
  3497.  
  3498. Start by calculating the water flow field using MB-Flow2D or MB-Flow3D. 
  3499. Afterwards, start the water quality calculation. You may use the calculation 
  3500. menu. 
  3501.  
  3502. The OpenGL 2D graphics is well suited to show the results. 
  3503.  
  3504. This case is used for testing the numerical model against an analythical 
  3505. solution. 
  3506.  
  3507.  
  3508. ΓòÉΓòÉΓòÉ 7.10. Example of unstructured grid SSIIM 2.0 ΓòÉΓòÉΓòÉ
  3509.  
  3510.  SSIIM version 2.0 is planned to have a more flexible grid, with multiple 
  3511. blocks, creating an unstructured grid. One procedure to generate the grid can 
  3512. be seen from the following figures. 
  3513.  
  3514. The grid editor is similar to the previous versions in the respect that points 
  3515. in the window from the geodata file is shown. Then the user can make several 
  3516. blocks, like shown below. The sides of the grid is then connected.  Each block 
  3517. is then adjusted according to the boundary.  In the resulting grid, the blocks 
  3518. are connected.  A bed interpolation routine gives a varying number of grid 
  3519. cells in the vertical, as shown in the longitudinal profile below.  Another 
  3520. procedure is to use a paving algorithm. This is shown on the figures below, 
  3521. generating an unstructured mesh for a circular geometry 
  3522.  
  3523.  
  3524. ΓòÉΓòÉΓòÉ 8. Literature ΓòÉΓòÉΓòÉ
  3525.  
  3526.  Ackers, P. and White, R. W. (1973) "Sediment Transport: New Approach and 
  3527. Analysis", ASCE Journal of Hydraulic Engineering, Vol. 99, No. HY11. 
  3528.  
  3529. Ashworth, R. (1993) "Renormalisation Group Turbulence Model", Eight 
  3530. International Conference on Numerical Methods in Laminar and Turbulent Flow, 
  3531. Swansea, UK. 
  3532.  
  3533. Blacker, T. D. and Stephenson, M. B. (1991) "Paving: A new approach to 
  3534. automated quadrilateral mesh generation", Int. Journal for Numerical Methods in 
  3535. Engineering, Vol. 32, pp 811-847. 
  3536.  
  3537. Brooks, H. N. (1963), discussion of "Boundary Shear Stresses in Curved 
  3538. Trapezoidal Channels", by A. T. Ippen and P. A. Drinker, ASCE Journal of 
  3539. Hydraulic Engineering, Vol. 89, No. HY3. 
  3540.  
  3541. Chandrashekhar, J. (1994) "Numerical Simulation of Sediment Movement in 
  3542. Desilting Basins using SSIIM", M.S. Thesis, Division of Hydraulic and 
  3543. Environmental Engineering, The Norwegian Institute of Technology, Trondheim. 
  3544.  
  3545. Einstein, H. A. and Ning Chien (1955) "Effects of heavy sediment concentration 
  3546. near the bed on velocity and sediment distribution", UCLA - Berkeley, Institute 
  3547. of Engineering Research. 
  3548.  
  3549. Engelund, F. (1953) "On the Laminar and Turbulent Flows of Ground Water through 
  3550. Homogeneous Sand", Transactions of the Danish Academy of Technical Sciences, 
  3551. No. 3. 
  3552.  
  3553. Engelund, F. and Hansen, E. (1967) "A monograph on sediment transport in 
  3554. alluvial streams", Teknisk Forlag, Copenhagen, Denmark. 
  3555.  
  3556. Kjellesvig, H. M. (1996) "Numerical modelling of flow over a spillway", 
  3557. HYDROINFORMATICS-96, Zurich, Switzerland. 
  3558.  
  3559. Kjellesvig, H. M. and St╨½le, H. (1996) "Physical and numerical modeling of the 
  3560. Himalaya Intake", 2nd Int. Conf. on Modelling, Testing and Monitoring for Hydro 
  3561. Powerplants, Lausanne, Switzerland. 
  3562.  
  3563. Lovoll, A., Lysne, D. K. and Olsen, N. R .B. (1995) "Three-dimensional modeling 
  3564. of flood waves around a structure", Submitted to the 26th IAHR Biennial 
  3565. Congress, London. 
  3566.  
  3567. Lovoll, A. (1996) "Hydrodynamic forces from steep waves in rivers", Dr. Ing. 
  3568. dissertation, Department of Hydraulic and Environmental Engineering, The 
  3569. Norwegian University of Science and Technology. 
  3570.  
  3571. Lysne, D. K., Olsen, N. R. B., St╨½le, H and Jacobsen, T. (1995) "Withdrawal of 
  3572. water from sediment carrying rivers. Recent developments in planning and 
  3573. operation of headworks", International Journal on Hydropower and Dams, March. 
  3574.  
  3575. Mayer-Peter, E. and Mueller, R. (1948) "Formulas for bed load transport", 
  3576. Report on Second Meeting of International Association for Hydraulic Research, 
  3577. Stockholm, Sweden. 
  3578.  
  3579. Melaaen, M. C. (1992) "Calculation of fluid flows with staggered and 
  3580. nonstaggered curvilinear nonorthogonal grids - the theory", Numerical Heat 
  3581. Transfer, Part B, vol. 21, pp 1-19. 
  3582.  
  3583. Olsen, N. R. B. (1991) "A numerical model for simulation of sediment movements 
  3584. in water intakes", Dr. Ing. Dissertation, The Norwegian Institute of 
  3585. Technology, Trondheim. 
  3586.  
  3587. Olsen, N. R. B. and Melaaen, M. C. (1993) "Numerical Modeling of Erosion around 
  3588. a Cylinder and Sediment Deposition in a Hydropower Reservoir", Eight 
  3589. International Conference on Numerical Methods in Laminar and Turbulent Flow, 
  3590. Swansea, UK. 
  3591.  
  3592. Olsen, N. R. B. and Melaaen, M. C. (1993) "Three-dimensional numerical modeling 
  3593. of scour around cylinders", ASCE Journal of Hydraulic Engineering, Vol. 119, 
  3594. No. 9, September. 
  3595.  
  3596. Olsen, N. R. B., Jimenez, O., L╨½voll, A. and Abrahamsen, L. (1994) "Calculation 
  3597. of water and sediment flow in hydropower reservoirs", IAHR International 
  3598. Conference on Modeling, Testing and Monitoring of Hydropower Plants, Hungary. 
  3599. click here for graphics 
  3600.  
  3601. Olsen, N. R. B. and Alfredsen, K. (1994) "A three-dimensional model for 
  3602. calculation of hydraulic parameters for fish habitat", IAHR Conference on 
  3603. Habitat Hydraulics, Trondheim, Norway. 
  3604.  
  3605. Olsen, N. R. B. (1994) "SSIIM - A three-dimensional numerical model for 
  3606. simulation of water and sediment flow", HYDROSOFT-94, Porto Carras, Greece. 
  3607.  
  3608. Olsen, N. R. B. and Skoglund, M. (1994) "Three-dimensional modeling of water 
  3609. and sediment flow in a sand trap", IAHR Journal of Hydraulic Research, No. 6, 
  3610. Vol. 32. 
  3611.  
  3612. Olsen, N. R. B. and Tesaker, E. (1995) "Numerical and physical modeling of a 
  3613. turbidity current", 26th IAHR Biennial Congress, London. 
  3614.  
  3615. Olsen, N. R. B. and Oldervik, O. (1995) "Three-dimensional numerical modeling 
  3616. of water flow through a gate plug", 26th IAHR Biennial Congress, London. 
  3617.  
  3618. Olsen, N. R. B. (1995) "Numerical modelling of hydropower reservoir flushing", 
  3619. International Conference on Hydropower into the next Century", Barcelona, 
  3620. Spain. 
  3621.  
  3622. Olsen, N. R. B. and Stokseth, S. M. (1995) "Three-dimensional numerical 
  3623. modeling of water flow in a river with large bed roughness", IAHR Journal of 
  3624. Hydraulic Research, No. 4, Vol. 33. 
  3625.  
  3626. Olsen, N. R. B. and Chandrashekhar, J. (1995) "Calculation of water and 
  3627. sediment flow in desilting basins", 6th. International Symposium on River 
  3628. Sedimentation, New Delhi, India. 
  3629.  
  3630. Olsen, N. R. B. and Melaaen, M. C. (1996) "Three-dimensional numerial modeling 
  3631. of transient turbulent flow around a circular cylinder", 2nd. Int. Conf. on 
  3632. Modelling, Testing and Monitoring for Hydro Powerplants, Lausanne, Switzerland. 
  3633.  
  3634. Olsen, N. R. B. (1996) "Three-dimensional numerical modelling of local scour", 
  3635. HYDROINFORMATICS-96, Zurich, Switzerland. 
  3636.  
  3637. Olsen, N. R. B. (1997) "Computational fluid dynamics as a tool for prediction 
  3638. of sedimentation and erosion in reservoirs", Q. 74 a), ICOLD Conference, 
  3639. Florence, Italy. 
  3640.  
  3641. Patankar, S. V. (1980) "Numerical Heat Transfer and Fluid Flow", McGraw-Hill 
  3642. Book Company, New York. 
  3643.  
  3644. Rhie, C.-M, and Chow, W. L. (1983) "Numerical study of the turbulent flow past 
  3645. an airfoil with trailing edge separation", AIAA Journal, Vol. 21, No. 11. 
  3646.  
  3647. Van Rijn, L. C. (1987) "Mathematical modeling of morphological processes in the 
  3648. case of suspended sediment transport", Ph.D Thesis, Delft University of 
  3649. Technology. 
  3650.  
  3651. Rodi, W. (1980) "Turbulence models and their application in hydraulics", IAHR 
  3652. State-of- the-art paper. 
  3653.  
  3654. Schlichting, H. (1979) "Boundary layer theory", McGraw-Hill. 
  3655.  
  3656. Sintic, A. (1996) "Numerical models for dam-break flood routing", MS Thesis, 
  3657. Institute of Hydraulic Engineering and Water Resources Management, University 
  3658. of Technolgy, Aachen, Germany. 
  3659.  
  3660. Streeter, H. W. and Phelps, E- B. (1925) "A study of the pollution and natural 
  3661. purification of the Ohio River", US Public Health Service, Washington DC, 
  3662. Bulletin 146. 
  3663.  
  3664. Vanoni, V., et al (1975) "Sedimentation Engineering", ASCE Manuals and reports 
  3665. on engineering practice - No54. 
  3666.  
  3667. Yang, T. C. (1973) "Incipient Motion and Sediment Transport", ASCE Journal of 
  3668. Hydraulic Engineering, Vol. 99, No HY10. 
  3669.  
  3670. The references by Olsen (1991), Chandrashekhar (1994) and Lovoll (1996) can be 
  3671. obtained by writing to: 
  3672.  
  3673. Department of Hydraulic and Environmental Engineering
  3674. The Norwegian University of Science and Technology
  3675. N-7034 Trondheim
  3676. Norway
  3677.  
  3678. The proceedings with reference by Olsen and Alfredsen (1994) can be obtained by 
  3679. writing to: 
  3680.  
  3681. SINTEF Civil and Environmental Engineering
  3682. Klaebuvn. 153
  3683. N-7034 Trondheim
  3684. Norway
  3685.  
  3686. The thesis by Sintic (1996) can be obtained by writing to: 
  3687.  
  3688. RWTH Aachen
  3689. Institut fur Wasserbau und Wasserwirtschaft
  3690. Mies-van-der-Rohe-Str. 1
  3691. 52056 Aachen
  3692. Germany
  3693.  
  3694.  
  3695. ΓòÉΓòÉΓòÉ 8.1. Velocity vector map - Garita ΓòÉΓòÉΓòÉ
  3696.  
  3697. The colors show the magnitude of the horizontal velocity