There are 174 Triangulations of the Hexahedron

01/04/2018 ∙ by Jeanne Pellerin, et al. ∙ Université catholique de Louvain 0

This article answers an important theoretical question: How many different subdivisions of the hexahedron into tetrahedra are there? It is well known that a cube has five subdivisions into 6 tetrahedra and one subdivision into 5 tetrahedra. However, all hexahedra are not cubes and moving vertex positions increases the number of subdivisions. Recent hexahedral dominant meshing methods try to take these configurations into account for combining tetrahedra into hexahedra, but fail to enumerate them all: they use only a set of 10 subdivisions among the 174 we found in this article. The enumeration of these 174 subdivisions of the hexahedron into tetrahedra is our main result. Each of the 174 triangulations has between 5 and 15 tetrahedra and is actually a class of 2 to 48 equivalent instances which are identical up to vertex relabeling. This result is purely combinatorial. We also demonstrate that a minimum of 114 triangulations do correspond to hexahedron geometrical triangulations. Each hexahedron is valid for finite element computations (strictly positive Jacobian determinant). We exhibit the tetrahedral meshes for these geometries and show in particular triangulations of the hexahedron with 14 tetrahedra.



There are no comments yet.


page 1

page 7

This week in AI

Get the week's most popular data science and artificial intelligence research sent straight to your inbox every Saturday.

1. Introduction

Engineering analysis is generally based on finite element computations and requires a mesh. Compared to tetrahedral meshes, hexahedral meshes have important numerical properties: faster assembly [Remacle et al., 2016], high accuracy in solid mechanics [Wang et al., 2004], or for quasi-incompressible materials [Benzley et al., 1995]. Unstructured hexahedral meshing is an active research topic, e.g. [Gao et al., 2017; Lyon et al., 2016; Solomon et al., 2017; Fang et al., 2016]. However, no robust hexahedral meshing technique is yet able to process general 3D domains, and the generation of unstructured hexahedral finite element meshes remains the biggest challenge in mesh generation [Shepherd and Johnson, 2008].

Several promising methods propose to leverage the existence of robust and efficient tetrahedral meshing algorithms e.g. [Si, 2015] to generate hexahedral meshes by combining tetrahedra into hexahedra [Meshkat and Talmor, 2000; Yamakawa and Shimada, 2003; Levy and Liu, 2010; Huang et al., 2011; Baudouin et al., 2014; Botella et al., 2016; Sokolov et al., 2016; Pellerin et al., 2018]. It was recently suggested by [Pellerin et al., 2018] that the set of 10 subdivisions into tetrahedra of the hexahedron used by most of these methods is incomplete.

In this paper, a hexahedron is combinatorially a 3-dimensional cube whose square facets have been triangulated and whose geometry is defined as a finite hexahedral element is the image of a reference cube by a trilinear mapping denoted on Figure 1. Our hexahedra are not strictly cubes, moreover they are only valid as long as the mapping from the reference cube is injective. Validity is difficult to evaluate because the Jacobian determinant is not constant over the hexahedron e.g. [Chandrupatla and Belegundu, 2011].

Figure 1. The hexahedra we study (right) are the image of a reference cube (left) by a trilinear mapping.

In this work, we consider the elementary subdivisions of the hexahedron in tetrahedra. In the remaining of this paper, we use the generic term of triangulation to refer to -dimensional simplicial subdivisions, i.e. tetrahedral or triangular meshes (triangulations). The faces of the hexahedron are subdivided into two triangles. As we will see in Section 2, no complete enumeration of the hexahedron subdivisions into tetrahedra is available, except for the specific case of the cube [De Loera et al., 2010].

Our first contribution is to solve the purely combinatorial problem of the hexahedron triangulations. Our result is that there are 174 triangulations of the hexahedron up to isomorphism that have between 5 and 15 tetrahedra (Table 1). Depending on symmetries, each of the 174 triangulations is actually a class of 2, 4, 8, 12, 16, 24, or 48 equivalent instances, which are identical up to vertex relabeling. We prove this result by reviewing all the combinatorial triangulations of the 3-ball with eight vertices.

#tets 5 6 7 8 9 10 11 12 13 14 15 Sum
combinatorial 1 5 5 7 13 20 35 30 28 19 11 174
geometrical 1 5 5 7 13 20 35 30 28 19 8 171
Table 1. Numbers of combinatorial triangulations of the hexahedron with 5 to 15 tetrahedra up to isomorphism.

Our second contribution is to demonstrate that exactly 171 hexahedron triangulations have a geometrical realization in . To solve the realization problem we implemented the method proposed in [Firsching, 2017]. In particular, we exhibit the meshes of hexahedra with 14 and 15 tetrahedra contradicting the belief that there might only be subdivisions with up to 13 tetrahedra [Meshkat and Talmor, 2000; Sokolov et al., 2016]. This is an important theoretical result that links hexahedral meshes to tetrahedral meshes. We attached our implementation and all the result files of combinatorial triangulations and tetrahedral meshes in the supplementary materials.

2. Related work

Previous works on the subdivisions into tetrahedra of the hexahedron are limited to the specific configuration of the cube. They were studied in discrete geometry [De Loera et al., 2010] and in mesh generation methods that combine tetrahedra into hexahedra [Meshkat and Talmor, 2000; Botella et al., 2016; Sokolov et al., 2016].

Figure 2. The four types of tetrahedra in a cube .

The cube

Following [De Loera et al., 2010], let us first look at the different types of tetrahedra that can be built from the eight vertices of a cube . Suppose that one facet of the tetrahedron is contained in one of the six cube facets, there are four possible vertices to built a non-degenerate tetrahedra that represent three cases due to symmetry (Figure 2):

  • Corner tetrahedra have three facets on the cube faces.

  • Staircase tetrahedra have two facets on the cube faces.

  • Slanted tetrahedra have a unique facet on the cube faces.

The last type of tetrahedra are Core tetrahedra that have no facet on the cube faces. For the 3-cube, this list is complete and irredundant [De Loera et al., 2010].

From this classification of the tetrahedra in a cube triangulation follows the classification of triangulations of the 3-cube. The 3-cube has exactly 74 triangulations that are classified in 6 classes (Figure 


  • Every triangulation of the 3-cube contains either a regular tetrahedron (i.e. a tetrahedron whose 6 edges are of equal lengths) or a diameter, i.e. an interior edge joining two opposite vertices.

  • There are two triangulations of the first type, symmetric to one another. The triangulations of the second type are completely classified, modulo symmetries by their dual complexes (Figure 3).

Figure 3. The six triangulations of the 3-cube up to isomorphism and their dual complexes. Each class corresponds to 2 to 24 equivalent triangulations.

The dual complex of a triangulation is a graph in which there is a vertex for each tetrahedron and one edge if corresponding tetrahedra share a triangle (Figure 3). By construction, a 2-cell of the dual complex corresponds to an interior edge of the triangulation.

There are at least two ways to prove that these six triangulations are indeed the six possible types of triangulations of the cube. Discrete geometers rely on the determination of the cell containing the barycenter of the cube and on symmetry considerations about the vertex arrangement around that cell [De Loera et al., 2010]. [Meshkat and Talmor, 2000] enumerate the possible dual complexes.

The 3-cube in finite precision

Floating point numbers have a finite precision and represent the cube up to some tolerance. Moreover, sets of points that are exactly cospherical and coplanar are often specifically processed because these non-general positions are problematic for many geometrical algorithms [Edelsbrunner and Mücke, 1990]. Therefore, to combine elements of tetrahedral meshes, [Botella et al., 2016] and [Sokolov et al., 2016] consider subdivisions of the cube into two prisms linked by a sliver, i.e. a very flat tetrahedra connecting four points that are coplanar up to a given tolerance. Note that [Sokolov et al., 2016] aim at enumerating the triangulations of more general configurations, but the geometrical argument used in the proof limits its validity to the cube represented in finite precision.

Figure 4. Two types of tetrahedra in a finite precision cube.

In a finite precision 3-cube, two new types of non-degenerate tetrahedra appear (Figure 4):

  • Core diagonal tetrahedra have no facet on the hexahedron boundary. They subdivide the hexahedron into two prisms, creating four additional types of triangulations into seven tetrahedra (Figure 5).

  • Boundary tetrahedra connect the four vertices of a facet of the cube. We exclude these tetrahedra from the triangulations we consider because they are not strictly inside the hexahedron. Indeed, the hexahedron facets are bilinear patches strictly inside boundary tetrahedra.

Together with the previous four types of tetrahedra in the cube they constitute the only possible configurations for a tetrahedron in a hexahedron triangulation.

Figure 5. The four triangulations of the finite precision cube with seven tetrahedra. Dashed edges connect pairs of tetrahedra incident to the same hexahedron facet.

3. Combinatorial Triangulations

The geometrical problem of the triangulation of the hexahedron is difficult and we first tackle the purely combinatorial side of the question. A set of tetrahedra is a valid combinatorial triangulation of the hexahedron (Figure 6) if it is a valid combinatorial 3-manifold with 8 vertices and if its boundary contains the 8 vertices, 12 edges {12}, {14}, {15}, {23}, {26}, {34}, {36}, {48}, {56}, {58}, {67}, {78} and 12 triangular facets that can be paired into 6 quadrilaterals {1234}, {1265}, {1485}, {2376}, {3487}, {5678}.

Figure 6. Hexahedron template
Theorem 3.1 ().

The hexahedron has 174 combinatorial triangulations up to isomorphism that do not contain any boundary tetrahedra.

The 174 triangulations are enumerated in Table 2 and we provide their complete description in supplemental material.

To demonstrate Theorem 3.1 we first use a result about the triangulations of the 3-sphere with 9 vertices to compute all triangulations of the 3-ball with 8 vertices (Section 3.1). At the next step, we select triangulations whose boundary is the boundary of a triangulated hexahedron (Section 3.2). Finally the valid combinations are classified into isomorphism classes (Section 3.3).

11_AI g
11_AH f
11_AG g
11_AF d
11_AE g
11_AD g 12_AD c
11_AC g 12_AC d
11_AB b 12_AB g 13_AB g
11_AA d 12_AA d 13_AA g
11_Z g 12_Z g 13_Z g
11_Y g 12_Y g 13_Y g
11_X f 12_X d 13_X g
11_W g 12_W g 13_W f
11_V g 12_V d 13_V d
11_U g 12_U d 13_U c
10_T f 11_T g 12_T g 13_T c
10_S d 11_S d 12_S g 13_S d 14_S g
10_R g 11_R e 12_R g 13_R d 14_R g
10_Q g 11_Q g 12_Q g 13_Q d 14_Q g
10_P g 11_P e 12_P f 13_P d 14_P d
10_O f 11_O d 12_O d 13_O g 14_O c
10_N f 11_N e 12_N g 13_N g 14_N d
9_M f 10_M g 11_M e 12_M g 13_M d 14_M c
9_L f 10_L b 11_L g 12_L e 13_L g 14_L c
9_K f 10_K f 11_K g 12_K e 13_K d 14_K d 15_K g
9_J d 10_J g 11_J f 12_J g 13_J e 14_J d 15_J g
9_I g 10_I g 11_I f 12_I d 13_I e 14_I d 15_I d
9_H d 10_H d 11_H g 12_H e 13_H d 14_H f 15_H c
8_G f 9_G b 10_G g 11_G g 12_G e 13_G e 14_G d 15_G c
8_F b 9_F f 10_F d 11_F g 12_F e 13_F d 14_F e 15_F c
6_E a 7_E c 8_E d 9_E d 10_E g 11_E c 12_E g 13_E f 14_E e 15_E c
6_D c 7_D b 8_D d 9_D g 10_D d 11_D g 12_D g 13_D d 14_D e 15_D f
6_C b 7_C g 8_C g 9_C d 10_C e 11_C d 12_C g 13_C g 14_C d 15_C d
6_B e 7_B d 8_B g 9_B e 10_B e 11_B f 12_B g 13_B g 14_B d 15_B f
5_A a 6_A d 7_A b 8_A d 9_A d 10_A g 11_A g 12_A d 13_A f 14_A c 15_A g
Table 2. The 174 combinatorial triangulations of the hexahedron per number of tetrahedra and corresponding hexahedron surface triangulations (Figure 5). 3 combinatorial triangulations do not have a geometrical realization (bold). 13 do not have a convex geometrical realization in (underlined). All combinatorial and geometrical triangulations are provided in the supplemental material.

3.1. Triangulations of the 3-Ball

The sphere, or 2-sphere, is the 2-dimensional surface boundary of a 3-dimensional ball. The 3-sphere generalizes this, and is defined as the 3-dimensional boundary of a 4-dimensional ball. There is a direct link between the triangulations of the 2-sphere (3-sphere) and the triangulations of the 2-ball (3-sphere). Indeed, a triangulation of the 2-sphere can be constructed from the triangulation of a 2-ball by building a cone as illustrated on Figure 7. The cone is built by adding point over a polygon and connecting it to the five boundary edges. The inverse transformation, the removal of one point of the sphere triangulation as well as all triangles incident to , permits to obtain the triangulation of a ball. (The interested reader is referred to [Ziegler, 1995] for more details on this classical construction).

In this paper, we enumerate all triangulations of the hexahedron, i.e. 3-dimensional ball with 8 vertices. They can be obtained from the triangulations of the 3-sphere with 9 vertices. The 1296 triangulations of the 3-sphere have been enumerated by [Altshuler and Steinberg, 1973, 1974, 1976; Altshuler et al., 1980] and are available online [Lutz and Sulanke, 2018]. Nine triangulations of the 3-ball with eight vertices can be built from each of the 1296 triangulations by removing one of the vertices and its link, i.e. all tetrahedra incident to .

Figure 7. Building a cone over a triangulation of a 2-dimensional pentagon into 3 triangles gives a triangulation of the 2-sphere into 8 triangles.

3.2. Triangulations of the Hexahedron

The next step is to test if the obtained 3-ball triangulations are valid hexahedron triangulations. They are if their boundary matches the triangulated boundary of a hexahedron. The triangulation of the boundary of a hexahedron has 8 vertices and 18 edges. Among these, 12 are fixed and there are 2 possibilities to place the remaining 6 diagonals of the quadrilateral facets. We have then possible triangulations. These triangulations can be classified into 7 equivalence classes, i.e. there are 7 triangulations of the hexahedron boundary up to isomorphism (Figure 8).

Figure 8. The 7 triangulations of a hexahedron boundary up to isomorphism.

3.3. Hexahedron Triangulation Comparison

The final step is to compare the obtained triangulations of the hexahedron and determine those that are the same up to isomorphism. We use a graph formalism proposed in [Meshkat and Talmor, 2000] to represent and compare the hexahedron triangulations.

Figure 9. Definition of the decomposition graph that is used to represent hexahedron triangulations.

The decomposition graph (Figure 9) of the triangulation of a hexahedron is an edge-colored graph where there is one vertex per tetrahedron, one black (plain) edge between vertices if the corresponding tetrahedra are adjacent, and one grey (dashed) edge between vertices if the corresponding tetrahedra have triangle faces on the same hexahedron facet. By construction, each vertex is of degree 4 and simple chordless cycles of plain edges correspond to interior edges of the triangulation.

There is a one-to-one correspondence between triangulations without boundary tetrahedra and decomposition graphs (Figure 10

). Suppose that we fix the vertex labels of the triangulation such that {12345678} is a hexahedron. Then 12 of its edges are fixed ({12}, {14}, {15}, {23}, {26}, {34}, {36}, {48}, {56}, {58}, {67}, {78}). There is then one choice to subdivide each of the 6 facets into two triangles. Once the 6 boundary diagonal edges are chosen, the remaining degrees of freedom to triangulate the hexahedron are controlled by the interior facets. The plain edges of the decomposition graph represent the interior facets, while the 6 dashed edges represent the diagonal edges.

Figure 10. The correspondence between a hexahedron triangulations and its decomposition graph for triangulation 8_E.

Two combinatorial triangulations are isomorphic, if and only if their decomposition graphs are isomorphic, i.e. are the same with respect to the relabeling of their vertices. More formally, an isomorphism of graphs and is a bijection between the vertex sets of and , , such that any two vertices and of are adjacent if and only if and are adjacent in .

The decomposition graphs of the triangulations of the hexahedron obtained in the previous section are therefore classified into isomorphism classes to obtain our main combinatorial result. Our reference implementation, attached in the supplementary materials, uses the nauty library [McKay and Piperno, 2014]. This concludes the demonstration of Theorem 3.1.

4. Geometrical triangulations

We now tackle the geometrical side of the problem of the triangulations of the hexahedron in . There is indeed no guarantee that a valid geometrical triangulation exists for each of the 174 combinatorial triangulations.

More formally, we are solving a geometrical realization problem for each combinatorial triangulation , i.e. we are searching positions of the 8 vertices, in , such that the geometrical triangulation defined by is valid. A triangulation is valid if (1) the union of the tetrahedra is the convex hull of the points and (2) there is no unwanted intersection between tetrahedra.

Theorem 4.1 ().

171 of the 174 combinatorial triangulations of the hexahedron have a geometrical realization in .

The 171 triangulations are enumerated in Table 2 and we provide the realizations in the supplemental material. The 3 triangulations that do not have a realization have 15 tetrahedra and are illustrated on Figure 14.

Data: combinatorial triangulation
Result: a realization
clauses = encodeSAT( ) ;
  /* Section 4.2 */
  = solveSAT(clauses) ;
  /* MiniSAT solver */
 if   then
       /* No oriented matroid, not realizable */
       return ;
end if
foreach  in S do
       inequalities = setDeterminantInequalities() ;
        /* Section 4.3 */
       = solveSystem(inequalities) ;
        /* SCIP solver */
       if  then
             /* Realization is found */
             return ;
       end if
end foreach
/* Check non realizability */
undecidedRealizability = false;
foreach  S do
       if  ! findFinalPolynomial() ;
        /* Section 4.4 */
        then undecidedRealizability = true;
end foreach
ALGORITHM 1 Geometrical realization

Our proof follows the strategy described in [Pfeifle and Rambau, 2003; Schewe, 2010; Firsching, 2017] which consists in (1) solving the underlying combinatorial problem of the point configurations that can realize a given triangulation , before (2) finding point coordinates in corresponding to one configuration. The main steps are described in Algorithm 1.

4.1. Definitions

To encode the combinatorial properties of the point sets realizing a given combinatorial triangulation, we use oriented matroids. This is an important topic of discrete mathematics [Björner, 1999], here we restrict definitions to the studied problem.

Let be a finite set, with , and a mapping . is a uniform oriented matroid of rank if the following two conditions are satisfied:

  1. The mapping is alternating, i.e. for all permutations of


    is the permutation sign, i.e. 1 for even permutations and -1 for odd permutations.

  2. For all and all subsets , we have that:

The mapping is called the chirotope of the oriented matroid. Given a set of points in , we can build a chirotope for a matroid of rank by considering the determinant of the points in homogeneous coordinates using .

Set for any

The chirotope is a sign function which gives the orientation of all possible subsets of of points in . The chirotope of a point set (respectively ) is the orientation of all the triangles (respectively tetrahedra) that can be built from (Figure 11). The chirotope encodes the point set structure, and, as we will see in Section 4.2, all necessary information to check if is a realization of the combinatorial triangulation .

Note that we only consider point sets in general position (no 4-coplanar of 5-copsherical points) restricting ourselves to uniform oriented matroids, cannot take the value zero.

Figure 11. The two possible 4-point configurations in have different chirotopes. The chirotope encodes the orientation of all 4 triangles, only the one whose orientation changes is drawn.

4.2. Combinatorial Formulation

We first review the five constraints that the oriented matroids of point sets realizing a combinatorial triangulation must enforce, before seeing how the oriented matroids are determined.


The point set is in general position therefore the corresponding oriented matroid should :

  1. be uniform, (no 4-coplanar or 5-cospherical points)

  2. be acyclic, a property shared by the oriented matroids of all point sets.

  3. be valid, all subsets should satisfy condition (2) of the definition in Section 4.1.

The tetrahedra of the geometrical triangulation are valid, therefore the oriented matroid should:

  1. define valid tetrahedra, . We assume that they are consistently oriented and are all positive in .

The geometrical triangulation is valid, i.e. all tetrahedra of intersect properly, i.e. for all pairs of tetrahedra and of we have . The intersection property can also be translated to constraints on the oriented matroids, let us see how.

If a point set is in general position, any subset of points is affinely independent while any subset of points is affinely dependent, i.e. there exists such that:

We can then build two subsets of , and , whose convex hulls intersect at a unique point (Radon’s theorem). If two different simplices and of intersect, then there is a subset of points of that are affinely dependent and corresponds to a pair . In oriented matroid jargon, this pair is called a circuit of , a fundamental notion related to another definition of oriented matroids [Björner, 1999]. All subsets of points of define a circuit that can be computed from

This give us the final constraint on oriented matroids of points sets realizing a combinatorial triangulation , they should:

  1. not admit any circuit such that and where and are two tetrahedra of .


The five constraints described above fix partially the values taken by for all subsets of point labels. To completely determine the admissible oriented matroids for a triangulation , we follow [Schewe, 2010], and solve an instance of a boolean satisfiability problem SAT that is satisfiable, if and only if, an admissible oriented matroid exists for a triangulation . The details on the encoding of the constraints are given in [Schewe, 2010]. We used the MiniSAT [Sorensson and Een, 2005] solver to find all admissible chirotopes for 174 combinatorial triangulations of the hexahedron. Our implementation is provided in the supplemental material.


Three combinatorial triangulations do not admit an oriented matroid that enforce the five constraints and are therefore not realizable.

Figure 12. Six triangulations of the hexahedon into 8 tetrahedra and their geometrical realizations. Colors correspond to tetrahedron indices. Hexahedron edges are grey, while tetrahedron edges are white. The seventh triangulation with 8 tetrahedra, , is presented on Figure 10.

4.3. Geometric Realizations

Once the oriented matroids fulfilling all the constraints related to a given combinatorial triangulation are computed, the final step is to find real coordinates for the 8 vertices realizing one of these oriented matroids. We follow the approach of [Firsching, 2017] who proposes to solve the system of polynomial inequalities of the form:

where the possible values of have been computed in Section 4.2.


In order to find feasible solutions we used SCIP, a solver that relies on branch and bound techniques [Gleixner et al., 2017]. To encode the strict inequalities numerically, we rewrite the strictly positive constraint as superior or equal to an value (we used ). When a solution exists, SCIP quickly converges and we obtain a realization of the combinatorial triangulation .


All the 171 triangulations that admit an oriented matroid have a realization. All realizations are provided along our implementation in supplemental material. This completes the demonstration of Theorem 4.1. Figure 12 gives realizations for the configurations with 8 tetrahedra.

4.4. Convex Geometric Realization

We furthermore studied the realization problem with an additional constraint on the 8 point positions to ensure that they are in convex position, i.e. all vertices are on their convex hull (none is in its interior). This is a reasonable condition for hexahedra to be valid for finite element computations. The convexity condition can be directly taken into account when testing admissible chirotopes by excluding all configurations in which a vertex is inside a tetrahedron defined by four other vertices.


Over the 171 realizable triangulations of the hexahedron, 13 do not have a realization such that their vertices are in convex position. do not admit a uniform oriented matroid and are therefore not realizable. Triangulation admits an oriented matroid, but SCIP does not terminate when searching for a realization (Figure 14). To prove that there is none, a different approach is necessary. A property of non-realizable matroids is that they admit a final polynomial, which can be found, if bi-quadratic, using the practical method of [Bokowski and Richter, 1990]

. It consists in proving the infeasibility of a linear program that encodes the second property of oriented matroid definition.

oriented matroid has a final polynomial and is therefore not realizable with points in convex position.

Figure 13. The four realizable triangulations with 15 tetrahedra and with points in convex position. The hexahedra are valid, their Jacobian is strictly positive.
Figure 14. Three of the 11 combinatorial triangulations of the hexahedron into 15 tetrahedra are not realizable (left). Four combinatorial triangulations are realizable but with points in non-convex position (right).

5. Discussion

We demonstrated that there are 174 combinatorial triangulations of the hexahedron up to isomorphism and that 171 of them have a geometric realization.

Our results are consistent with the previous results on the triangulations of the 3-cube presented in [De Loera et al., 2010]. However, Theorem 4 in [Sokolov et al., 2016], that states that there are only 10 triangulations of the hexahedron with 5, 6, or 7 tetrahedra, is incorrect. We described 161 additional geometrical triangulations of the hexahedron. The smallest triangulations for which no valid hexahedron may exist have 12 tetrahedra. The largest triangulations for which a valid hexahedron exists have 15 tetrahedra, by valid we mean a a strictly positive Jacobian (Figure 13). The existence of these triangulations contradicts the belief that there may only be subdivisions of the hexahedron with up to 13 tetrahedra. The practical consequence is that the methods solely based on the 10 triangulations of the cube to identify groups of tetrahedra that can be merged into a hexahedron do not compute all the possible hexahedra as claimed [Meshkat and Talmor, 2000; Yamakawa and Shimada, 2003; Botella et al., 2016; Sokolov et al., 2016]. Adapting these methods to take into account dozens more patterns is theoretically possible, but consequences on performances would be catastrophic. Note that the alternative algorithm of [Pellerin et al., 2018] is not impacted by this observation, since it does not rely on predefined hexahedron triangulations.

5.1. Pattern occurrences in real meshes

The theoretical problem of the triangulation of the hexahedron is an important step for a better understanding of the methods combining elements of a tetrahedral mesh to build hexahedra. Indeed, in practice, when combining the element of a tetrahedral mesh, many of the additional patterns we identified occur.

Model #vert . 5 6 7 8 9 10 11 12 13 14 15 Total
Cube 127 1 5 2 1 0 0 0 0 0 0 0 9
Fusee 11,975 1 5 5 7 13 9 4 0 0 0 0 44
CShaft 23,245 1 5 5 7 13 17 6 0 0 0 0 54
Fusee_1 71,947 1 5 5 7 7 1 0 0 0 0 0 26
Caliper 130,572 1 5 5 7 7 1 0 0 0 0 0 26
CShaft2 140,985 1 5 5 7 8 0 1 0 0 0 0 27
Fusee_2 161,888 1 5 5 7 7 1 0 0 0 0 0 26
FT47_b 221,780 1 5 5 7 8 2 0 0 0 0 0 28
FT47 370,401 1 5 5 7 7 2 0 0 0 0 0 27
Fusee_3 501,021 1 5 5 7 8 4 0 0 0 0 0 30
Los1 583,561 1 5 5 7 7 2 0 0 0 0 0 27
Knuckle 3,058,481 1 5 5 7 8 2 0 0 0 0 0 28
Table 3. Number of triangulations patterns per number of tetrahedra counted in the available input data of [Pellerin et al., 2018].
#vertices 5 6 7 8 9 10 11 12 13 14 15 Total
3,000 1 5 2 7 13 16 4 0 0 0 0 51
10,000 1 5 5 7 13 19 10 2 0 0 0 62
20,000 1 5 5 7 13 19 15 2 0 0 0 67
100,000 1 5 5 7 13 20 24 5 0 0 0 80
500,000 1 5 5 7 13 20 28 12 1 0 0 92
1,000,000 1 5 5 7 13 20 30 14 0 0 0 95
2,000,000 1 5 5 7 13 20 30 15 4 1 0 101
5,000,000 1 5 5 7 13 20 30 16 4 1 0 102
10,000,000 1 5 5 7 13 20 31 16 6 1 0 105
Table 4. Number of triangulations patterns per number of tetrahedra counted in the Delaunay triangulations of random point sets.

To identify combinations of tetrahedra into hexahedra in a input tetrahedral mesh, we used the algorithm proposed by [Pellerin et al., 2018]. This algorithm provably computes all the possible combinations of eight vertices whose connectivity matches the one of a hexahedron. It further guarantees that all the identified hexahedra are valid for finite element computations using the exact test of [Johnen et al., 2013]. We used the available implementation of [Pellerin et al., 2018] to compute all valid hexahedra for the input tetrahedral meshes provided with that paper (Table 3) as well as for the Delaunay triangulations of random point sets (Table 4). The decomposition graphs of all identified hexahedra are compared to the 171 possible triangulations and classified.

There is a clear link between the quality of the point set for hexahedral mesh generation and the number of patterns of combinations of tetrahedra into hexahedra. In random point sets, all existing realizable patterns up to 9 tetrahedra are found with as few as 3,000 randomly distributed vertices. In point sets generated for hexahedral meshing with the placement strategy described in [Baudouin et al., 2014], the number of patterns is smaller and we note that the number of combination patterns is relatively independent of both the model and the number of vertices. We further observed that occurrences of triangulations with more than 11 tetrahedra are rare.

5.2. Future Work

Using our results, we would be able to decide on the existence of a triangulation of eight vertices whose boundary matches a hexahedron. We could also produce all existing triangulations. Since the principle of our demonstration is general, it could be extended to enumerate the triangulations of any polyhedron with quadrilateral and triangular faces and could be used to characterize non-triangulable polyhedra, a major difficulty in many geometric and combinatorial problems about which little is known theoretically [Rambau, 2003]. We expect the theoretical advance of this paper to be an important step toward a more complete study of the geometrical properties of hexahedral cells and will help develop robust hexahedral mesh generation algorithms.

The authors thank the anonymous referees for their valuable comments and extremely helpful suggestions. This project has received funding from the European Research Council (ERC) under the European Union’s Horizon 2020 research and innovation programme (grant agreement ERC-2015-AdG-694020).


  • [1]
  • Altshuler et al. [1980] Amos Altshuler, J. Bokowski, and Leon Steinberg. 1980. The classification of simplicial 3-spheres with nine vertices into polytopes and nonpolytopes. Discrete Mathematics 31, 2 (1980), 115–124.
  • Altshuler and Steinberg [1973] Amos Altshuler and Leon Steinberg. 1973. Neighborly 4-polytopes with 9 vertices. Journal of Combinatorial Theory, Series A 15, 3 (Nov. 1973), 270–287.
  • Altshuler and Steinberg [1974] Amos Altshuler and Leon Steinberg. 1974. Neighborly combinatorial 3-manifolds with 9 vertices. Discrete Mathematics 8, 2 (April 1974), 113–137.
  • Altshuler and Steinberg [1976] Amos Altshuler and Leon Steinberg. 1976. An enumeration of combinatorial 3-manifolds with nine vertices. Discrete Mathematics 16, 2 (Oct. 1976), 91–108.
  • Baudouin et al. [2014] Tristan Carrier Baudouin, Jean-Francois Remacle, Emilie Marchandise, Francois Henrotte, and Christophe Geuzaine. 2014. A frontal approach to hex-dominant mesh generation. Advanced Modeling and Simulation in Engineering Sciences 1, 1 (2014), 1.
  • Benzley et al. [1995] Steven E. Benzley, Ernest Perry, Karl Merkley, Brett Clark, and Greg Sjaardema. 1995. A comparison of all hexagonal and all tetrahedral finite element meshes for elastic and elasto-plastic analysis. In In Proceedings, 4th International Meshing Roundtable. 179–191.
  • Björner [1999] Anders Björner (Ed.). 1999. Oriented matroids (2nd ed ed.). Number v. 46 in Encyclopedia of mathematics and its applications. Cambridge University Press, Cambridge ; New York.
  • Bokowski and Richter [1990] Jürgen Bokowski and Jürgen Richter. 1990. On the finding of final polynomials. European Journal of Combinatorics 11, 1 (1990), 21–34.
  • Botella et al. [2016] Arnaud Botella, Bruno Levy, and Guillaume Caumon. 2016. Indirect unstructured hex-dominant mesh generation using tetrahedra recombination. Computational Geosciences 20, 3 (June 2016), 437–451.
  • Chandrupatla and Belegundu [2011] Tirupathi R. Chandrupatla and Ashok D. Belegundu. 2011. Introduction to finite elements in engineering (4th ed ed.). Prentice Hall, Upper Saddle River,NJ.
  • De Loera et al. [2010] Jesùs A. De Loera, Jörg Rambau, and Francisco Santos. 2010. Triangulations: structures for algorithms and applications. Number v. 25 in Algorithms and computation in mathematics. Springer, Berlin ; New York. OCLC: ocn646114288.
  • Edelsbrunner and Mücke [1990] Herbert Edelsbrunner and Ernst Peter Mücke. 1990. Simulation of simplicity: a technique to cope with degenerate cases in geometric algorithms. ACM Transactions on Graphics 9, 1 (Jan. 1990), 66–104.
  • Fang et al. [2016] Xianzhong Fang, Weiwei Xu, Hujun Bao, and Jin Huang. 2016. All-hex meshing using closed-form induced polycube. ACM Transactions on Graphics 35, 4 (July 2016), 1–9.
  • Firsching [2017] Moritz Firsching. 2017. Realizability and inscribability for simplicial polytopes via nonlinear optimization. Mathematical Programming 166, 1-2 (Nov. 2017), 273–295.
  • Gao et al. [2017] Xifeng Gao, Wenzel Jakob, Marco Tarini, and Daniele Panozzo. 2017. Robust hex-dominant mesh generation using field-guided polyhedral agglomeration. ACM Transactions on Graphics 36, 4 (July 2017), 1–13.
  • Gleixner et al. [2017] Ambros Gleixner, Leon Eifler, Tristan Gally, Gerald Gamrath, Patrick Gemander, Robert Lion Gottwald, Gregor Hendel, Christopher Hojny, Thorsten Koch, Matthias Miltenberger, Benjamin Müller, Marc E. Pfetsch, Christian Puchert, Daniel Rehfeldt, Franziska Schlösser, Felipe Serrano, Yuji Shinano, Jan Merlin Viernickel, Stefan Vigerske, Dieter Weninger, Jonas T. Witt, and Jakob Witzig. 2017. The SCIP Optimization Suite 5.0. Technical Report 17-61. ZIB, Takustr.7, 14195 Berlin.
  • Huang et al. [2011] Jin Huang, Yiying Tong, Hongyu Wei, and Hujun Bao. 2011. Boundary aligned smooth 3D cross-frame field. ACM Press, 1.
  • Johnen et al. [2013] Amaury Johnen, Jean-Francois Remacle, and Christophe Geuzaine. 2013. Geometrical validity of curvilinear finite elements. J. Comput. Phys. 233 (Jan. 2013), 359–372.
  • Levy and Liu [2010] Bruno Levy and Yang Liu. 2010. L Centroidal Voronoi Tessellation and its applications. ACM Transactions on Graphics 29, 4 (July 2010), 1.
  • Lutz and Sulanke [2018] Frank H. Lutz and Thom Sulanke. 2018. The Manifold Page. (2018). Accessed: 20/08/2018.
  • Lyon et al. [2016] Max Lyon, David Bommes, and Leif Kobbelt. 2016. HexEx: robust hexahedral mesh extraction. ACM Transactions on Graphics 35, 4 (July 2016), 1–11.
  • McKay and Piperno [2014] Brendan D. McKay and Adolfo Piperno. 2014. Practical graph isomorphism, II. Journal of Symbolic Computation 60 (Jan. 2014), 94–112.
  • Meshkat and Talmor [2000] Sia Meshkat and Dafna Talmor. 2000. Generating a mixed mesh of hexahedra, pentahedra and tetrahedra from an underlying tetrahedral mesh. Internat. J. Numer. Methods Engrg. 49, 1-2 (Sept. 2000), 17–30.<17::AID-NME920>3.0.CO;2-U
  • Pellerin et al. [2018] Jeanne Pellerin, Amaury Johnen, Kilian Verhetsel, and Jean-Francois Remacle. 2018. Identifying combinations of tetrahedra into hexahedra: A vertex based strategy. Computer-Aided Design (June 2018). Code available at: Accessed 20/08/2018.
  • Pfeifle and Rambau [2003] Julian Pfeifle and Jorg Rambau. 2003. Computing Triangulations Using Oriented Matroids. In Algebra, Geometry and Software Systems, Michael Joswig and Nobuki Takayama (Eds.). Springer Berlin Heidelberg, Berlin, Heidelberg, 49–75.
  • Rambau [2003] Jörg Rambau. 2003. On a generalization of Schönhardt’s polyhedron. Combinatorial and computational geometry 52 (2003), 510–516.
  • Remacle et al. [2016] Jean-Francois Remacle, Rajesh Gandham, and Tim Warburton. 2016. GPU accelerated spectral finite elements on all-hex meshes. J. Comput. Phys. 324 (Nov. 2016), 246–257.
  • Schewe [2010] Lars Schewe. 2010. Nonrealizable minimal vertex triangulations of surfaces: showing nonrealizability using oriented matroids and satisfiability solvers. Discrete & Computational Geometry 43, 2 (2010), 289–302.
  • Shepherd and Johnson [2008] Jason F. Shepherd and Chris R. Johnson. 2008. Hexahedral mesh generation constraints. Engineering with Computers 24, 3 (Sept. 2008), 195–213.
  • Si [2015] Hang Si. 2015. TetGen, a Delaunay-Based Quality Tetrahedral Mesh Generator. ACM Trans. Math. Software 41, 2 (Feb. 2015), 1–36.
  • Sokolov et al. [2016] Dmitry Sokolov, Nicolas Ray, Lionel Untereiner, and Bruno Levy. 2016. Hexahedral-Dominant Meshing. ACM Transactions on Graphics 35, 5 (June 2016), 1–23.
  • Solomon et al. [2017] Justin Solomon, Amir Vaxman, and David Bommes. 2017. Boundary Element Octahedral Fields in Volumes. ACM Transactions on Graphics 36, 3 (May 2017), 1–16.
  • Sorensson and Een [2005] Niklas Sorensson and Niklas Een. 2005. Minisat v1. 13-a sat solver with conflict-clause minimization. SAT 2005, 53 (2005), 1–2.
  • Wang et al. [2004] Erke Wang, Thomas Nelson, and Rainer Rauch. 2004. Back to elements-tetrahedra vs. hexahedra. In Proceedings of the 2004 International ANSYS Conference. ANSYS Pennsylvania.
  • Yamakawa and Shimada [2003] Soji Yamakawa and Kenji Shimada. 2003. Fully-automated hex-dominant mesh generation with directionality control via packing rectangular solid cells. International journal for numerical methods in engineering 57, 15 (2003), 2099–2129.
  • Ziegler [1995] Gunter M. Ziegler. 1995. Lectures on Polytopes. Graduate Texts in Mathematics, Vol. 152. Springer New York, New York, NY. DOI: 10.1007/978-1-4613-8431-1.