Generation of unstructured grids
for Rivers, Coastal Seas, Coastal
Infrastructure and Rural applications
11/11/2025
D-Grid Editor / MeshKernel
Programme
2
• Overview
• Architecture and way of use
• Toolbars
• Algorithms
• Advantages
• Why we started this development ?
• Development history
• MeshKernelPy
• Creating meshes using Python
• Examples
• Demo D-Grid Editor
• Creating a simple river mesh
• User Manual / Tutorials
• Release schedule
D-Grid Editor: Architecture and way of use
3
MeshKernel
Grid Editor
stad-alone
Delft3D FM
Suite 1D2D
Delft3D FM
Suite 2D3D
MeshKernel
MeshKernelNET
Computation core
.NET wrapper
GUI
GUI
GUI
D-Grid Editor
(stand-alone)
D-Grid Editor: Architecture and way of use
4
MeshKernel
MeshKernel
MeshKernelPy Grid Editor
stad-alone
Delft3D FM
Suite 1D2D
Delft3D FM
Suite 2D3D
MeshKernel
MeshKernelNET
HYDROLIB
D-HyDAMO
DFM_Tools
HydroMT-
Delft3DFM
Computation core
Python package
(Python wrapper)
.NET wrapper
GUI
GUI
GUI
Model generation tools
& pre- and post-
processing
D-Grid Editor
(stand-alone)
D-Grid Editor: Toolbars (ribbon)
5
D-Grid Editor: Curvilinear grid algorithms
• Generation from splines using transfinite interpolation
• Generation from splines using the advancing front method
• Grid smoothing and orthogonalization (making the angles as square as possible)
• Refinement and de-refinement: adding and removing grid lines
• Block deletion, adding/deleting faces at the boundary
• Generation of a curvilinear mesh in a polygon
• Editing splines from corner points
n
m
Generation using transfinite interpolation Generation using the advancing front
method
Generation within a polygon
Curvilinear grid orthogonalization
D-Grid Editor: Unstructured mesh algorithms
• Generation of a triangular mesh in polygon
• Mesh topology optimization by flipping the edges
• Mesh orthogonalization and smoothing
• Mesh refinement based on refinement levels and bathymetric data
• Mesh snapping to land boundary
• Edge merging for connecting mesh parts
• Mesh deletion using several options
• Adding and deleting edges
Triangular mesh generation Flip the edges Orthogonalization
Accurate coastline deletion using mesh
topology
MeshKernel: Other algorithms
• Polygon refinement
• Interpolate samples on mesh locations (node, edge, faces):
• Averaging samples with several options
• Triangulation
MeshKernel: Other algorithms
• Polygon refinement
• Interpolate samples on mesh locations (node, edge, faces):
• Averaging samples with several options
• Triangulation
• Compute 1D mesh - 2D mesh links – embedded only:
• 1D node to one 2D face
• 1D node to multiple 2D faces (canals)
• 1D node to polygons (house roofs)
• 1D node to boundary 2D faces (rivers)
Only used in Delft3D FM Suite 1D2D
Mark that D-Grid Editor is limited to 2D
mesh generation
D-Grid Editor: Advantages
10
• MeshKernel: one backend containing all in-house
developed meshing algorithms, which can serve several
clients / operating modes
• Can be used to eliminate duplicated implementations
(for example gridgeom)
• MeshKernelPy: enabling the generation of meshes and
curvilinear grids using Python scripting
• Automation of mesh generation workflow
• D-Grid Editor:
• Generating meshes using a map background
• Possibility to work with multiple grids
• Undo / Redo of meshing operations
• Improved user experience
2019: Why we started?
11
• “Embedding” Mesh editing in Delft3D FM Suite:
• Mesh editing available as a separate tab in
Delft3D FM Suite 1D2D - not as a separate
application (RGFGRID)
• Minimize writing the mesh to a file
• Improve user experience when editing meshes
• Improved ribbon design
• Support for multiple instances
• Automatic (re)generation of 1D-2D links
(on exit of the Edit mode)
• Map as background layer
• The initial requirement was to support only for
1D2D workflows and unstructured meshes
• Generating rectangular meshes
• Mesh refinement based on samples
Development history (2019 – 2025)
• 2019:
− First embedded version (in Delft3D FM Suite 1D2D)
• 2020-2022:
− Hybernating
• 2023:
− Proof of concept studies
• 2024:
− Full force development with a dedicated team (4-5 developers)
− Focus on the stand-alone application and on MeshKernelPY
• 2025:
− Evaluation “Fit for use” for Rivers, Coastal Seas, Coastal Infrastructure and Rural applications
− (beta) Release
12
MeshKernelPy: creating meshes using Python
13
MeshKernelPy: Bonaire
14
MeshKernelPy: Global Tide Surge Model
15
Disclaimer: NOT
(yet) generated with
MeshKernelPy
Demo: creating a simple river mesh
16
D-Grid Editor - User Manual
17
Release schedule
18
D-Grid Editor will be released:
• December 2025:
• As D-Grid Editor 8.1.4 (beta release)
• Spring 2026:
• Optional: D-Grid Editor “update” (beta release)
• Embedded in Delft3D FM Suite 1D2D 2026.02
• Fall 2026:
• As D-Grid Editor (General Availability release)
• Embedded in Delft3D FM Suite 1D2D 2027.01
• Optionally: embedded in Delft3D FM Suite 2027.01
Meshkernel(Py) will be released continuously on GitHub:
• Deltares/MeshKernel: Deltares C++library for creating and editing meshes. It supports 1D & 2D unstructured
meshes as well as curvilinear meshes.
D-Grid Editor is the grid editor
by Deltares
19

DSD-INT 2025 MeshKernel and D-Grid Editor - Stout

  • 1.
    Generation of unstructuredgrids for Rivers, Coastal Seas, Coastal Infrastructure and Rural applications 11/11/2025 D-Grid Editor / MeshKernel
  • 2.
    Programme 2 • Overview • Architectureand way of use • Toolbars • Algorithms • Advantages • Why we started this development ? • Development history • MeshKernelPy • Creating meshes using Python • Examples • Demo D-Grid Editor • Creating a simple river mesh • User Manual / Tutorials • Release schedule
  • 3.
    D-Grid Editor: Architectureand way of use 3 MeshKernel Grid Editor stad-alone Delft3D FM Suite 1D2D Delft3D FM Suite 2D3D MeshKernel MeshKernelNET Computation core .NET wrapper GUI GUI GUI D-Grid Editor (stand-alone)
  • 4.
    D-Grid Editor: Architectureand way of use 4 MeshKernel MeshKernel MeshKernelPy Grid Editor stad-alone Delft3D FM Suite 1D2D Delft3D FM Suite 2D3D MeshKernel MeshKernelNET HYDROLIB D-HyDAMO DFM_Tools HydroMT- Delft3DFM Computation core Python package (Python wrapper) .NET wrapper GUI GUI GUI Model generation tools & pre- and post- processing D-Grid Editor (stand-alone)
  • 5.
  • 6.
    D-Grid Editor: Curvilineargrid algorithms • Generation from splines using transfinite interpolation • Generation from splines using the advancing front method • Grid smoothing and orthogonalization (making the angles as square as possible) • Refinement and de-refinement: adding and removing grid lines • Block deletion, adding/deleting faces at the boundary • Generation of a curvilinear mesh in a polygon • Editing splines from corner points n m Generation using transfinite interpolation Generation using the advancing front method Generation within a polygon Curvilinear grid orthogonalization
  • 7.
    D-Grid Editor: Unstructuredmesh algorithms • Generation of a triangular mesh in polygon • Mesh topology optimization by flipping the edges • Mesh orthogonalization and smoothing • Mesh refinement based on refinement levels and bathymetric data • Mesh snapping to land boundary • Edge merging for connecting mesh parts • Mesh deletion using several options • Adding and deleting edges Triangular mesh generation Flip the edges Orthogonalization Accurate coastline deletion using mesh topology
  • 8.
    MeshKernel: Other algorithms •Polygon refinement • Interpolate samples on mesh locations (node, edge, faces): • Averaging samples with several options • Triangulation
  • 9.
    MeshKernel: Other algorithms •Polygon refinement • Interpolate samples on mesh locations (node, edge, faces): • Averaging samples with several options • Triangulation • Compute 1D mesh - 2D mesh links – embedded only: • 1D node to one 2D face • 1D node to multiple 2D faces (canals) • 1D node to polygons (house roofs) • 1D node to boundary 2D faces (rivers) Only used in Delft3D FM Suite 1D2D Mark that D-Grid Editor is limited to 2D mesh generation
  • 10.
    D-Grid Editor: Advantages 10 •MeshKernel: one backend containing all in-house developed meshing algorithms, which can serve several clients / operating modes • Can be used to eliminate duplicated implementations (for example gridgeom) • MeshKernelPy: enabling the generation of meshes and curvilinear grids using Python scripting • Automation of mesh generation workflow • D-Grid Editor: • Generating meshes using a map background • Possibility to work with multiple grids • Undo / Redo of meshing operations • Improved user experience
  • 11.
    2019: Why westarted? 11 • “Embedding” Mesh editing in Delft3D FM Suite: • Mesh editing available as a separate tab in Delft3D FM Suite 1D2D - not as a separate application (RGFGRID) • Minimize writing the mesh to a file • Improve user experience when editing meshes • Improved ribbon design • Support for multiple instances • Automatic (re)generation of 1D-2D links (on exit of the Edit mode) • Map as background layer • The initial requirement was to support only for 1D2D workflows and unstructured meshes • Generating rectangular meshes • Mesh refinement based on samples
  • 12.
    Development history (2019– 2025) • 2019: − First embedded version (in Delft3D FM Suite 1D2D) • 2020-2022: − Hybernating • 2023: − Proof of concept studies • 2024: − Full force development with a dedicated team (4-5 developers) − Focus on the stand-alone application and on MeshKernelPY • 2025: − Evaluation “Fit for use” for Rivers, Coastal Seas, Coastal Infrastructure and Rural applications − (beta) Release 12
  • 13.
  • 14.
  • 15.
    MeshKernelPy: Global TideSurge Model 15 Disclaimer: NOT (yet) generated with MeshKernelPy
  • 16.
    Demo: creating asimple river mesh 16
  • 17.
    D-Grid Editor -User Manual 17
  • 18.
    Release schedule 18 D-Grid Editorwill be released: • December 2025: • As D-Grid Editor 8.1.4 (beta release) • Spring 2026: • Optional: D-Grid Editor “update” (beta release) • Embedded in Delft3D FM Suite 1D2D 2026.02 • Fall 2026: • As D-Grid Editor (General Availability release) • Embedded in Delft3D FM Suite 1D2D 2027.01 • Optionally: embedded in Delft3D FM Suite 2027.01 Meshkernel(Py) will be released continuously on GitHub: • Deltares/MeshKernel: Deltares C++library for creating and editing meshes. It supports 1D & 2D unstructured meshes as well as curvilinear meshes.
  • 19.
    D-Grid Editor isthe grid editor by Deltares 19