Computational Instabilities
Instabilities are the erroneous generation or removal of flow from the network caused by the internal calculations performed by the simulation engine, rather than by a real effect. The main causes of instabilities are:
- a large change in pipe gradient
- a node with small chamber and shaft area, immediately downstream of a pumping station
- a rapid alleviation of flooding, for example caused by a gate opening or a pump switching on
Checking for Instabilities
There are a number of ways to check for instabilities, which are described below.
Instabilities can be found by checking the results in the PRN Summary Report generated when a simulation is run. The report contains a summary of the maximum results for nodes and links.
Under the node section, there is a column called Volume Balance. This is a calculation of the total flow entering the node minus the total flow leaving it. Total flow means everything, including any flood loss at nodes with Flood Type set to Lost. Therefore large values in this column (say greater than 0.5% of the total flow through the node) whether positive or negative are a sign of an instability.
To view the PRN report:
- In the Explorer Window, right-click on the simulation object and select Open As
- Select 'PRN' summary results (text) from the Select Results dialog.
- Click on OK. The Summary Results View is displayed.
An SQL Query can be used to check for volume balance errors. This is probably a better method than reading through the PRN Report as described above.
To find possible computational instabilities using a query:
- Open a completed simulation
- Choose SQL select from the Selection menu. This displays the SQL Dialog.
- Open the SQL Query page
- Make sure the Object Type is set to Node.
- Select the sim.volbal field in the Field dropdown list. sim indicates that this is a simulation result. volbal is the volume balance
- Complete the rest of the query in the main box. It should read:
abs( sim.volbal ) > 0.05
Change the value 0.05 to the required threshold
- Open the SQL Grid page
- It may help to limit the columns that are displayed. Select the node_id and sim.volbal fields and click the Include button so that these fields are marked Yes.
- Click the Open as Grid button to display the query results in a Grid Window
For details of the grid and how to export it to a CSV file, see SQL Query View.
To save the query for re-use, click the Save As button at the bottom of the dialog.
A quick check for volume balance errors can be carried out by sorting the Node Results Grid on the Volume Balance column and checking for large positive or negative values.
InfoWorks ICM can automatically check for instabilities using the built-in diagnostics. These allow tolerances to be set for various parameters, including volume balance.
When a simulation has finished, the simulation icon will usually turn green to indicate that the simulation has completed successfully or red to show that it has failed. When using diagnostics, the icon will be yellow if the simulation completed successfully but the tolerances set have been exceeded.
To set up diagnostic tolerances click the Diagnostics button on the Schedule Hydraulic Run View. This displays the Run Diagnostics Dialog.
If the simulation exceeds the tolerances set, it is still necessary to check the PRN report to find where the problems are occurring.
Removing Instabilities
Running the simulation at a shorter timestep will sometimes remove instabilities.
However, a better way is to use the volume balance checks in the network Simulation Parameters.
- With the network open, choose Model parameters | Simulation parameters from the Model menu. This displays the Simulation Parameters in the Object Properties Window.
- Set the two Tolerance for Volume Balance fields (Initialisation and Simulation) to 0.01
- Set the two Tolerance for Volume Balance Scaling Factor fields (Initialisation and Simulation) to 1.0
The effect of these parameters is to provide additional checks during simulation. Simulations may therefore take longer to run, but it is our experience that instabilities are always removed.