arrow
Return

TRIME plus plus : Multi-threaded triangular meshing in two dimensions

delete2025-03-01
delete0
delete
OA
AI
J
Jiayin Lü *
C
Chris H. Rycroft
DOI:10.1016/j.cpc.2024.109442delete
deleteOriginal
deleteShare
deleteSave
View PDF
Abstract

Abstract

En 中文
We present TRIME++, a multi-threaded software library designed for generating two-dimensional meshes for intricate geometric shapes using the Delaunay triangulation. Multi-threaded parallel computing is implemented throughout the meshing procedure, making it suitable for fast generation of large-scale meshes. Three iterative meshing algorithms are implemented: the DistMesh algorithm, the centroidal Voronoi diagram meshing, and a hybrid of the two. We compare the performance of the three meshing methods in TRIME++, and show that the hybrid method retains the advantages of the other two. The software library achieves significant parallel speedup when generating large-scale meshes containing between 104 to 107points. TRIME++ can handle complicated geometries and generates adaptive meshes of high quality. Program summary Program title: TRIME++ CPC Library link to program files: https://doi.org /10 .17632 /jxcsxtywtw.1 Developer's repository link: https://github .com /jiayinlu19960224 /TriMe Licensing provisions: BSD 3-clause Programming language: C++ External routines/libraries: OpenMP, multi-threaded VoRo++ Nature of problem: Multi-threaded geometry meshing in two dimension using the Delaunay triangulation Solution method: The TRIME++ library is built around several C++ classes that follows a structured meshing pipeline. During initialization, the shape_2d class reads the geometry input and generates a signed distance field using a grid-based data structure to represent the shape. The sizing_2d class subsequently produces adaptive element sizing and density fields for the mesh. It uses an adaptive quad-tree data structure, enabling efficient refinement of sizing and density values in areas with complex geometries. In the meshing procedure, the parallel_meshing_2d class iteratively improves point positions in the mesh. In each meshing iteration, the multi-threaded VoRo++ library generates the Delaunay triangulation of the points. Users can select from three meshing algorithms, the DistMesh algorithm in the mesh_alg_2d_dm class, the centroidal Voronoi diagram meshing algorithm in the mesh_alg_2d_cvd class, and a hybrid method of the two in the mesh_alg_2d_hybrid class Throughout this meshing workflow, we use OpenMP for multi-threaded parallel computations.
Keywords:
Delaunay triangulation
Voronoi tessellation
Geometry meshing
Multi-threaded programming
Centroidal Voronoi tessellation
Voro plus plus
DistMesh
Computational geometry
Geometric adaptivity
AI Summary

AI Summary

Key information extracted from the uploaded paper, including a brief overview, abstract, background, key highlights, visual analysis, and future outlook.

Journal

Computer Physics Communications cover
Computer Physics Communications
IF:
3.4
Papers:
1.2W
Citations:
3.7W

Organization

U
university of california los angeles
Scholars:
5.3W
Papers: 4.2W
Citations: 89
University of California System cover
University of California System
Scholars:
37.5W
Papers: 33.7W
Citations: 6.6K