Table of Contents
Fetching ...

Optimization of a Triangular Delaunay Mesh Generator using Reinforcement Learning

Will Thacher, Per-Olof Persson, Yulong Pan

TL;DR

This work presents a reinforcement learning framework for triangular mesh generation that combines a graph neural network based vertex updater with Delaunay triangulation to produce high quality 2D meshes. By optimizing a mesh quality score through PPO and policy gradient methods, the approach supports mesh generation, mesh improvement, and variable resolution meshes, achieving results comparable to Triangle and DistMesh. The method demonstrates flexibility through curriculum learning, reward design, and size function integration, and shows potential for extension to higher dimensions and end-to-end learned triangulation. Overall, it provides a promising proof of concept that RL can learn effective meshing strategies that adapt to diverse domain shapes and resolution requirements.

Abstract

In this work we introduce a triangular Delaunay mesh generator that can be trained using reinforcement learning to maximize a given mesh quality metric. Our mesh generator consists of a graph neural network that distributes and modifies vertices, and a standard Delaunay algorithm to triangulate the vertices. We explore various design choices and evaluate our mesh generator on various tasks including mesh generation, mesh improvement, and producing variable resolution meshes. The learned mesh generator outputs meshes that are comparable to those produced by Triangle and DistMesh, two popular Delaunay-based mesh generators.

Optimization of a Triangular Delaunay Mesh Generator using Reinforcement Learning

TL;DR

This work presents a reinforcement learning framework for triangular mesh generation that combines a graph neural network based vertex updater with Delaunay triangulation to produce high quality 2D meshes. By optimizing a mesh quality score through PPO and policy gradient methods, the approach supports mesh generation, mesh improvement, and variable resolution meshes, achieving results comparable to Triangle and DistMesh. The method demonstrates flexibility through curriculum learning, reward design, and size function integration, and shows potential for extension to higher dimensions and end-to-end learned triangulation. Overall, it provides a promising proof of concept that RL can learn effective meshing strategies that adapt to diverse domain shapes and resolution requirements.

Abstract

In this work we introduce a triangular Delaunay mesh generator that can be trained using reinforcement learning to maximize a given mesh quality metric. Our mesh generator consists of a graph neural network that distributes and modifies vertices, and a standard Delaunay algorithm to triangulate the vertices. We explore various design choices and evaluate our mesh generator on various tasks including mesh generation, mesh improvement, and producing variable resolution meshes. The learned mesh generator outputs meshes that are comparable to those produced by Triangle and DistMesh, two popular Delaunay-based mesh generators.

Paper Structure

This paper contains 11 sections, 6 equations, 8 figures, 5 tables.

Figures (8)

  • Figure 1: (a) Given an initial triangulation, the mesh state $s^t$ is passed through the policy function. (b) Updated node positions and action variables are sampled from $\pi_{\theta}(a^t|s^t)$. (c) Nodes are moved, added and deleted accordingly. The node in blue is deleted and the orange node is added at the midpoint of an existing edge. (d) The vertices are retriangulated to produce a new mesh.
  • Figure 2: Visualization of the convolutional layer described in equations \ref{['eq:dist_update']}, and \ref{['eq:x_update']}, \ref{['z_update']}. Messages between nodes are functions of the distance between nodes and the features at each node. Node coordinates and features are updated by aggregating these messages and passing them through MLPs.
  • Figure 3: Mean reward over training for different model sizes. For this training curriculum, we sample 2.1 million timesteps over 1000 PPO iterations.
  • Figure 4: Examples of meshes produced during training at PPO iteration 50, 250, 450, 650, 850 and 1000, ordered from top left to bottom right. The target edge length is 1, indicated by the scaling on the axes.
  • Figure 5: Trained mesh generator on a polygon with scaling factor of 40. Convergence to the final mesh is achieved in about 10 iterations.
  • ...and 3 more figures