Engineering with Computers

, Volume 31, Issue 3, pp 389–404 | Cite as

AHF: array-based half-facet data structure for mixed-dimensional and non-manifold meshes

  • Vladimir Dyedov
  • Navamita Ray
  • Daniel Einstein
  • Xiangmin Jiao
  • Timothy J. Tautges
Original Article


We present an Array-based Half-Facet mesh data structure, or AHF, for efficient mesh query and modification operations. The AHF extends the compact array-based half-edge and half-face data structures (T. J. Alumbaugh and X. Jiao, Compact array-based mesh data structures, IMR, 2005) to support mixed-dimensional and non-manifold meshes. The design goals of our data structure include generality to support such meshes, efficiency of neighborhood queries and mesh modification, compactness of memory footprint, and facilitation of interoperability of mesh-based application codes. To accomplish these goals, our data structure uses sibling half-facets as a core abstraction, coupled with other explicit and implicit representations of entities. A unique feature of our data structure is a comprehensive implementation in MATLAB, which allows rapid prototyping, debugging, testing, and deployment of meshing algorithms and other mesh-based numerical methods. We have also developed a C++ implementation built on top of MOAB (T.J. Tautges, R. Meyers, and K. Merkley, MOAB: A Mesh-Oriented Database, Sandia National Laboratories, 2004). We present some comparisons of the memory requirements and computational costs, and also demonstrate its effectiveness with a few sample applications.


Mesh generation Data structure Non-manifold Mixed-dimensional meshes Sibling half-facets MATLAB 



This work was funded in part under the auspices of the Nuclear Energy Advanced Modeling and Simulation (NEAMS) program of the Office of Nuclear Energy, and the Scientific Discovery through Advanced Computing (SciDAC) program funded by the Office of Science, Advanced Scientific Computing Research, both for the U.S. Department of Energy, under Contract DE-AC02-06CH11357, through a subcontract to Stony Brook University from Argonne National Laboratory. We acknowledge CST Computer Simulation Technology AG for their generous gift to Stony Brook University and thank Drs. Oleg Skipa and Manuel Baptista of CST AG for providing the meshes used in our experimental tests. Daniel Einstein’s contribution was supported by Award Number R01HL073598 from the National Heart, Lung, and Blood Institute. Xiangmin Jiao’s work was supported in part by the U.S. Army Research Laboratory and the U.S. Army Research Office under grant number W911NF13102409.


  1. 1.
    Alumbaugh T, Jiao X (2005) Compact array-based mesh data structures. In: Proceedings of 14th international meshing roundtable, pp 485–504Google Scholar
  2. 2.
    Beall MW, Shephard MS (1997) A general topology-based mesh data structure. Int J Numer Meth Eng 40:1573–1596MathSciNetCrossRefGoogle Scholar
  3. 3.
    Bischoff BS, Botsch M, Steinberg S, Bischoff S, Kobbelt L, Aachen R (2002) OpenMesh—a generic and efficient polygon mesh data structure. In: OpenSG symposiumGoogle Scholar
  4. 4.
    Blandford DK, Blelloch GE, Cardoze DE, Kadow C (2003) Compact representations of simplicial meshes in two and three dimensions. In: Proceedings of 12th international meshing roundtable, pp 135–146Google Scholar
  5. 5.
    Canino D, Floriani LD, Weiss K (2011) An adjacency-based representation for non-manifold simplicial shapes in arbitrary dimensions. Comput Graph Proc SMI Conf 35:747–753CrossRefGoogle Scholar
  6. 6.
    Damiand G (2000) Combinatorial maps. In: CGAL user and reference manual. CGAL Editorial Board, 4.4 editionGoogle Scholar
  7. 7.
    de Berg M, Cheong O, van Kreveld M, Overmars M (2008) Computational geometry: algorithms and applications, 3rd edn. Springer, BerlinCrossRefGoogle Scholar
  8. 8.
    Dobkin DP, Laszlo MJ (1989) Primitives for the manipulation of three-dimensional subdivisions. Algorithmica 4:3–32zbMATHMathSciNetCrossRefGoogle Scholar
  9. 9.
    Dyedov V, Einstein DR, Jiao X, Kuprat AP, Carson JP, del Pin F (2009) Variational generation of prismatic boundary-layer meshes for biomedical computing. Int J Numer Methods Eng 79:907–945zbMATHCrossRefGoogle Scholar
  10. 10.
    Dyedov V, Ray N, Einstein D, Jiao X, Tautges T (2014) AHF: array-based half-facet data structure for mixed-dimensional and non-manifold meshes. In: Sarrate J, Staten M (eds) Proceedings of the 22nd international meshing roundtable. Springer International Publishing, pp 445–464Google Scholar
  11. 11.
    Fabri A, Giezeman G-J, Kettner L, Schirra S, Schönherr S (2000) On the design of CGAL, a computational geometry algorithms library. Softw - Pract Exp 30:1167–1202. Special Issue on Discrete Algorithm EngineeringGoogle Scholar
  12. 12.
    Garimella RV (2004) MSTK—a flexible infrastructure library for developing mesh based applications. In: Proceedings of 13th international meshing roundtable, pp 213–220Google Scholar
  13. 13.
    Juretic F, Gossman AD (2010) Error analysis of the finite volume method with respect to mesh type. Numer Heat Trans B 57:414–439CrossRefGoogle Scholar
  14. 14.
    Kettner L (1999) Using generic programming for designing a data structure for polyhedral surfaces. Comput Geom Theorem Appl 13:65–90zbMATHCrossRefGoogle Scholar
  15. 15.
    Kirk BS, Peterson JW, Stogner RH, Carey GF (2006) libMesh: A C++ library for parallel adaptive mesh refinement/coarsening simulations. Eng Comput 22:237–254CrossRefGoogle Scholar
  16. 16.
    Kremer M, Bommes D, Kobbelt L (2012) OpenVolumeMesh—a versatile index based data structure for 3D polytopal complexes. In: Proceedings of 21st international meshing roundtable, pp 531–548Google Scholar
  17. 17.
    Ollivier-Gooch C (2010) GRUMMP version 0.6.0 user’s guide. Technical report, Department of Mechanical Engineering, The University of British ColumbiaGoogle Scholar
  18. 18.
    Paoluzzi A, Bernardini F, Cattani C, Ferrucci V (1993) Dimension-independent modeling with simplicial complexes. ACM Trans Graph 12(1):56–102zbMATHCrossRefGoogle Scholar
  19. 19.
    Poirier D, Allmaras SR, McCarthy DR, Smith MF, Enomoto FY (1998) The CGNS system. AIAA Paper 98–3007Google Scholar
  20. 20.
    Seol ES (2005) FMDB: flexible distributed mesh database for parallel automated adaptive analysis. PhD thesis, Rensselaer Polytechnic InstituteGoogle Scholar
  21. 21.
    Si H (2006) TetGen, a quality tetrahedral mesh generator and three-dimensional Delaunay triangulator v1.4Google Scholar
  22. 22.
    Sieger D, Botsch M (2011) Design, implementation and evaluation of the surface mesh data structure. In: Proceedings of the 20th international meshing roundtableGoogle Scholar
  23. 23.
    Tautges T, Meyers R, Merkley K (2004) MOAB: A mesh-oriented database. Technical report, Sandia National LaboratoriesGoogle Scholar
  24. 24.
    The CGNS Steering Sub-committee. The CFD General Notation System Standard Interface Data Structures. AIAA (2002)Google Scholar

Copyright information

© Springer-Verlag London 2014

Authors and Affiliations

  • Vladimir Dyedov
    • 1
    • 4
  • Navamita Ray
    • 1
    • 3
  • Daniel Einstein
    • 2
  • Xiangmin Jiao
    • 1
  • Timothy J. Tautges
    • 3
    • 4
  1. 1.Department of Applied Mathematics and StatisticsStony Brook UniversityStony BrookUSA
  2. 2.Biological Sciences DivisionPacific Northwest National LaboratoryRichlandUSA
  3. 3.Mathematics and Computer Science DivisionArgonne National LaboratoryArgonneUSA
  4. 4.CD-adapcoAustinUSA

Personalised recommendations