2D Mesh Generation Methodology
When creating 2D meshes, the 2D mesh is generated using the Shewchuk Triangle meshing functionality. Heights at the vertices of the generated mesh elements are calculated by interpolation from a specified ground model.
In order for meshing to be carried out, a bounding polygon must be defined in InfoWorks ICM. Voids (regions that will not be meshed), break lines and areas of varying roughness and mesh resolution may also be defined as described in the sections below:
InfoWorks ICM provides a number of network objects that can be used to define the bounding polygon for the mesh and regions of varying roughness and mesh resolution:
- The 2D zone acts as the bounding polygon within which the mesh is created. 2D boundary objects can be used to define alternative boundary conditions along a section of the zone boundary.
- Mesh zones represent areas that will be meshed at different resolutions and, for InfoWorks networks, areas in which ground level modifications are to be applied. Mesh zone boundaries are always enforced as break lines during the mesh generation process when using the classic method of mesh generation. However, when using the clip meshing method, the boundaries are only enforced if a Ground level modification property has been specified for the mesh zone.
- Mesh level zones represent areas in which mesh element elevations are to be set based on ground model elevations or user-defined values. Mesh level zone boundaries are always enforced as break lines during the mesh generation process when using the either the classic or clip meshing method of mesh generation.
- Roughness zones represent areas that will be assigned different roughness values. Roughness zone boundaries can optionally be used as break lines during the mesh generation process (see below).
- Infiltration zones - InfoWorks networks only - represent areas that will be assigned different infiltration surfaces. Infiltration zone boundaries can optionally be used as break lines during the mesh generation process (see below).
- Turbulence zones (2D) - InfoWorks networks only - represent areas that will be assigned different turbulence models (2D). Turbulence zone boundaries can optionally be used as break lines during the mesh generation process (see below).
- Permeable zones (2D) - InfoWorks networks only - provide a link between infiltrated volume from the 2D surface into the 1D system. Permeable zone boundaries can optionally be used as break lines during the mesh generation process (see below).
All of these objects can be imported via the Open Data Import Centre or digitised directly on the GeoPlan view.
Roughness, and for InfoWorks networks only, Infiltration, Turbulence and Permeable zone boundaries are optionally included for use as a meshing boundary in the 2D meshing process.
Excluding the Roughness/Infiltration/Turbulence/Permeable zone boundary from the meshing process can avoid the generation of a very high density of small mesh elements round that polygon (for example, when using road layer polygons consisting of many long, thin sections).
To include/exclude the boundary of a zone when creating a 2D mesh, set the Exclude roughness/infiltration/turbulence/permeable zone boundary when creating 2D Mesh option in the zone property sheet or grid window.
- When the exclude option is checked, the zone boundary is ignored when creating the 2D mesh. The roughness/infiltration surface/turbulence/permeability of the zone is assigned to the created mesh elements that have their centroid within the zone.
- When the exclude option is unchecked, the zone boundary is treated as a break line when creating the 2D mesh. The roughness/infiltration/permeability of the zone is assigned to all created mesh elements within the zone.
General lines in InfoWorks and SWMM networks can be used to represent one dimensional permeable features such as fences. These lines act as break lines during mesh generation, enforcing the lines as mesh element edges.
The line category assigned to the line is used to identify which lines are to be used as permeable break lines.
Alternatively, if the break line data is in GIS format, the GIS file or layer containing the data can be selected for use at the time of generating the 2D mesh.
Porous walls and porous polygons in InfoWorks and SWMM networks can be used to represent one dimensional features such as walls. These objects allows the porosity and height of the feature to be specified. Parameters can also be set for simulating collapse of the wall when the results of 2D mesh elements adjacent to the wall meet defined criteria.
Base linear structures (2D) in InfoWorks networks can also be used to represent two dimensional wall and weir structures.
Base linear structure, porous wall and porous polygon lines are always enforced as mesh element edges during mesh generation.
Alternatively, if the wall data is in GIS format, the GIS file or layer containing the data can be selected for use at the time of generating the 2D mesh.
Note: General line objects in InfoWorks and SWMM networks can also be used to define walls. The line category assigned to the line is used to identify which lines are to be used as walls. General lines representing walls will be treated as impermeable infinitely high barriers during the 2D simulation.
Voids are the regions within the 2D zone that will not be meshed e.g. buildings. The following objects are considered as voids when creating a 2D mesh in InfoWorks networks:
- Storage areas
- River reach boundaries
- Bridge boundaries
General polygons can also be used to represent void areas in InfoWorks and SWMM networks. The polygon category is used to identify which polygons represent voids when generating the 2D mesh.
Alternatively, if polygons representing voids are stored in GIS format, the GIS file or layer containing the data can be selected for use at the time of generating the 2D mesh.
Initial values for level, depth and velocity can be applied to mesh elements in InfoWorks networks.
Initial values can be set for areas bounded by:
- 2D zones: initial conditions apply to mesh elements within the 2D zone (unless the mesh element also falls within a 2D IC zone).
- 2D IC zones: initial conditions apply to mesh elements within the 2D IC zone. Initial values set for 2D IC zones supersede those set for 2D zones.
The initial values themselves are defined in an Initial conditions 2D object, allowing different sets of initial conditions to be applied to the same network.
The 2D point source object in InfoWorks networks is used to define the location of a flow-time boundary point. An inflow is associated with the point source which discharges to the 2D mesh element in which the point is located.
The 2D line source object in InfoWorks networks is used to define the location of a flow-time boundary line. An inflow is associated with the line source which discharges into the 2D mesh elements adjacent to the line.
2D line sources are included in meshing as break lines.
Mesh element generation
A single mesh element may be made up of more than one triangle, if a triangle has an area less than the Minimum element area specified for the 2D zone. Triangles will be aggregated with adjacent triangles until the minimum area is met.
The mesh elements generated cannot be edited manually, however element properties can be displayed by clicking on the icon on the GeoPlan Tools toolbar and then clicking on a 2D element.
To adjust the display of the mesh triangles, use the options on the Elements page of the GeoPlan properties dialog.
Element generation at 2D manholes
If possible, it is desirable for 2D manholes to be in separate elements, to make it easier to correctly match manhole and mesh levels.
The mesh generation process will split triangles if needed to try to avoid having more than one 2D manhole in the same element, although it is not guaranteed to be successful. The resulting triangles may be smaller than the minimum element area, in which case they will be aggregated with adjacent triangles, while trying to avoid having more than one 2D manhole in the same element.
Ground level calculation
The ground level for a mesh element is calculated by sampling the ground model within the 2D triangles making up the element and then taking the average of the sample point levels.
The number of sample points for each triangle is determined by subdividing the triangle until the minimum element area or, (when using a gridded ground model), the ground model resolution is reached. The sample points are the centroids of the resulting triangles.
If a triangle is smaller than the minimum element area or ground model resolution, the centroid of the triangle will be the only point sampled.
The same method is used when recalculating mesh element ground levels by resampling elevations from a different ground model.
Terrain-sensitive meshing
Terrain-sensitive meshing is used to increase the resolution of the mesh in areas that have a large variation in height, without increasing the number of elements in relatively flat areas.
This functionality can be applied to individual 2D zones by use of the Terrain-sensitive meshing field.
When terrain-sensitive meshing is enabled, the mesh generation process samples the ground model in each candidate triangle. If the range of heights within the triangle exceeds the Maximum height variation specified for the 2D zone, the triangle is split, increasing the resolution of the mesh in areas where terrain height varies rapidly. This process is repeated until the Maximum height variation is no longer exceeded, or splitting would be likely to result in a triangle with an area smaller than the Minimum element area specified for the 2D zone.
Currently terrain-sensitive meshing parameters are specified for the entire 2D zone and include the minimum element area specified for the 2D zone. Terrain-sensitive meshing parameters cannot be set for individual mesh zones and the minimum element areas specified for Mesh Zones do not apply to terrain-sensitive meshing.
Because each triangle is sampled at a limited number of points (maximum 64) it is possible that the process will not detect narrow linear features such as embankments or channels, particularly if the maximum triangle area is large. Even if detected, such a feature will not be accurately modelled if triangles with minimum element area are too large to resolve the sides and upper/lower surfaces of the feature. If required, such features should be modelled explicitly using 1D objects such as walls, banks or river reaches.
Mesh generation methods
InfoWorks ICM offers two methods of mesh generation for InfoWorks networks:
- Classic - The classic meshing approach that has been present in InfoWorks ICM since it was first released.
- Clip meshing - A meshing approach that makes use of primary and secondary meshing phases. It is particularly suited to models with complex geometry and objects that may be approximately coincident.
Clip meshing is automatically used to generate a mesh for a SWMM network.
Classic meshing is a well-proven method that is fast and robust in the vast majority of cases, but there are exceptions that could present difficulties. Clip meshing excels by comparison when it encounters highly complex geometry with a vertex density far greater than the desired mesh element density.
The clipped meshing process is outlined below:
- A primary mesh is generated, following the geometry of the 2D zone, but ignoring other geometrical constraints. The mesh resolution is refined in this stage to respect any mesh zones or terrain sensitive meshing.
- Each element from the primary mesh undergoes a parallelised per-element intersection routine, which involves clipping with proximal mesh input features/geometries, and then sub-dividing the intersection output into a local triangulation. The combination of all the local triangulations produces a secondary mesh.
- The secondary mesh is analysed, sampled, and attributed to provide all the relevant data necessary for an InfoWorks 2D simulation.
- Mesh aggregation is undertaken in a similar way to the classic method, however the triangles are pre-aggregated into initial collections according to their parent primary element that provides an improved aggregation with minimal shared segments between adjacent elements.
On average clip meshing has been found to be about four times faster than classic, although this differs substantially with the specifics of each meshing job. The greatest improvements tend to be:
- When the input data present a large amount of intricate overlapping objects. This is because clip meshing simplifies the complexity of the task by undertaking a series of local-only intersections, which additionally allows acceleration though parallelisation.
- When there are multiple objects very approximately coincident, classic meshing would have had to create triangles small enough to occupy the nearly negligible separation space; this process could be costly and could hinder the computational performance of later stages of the meshing algorithm. Clip meshing does not attempt a Delaunay triangulation of this region, knowing that the small triangles would later be aggregated into a larger element; it instead undertakes ear-clipping with a significant reduction in the number of base triangles.
- When the ground model is very high resolution (and particularly for grids) clip meshing has an improved sampling algorithm that can substantially reduce the computational cost.
A further aspect to consider when choosing which method to use is how the input objects impact on the final mesh. Note that for classic meshing, a change to a single input geometry vertex can propagate small differences throughout the entire mesh. For clip meshing, the primary mesh is only affected by the 2D Zone boundary and any mesh refinement options/features. Therefore, a change to a given input object should only impact on the local intersections, and so only cause local changes to the mesh (subject to aggregation). This provides more stability during the model build process. It can also simplify a before/after scenario comparison, as local geometry changes should not impact on 2D simulation results in distant locations, purely via mesh changes.