A frontal approach to hex-dominant mesh generation
© Carrier Baudouin et al.; licensee Springer. 2014
Received: 19 August 2013
Accepted: 16 January 2014
Published: 10 February 2014
Indirect quad mesh generation methods rely on an initial triangular mesh. So called triangle-merge techniques are then used to recombine the triangles of the initial mesh into quadrilaterals. This way, high-quality full-quad meshes suitable for finite element calculations can be generated for arbitrary two-dimensional geometries.
In this paper, a similar indirect approach is applied to the three-dimensional case, i.e., a method to recombine tetrahedra into hexahedra. Contrary to the 2D case, a 100% recombination rate is seldom attained in 3D. Instead, part of the remaining tetrahedra are combined into prisms and pyramids, eventually yielding a mixed mesh. We show that the percentage of recombined hexahedra strongly depends on the location of the vertices in the initial 3D mesh. If the vertices are placed at random, less than 50% of the tetrahedra will be combined into hexahedra. In order to reach larger ratios, the vertices of the initial mesh need to be anticipatively organized into a lattice-like structure. This can be achieved with a frontal algorithm, which is applicable to both the two- and three-dimensional cases. The quality of the vertex alignment inside the volumes relies on the quality of the alignment on the surfaces. Once the vertex placement process is completed, the region is tetrahedralized with a Delaunay kernel. A maximum number of tetrahedra are then merged into hexahedra using the algorithm of Yamakawa-Shimada.
Non-uniform mixed meshes obtained following our approach show a volumic percentage of hexahedra that usually exceeds 80%.
The execution times are reasonable. However, non-conformal quadrilateral faces adjacent to triangular faces are present in the final meshes.
Whether hex-meshing or tet-meshing is better for finite element computations is a long-standing controversy. This paper does not aim at deciding on that issue. Yet, it is a fact that a large number of finite element users would highly appreciate having automatic hex-meshing procedures for general 3D domains. A number of arguments can indeed be stated in favor of hex-meshing. For the same number of vertices, hex meshes have fewer elements, which speeds up the matrix/residual assembly. In solid mechanics, hexahedra exhibit higher accuracy than tetrahedra , which are plagued by locking problems . In fluid dynamics, boundary layers made of hexahedra are effective for capturing large gradients and resolving viscous flows near the boundary, and semi-structured boundary-layer meshes attract significant interest (see, e.g. [3–5]).
Hexahedral mesh generation is still an ongoing research , and a major conclusion so far is that the generation of full-hex conforming meshes on arbitrary domains is beyond our reach nowadays. Relaxing a bit the requirements, hex-dominant meshes , in contrast with full-hex meshes, are allowed to aggregate a mixture of hexahedra, prisms, pyramids and tetrahedra. The goal of hex-dominant meshing is to generate meshes where hexahedral elements dominate, both in number and volume. This paper presents such an algorithm to automatically generate non-uniform isotropic hex-dominant meshes in arbitrary geometries. However, quadrilateral faces adjacent to triangular faces are usually found in the resulting meshes. Such non-conformities represent an additional complication for finite element methods. Various attempts at palliating the impact of these non-conformities have been discussed in the literature .
The proposed approach relies on an indirect strategy. The tetrahedra of an initial mesh are combined into hexahedra using Yamakawa-Shimada’s algorithm , which works basically as follows: (i) All tetrahedra of an initial mesh are considered one after the other. (i i) The neighbors of each tetrahedron are visited in order to identify potential hexahedra. Candidate hexahedra are stored in an array and sorted with respect to their geometrical quality. (i i i) The algorithm then iterates through this array, starting from the highest quality hexahedron, in order to effectively generate the hexahedral elements. Hexahedra that are composed of available tetrahedra (not marked for deletion) and that preserve hexahedral conformity are successively added to the mesh.
In a perfect hexahedral mesh, each interior vertex is linked with six other vertices: left-right, above-below, front-back (four vertices in case of a perfect quadrangular mesh). The main idea of our vertex placement algorithm is based on that observation. Knowing the prescribed local mesh size and the local preferred mesh directions, each interior vertex attempts to spawn six new vertices. A prospective vertex, however, is effectively created only if it lays inside the domain and if it is not too close to an existing vertex. This algorithm is applied to the boundaries of the geometry, prior to the volumes. When done, the vertices are tetrahedralized and Yamakawa-Shimada’s algorithm can be applied.
The Methods section first examines more closely a number of data structures, tools and concepts that contribute to make the algorithm more efficient. It then describes the two- and three-dimensional versions of the frontal algorithm. Finally, it discusses Yamakawa-Shimada’s algorithm and the issue of finite element conformity. The Results and discussion section presents a number of application examples, including mesh statistics and execution times.
A large variety of procedures for hexahedral meshing have been proposed over the years. This section reviews a certain number of them, focusing on the automatic ones.
Several techniques extract hexahedral meshes from octree data structures . These methods can generate non-uniform full-hex meshes in arbitrary geometries. The hexahedra orientation is defined by the octree root, which is a cube englobing the geometry. Boundary hexahedra perpendicular to the boundary surface can be achieved by projecting buffer layers [13, 14]. The main limitations of octree-based approaches is that the generated hexahedra cannot be oriented flexibly, and that the quality of the hexahedra near boundaries is degraded .
Certain parametrization methods have been able to mesh complex three-dimensional domains [16, 17]. These methods start by computing a three-dimensional direction field. The singularities of the direction field are then identified. Later on, the domain is cut in order to place all singularities on the boundary and to reduce the genus to 0 . A parametrization minimizing the difference between the hexahedra orientation and the three-dimensional direction field is selected . The supplementary cutting required to place all singularities on the boundary is necessary because it leads to a better parametrization . Full hexahedral meshes of very good quality can be obtained for complicated domains. However, a variable mesh size cannot be prescribed . Parametrization methods are very diverse. For example, a few algorithms capable of deforming a three-dimensional domain into a polycube model have been developed . The polycube model is meshed and re-deformed back into its original shape.
Graph theory can be applied to the problem of creating hexahedra by recombining tetrahedra . The starting point of the method is a tetrahedral mesh, which can be viewed as a graph. The method consists in searching through the mesh to identify subgraphs yielding hexahedra. There are six particular subgraphs to look for. Potential hexahedra can be constructed immediately or after classification along various criterions. This approach can be applied to prisms and pyramids as well. The recombination algorithm used throughout this article has been devised by Yamakawa and Shimada . These authors have also designed an iterative procedure to align vertices in three dimensions. The first step of the procedure consists of filling the domain with crystal cells. Each crystal cell has the shape of a cube: there is one atom at the center and eight atoms in the corners. Crystal cells exert force on each other via their atoms. A set of equations of motion govern the cells positions. Throughout the process, cells can be added or removed depending on the local density. Once cells velocities have sufficiently decrease, the center of each crystal cell becomes a mesh vertex.
To improve the spatial distribution of the set of vertices (which has a large impact on the effectiveness of such graph-based approaches), several techniques have been proposed, such as a modified version of Lloyd’s algorithm. Lloyd’s algorithm repeatedly moves vertices to the centroid of their Voronoi cell . As the number of iterations increases, the Voronoi cells take the shape of perfect hexagons. In fact, it has been proven that Lloyd’s algorithm minimizes an energy functional equal to the sum of the moments of inertia of the Voronoi cells . Lévy-Liu’s algorithm consists of minimizing higher order moments of inertia: the Voronoi cells then become squarely instead of hexagonal, which has the effect of aligning vertices in precise directions. Tetrahedral meshes smoothed by Lévy-Liu’s algorithm make excellent candidates for recombination. When used in conjunction with the graph method discussed above, Lévy-Liu’s algorithm can generate mixed meshes with high hexahedra percentages . However, the method presented in this article is frontal, not iterative. The vertices are created layer by layer.
We have pointed out above the importance of having the mesh vertices pre-aligned to ensure a good recombination rate. It is the purpose of the vertex placement algorithm to achieve this. This algorithm, however, relies on a number of data structures and geometrical concepts that are first introduced and developed below.
First, the vertex placement algorithm needs to know, at each point of the domain, the prescribed local mesh size and the local preferred mesh directions. In practice, those geometrical quantities are conjointly obtained by evaluating a specific field structure called cross field. The generation of direction fields was extensively studied in .
Secondly, the notion of distance itself represents another degree of freedom of the method. We shall show that it is particularly appropriate when dealing with hex-meshing, to compute distances with the infinity norm, instead of the standard Euclidean norm.
Finally, the algorithm is characterized by a large number of spatial searches, in order to check whether or not a prospective vertices is too close to any already existing vertex. To optimize the efficiency of this operation, an R-tree data structure is employed [26, 27].
At each point of a region , the frame field (d1,d2,d3) represents the three local orthogonal preferred directions of the hexahedral mesh. Frame fields are usually required to satisfy many constraints [16, 28]. On the geometrical edges of Ω, one of the three directions should be tangent to the edge itself . On the surfaces of Ω, one of the three directions should be perpendicular to the surface [9, 16]. A last requirement is that the frame field should be as smooth as possible.
On the other hand, at each point of Ω, the size field represents the prescribed local mesh size value. Mesh sizes h1,h2,h3 are defined for every point of the volume in each of the directions d1,d2,d3. In this paper, the mesh size field at a point x is isotropic, i.e. h(x)=h1(x)=h2(x)=h3(x). The extension to anisotropic meshing will be done in a forthcoming work.
The user fixes the mesh size at the geometrical vertices of the model. One-dimensional size fields are then computed along the geometrical edges. Because the surfaces are bounded by geometrical edges, Dirichlet conditions can be imposed on the surfaces boundaries. A Laplace equation is used to obtain the size field over the surfaces. The size field over the volume is calculated in a similar manner. Continuous finite elements of the first order are employed in each case. The final size field is therefore a three-dimensional piecewise continuous field. The Laplace equation was chosen because it leads to smooth and gradual solutions.
The cross field (h1d1,h2d2,h3d3), now, combines both information into a single field. At each vertex of the mesh, the cross field evaluates into a symmetric real 3 by 3 tensor whose columns are the three orthogonal vectors parallel to the local preferred directions of the hexahedral mesh. Moreover, the norm of the vectors represent the local mesh size; the three norms are identical in case of an isotropic mesh (which is the case considered in this paper), but they may differ in case of an anisotropic mesh.
The construction of a frame field on a region Ω belongs to the category of elliptic problems. Boundary conditions must be imposed on the boundary ∂ Ω. We thus proceed logically by explaining first how the frame field is constructed on surfaces, and deal afterwards with the prolongation into the volumes.
where θ is the solution of the elliptic boundary value problem (3).
These frame fields are not going to be smooth whenever the distance function to the walls is not itself smooth. Recently, two methods capable of generating smooth frame fields have been developed [16, 17]. Both of these methods employ LBFGS optimization to minimize energy functionals.
For inserting a new mesh vertex in our frontal algorithm, the distance between a prospective vertex x i and any already existing vertex x must be smaller than kh, where h is the local mesh size and k a free parameter of the algorithm ranging from 0 to 1. Parameter k absolutely needs to be inferior to one. If not, too many valid vertices will be missing from the cloud. In the implementation described in this work, k is equal to 0.7.
where M x is the Jacobian matrix of (1), evaluated at x.
The infinity distance is not a differentiable function . However, this is not an issue, because the frontal algorithm does not require the computation of distance derivatives.
Using R-trees for spatial searches
As said before, a prospective vertex is effectively created only if there is enough unoccupied space around it. The size of this exclusion area or volume depends on the local mesh size. According to the dimension and the chosen norm, the shape of the exclusion region can be a parallelogram or an ellipse (in 2D), and a cube or a sphere (in 3D).
The computation of the distance between the prospective vertex and all the other vertices would have a quadratic complexity in time and would therefore be prohibitive in terms of computation time. The number of computations required to ensure the exclusions can however be considerably decreased if the exclusion cube of each vertex is enclosed in a bounding box whose edges are parallel to the coordinate axis. An R-tree data structure [26, 27] can efficiently determine bounding boxes intersections and, then, it is enough to compute the distance between pairs of vertices whose boxes intersect each other.
Figure 8(b) shows the same two vertices. Again, the boxes intersect each other. This time, however, x1 is too close to x and x1 cannot be added to the cloud or to the queue.
It should be noted that on Figures 8(a) and 8(b), is not necessarily equal to . The local mesh sizes at x1 and x can also be different as illustrated in Figure 8(a). However, if x is outside the dotted square of x1, it is considered sufficient.
For non-planar surfaces, the surfaces need to be parametrized. As the parametrization is not necessarily conformal, i.e. the angles between d1 and d2 are not conserved, the dotted squares (exclusion area) of Figure 8 become parallelograms in the parametric space. As far as the bounding boxes are concerned, they are computed in the same manner and are then parallel to the uv-coordinate axis of the parametric space.
Let’s assume that on surfaces, each vertex attempts to create four vertices in the four cardinal directions. If the surface normal is not constant, these prospective vertices may not rest on the surface. The next section describes a scheme capable of solving this issue by intersecting surfaces with circle arcs.
Surface meshing: the packing of parallelograms algorithm
In a perfect quad mesh, each vertex is connected to four neighboring vertices forming a cross parallel to the cross field. In our approach, four prospective points x i , i=1,…,4 are constructed in the neighborhood of point x with the aim of generating the perfect situation.
Points x1 and x2 are constructed as the intersection of the surface with a circle of radius h1, centered on x and situated in the plane Π of normal d2 (see Figure 9). Points x3 and x4 are constructed as the intersection of the surface with a circle of radius h2, centered on x and situated in the plane of normal d1 (not in the figure for clarity).
u3=u+d u3 and u4=u−d u3.
The algorithm works as follows. Each vertex of the boundary is inserted in a fifo queue. Then, the vertex x at the head of the queue is removed and its four prospective neighbors x i are computed. A new vertex x i is inserted at the tail of the queue if the following conditions are satisfied: (i) vertex x i is inside the domain and (i i) vertex x i is not too close to any of the vertices that have already been inserted.
As shown on Figure 11, exclusion areas can become anisotropic parallelograms in the parametric plane. However, they always correspond to squares in the three-dimensional space. The vertices are triangulated in the parametric plane. Anisotropic triangulation is therefore necessary in order to obtain the expected arrangement of right triangles.
Volume meshing: the 3D point insertion algorithm
Volume meshing proceeds in the same way as surface meshing. The procedure starts from a 2D triangular mesh that has been created using surfacic frame fields. A frontal algorithm is used to create well aligned vertices inside the volume, starting from surface points. The 3D point insertion algorithm works in the same manner as the one used for surfaces.
It is inside the domain.
It is not too close to an existing mesh vertex, i.e. if the distance is smaller than kh.
An octree data structure is again employed to efficiently determine if a vertex is inside the domain .
Eventually, no more prospective vertices can be added to the cloud without being too close to existing ones. The process then stops and the cloud is tetrahedralized with a Delaunay procedure .
The quality of the alignment inside the geometry is very dependent on the quality of the alignment on the boundaries. If the triangles on the boundaries are far from being right-angled, then the vertices inside the geometry will not be well aligned. Various algorithms are capable of generating sets of aligned vertices on surfaces, such as the Delquad algorithm  or Lévy-Liu’s algorithm [24, 36]. However, for the majority of the examples presented in this article, a two-dimensional version of the frontal algorithm was employed.
As explained earlier, each vertex attempts to create six other vertices at a distance d=h from itself. For smoother size transitions, d can instead be an average between the local mesh size at the parent vertex and the local mesh size at the prospective vertex.
Volume meshing: Yamakawa-Shimada’s algorithm and finite element conformity
This section briefly describes Yamakawa-Shimada’s recombination algorithm. It then discusses the problem of finite element conformity in the case of mixed hex meshes.
Yamakawa-Shimada’s algorithm begins by iterating through the tetrahedra of the initial mesh. For each tetrahedron, it attempts to find neighboring tetrahedra with which to construct a hexahedron. Five, six or seven tetrahedra are required to construct one hexahedron. Three patterns of assembly are considered. Two out of these three patterns are described in . When a potential hexahedron is found, it is added to an array. However, the hexahedron will not necessarily be part of the final mesh. Once all tetrahedra have been visited, the array is sorted by hex quality.
where i is the vertex number. For a hexahedron, i goes from 1 to 8; vi 1, vi 2 and vi 3 are the three vectors parallel to the three edges connected to vertex i. Q is in fact the modulus of the minimum scaled Jacobian . Evidently, Q is meaningless for invalid hexahedra. Invalid hexahedra are characterized by a null or negative Jacobian determinant, which renders the mesh improper for calculations.
Starting from the highest quality hexahedron, the algorithm then iterates through the array. Potential hexahedra composed of tetrahedra not yet marked for deletion are added to the mesh. The tetrahedra of the added hexahedron are then marked for deletion. It is to be noted that only a small fraction of potential hexahedra appear in the final mesh.
Yamakawa-Shimada’s algorithm should therefore avoid creating the configurations illustrated on Figures 15, 16, 17 and 18 while iterating through the sorted arrays of potential hexahedra and prisms. Non-conformities can be efficiently identified by employing hashing techniques.
Owen-Canann-Saigal’s algorithm can render a mixed hexahedral mesh completely conformal. However, it has a drawback. It increases the number of tetrahedra and pyramids, which lowers the percentage of hexahedra by number. As a consequence, Owen-Canann-Saigal’s algorithm was not used for the results presented below.
Some quadrilateral faces will be adjacent to one or two triangles. Finite element solvers capable of handling these type of non-conformities are required.
Results and discussion
Mesh convergence analysis (credits: Gaëtan Compère)
First frequency (Hz)
Second frequency (Hz)
Surfaces and volumes are meshed sequentially. The two surface meshes bounding a thin region may also not be identical. As a consequence, many non-hexahedral elements can be created. The algorithm is usually less effective for geometrical models featuring many thin regions.
A method capable of generating mixed hexahedral meshes has been presented. The first step consists of covering geometrical boundaries with aligned vertices using a frontal process. The interior is treated in a similar fashion. Vertices creation are guided by a direction field and a size field. The interior vertices are eventually tetrahedralized with a Delaunay procedure. All tetrahedra combinations yielding hexahedra are identified. They are sorted by quality and the highest quality hexahedra are created first. The same approach is applied to prisms. The final mesh contains hexahedra, prisms, pyramids and remaining tetrahedra.
The method has obvious drawbacks. First, there are no guarantees regarding the hexahedra percentage. It can be higher for certain geometries and lower for others. Secondly, the hexahedra are not anisotropic. For many geometries, well chosen anisotropy could increase the number of hexahedra. Finally, the resulting meshes are useful only to solvers capable of handling a certain number of non-conformal faces.
This work has been partially supported by the Belgian Walloon Region under WIST grants ONELAB 1017086 and DOMHEX 1017074. The authors wish to thank Gaëtan Compère for the mesh convergence analysis and Jonathan Lambrechts for suggesting the use of R-trees. The authors also appreciate the reviewers’ efforts and suggestions.
- Benzley SE, Perry E, Merkley K, Clark B, Sjaardema G: A comparison of all hexagonal and all tetrahedral finite element meshes for elastic and elasto-plastic analysis. In Proceedings of the 4th International Meshing Roundtable. Edited by: Tautges T. Albuquerque: Sandia National Laboratories; 1995.Google Scholar
- Puso MA, Solberg J: A stabilized nodally integrated tetrahedral. Int J Numer Meth Eng 2006, 67: 841–867. 10.1002/nme.1651MathSciNetView ArticleGoogle Scholar
- Ito Y, Nakahashi K: Improvements in the reliability and quality of unstructured hybrid mesh generation. Int J Numer Meth Fl 2004, 45: 79–108. 10.1002/fld.669View ArticleGoogle Scholar
- Pirzadeh S: Three-dimensional unstructured viscous grids by the advancing-layers method. AIAA J 1996, 34: 43–49. 10.2514/3.13019View ArticleGoogle Scholar
- Kallinderis Y, Ward S: Prismatic grid generation for three-dimensional complex geometries. AIAA J 1993,31(10):1850–1856. 10.2514/3.11858View ArticleGoogle Scholar
- Shepherd JF, Johnson CR: Hexahedral Mesh Generation Constraints. Eng Comput 2008, 24: 195–213. . https://dl.acm.org/citation.cfm%3Fid=1394234 . 10.1007/s00366-008-0091-4View ArticleGoogle Scholar
- Meyers RJ, Tautges TJ, Tuchinsky PM: The ‘Hex-Tet’hex-dominant meshing algorithm as implemented in CUBIT. In Proceedings of the 7th international meshing roundtable. Edited by: Freitag L. Dearborn: Sandia National Laboratories; 1998:151–158.Google Scholar
- Dewhirst DL, Grinsell PM, Tucker JR, Mahajan A: Joining tetrahedra to hexahedra. In Proceedings of MSC World Users’ Conference. Arlington: MSC Software; 1993. . http://web.mscsoftware.com/support/library/conf/wuc93/p04593.pdf .Google Scholar
- Yamakawa S, Shimada K: Fully-automated hex-dominant mesh generation with directionality control via packing rectangular solid cells. Int J Numer Meth Eng 2003, 57: 2099–2129. 10.1002/nme.754MathSciNetView ArticleGoogle Scholar
- Shewchuk JR: Tetrahedral mesh generation by Delaunay refinement. In Proceedings of the fourteenth annual symposium on Computational geometry. Minneapolis: ACM; 1998:86–95.View ArticleGoogle Scholar
- Geuzaine C, Remacle JF: Gmsh: a three-dimensional finite element mesh generator with built-in pre- and post-processing facilities. Int J Numer Meth Eng 2009, 79: 1309–1331. 10.1002/nme.2579MathSciNetView ArticleGoogle Scholar
- Schneiders R, Schindler R, Weiler F: Octree-based Generation of Hexahedral Element Meshes. In Proceedings of the 5th International Meshing Roundtable. Pittsburgh: Sandia National Laboratories; 1996.Google Scholar
- Ito Y, Shih AM, Soni BK: Octree-based reasonable-quality hexahedral mesh generation using a new set of refinement templates. Int J Numer Meth Eng 2008, 77: 1809–1833.MathSciNetView ArticleGoogle Scholar
- Maréchal L: Advances in Octree-Based All-Hexahedral Mesh Generation: Handling Sharp Features. In Proceedings of the 18th International Meshing Roundtable. Edited by: Clark BW. Salt Lake City: Springer; 2009.Google Scholar
- Blacker TD: Meeting the Challenge for Automated Conformal Hexahedral Meshing. In Proceedings of the 9th International Meshing Roundtable. Edited by: Owen S. New Orleans: Sandia National Laboratories; 2000.Google Scholar
- Huang J, Tong Y, Wei H, Bao H: Boundary aligned smooth 3D cross-frame field. In Proceedings of ACM SIGGRAPH Asia. Edited by: Bala K. Hong Kong: Association for Computing Machinery; 2011:2011–2011.Google Scholar
- Li Y, Liu Y, Xu W, Wang W, Guo B: All-hex meshing using singularity-restricted field. In Proceedings of ACM SIGGRAPH Asia. Edited by: Sloan P. Singapore: Association for Computing Machinery; 2012:2012–2012.Google Scholar
- Huang J, Jiang T, Wang Y, Tong Y, Bao H: Automatic Frame Field Guided Hexahedral Mesh Generation. 2012.http://www.cad.zju.edu.cn/home/hj/12/hex/techreport/hex-techreport.pdf Tech. rep., Zhejiang University. .Google Scholar
- Nieser M, Reitebuch U, Polthier K: CubeCover - parameterization of 3D volumes. Comput Graph Forum 2011, 30: 1397–1406. 10.1111/j.1467-8659.2011.02014.xView ArticleGoogle Scholar
- Kowalski N, Ledoux F, Frey P: A PDE Based Approach to, Multidomain Partitioning and Quadrilateral Meshing. In Proceedings of the 21th International Meshing Roundtable. Edited by: Jiao X, Weill J. San Jose: Springer; 2012.Google Scholar
- Gregson J, Sheffer A, Zhang E: All-Hex mesh generation via volumetric polyCube deformation. Comput Graph Forum 2011, 30: 1407–1416. 10.1111/j.1467-8659.2011.02015.xView ArticleGoogle Scholar
- Meshkat S, Talmor D: Generating a mixed mesh of hexahedra, pentahedra and tetrahedra from an underlying tetrahedral mesh. Int J Numer Meth Eng 2000, 49: 17–30. 10.1002/1097-0207(20000910/20)49:1/2<17::AID-NME920>3.0.CO;2-UView ArticleGoogle Scholar
- Du Q, Faber V, Gunzburger M: Centroidal Voronoi Tessellations: Applications and Algorithms. Siam Rev 1999, 41: 637–676. 10.1137/S0036144599352836MathSciNetView ArticleGoogle Scholar
- Lévy B, Liu Y: L p Centroidal Voronoi Tessellation and its Applications. In Proceedings of ACM SIGGRAPH 2010. Edited by: Hoppe H. Los Angeles: Association for Computing Machinery; 2010.Google Scholar
- Ray N, Vallet B, Li WC, Lévy B: N-Symmetry direction field design. ACM T Graph 2008, 27: 1–25.View ArticleGoogle Scholar
- Guttman A: R-Trees: A Dynamic Index Structure for Spatial Searching. In ACM Special Interest Group on Management of Data. Boston: Association for Computing Machinery; 1984:47–57.Google Scholar
- Douglas G, Green M, Guttman A, Stonebraker M: R-trees: a dynamic index structure for spatial searching. 2004.http://www.superliminal.com/sources/RTreeTemplate.zip .Google Scholar
- Vyas V, Shimada K: Tensor-Guided Hex-Dominant Mesh Generation with Targeted All-Hex Regions. In Proceedings of the 18th International Meshing Roundtable. Edited by: Clark BW. Salt Lake City: Springer; 2009.Google Scholar
- Remacle JF, Geuzaine C, Compère G, Marchandise E: High quality surface meshing using harmonic maps. Int J Numer Meth Eng 2010, 83: 403–425.Google Scholar
- Marchandise E, de Wiart CC, Vos WG, Geuzaine C, Remacle JF: High-quality surface remeshing using harmonic maps-Part II: Surfaces with high genus and of large aspect ratio. Int J Numer Meth Eng 2011, 86: 1303–1321. 10.1002/nme.3099View ArticleGoogle Scholar
- Marchandise E: Remacle JF. Eng Comput 2013. doi:10.1007/s00366–012–0309–3 doi:10.1007/s00366-012-0309-3Google Scholar
- Remacle JF, Henrotte F, Baudouin TC, Geuzaine C, Béchet E, Mouton T, Marchandise E: A Frontal Delaunay quad mesh generator using the L ∞ norm. In Proceedings of the 20th International Meshing Roundtable. Edited by: Quadros W. Paris: Springer; 2011.Google Scholar
- Mount DM, Arya S: ANN: A library for approximate nearest neighbor searching. In CGC Workshop on Computational Geometry. Durham: The Center for Geometric Computing; 1997:33–40.Google Scholar
- Remacle JF, Lambrechts J, Seny B, Marchandise E, Johnen A, Geuzaine C: Blossom-Quad: a non-uniform quadrilateral mesh generator using a minimum cost perfect matching algorithm. Int J Numer Meth Eng 2012, 89: 1102–1119. 10.1002/nme.3279MathSciNetView ArticleGoogle Scholar
- Si H: TetGen: A Quality Tetrahedral Mesh Generator and Three-Dimensional Delaunay Triangulator. 2006.http://tetgen.berlios.de/files/tetgen-manual.pdfGoogle Scholar
- Baudouin TC, Remacle JF, Marchandise E, Lambrechts J, Henrotte F: Lloyd’s energy minimization in the L p norm for quadrilateral mesh generation. Eng Comput 2012. DOI:10.1007/s00366–012–0290-x DOI:10.1007/s00366-012-0290-xGoogle Scholar
- Fortin A, Garon A: Les Eléments finis : de la théorie à la pratique. 2014.http://giref.ulaval.ca/files/afortin/Publications/elements_finis.pdf .Google Scholar
- Owen SJ, Canann SA, Saigal S: Pyramid Elements for Maintaining Tetrahedra to Hexahedra Conformability. In ASME Trends in Unstructured Mesh Generation. Edited by: Canann S, Saigal S. Evanston: American Society of Mechanical Engineers; 1997:123–129.Google Scholar
- Agoston MK: Computer Graphics and Geometric Modeling. USA: Springer-Verlag; 2005.Google Scholar
- Rieling R: Yamaha XTZ-125. 2013.http://grabcad.com/library/yamaha-xtz-125 .Google Scholar
- 5 Bladed Propeller 2011.http://grabcad.com/library/5-bladed-propeller .
- Hall C: CV HP1. 2013.http://grabcad.com/library/cv-hp1 .Google Scholar
This article is published under license to BioMed Central Ltd. This is an Open Access article distributed under the terms of the Creative Commons Attribution License (http://creativecommons.org/licenses/by/2.0), which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.