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.
Similar content being viewed by others
Explore related subjects
Discover the latest articles, news and stories from top researchers in related subjects.References
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
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
Burkardt J (2011) .poly files (under LGPL). https://people.sc.fsu.edu/~jburkardt/data/poly/poly.html
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
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
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
Frey PJ, Borouchaki H (1998) Geometric surface mesh optimization. Computing and visualization in Science pp 113–121
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
Si H (2015) Tetgen, a delaunay-based quality tetrahedral mesh generator. ACM Trans Math Softw 41(2), https://doi.org/10.1145/2629697
Verfürth R (2013) A Posteriori Error Estimation Techniques for Finite Element Methods. Numerical Mathematics and Scientific Computation, OUP Oxford
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
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
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
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
Corresponding author
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):
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
About this article
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
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s00366-021-01330-w