High quality real-time Image-to-Mesh conversion for finite element simulations

In this paper, we present a parallel Image-to-Mesh Conversion (I2M) algorithm with quality and fidelity guarantees achieved by dynamic point insertions and removals. Starting directly from an image, its implementation is capable of recovering the isosurface and meshing the volume with tetrahedra of good shape. Our tightly-coupled shared-memory parallel speculative execution paradigm employs carefully designed contention managers, load balancing, synchronization and optimizations schemes. These techniques are shown to boost not only the parallel but also the single-threaded efficiency of our code. Specifically, our single-threaded performance is faster than both CGAL and TetGen, the state of the art sequential open source meshing tools we are aware of. The effectiveness of our method is demonstrated on Blacklight, the Pittsburgh Supercomputing Center's cache-coherent NUMA machine. We observe a more than 82% strong scaling efficiency for up to 64 cores, and a more than 82% weak scaling efficiency for up to 144 cores, reaching a rate of more than 14.3 million elements per second. This is the fastest 3D Delaunay mesh generation and refinement algorithm, to the best of our knowledge.

[1]  Paul-Louis George,et al.  Delaunay triangulation and meshing : application to finite elements , 1998 .

[2]  Nikos Chrisochoides,et al.  Graded Delaunay Decoupling Method for Parallel Guaranteed Quality Planar Mesh Generation , 2008, SIAM J. Sci. Comput..

[3]  Marshall W. Bern,et al.  Surface Reconstruction by Voronoi Filtering , 1998, SCG '98.

[4]  Jonathan Richard Shewchuk,et al.  Aggressive Tetrahedral Mesh Improvement , 2007, IMR.

[5]  Pheng-Ann Heng,et al.  Multi-Tissue Tetrahedral Mesh Generation from Medical Images , 2010, 2010 4th International Conference on Bioinformatics and Biomedical Engineering.

[6]  William N. Scherer,et al.  Advanced contention management for dynamic software transactional memory , 2005, PODC '05.

[7]  Jonathan Richard Shewchuk,et al.  Tetrahedral mesh generation by Delaunay refinement , 1998, SCG '98.

[8]  Nikos Chrisochoides,et al.  A point based non-rigid registration for tumor resection using iMRI , 2010, 2010 IEEE International Symposium on Biomedical Imaging: From Nano to Macro.

[9]  Andriy Fedorov,et al.  Tetrahedral Mesh Generation for Non-rigid Registration of Brain MRI: Analysis of the Requirements and Evaluation of Solutions , 2008, IMR.

[10]  Guy E. Blelloch,et al.  Design and Implementation of a Practical Parallel Delaunay Algorithm , 1999, Algorithmica.

[11]  Nikos Chrisochoides,et al.  Guaranteed: quality parallel delaunay refinement for restricted polyhedral domains , 2002, SCG '02.

[12]  Jonathan Richard Shewchuk,et al.  What is a Good Linear Element? Interpolation, Conditioning, and Quality Measures , 2002, IMR.

[13]  Andrey N. Chernikov,et al.  Multitissue Tetrahedral Image-to-mesh Conversion with Guaranteed Quality and Fidelity , 2011, SIAM J. Sci. Comput..

[14]  Olivier Devillers,et al.  Perturbations and vertex removal in a 3D delaunay triangulation , 2003, SODA '03.

[15]  Keshav Pingali,et al.  Scheduling strategies for optimistic parallel execution of irregular programs , 2008, SPAA '08.

[16]  Andrey N. Chernikov,et al.  Multi-layered unstructured mesh generation , 2013, ICS '13.

[17]  Gary L. Miller,et al.  A Delaunay based numerical method for three dimensions: generation, formulation, and partition , 1995, STOC '95.

[18]  John L. Gustafson,et al.  Reevaluating Amdahl's law , 1988, CACM.

[19]  Andrew P. Kuprat,et al.  An anisotropic scale-invariant unstructured mesh generator suitable for volumetric imaging data , 2009, J. Comput. Phys..

[20]  Sunghee Choi,et al.  The power crust , 2001, SMA '01.

[21]  Laurent Rineau,et al.  High-Quality Consistent Meshing of Multi-label Datasets , 2007, IPMI.

[22]  Olivier Devillers,et al.  Efficient Exact Geometric Predicates for Delauny Triangulations , 2003, ALENEX.

[23]  Xiaoning Ding,et al.  Multigrain parallel Delaunay Mesh generation: challenges and opportunities for multithreaded architectures , 2005, ICS '05.

[24]  Orcun Goksel,et al.  High-Quality Model Generation for Finite Element Simulation of Tissue Deformation , 2009, MICCAI.

[25]  P. Sewell,et al.  Transmission-line modeling (TLM) based upon unstructured tetrahedral meshes , 2005, IEEE Transactions on Microwave Theory and Techniques.

[26]  M. Yvinec,et al.  Meshing Volumes Bounded by Smooth Surfaces , 2005, IMR.

[27]  Leonid Oliker,et al.  Parallelization of a Dynamic Unstructured Algorithm Using Three Leading Programming Paradigms , 2000, IEEE Trans. Parallel Distributed Syst..

[28]  Calvin R. Maurer,et al.  A Linear Time Algorithm for Computing Exact Euclidean Distance Transforms of Binary Images in Arbitrary Dimensions , 2003, IEEE Trans. Pattern Anal. Mach. Intell..

[29]  Andrey N. Chernikov,et al.  Generalized Insertion Region Guides for Delaunay Mesh Refinement , 2012, SIAM J. Sci. Comput..

[30]  Andrey N. Chernikov,et al.  Three-dimensional delaunay refinement for multi-core processors , 2008, ICS '08.

[31]  Frithjof Kruggel,et al.  A fast algorithm for generating large tetrahedral 3D finite element meshes from magnetic resonance tomograms , 1998, Proceedings. Workshop on Biomedical Image Analysis (Cat. No.98EX162).

[32]  Kazuhiro Nakahashi,et al.  Parallel unstructured mesh generation by an advancing front method , 2007, Math. Comput. Simul..

[33]  Olivier Clatz,et al.  Non-rigid alignment of pre-operative MRI, fMRI, and DT-MRI with intra-operative MRI for enhanced visualization and navigation in image-guided neurosurgery , 2007, NeuroImage.

[34]  Onkar Sahni,et al.  Unstructured mesh partition improvement for implicit finite element at extreme scale , 2010, The Journal of Supercomputing.

[35]  Marek Behr,et al.  Simplex space–time meshes in finite element simulations , 2008 .

[36]  David L. Millman,et al.  Parallel geometric algorithms for multi-core computers , 2010, Comput. Geom..

[37]  Mark S. Shephard,et al.  Parallel refinement and coarsening of tetrahedral meshes , 1999 .

[38]  Mariette Yvinec,et al.  Mesh Generation from 3D Multi-material Images , 2009, MICCAI.

[39]  Guy E. Blelloch,et al.  Engineering a compact parallel delaunay algorithm in 3D , 2006, SCG '06.

[40]  Andrey N. Chernikov,et al.  Algorithm 872: Parallel 2D constrained Delaunay mesh generation , 2008, TOMS.

[41]  James Demmel,et al.  the Parallel Computing Landscape , 2022 .

[42]  Nikos Chrisochoides,et al.  High-Quality Multi-tissue Mesh Generation for Finite Element Analysis , 2013 .

[43]  Andrey N. Chernikov,et al.  Guaranteed Quality Tetrahedral Delaunay Meshing for Medical Images , 2010, 2010 International Symposium on Voronoi Diagrams in Science and Engineering.

[44]  James F. O'Brien,et al.  Interactive simulation of surgical needle insertion and steering , 2009, SIGGRAPH 2009.

[45]  Tamal K. Dey,et al.  Approximate medial axis as a voronoi subcomplex , 2002, SMA '02.

[46]  Nikos Chrisochoides,et al.  Dynamic Parallel 3D Delaunay Triangulation , 2011, IMR.

[47]  David R. O'Hallaron,et al.  Scalable Parallel Octree Meshing for TeraScale Applications , 2005, ACM/IEEE SC 2005 Conference (SC'05).

[48]  Jonathan Richard Shewchuk,et al.  Delaunay refinement algorithms for triangular mesh generation , 2002, Comput. Geom..

[49]  Nikos Chrisochoides,et al.  An Evaluation of Tetrahedral Mesh Generation for Nonrigid Registration of Brain MRI , 2011 .

[50]  H. Si Constrained Delaunay tetrahedral mesh generation and refinement , 2010 .

[51]  Maurice Herlihy,et al.  Obstruction-free synchronization: double-ended queues as an example , 2003, 23rd International Conference on Distributed Computing Systems, 2003. Proceedings..

[52]  Andrey N. Chernikov,et al.  Towards Exascale Parallel Delaunay Mesh Generation , 2009, IMR.

[53]  Masha Sosonkina,et al.  Parallel programming models applicable to cluster computing and beyond , 2006 .

[54]  Hang Si,et al.  TetGen: A quality tetrahedral mesh generator and a 3D Delaunay triangulator (Version 1.5 --- User's Manual) , 2013 .

[55]  Bradley C. Kuszmaul,et al.  Cilk: an efficient multithreaded runtime system , 1995, PPOPP '95.

[56]  Mordechai Ben-Ari,et al.  Principles of concurrent programming , 1982 .

[57]  Rainald Löhner,et al.  A 2nd Generation Parallel Advancing Front Grid Generator , 2013, IMR.

[58]  Xiangmin Jiao,et al.  Variational generation of prismatic boundary‐layer meshes for biomedical computing , 2009, International journal for numerical methods in engineering.

[59]  Christian B Allen,et al.  Conservative unsteady aerodynamic simulation of arbitrary boundary motion using structured and unstructured meshes in time , 2012 .

[60]  D. F. Watson Computing the n-Dimensional Delaunay Tesselation with Application to Voronoi Polytopes , 1981, Comput. J..

[61]  Jaime Peraire,et al.  Parallel unstructured mesh generation , 1996 .

[62]  Timothy C. Warburton,et al.  Extreme-Scale AMR , 2010, 2010 ACM/IEEE International Conference for High Performance Computing, Networking, Storage and Analysis.

[63]  Omar Ghattas,et al.  Parallel delaunay refinement mesh generation , 2004 .

[64]  Maurice Herlihy,et al.  Transactional Memory: Architectural Support For Lock-free Data Structures , 1993, Proceedings of the 20th Annual International Symposium on Computer Architecture.

[65]  William E. Lorensen,et al.  Marching cubes: A high resolution 3D surface construction algorithm , 1987, SIGGRAPH.

[66]  J. Shewchuk,et al.  Isosurface stuffing: fast tetrahedral meshes with good dihedral angles , 2007, SIGGRAPH 2007.

[67]  Adrian Bowyer,et al.  Computing Dirichlet Tessellations , 1981, Comput. J..

[68]  Nigel P. Weatherill,et al.  Distributed parallel Delaunay mesh generation , 1999 .

[69]  Andrew P. Kuprat,et al.  Volume conserving smoothing for piecewise linear curves, surfaces, and triple lines , 2001 .

[70]  Steve Oudot,et al.  Provably good sampling and meshing of surfaces , 2005, Graph. Model..