Skip to main content
Log in

Fast Quadtree/Octree adaptive meshing and re-meshing with linear mixed elements

  • Original Article
  • Published:
Engineering with Computers Aims and scope Submit manuscript

Abstract

In this paper, we will focus on adaptive meshing and re-meshing. We present an original approach, based on Quadtree and Octree, to construct the initial mesh and refine it using mixed-elements. We propose a fast algorithm using a determined set of Patterns to handle transitions between fine and coarse regions, and to closely approximate surface boundaries. An optimized structure for storing edges permits to efficiently manage neighbor information, dramatically reducing the balancing time. Results, both in 2D and 3D, exhibit the multiple possibilities for local refinements. Comparisons in terms of accuracy, number of elements in the resulting mesh, and computation time, clearly position our method as a competitive alternative to generate a conform adapted mesh, which can be used with standard numerical methods.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7
Fig. 8
Fig. 9
Fig. 10
Fig. 11
Fig. 12
Fig. 13
Fig. 14
Fig. 15
Fig. 16
Fig. 17
Fig. 18
Fig. 19
Fig. 20
Fig. 21
Fig. 22
Fig. 23
Fig. 24

Similar content being viewed by others

References

  1. Aizawa K, Tanaka S (2009) A constant-time algorithm for finding neighbors in Quadtrees. IEEE Transactions on Pattern Analysis and Machine Intelligence 31(7):1178–1183. https://doi.org/10.1109/TPAMI.2008.145

    Article  Google Scholar 

  2. Arenas C, Lobos C (2018) Detection and representation of sharp features in Octree–based meshes using different types of elements. In: Proceedings of International Conference of the Chilean Computer Science Society, pp 1–8

  3. Burkardt J (2011) .poly files (under LGPL). https://people.sc.fsu.edu/~jburkardt/data/poly/poly.html

  4. Conti P, Hitschfeld N, Fichtner W (1991) Omega -an octree-based mixed element grid allocator for the simulation of complex 3-D device structures. IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems 10(10):1231–1241

    Article  Google Scholar 

  5. Ebeida M, Patney A, Owens J, Mestreau E (2011) Isotropic conforming refinement of quadrilateral and hexahedral meshes using two-refinement templates. International Journal for Numerical Methods in Engineering 88(10):974–985. https://doi.org/10.1002/nme.3207

    Article  MathSciNet  MATH  Google Scholar 

  6. Finkel RA, Bentley JL (1974) Quad trees a data structure for retrieval on composite keys. Acta Inf 4(1):1–9. https://doi.org/10.1007/BF00288933

    Article  MATH  Google Scholar 

  7. Frey PJ, Borouchaki H (1998) Geometric surface mesh optimization. Computing and visualization in Science pp 113–121

  8. González E, Lobos C (2014) A set of mixed-element transition patterns for adaptive 3D meshing. Tech. Rep. 2014/01, Departamento de Informática, UTFSM, https://doi.org/10.13140/RG.2.1.3367.4400

  9. Gravenkamp H, Eisenträger S (2017) Automatic image-based analyses using a coupled Quadtree-SBFEM/SCM approach. Computational Mechanics pp 1–26, https://doi.org/10.1007/s00466-017-1424-1

  10. Huo S, Li Y, Duan S, Han X, Liu G (2019) Novel Quadtree algorithm for adaptive analysis based on cell-based smoothed finite element method. Engineering Analysis with Boundary Elements 106:541–554. https://doi.org/10.1016/j.enganabound.2019.06.011

    Article  MathSciNet  MATH  Google Scholar 

  11. Huo S, Liu G, Zhang J, Song C (2020) A smoothed finite element method for Octree-based polyhedral meshes with large number of hanging nodes and irregular elements. Computer Methods in Applied Mechanics and Engineering 359:112646. https://doi.org/10.1016/j.cma.2019.112646

    Article  MathSciNet  MATH  Google Scholar 

  12. Ito Y, Shih A, Soni B (2009) Octree-based reasonable-quality hexahedral mesh generation using a new set of refinement templates. International Journal for Numerical Methods in Engineering 77(13):1809–1833

    Article  MathSciNet  Google Scholar 

  13. Lobos C (2015) Towards a unified measurement of quality for mixed–elements. Tech. Rep. 2015/01, Departamento de Informática, UTFSM, http://www.inf.utfsm.cl/~clobos/tech.html

  14. Lobos C, González E (2015) Mixed-element octree: a meshing technique toward fast and real-time simulations in biomedical applications. International Journal for Numerical Methods in Biomedical Engineering 31(12):1–31. https://doi.org/10.1002/cnm.2725

    Article  MathSciNet  Google Scholar 

  15. Namdari M, Hejazi S, Palhang M (2015) MCPN, octree neighbor finding during tree model construction using parental neighboring rule. 3D Research 6, 10.1007/s13319-015-0060-9

  16. Nicolas G, Fouquet T (2013) Adaptive mesh refinement for conformal hexahedral meshes. Finite Elem Anal Des 67:1–12. https://doi.org/10.1016/j.finel.2012.11.008

    Article  MathSciNet  MATH  Google Scholar 

  17. Nicolas G, Fouquet T, Geniaut S, Cuvilliez S (2016) Improved adaptive mesh refinement for conformal hexahedral meshes. Advances in Engineering Software 102:14–28. https://doi.org/10.1016/j.advengsoft.2016.07.014, http://www.sciencedirect.com/science/article/pii/S0965997816301971

  18. Samet H (1982) Neighbor finding techniques for images represented by Quadtrees. Computer Graphics and Image Processing 18(1):37–57. https://doi.org/10.1016/0146-664X(82)90098-3

    Article  MATH  Google Scholar 

  19. Samet H (1989) Neighbor finding in images represented by Octrees. Computer Vision, Graphics, and Image Processing 46(3):367–386. https://doi.org/10.1016/0734-189X(89)90038-8

    Article  Google Scholar 

  20. Saputra AA, Eisenträger S, Gravenkamp H, Song C (2020) Three-dimensional image-based numerical homogenisation using Octree meshes. Computers & Structures 237:106263. https://doi.org/10.1016/j.compstruc.2020.106263

    Article  Google Scholar 

  21. Schneiders R (1996) Refining quadrilateral and hexahedral element meshes. In: Proceedings of the Fifth International Conference on Numerical Grid Generation in Computational Field Simulations, pp 679–688

  22. 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, Lecture Notes in Computer Science, vol 1148, Springer-Verlag, pp 203–222, from the First ACM Workshop on Applied Computational Geometry

  23. Si H (2015) Tetgen, a delaunay-based quality tetrahedral mesh generator. ACM Trans Math Softw 41(2), https://doi.org/10.1145/2629697

  24. Verfürth R (2013) A Posteriori Error Estimation Techniques for Finite Element Methods. Numerical Mathematics and Scientific Computation, OUP Oxford

  25. Yerry M, Shephard M (1983) A modified quadtree approach to finite element mesh generation. IEEE Computer Graphics and Applications 3:39–46. https://doi.org/10.1109/MCG.1983.262997

    Article  Google Scholar 

  26. Zhang H, Chandrajit B (2006) Adaptive and quality quadrilateral/hexahedral meshing from volumetric data. Computer Methods in Applied Mechanics and Engineering 195(9–12):942–960. https://doi.org/10.1016/j.finel.2007.03.001

    Article  MATH  Google Scholar 

  27. Zhang H, Zhao G (2007) Adaptive hexahedral mesh generation based on local domain curvature and thickness using a modified grid-based method. Finite Elements in Analysis and Design 43(9):691–704. https://doi.org/10.1016/j.finel.2007.03.001

    Article  Google Scholar 

Download references

Acknowledgements

Both authors have been partially supported by the Franco-Chilean ECOS-Sud Conicyt C16E05 project, and second author has been partially funded by Chilean Fondecyt-1181505 project.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Fabrice Jaillet.

Additional information

Publisher's Note

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

Appendix A: Re-meshing file format

Appendix A: Re-meshing file format

Whenever a mesh is generated, some additional data is stored. This file does not replace the mesh file, however it contains all the required information to re-build the balanced Quadtree or Octree state associated with that mesh. Combination of quadrants and octants is not allowed in a same file. Here is an example for the 3D case (.oct):

figure d

Header. It always has 3 integers representing the number of nodes, edges and octants. Next comes 3 doubles corresponding to the coordinates of each node. They are implicitly to an index, starting from 0.

List of edges. Each edge is defined by the indexes of its two nodes. The third integer represents the index of the mid-point of the edge. If 0, this edge was not split into 2 new sub-edges. For instance in the file example the second edge (1,2) was split by index 39. Therefore, sub-edges (1,39,0) and (2,39,0) should be present later in the list.

For each quadrant or octant cell, 2 lines will be used in the file. The first line contains: the number of nodes of this cell (4 or 8), the list of indexes defining this cell, and its refinement level. For instance the first octant in the file is composed of 8 nodes, where the first node index is 1315, the last one is 86, and its RL is 4. The second line corresponds to the number of input faces of \(\mathcal {P}\) this octant intersects, followed by their indexes. An octant with 0 intersections completely remains inside the domain.

Geometric Transform (optional). Can be applied to all the nodes. This transform involves rotations and translations. These values will depend on the first generated mesh. If a Region of Interest (RoI) was provided (a second surface mesh), the output mesh will be aligned with this RoI.

Numbers of sub-elements that decompose each octant. If this integer value is a 0, it means that this octant was barely intersecting the surface at the refinement stage, and therefore it was later removed when projecting inside nodes that were close to the boundary. This information is still necessary to correctly reconstruct the mesh. Of course, octants without any node inside the domain are not stored. In the example, the first 3 octants were finally removed from the mesh; the fourth octant has 1 element, therefore if element index 0 must be refined, octant 0 will be refined. The fifth octant was also removed and the next one has element indexes 1 and 2. If any of these elements were to be refined, this octant will be refined. If both element indexes are asked to be refined, the octant will be refined only once.

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Jaillet, F., Lobos, C. Fast Quadtree/Octree adaptive meshing and re-meshing with linear mixed elements. Engineering with Computers 38, 3399–3416 (2022). https://doi.org/10.1007/s00366-021-01330-w

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s00366-021-01330-w

Keywords

Navigation