Subgrid Sampling Time Step Method and Depth Tolerances

From version 2027.2 onwards, Subgrid Sampling is no longer a Tech Preview.

Users of earlier versions of InfoWorks ICM will continue to use the Tech Preview version, which supports a limited set of modelling capabilities, network objects and mesh functionality.

Subgrid Sampling time step method

The time step calculation method for subgrid 2D elements is based on a Courant Friedrichs Lewy condition. A wave speed and characteristic distance is calculated for each 2D element (see Equation 4 in Basic 2D Hydraulic Theory), which are used to estimate the time step at the 2D element. The 2D time step for a 2D zone is calculated as the smallest of the time steps for its 2D elements.

A method for the time step calculation is essential to ensure the numerical stability of the 2D engine and is specified in the simulation parameters. There are several options for estimating the time step at subgrid 2D elements, which are listed below in descending order from more aggressive to less aggressive time step calculation methods. Face depth is the default option as it ensure stability in any flow conditions by restricting the interaction between waves in a 2D element. The other methods may produce performance gains at the cost of numerical stability and volume balance errors. If you select a different option for the Time step method, it is essential to ensure the model is stable by checking the volume balance report in the log file for the relevant simulations.

Important: It is not recommended to change the default setting for any of the simulation parameters.

Depth tolerances

The volume/level tables, which determine storage in a subgrid 2D element, can be simplified using a modified Ramer-Douglas-Peucker algorithm to ensure that depth estimation errors are within set tolerances.

The allowed depth estimation error for a given depth is set by the percentage depth tolerance, and depth estimation error can also be limited between a minimum and maximum depth tolerance.

If an unsimplified volume/level table retrieves a 1m depth for a specified volume, and the percentage depth tolerance is set to 5%, the depth estimation error in the simplified table is set to 5cm. Therefore the simplified volume/level table is forced to retrieve a depth value between 0.95 and 1.05m. Additionally, if the minimum depth tolerance is set to 1cm and the maximum is 2cm, the range of valid depth estimations from the simplified volume/level table will be further restricted to the range 0.98 and 1.02m.

As volume/level table simplification has minimal impact on engine performance no tolerances are set by default. However, using simplified tables will reduce the memory footprint and may allow meshes, with more triangles, to be simulated in models containing Subgrid Sampling 2D zones. This can be beneficial particularly in the case of simulations running on a GPU card, where the memory size of the model is mapped directly onto the memory of the GPU card. Volume/level table simplification is performed if any of the following depth tolerance properties are specified in the simulation parameters:

The allowed depth estimation error for a volume/level table entry is:

where d represents the depth from the unsimplified volume/level table