Elsevier

Computer-Aided Design

Volume 85, April 2017, Pages 20-33
Computer-Aided Design

Geometry-aware partitioning of complex domains for parallel quad meshing

https://doi.org/10.1016/j.cad.2016.07.014Get rights and content

Highlights

  • A new data partitioning algorithm for large-scale quad mesh generation.

  • A parallel computing framework for distributed geometric processing and meshing.

  • A quad mesh generator for efficient scientific simulations of large geometric data.

Abstract

We develop a partitioning algorithm to decompose complex 2D data into small and simple subregions suitable for effective distributed and parallel quadrilateral mesh generation. To support high-quality quad mesh generation, the partitioning reduces to solving an integer quadratic optimization problem with linear constraints. Directly solving this problem is expensive for large-scale data. Hence, we also suggest a more efficient two-step algorithm to obtain an approximate solution. First, we partition the region into a set of cells using L Centroidal Voronoi Tessellation (CVT), then we solve a graph partitioning on the dual graph of this CVT to minimize the total partitioning boundary length, while enforcing the load balancing and each subregion’s connectivity. With this decomposition, subregions are distributed to multiple processors for parallel mesh generation. Through comparisons on the quality of the final meshes and the performance of simulations run on these meshes, we show that our decomposition algorithm outperforms existing partitioning approaches by offering more simulation-friendly regular meshes.

Introduction

Mesh generation is a fundamental and critical problem in geometric data modeling and processing. In most scientific and engineering tasks that involve numerical computations or simulations (e.g. solving partial differential equations (PDE) using finite difference methods (FDM), finite element methods (FEM), or finite volume methods (FVM)) on geometric regions or objects, the first step of the procedure is always to discretize the geometric data using polygonal or polyhedral meshes. The quality of this tessellation often significantly affects the subsequent computation accuracy, efficiency, and numerical stability. Compared with commonly used irregular tessellations (such as triangular meshes in 2D and tetrahedral meshes in 3D), the regular tessellations (such as quadrilateral meshes in 2D and hexahedral meshes in 3D) are sometimes preferred in finite element analysis or isogeometric analysis in structural mechanics, fluid dynamics simulations, and several other fields, because they demonstrate more efficient and accurate computing [1] and more economic storage.

In recent years, the acquisition or generation of large high-resolution geometric datasets pose new challenges to the design of effective processing algorithms. These big and complex data are expensive to model and analyze using existing sequential algorithms, as the limited CPU and memory are often insufficient to handle billions of elements efficiently. Parallel algorithms utilizing high-performance computers make it possible to solve large and complex problems efficiently on hundreds or thousands of computing clusters and is therefore desirable.

Divide-and-conquer is a natural and effective strategy in parallel mesh generation for large geometric data. The given region or object is first decomposed into a set of solvable and simplified subparts; then each subpart is distributed to a working processor for mesh construction; finally, individually generated meshes are merged to get the final result. Parallel mesh generation strategies such as Delaunay-based methods and advancing front techniques have been used for both triangulation [2], [3], [4] or tetrahedralization  [5], [6]. Following this general paradigm, in this work we aim to develop a partitioning algorithm on complex and large-scale 2D regions for parallel quadrilateral mesh generation.

In geometric processing through divide-and-conquer, the partitioning of data often directly dictates the algorithm’s efficiency and quality. We formulate three main criteria as follows: (1) The areas of the subregions should be similar; (2) The boundary length of each subregion should be small compared with its area; and (3) Each subregion should have desirable geometric property, and more specifically for quad meshing, it should have corner angles close to kπ/2,k{0,1,2,3}. The first two criteria determine the parallel performance: the balance of work load on different processors, and the communication cost among processors. Efficient parallelization should balance the workload distributed to different processors and should minimize interprocessor communication to reduce synchronization and waiting. The third criterion on the subregion’s geometry affects the quality of the final quad tessellation. For example, on a square subregion one can generate a quad mesh where every element is uniform and not sheared; but on a triangle subregion, the smallest angle of the resultant quad mesh will inevitably be smaller than the smallest boundary angle of this triangle patch. Hence, for effective quad mesh generation, it is desirable to partition the geometry into subregions whose boundary angles are near kπ/2 to construct less-sheared quad elements. To incorporate the geometric constraint in data partitioning, however, is sometimes prohibitively expensive. We will discuss this issue in Section  3 and propose a more efficient strategy to tackle it. The three criteria are shown in Fig. 1.

After data partitioning, we distribute subregions to different working processors for mesh generation. In our implementation, we use consistent boundary sampling and advancing front for parallel meshing on each subregion. The sub-meshes are finally merged together then a relaxation is performed to get the final result. The main contributions of this paper include:

  • We study geometry-aware data partitioning for effective parallel mesh generation, and suggest new models to partition large and complex 2D regions into subparts with desirable geometric shapes for quad meshing. Compared with existing partitioning algorithms, our approach could lead to more efficient parallel processing and higher-quality meshing results.

  • We develop a parallel computing framework for quad mesh generation of large-scale 2D regions. It can effectively utilize parallel computational resources to handle big geometric data. We demonstrate that in coastal modeling the massive-size coastal terrains and oceans can be discretized effectively.

  • We demonstrate that our framework is simulation-friendly. We perform two simulations to show that the meshes generated by our framework can reach higher accuracy than others.

Section snippets

Geometric region partitioning

Given a geometric region M, a set of components {Mi} is a partition of M if (1) their union is M, i.e.,  iMi=M, and (2) all Mi are interior disjoint, namely, ijMiMj=, where Mi=MiMi is the open set of Mi. Depending on the geometric processing applications, partitioning techniques consider different criteria accordingly. Thorough surveys on geometric partitioning algorithms have been given [7], [8] for computer graphics and geometric modeling applications; some data benchmarks [9] have

Region partitioning

Data partitioning is the first step in a divide-and-conquer framework for parallel computational models. A good partitioning with balanced workload and small interprocess communication helps improve computational efficiency. Furthermore, in our parallel meshing problem, a good data partitioning is also critical in generating high-quality quad elements. We use three criteria to quantitatively evaluate a partitioning: workload balance, total separator length, and separator angle deviation. Graph

Parallel quad meshing on subregions

After the entire 2D region is partitioned, subregions can be sent to different processors for simultaneous mesh generation. Different quad meshing techniques can be applied on the sub-regions. One requirement is to make sure the neighboring subregion boundaries should have consistent vertices. We use the advancing front technique   [28] to tile the interior regions with quads. To ensure the individually constructed sub-meshes can be composed directly, we need to sample boundary vertices

Experimental results

To evaluate the effectiveness of generated quadrilateral meshes, we perform two types of measurements. One is to directly evaluate the mesh quality, including the element distortion and singularity number (this Section), and the other is to compare the efficiency of scientific simulations running on different meshes (Section  6).

We perform experiments on our high performance computing clusters consisting of 128 nodes. Each node has two 2.6 GHz 8-Core Xeon 64-bit Processors and 32 GB memory.

Simulation experiments

To evaluate how tessellation quality affects the numerical simulations that run on the mesh, we perform experiments that solve partial differential equations in two common example engineering analysis of mechanical systems: (1) Heat Diffusion Simulation and (2) Large-Eddy Simulation. The first simulation solves a heat equation that is being widely used in many areas such as economics, image processing, bioengineering, etc. The second simulation is on turbulence that is also widely applied in a

Conclusions

We present a parallel quad mesh generation pipeline for large-scale 2D geometric regions. A main contribution of this work is the solving of data partitioning with effective incorporation of the geometric constraint on angles between separators. After partitioning, subregions are distributed to different processors for parallel mesh generation through advancing front. Finally, after composition, post-processing is performed near partitioning boundaries for refinement. We evaluate our

Acknowledgments

This research is supported by National Science Foundation   IIS-1320959, IIS-1251095, and CNS-1205682. We also thank reviewers for their valuable suggestions and comments.

References (45)

  • W. Yu et al.

    Optimizing polycube domain construction for hexahedral remeshing

    Comput Aided Des

    (2014)
  • H. Wang et al.

    Geometry-aware domain decomposition for t-spline-based manifold modeling

    Comput Graph

    (2009)
  • L. Linardakis et al.

    Delaunay decoupling method for parallel guaranteed quality planar mesh refinement

    SIAM J Sci Comput

    (2006)
  • Löhner R. A 2nd generation parallel advancing front grid generator. In: Proc. int. meshing roundtable, 2013, p....
  • Nave D, Chrisochoides N, Chew LP. Guaranteed: quality parallel delaunay refinement for restricted polyhedral domains....
  • Shamir A. A survey on mesh segmentation techniques. In: Computer graphics forum, vol. 27, 2008, p....
  • A. Agathos et al.

    3d mesh segmentation methodologies for cad applications

    Comput Aided Des

    (2007)
  • X. Chen et al.

    A benchmark for 3D mesh segmentation

    ACM Trans Graph

    (2009)
  • J. Gould et al.

    Automated two-dimensional multi-block meshing using the medial object

  • K. Brix et al.

    Parallelisation of multiscale-based grid adaptation using space-filling curves

  • M.F. Mokbel et al.

    Irregularity in high-dimensional space-filling curves

    Distrib Parallel Databases

    (2011)
  • Attene M, Mortara M, Spagnuolo M, Falcidieno B. Hierarchical convex approximation of 3d shapes for fast region...
  • Cited by (8)

    • Stress-aware large-scale mesh editing using a domain-decomposed multigrid solver

      2018, Computer Aided Geometric Design
      Citation Excerpt :

      We adopt variational shape segmentation algorithm as in Cohen-Steiner et al. (2004) but adapt it to the tetrahedral mesh to subdivide those large domains into sub-domains to balance the computational load. It is also possible to decompose large domains with specialized metric to further enhance the load balance as investigated in Yu and Li (2011), Li et al. (2017). However, the editing is still maintained at the user refined domain level since it meets the semantic requirement of user editing.

    • Distributed poly-square mapping for large-scale semi-structured quad mesh generation

      2017, CAD Computer Aided Design
      Citation Excerpt :

      Therefore, it is highly desirable to have distributed and parallel algorithms that can utilize high-performance computing clusters or cloud resources to overcome these scale and performance issues and solve extremely big and complex problem. Parallel meshing strategies in existing literature are mainly on the generation of irregular simplex meshes, using either Delaunay-based methods or advancing front techniques to generate triangulation or unstructured quadrilateralization [4–7] for 2D geometries or tetrahedralization [8,9] for 3D geometries. To construct semi-structured quad meshes on large geometric data in a distributed manner, we follow the divide-and-conquer approach similar to [7] that partitions the problem into solvable subsizes and processes them using computer clusters in parallel.

    View all citing articles on Scopus

    This paper has been recommended for acceptance by Franck Ledoux and Katherine.

    View full text