POLYLLA: polygonal meshing algorithm based on terminal-edge regions

Abstract

This paper presents an algorithm to generate a new kind of polygonal mesh obtained from triangulations. Each polygon is built from a terminal-edge region surrounded by edges that are not the longest-edge of any of the two triangles that share them. The algorithm is termed Polylla and is divided into three phases. The first phase consists of labeling each edge of the input triangulation according to its size; the second phase builds polygons (simple or not) from terminal-edges regions using the label system; and the third phase transforms each non simple polygon into simple ones. The final mesh contains polygons with convex and non convex shape. Since Voronoi-based meshes are currently the most used polygonal meshes, we compare some geometric properties of our meshes against constrained Voronoi meshes. Several experiments were run to compare the shape and size of polygons, the number of final mesh points and polygons. For the same input, Polylla meshes contain less polygons than Voronoi meshes and the algorithm is simpler and faster than the algorithm to generate constrained Voronoi meshes. Finally, we have validated Polylla meshes by solving the Laplace equation on an L-shaped domain using the virtual element method (VEM). We show that the numerical performance of the VEM using Polylla meshes and Voronoi meshes is similar.

This is a preview of subscription content, access via your institution.

Code availability

Not applicable https://github.com/ssalinasfe/Polylla-Mesh.

Notes

1. A terminal-edge region is formed by all triangles whose longest-edge propagation path (Lepp) [4] share the same terminal-edge.

2. https://www.bcn.cl/siit/mapas_vectoriales

3. https://pypi.org/project/pyshp/

References

1. Beirão da Veiga L, Brezzi F, Cangiani A, Manzini G, Marini L, Russo A (2013) Basic principles of virtual element methods. Math Models Methods Appl Sci 23(01):199–214

2. Beirão da Veiga L, Brezzi F, Marini LD (2013) Virtual elements for linear elasticity problems. SIAM J Numer Anal 51(2):794–812

3. Wriggers P, Aldakheel F, Hudobivnik B (2019) Application of the virtual element method in mechanics. Technical report, report number: ISSN 2196-3789. Leibniz Universität Hannover (January)

4. Rivara MC (1997) New longest-edge algorithms for the refinement and/or improvement of unstructured triangulations. Int J Numer Methods Eng 40:3313–3324

5. Schlömer N (2021) pygalmesh: Python interface for CGAL’s meshing tools. https://doi.org/10.5281/zenodo.5564818. https://github.com/nschloe/pygalmesh. Accessed 30 Jan 2022

6. Huisman O, de By R (2009) Principles of geographic information systems: an introductory textbook, p 258

7. Johnson AE, Hebert M (1998) Control of polygonal mesh resolution for 3-D computer vision. Graph Models Image Process 60(4):261–285. https://doi.org/10.1006/gmip.1998.0474

8. Ho-Le K (1988) Finite element mesh generation methods: a review and classification. Comput Aided Des 20(1):27–38

9. Zhang YJ, Hughes TJR, Bajaj CL (2007) Automatic 3D mesh generation for a domain with multiple materials. In: IMR

10. Cheng S-W, Dey TK, Shewchuk J, Sahni S (2013) Delaunay mesh generation. CRC Press Boca Raton

11. Yan D-M, Wang W, Lévy B, Liu Y (2011) Efficient computation of clipped Voronoi diagram for mesh generation. Comput Aided Des. https://doi.org/10.1016/j.cad.2011.09.004

12. Yan D-M, Wang K, Levy B, Alonso L (2011) Computing 2D periodic centroidal Voronoi tessellation. In: 2011 eighth international symposium on Voronoi diagrams in science and engineering, pp 177–184. https://doi.org/10.1109/ISVD.2011.31

13. Talischi C, Paulino G, Pereira A, Menezes I (2012) Polymesher: a general-purpose mesh generator for polygonal elements written in matlab. Struct Multidiscip Optim 45(3):309–328

14. Löhner R (1996) Progress in grid generation via the advancing front technique. Eng Comput 12(3–4):186–210

15. Schöberl J (1997) Netgen an advancing front 2D/3D-mesh generator based on abstract rules. Comput Vis Sci 1:41–52

16. Bern M, Eppstein D, Gilbert J (1994) Provably good mesh generation. J Comput Syst Sci 48(3):384–409. https://doi.org/10.1016/S0022-0000(05)80059-5

17. Bommes D, Lévy B, Pietroni N, Puppo E, Silva C, Tarini M, Zorin D (2013) Quad-mesh generation and processing: a survey. In: Computer graphics forum. Wiley Online Library, vol 32, pp 51–76

18. Liang X, Zhang YJ (2013) An octree-based dual contouring method for triangular and tetrahedral mesh generation with guaranteed angle range. Eng Comput 30:211–222

19. Owen SJ, Staten ML, Canann SA, Saigal S (1999) Q-morph: an indirect approach to advancing front quad meshing. Int J Numer Methods Eng 44(9):1317–1340

20. Ito Y, Nakahashi K (2002) Unstructured mesh generation for viscous flow computations. IMR 2002:367–377

21. Owen SJ (1998) A survey of unstructured mesh generation technology. IMR 239:267

22. Johnen A (2016) Indirect quadrangular mesh generation and validation of curved finite elements. Ph.D. thesis, Université de Liège, Liège, Belgique

23. Lee CK, Lo SH (1994) A new scheme for the generation of a graded quadrilateral mesh. Comput Struct 52(5):847–857

24. Remacle J-F, Lambrechts J, Seny B, Marchandise E, Johnen A, Geuzainet C (2012) Blossom-quad: a non-uniform quadrilateral mesh generator using a minimum-cost perfect-matching algorithm. Int J Numer Methods Eng 89(9):1102–1119

25. Merhof D, Grosso R, Tremel U, Greiner G (2007) Anisotropic quadrilateral mesh generation: an indirect approach. Adv Eng Softw 38(11/12):860–867

26. Shewchuk JR (1996) Triangle: engineering a 2D quality mesh generator and Delaunay triangulator. In: Lin MC, Manocha D (eds) Applied computational geometry towards geometric engineering. Springer, Berlin, pp 203–222

27. Si H (2019) An introduction to unstructured mesh generation methods and softwares for scientific computing. Course. 2019 International Summer School in Beihang University

28. Barber CB, Dobkin DP, Huhdanpaa H (1996) The Quickhull algorithm for convex hulls. ACM Trans Math Softw 22(4):469–483

29. Yvinec M (2021) 2D triangulations. In: CGAL user and reference manual, 5.3.1 edn. CGAL Editorial Board, CGAL project. https://doc.cgal.org/5.3.1/Manual/packages.html#PkgTriangulation2. Accessed 23 Jan 2022

30. Chew LP (1994) Constrained delaunay triangulation. Algorithmica 4:97–108

31. Canann SA, Tristano JR, Staten ML (1998) An approach to combined Laplacian and optimization-based smoothing for triangular, quadrilateral and quad-dominant meshes. In: 7th international meshing roundtable, pp 479–494

32. Lee K-Y, Kim I-I, Cho D-Y, Kim T-w (2003) An algorithm for automatic 2D quadrilateral mesh generation with line constraints. Comput Aided Des 35(12):1055–1068

33. Owen SJ, Staten ML, Canann SA, Saigal S (1998) Advancing front quadrilateral meshing using triangle transformations. In: Proceedings, 7th international meshing roundtable, vol 98, pp 409–428

34. Jaillet F, Lobos C (2021) Fast Quadtree/Octree adaptive meshing and re-meshing with linear mixed elements. Eng Comput 1435–5663

35. Perumal L (2018) A brief review on polygonal/polyhedral finite element methods. Math Probl Eng 2018:1–22

36. Chi H, Talischi C, Lopez-Pamies O, Paulino G (2015) Polygonal finite elements for finite elasticity. Int J Numer Methods Eng 101:305–328

37. Yan D-M, Wang W, Lévy B, Liu Y (2010) Efficient computation of 3D clipped Voronoi diagram. In: GMP, pp 269–282

38. Ebeida MS, Mitchell SA (2012) Uniform random Voronoi meshes. In: Quadros WR (ed) Proceedings of the 20th international meshing roundtable, pp 273–290. Springer, Berlin

39. Sieger D, Alliez P, Botsch M (2010) Optimizing Voronoi diagrams for polygonal finite element computations. In: Proceedings of the 19th international meshing roundtable, IMR 2010, October 3–6, 2010, Chattanooga, Tennessee, USA, pp 335–350

40. Wachspress EL (1975) A rational finite element basis. Mathematics in science and engineering. Academic Press, New York

41. Sukumar N, Malsch EA (2006) Recent advances in the construction of polygonal finite element interpolants. Arch Comput Methods Eng 13(1):129–163

42. Tabarraei A, Sukumar N (2008) Extended finite element method on polygonal and quadtree meshes. Comput Methods Appl Mech Eng 197(5):425–438

43. Beirão da Veiga L, Lovadina C, Mora D (2015) A virtual element method for elastic and inelastic problems on polytope meshes. Comput Methods Appl Mech Eng 295:327–346

44. Cáceres E, Gatica GN, Sequeira FA (2017) A mixed virtual element method for the brinkman problem. Math Models Methods Appl Sci 27(04):707–743

45. Cáceres E, Gatica GN, Sequeira FA (2018) A mixed virtual element method for quasi-Newtonian stokes flows. SIAM J Numer Anal 56(1):317–343

46. Benedetto MF, Berrone S, Pieraccini S, Scialò S (2014) The virtual element method for discrete fracture network simulations. Comput Methods Appl Mech Eng 280:135–156

47. Wriggers P, Reddy BD, Rust WT, Hudobivnik B (2017) Efficient virtual element formulations for compressible and incompressible finite deformations. Comput Mech 60:253–268

48. Wriggers P, Hudobivnik B (2017) A low order virtual element formulation for finite elasto-plastic deformations. Comput Methods Appl Mech 327:459–477

49. Hussein A, Aldakheel F, Hudobivnik B, Wriggers P, Guidault P-A, Allix O (2019) A computational framework for brittle crack-propagation based on efficient virtual element method. Finite Elem Anal Des 159:15–32

50. Aldakheel F, Hudobivnik B, Wriggers P (2019) Virtual element formulation for phase-field modeling of ductile fracture. Int J Multiscale Comput Eng 17(2):181–200

51. Park K, Chi H, Paulino GH (2019) On nonconvex meshes for elastodynamics using virtual element methods with explicit time integration. Comput Methods Appl Mech Eng 356:669–684

52. Chi H, da Veiga LB, Paulino GH (2017) Some basic formulations of the virtual element method (VEM) for finite deformations. Comput Methods Appl Mech Eng 318:148–192

53. Torres J, Hitschfeld N, Ruiz RO, Ortiz-Bernardin A (2020) Convex polygon packing based meshing algorithm for modeling of rock and porous media. In: Krzhizhanovskaya VV, Závodszky G, Lees MH, Dongarra JJ, Sloot PMA, Brissos S, Teixeira J (eds) Computational science—ICCS 2020. Springer, Cham, pp 257–269

54. Alonso R, Ojeda J, Hitschfeld N, Hervías C, Campusano LE (2018) Delaunay based algorithm for finding polygonal voids in planar point sets. Astron Comput 22:48–62

55. Ojeda J, Alonso R, Hitschfeld-Kahler N (2018) A new algorithm for finding polygonal voids in delaunay triangulations and its parallelization. In: The 34th European workshop on computational geometry, EuroCG, pp 349–354

56. Hervías C, Hitschfeld-Kahler N, Campusano LE, Font G (2013) On finding large polygonal voids using Delaunay triangulation: the case of planar point sets. In: Proceedings of the 22nd international meshing roundtable, pp 275–292

57. De Floriani L, Kobbelt L, Puppo E (2005) A survey on data structures for level-of-detail models. In: Dodgson NA, Floater MS, Sabin MA (eds) Advances in multiresolution for geometric modelling. Springer, Berlin, pp 49–74

58. Boissonnat J-D, Devillers O, Pion S, Teillaud M, Yvinec M (2002) Triangulations in cgal. Comput Geom 22(1):5–19. 16th ACM symposium on computational geometry. https://doi.org/10.1016/S0925-7721(01)00054-2

59. Turner R (2021) Deldir: Delaunay Triangulation and Dirichlet (Voronoi) Tessellation. R package version 0.2-10. https://CRAN.R-project.org/package=deldir. Accessed 30 Aug 2021

60. Austral University of Chile: Patagón Supercomputer (2021). https://patagon.uach.cl. Accessed 30 Sep 2021

61. Karavelas M (2021) 2D Voronoi diagram adaptor. In: CGAL user and reference manual, 5.3.1 edn. CGAL Editorial Board, CGAL project. https://doc.cgal.org/5.3.1/Manual/packages.html#PkgVoronoiDiagram2. Accessed 23 Jan 2022

62. Ortiz-Bernardin A, Álvarez C, Hitschfeld-Kahler N, Russo A, Silva-Valenzuela R, Olate-Sanzana E (2019) Veamy: an extensible object-oriented C++ library for the virtual element method. Numer Algor 82(4):1–32

63. Mitchell WF (2013) A collection of 2D elliptic problems for testing adaptive grid refinement algorithms. Appl Math Comput 220:350–364

Acknowledgements

This research was supported by the Patagón supercomputer of Universidad Austral de Chile (FONDEQUIP EQM180042). The second author thanks to Fondecyt Project no. 1211484 and the first author to Anid doctoral scholarship 21202379.

Funding

This project was funded by Fondecyt Grant no. 1211484 and Anid doctoral scholarship 21202379.

Author information

Authors

Not applicable.

Corresponding authors

Correspondence to Sergio Salinas-Fernández or Nancy Hitschfeld-Kahler.

Ethics declarations

Conflict of interest

(check journal-specific guidelines for which heading to use) The authors report no conflict of interest.

Not applicable.

Not applicable.

Consent for publication

Not applicable.

Editorial Policies for:

Springer journals and proceedings: https://www.springer.com/gp/editorial-policies.

Nature Portfolio journals: https://www.nature.com/nature-research/editorial-policies.

Scientific reports: https://www.nature.com/srep/journal-policies/editorial-policies.

Publisher's Note

Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Appendix A: Complex geometries

Appendix A: Complex geometries

This appendix presents some examples of Polylla meshes generated using cartography maps obtained from the Library of National Congress of Chile Footnote 3, and the library PyShp Footnote 4. This library was used to read the .shp files, generate the PSLGs and store the information in .poly files. Figure 24 is a Polylla mesh generated from the PSLG of the Los Lagos Region, Fig. 25 is a mesh of the Magallanes Region and Fig. 26 is a mesh of the Budi lake.

Rights and permissions

Reprints and Permissions

Salinas-Fernández, S., Hitschfeld-Kahler, N., Ortiz-Bernardin, A. et al. POLYLLA: polygonal meshing algorithm based on terminal-edge regions. Engineering with Computers (2022). https://doi.org/10.1007/s00366-022-01643-4