2. Base Graphs

advertisement
Generating a Mixed Mesh of Hexahedra, Pentahedra and Tetrahedra from
an Underlying Tetrahedral Mesh
Sia Meshkat Dafna Talmor
sia@lmscadsi.com dafna@lmscadsi.com
(408) 445-3934 (408) 445-3934
LMS CADSI
Fax: (408) 445-3936
3150 Almaden Expressway, Suite 104
San Jose, CA 95118, USA.
Key words. Hex-dominant, hexahedra, tetrahedra, Pentahedra, indirect hexahedral meshing.
Abstract. The decomposition of an arbitrary polyhedral domain into tetrahedra is currently
more tractable than its decomposition into hexahedra. However, for some engineering applications,
a mesh composed of hexahedra, or even a mixture of hexahedra, pentahedra and tetrahedra, is
preferable. One such application is the p-type finite element method, where the total number of
elements should be as small as possible.
We show in this paper, that given a tetrahedral decomposition, some of the tetrahedra can be
efficiently combined into hexahedra and pentahedra. The basis of the method is a classification,
using a generalized graph representation, of all possible tetrahedral decompositions of pentahedra
and hexahedra.
We then present a tetrahedral merge algorithm that utilizes this result to search for the subgraphs of hexahedra and pentahedra in a tetrahedral mesh. The problem of finding an optimal
solution is NP-complete. We present heuristics to increase the number of hexahedra and pentahedra,
given a reasonable amount of computation time.
The algorithm has been implemented in the PolyFEM mesher, and examples showing the
typical merge success of the algorithm are included.
1. Introduction
Many applications require arbitrary polyhedra to be decomposed into simple polyhedra of
fixed topology called elements, such as tetrahedra, pentahedra and hexahedra. Elements are made
up of vertices (nodes), edges and faces. Predefined rules restrict how two elements may be
geometrically connected.
The most common restriction is that the two elements should be either disjoint, or share one
or more vertices. Occasionally, further restrictions are placed to require that the elements must share
a whole face, edge, vertex, or nothing. This is known as a geometric complex [1] in topology.
Most applications allow a variety of element types such as tetrahedra, pentahedra (triangular
prisms) and hexahedra with quadrilateral faces. Furthermore, using a balanced mixture of these
elements in decomposition is occasionally preferable to using only one element type. This could be
due to technical reasons such as better performance, or to human preference, such as easier
visualization of the results. For most geometric objects used in engineering, a tetrahedral
decomposition has more elements than a mixed decomposition which uses quadrilateral hexahedra
(or bricks) and triangular pentahedra (or prisms). For a P-type finite element solver, such as
PolyFEM [2], it is crucial that the total number of elements should be as small as possible, while
maintaining their geometrical quality.
The problem of decomposition of arbitrary polyhedra into simple polyhedra of fixed
topologies is very difficult. Even its simplest form, i.e., tetrahedralization, is difficult enough [3]. It
is not surprising that most of the research to date has concentrated on decomposition into tetrahedra.
However, the state of tetrahedralization of arbitrary polyhedra is improving, both on the theoretical
and practical front. Theoretical results give bounds on the number of tetrahedra necessary to
decompose a domain [4], supply conditions for the existence of such a decomposition [3,5], or
provide algorithms with theoretical guarantees [6-10]. In practice, several programs to decompose a
domain into tetrahedra exist [2.11-14].
The problem addressed by this paper is, given a tetrahedral decomposition can one merge
some of the tetrahedra into other types of elements, such as pentahedra and hexahedra. Since the
PolyFEM solver allows it, we sometimes take the following liberty to increase the chances of
success:
A quadrilateral face of one element may be connected to two triangular faces of two other
elements.
We try to use this option as rarely as possible, since it encumbers the solver.
We discuss a new method to find and construct pentahedra and hexahedra in a
tetrahedralization. Our method is based on finding sub-graphs in the tetrahedralization that can be
replaced by a single node representing the new element. To do this we first present a complete
enumeration of all the ways of combining tetrahedra into pentahedra and hexahedra. Section 2
presents the decomposition graphs and proves they represent all possible graphs for a
decomposition of the cube into five or six tetrahedra. Section 3 details our algorithm that uses the
decomposition graphs to search for hexahedra and pentahedra. Section 4 presents global heuristics
incorporating the local search, and briefly mentions other strategies incorporated into PolyFEM that
use topological and geometrical changes to increase the number of hexahedra and pentahedra. We
conclude with several examples.
2. Base Graphs
Hexahedra and pentahedra may be decomposed into tetrahedra in a number of ways. Each
decomposition is a 3-dimensional subdivision of space, and therefore can be topologically described
by a 3-dimensional generalized graph of vertex, edge, face and region entities. For efficient,
computations, it is useful to extract a subgraph of the dual graph, containing only two types of
entities. This is the Region-Face-graph or RF-graph of the 3-D subdivision. In this type of graph,
the vertices and edges of the graph correspond to the (tetrahedral) regions and (triangular) faces of
the subdivision, respectively. This graph has several advantages, which will be proved later. For
example, the RF-graph of a tetrahedral subdivision of a hexahedron or pentahedron is planar.
Obviously, any graph extracted from the generalized graph of a 3-D subdivision is certain to
leave out some of the original information. For our purposes, it is important to distinguish between
internal and external faces of the subdivision. Internal faces of the subdivision provide the
connectivity between a pair of adjacent tetrahedra. We represent internal faces as solid edges in the
RF-graph. The external faces can be deduced, since each tetrahedron has four faces in total. On the
other hand, some pairs of external (triangular) faces are combined to make a quadrilateral face on
the boundary of a hexahedron or pentahedron. We call such a pair of faces a quadrilateral pair. For
pentahedra some external faces end up as triangles on the boundary of the pentahedron, as well.
Note that in the decomposition of a hexahedron or a pentahedron, two tetrahedra can have at most
one quadrilateral pair in common. Therefore, a quadrilateral pair is uniquely identified by a pair of
tetrahedra.
We extend the RF-graph representation using dashed edges to represent external quadrilateral
pairs. Figure 1(a) shows a pair of tetrahedra, which share an internal face and have a quadrilateral
pair of external faces. Figure 1(b) shows the corresponding extended RF-graph. These tetrahedra
together form a pyramid and in fact the graph shown here is the extended RF-graph for pyramids.
The term RF-graph will continue to refer to the solidly outlined sub-graph of the extended RFgraph.
(a)
(b)
Figure 1: (a) adjacent tetrahedra (b) their extended RF-graph
2.1 Pentahedron Graphs
There is only one unique RF-graph for a pentahedron. It is shown in Figure 2. The numbers
on the graph vertices record the number of boundary triangular faces for the corresponding
tetrahedron. Whereas this is a useful notation, it contains no additional information since that
number is always four minus the degree of the node in the RF-graph.
3
2
3
Figure 2: Pentahedron Graph
2.2 Hexahedron Graphs
It has been known for centuries that a cube can be decomposed into five or six tetrahedra.
Bigdeli [15] and de Loera [16] both supply an enumeration of the different, possible
decompositions of the cube. Their work is more general but does not contain the RF-graph
representation that was found helpful in the mesh generation context. (It is interesting to point out
that the decomposition work in this paper was carried out earlier than the above authors' work, but
was not published due to a pending patent application [17]).
The general non-regular hexahedron can be decomposed into 5 to 13 tetrahedra. If the
hexahedron is close to a cube, as is desirable in mesh generation applications, this is only possible
by the addition of thin and flat (sliver-shaped) tetrahedra with all four vertices nearly coplanar. For
the remainder of this paper, we focus on tetrahedral decompositions of hexahedra into five or six
tetrahedra, though our implementation does include cases that are more general. The RF-graph
representation enables the simple addition of slivers, but currently we know of no complete
enumeration of all decompositions of general hexahedra and pentahedra.
Theorem 1. There are six distinct RF-graphs for decomposing hexahedra into five or six
tetrahedra.
The details of the proof are contained in the rest of this section. The following three lemmas
provide powerful tools in eliminating many candidate decomposition graphs.
Lemma 1. The RF-graph of a tetrahedral decomposition of a hexahedron into 5 or 6
tetrahedra is planar.
Proof: By Kuratowski's Theorem, we know that every non-planar graph must contain as a
sub-graph or a minor either the star graph or the utility graph [18]. Recall that the star graph is a
complete graph with five vertices and l0 edges, and that the utility graph is a complete bipartite
graph with six vertices and nine edges. Let N  5,6 be the number of nodes in the RF-graph. Let E
be the number of edges, then 2E  4N  12 , or E  2N  6 . The edge counts indicate that, for both
N  5 and N  6 , the RF-graph can not contain the Kuratowski graphs either as a sub-graph or a
minor. o
Lemma 2. The RF-graph of all tetrahedral decompositions of a hexahedron into six
tetrahedra has exactly one cycle. The decomposition into five tetrahedra contains no cycles.
Proof: Let F and R  5,6 denote the number of faces and regions in the original subdivision.
There are 12 triangular faces on the boundary of the subdivision. Let Fint be the number of internal
faces, and let Fext  12 be the number of external faces. We get 4 R  12  2 Fint , or, Fint  2R  6 .
Therefore, R  5 implies Fint  4 , and R  6 implies Fint  6 .
Now recall that the RF-graph for all tetrahedral decompositions is planar, therefore it obeys
Euler's formula for 2-dimensional subdivisions of zero genus:
v e f  2,
Note that v is the number of tetrahedra, and e  Fint is the number of interior faces. This
V2
, f  2 . One face of the planar graph is the infinite region. Therefore,
36A2
the other face must be a cycle. For v  5 , f  1 and the graph, since it is connected, is a tree. o
Lemma 3. In a tetrahedral decomposition of a hexahedron, a tetrahedron with 3 boundary
faces cannot be connected to another tetrahedron with 2 or 3 boundary faces.
Proof: Let t be a tetrahedron with three boundary faces which is connected to another
tetrahedron u with n  2 boundary faces. A tetrahedron with three boundary faces must be sliced
implies that for  
from a corner of the hexahedron. Then u can be one of only four possible tetrahedra made with the
interior face of t and the vertices not in t . It is easy to see that in three of these cases u has one
boundary face, and in one case u has no boundary faces. Therefore, u cannot have two or three
boundary faces. o
We label each node in the RF-graph with its number of boundary faces. The previous Lemma
can be graphically depicted as the forbidden sub-graphs shown in Figure 3.
3
2
3
3
Figure 3: Forbidden sub-graphs
Equipped with the three lemmas, we can proceed to search for the graphs.
First, for a decomposition into five tetrahedra, the graph is a tree, and Lemma 3 implies that
the only possible decomposition is as in Figure 4: the graph contains at least two nodes of degree
one. By Lemma 3, both these nodes must be connected to a. node of degree three at least, so both
are connected to the same node. Clearly, the fifth node must also be connected to this central node,
resulting in the graph of Figure 4.
3
3
0
3
3
Figure 4: Hexahodral Graph of 5 tetrahedra
For a decomposition into six tetrahedra, there must be a single cycle of n  3,4,5,6 vertices in
the graph:
For n  6 we get a single possible graph shown in Figure 5. This is known as Kuhn's
decomposition of a cube [19].
2
2
2
2
2
2
Figure 5: Hexahedral Graph of 6 tetrahedra with a 6-cycle
For n  5 we also get a single possible graph shown in Figure 6.
2
2
2
2
1
3
Figure 6: Hexahedral Graph of 6 tetrahedra with a 5-cycle
For n  4 we also get three possible graphs, but one is easily ruled out via Lemma 3. The
remaining two are shown in Figure 7 and Figure 8.
3
1
2
2
1
3
Figure 7: Hexahedral Graph of 6 tetrahedra with a 4-cycle
2
2
1
1
3
3
Figure 8: Hexahcdral Graph of 6 tetrahedra with a 4-cycle
For n  3 we also get three possible graphs, but two are easily dismissed via Lemma 3. The
remaining one is shown in Figure 9.
3
3
1
1
1
3
Figure 9: Hexahedral Graph of 6 tetrahedra with a 3-cycle
This completes the enumeration of RF-graphs of all possible decompositions of a hexahedron
into five or six tetrahedra.
3. Local Search
As mentioned earlier, each RF-graph is extended with additional information about pairs of
tetrahedra that must share a quadrilateral pair. In addition, symmetrically distinct graph-vertices are
labeled with an arrow. The arrows show the possible roots of search trees for the graphs.
Extended RF-graphs are a good compact way of storing conceptual templates for a tetrahedral
decomposition. However, since finding hexahedra and pentahedra in a tetrahedrization involves
finding a subgraph that matches a given graph, the use of a graph is somewhat inefficient. Instead,
for a given graph we construct all possible search trees, one for each root node. The six RF-graphs
are therefore converted into 14 search trees in total. (Our implementation, that includes
decompositions of up to thirteen tetrahedra, uses about thirty search trees.) As an example, two
search trees extracted from Figure 9 are shown in Figure 10. The numbers on the nodes are
sequence numbers used to assign a node to a tetrahedron. The solid lines depict the tetrahedra that
share a face, whereas dashed lines represent the constraint to find a quadrilateral pair.
LINK 1, 2
QUAD 1, 2
LINK 2, 3
LINK 2, 4
LINK 3, 4
LINK 3, 5
QUAD 1, 5
QUAD 3, 5
LINK 4, 6
QUAD 1, 6
QUAD 4, 6
QUAD 5, 6
1
2
3
4
5
LINK 1, 2
LINK 1, 3
LINK 1, 4
QUAD 1, 3
LINK 2, 4
LINK 2, 5
QUAD 2, 5
QUAD 3, 5
LINK 4, 6
QUAD 4, 6
QUAD 3, 6
QUAD 5, 6
1
2
3
4
5
6
6
Figure 10: Search Trees fur 6-tetrahedra 3-cycle graph
From each tree, a program is generated with 10-12 steps. There are two instructions in this
program called LINK and QUAD, each with two operands, which are the nodes of the tree. A
"LINK a, b" instruction starts a search from the tetrahedron assigned to node a for a tetrahedron to
assign to node b of the graph. A "QUAD a, b" instruction verifies that the tetrahedra already
assigned to nodes a and b have a valid quadrilateral pair, i.e. two faces which can be paired together
to form a valid quadrilateral. The LINK and QUAD may either succeed or fail. If they fail, a
backtrack to an earlier LINK is performed. If all possible assignments have failed for a LINK or
there is no earlier LINK statement, the search fails for this particular search tree. LINK and QUAD
statements correspond to the solid and dashed edges in a search tree, respectively. The program
corresponding to a search tree in Figure 10 is shown adjacent to the tree.
As each face of the tetrahedrization is assigned to a LINK or QUAD, it becomes unavailable
for further assignment. As each backtrack takes place, the assigned faces become available for other
assignments. If the search program is executed to completion, the search is successful.
The RF-graph only establishes graph-theoretical conditions for existence of a given
polyhedron, i.e. hexahedron or pentahedron. Additional topological criteria are necessary to ensure
the validity of the polyhedron. For example, in a tetrahedrization that represents tetrahedra made of
various material, coded as such, it must be ensured that the material boundaries are not crossed
during the template matching.
Depending on the application, there may also be geometric constraints that the recomposed
polyhedron must have. For example, for the Finite Element Method the total distortion of the
quadrilateral faces of the polyhedron from a plane must be controlled to ensure accurate numerical
results. We use two quantities to measure the distortion of a quadrilateral face. The first quantity is
the Minimum Acceptable Dihedral Angle or dangle. The second quantity is the Maximum
Acceptable Face Angle or fangle. The best possible shapes are achieved with the strictest values for
these parameters, i.e. dangle = 180° and fangle = 90°. As these values are relaxed, the probability of
a successful match is increased.
It is possible to have several polyhedra with different search trees incident to a starting
tetrahedron. For this reason, it is best to find all such polyhedra, and pick the one with the least
amount of total distortion. In addition to the criteria already mentioned, we have used a nondimensional volume to area ratio as a general shape measure. For example, we use
V2

36A2
where V and A are the volume and total surface area of the polyhedron. It is normalized to
give positive values less than 1.
4. Global Search
The global search algorithm is a process of taking the original tetrahedralization and replacing
recognized subgraphs of it by single nodes (i.e. hexahedral or pentahedral elements). In general, this
transformation is not unique. It is also difficult to define a single global objective function by which
to choose between two transformations. The objective function is largely application-dependent, but
should generally contain the following components:
1. The final number of elements is as small as possible.
2. The number of situations where the quadrilateral face of one element is connected to
triangular faces of two other elements is minimal.
3. Average distortion of the elements is as small as possible.
The problem of finding a globally optimal merge is NP-complete in three dimensions. In
contrast, the two-dimensional problem of merging triangles into quadrilaterals can be phrased as a
maximum-weight matching problem which is solvable in polynomial time [20].
The basic step in our merge algorithm is to search the combinatorial space of threedimensional tetrahedra matches to detect the set of potential matches for each tetrahedron. The
backtracking property of the local search-tree algorithm eliminates unnecessary search work in the
presence of geometric or combinatorial constraints. We identify two global strategies based on the
local search:
Exhaustively greedy: a two-phase approach. In the first phase, the set of possible matches of
all tetrahedra is exposed. In the second phase, the next best available match is iteratively picked.
Greedy: an unmatched tetrahedron is picked, the set of its possible matches is exposed, and
the best match out of this set is picked.
The greedy strategy is computationally more efficient than the exhaustively greedy strategy,
since previously picked matches limit the space of possible matches for the current tetrahedron. We
therefore employ the exhaustively greedy strategy to the boundary faces only. The merging
algorithm is composed of the following four steps:
Generating a high-quality initial solution to the merge problem over the boundary tetrahedra
using the exhaustively greedy strategy.
Using local search techniques [21] to step from the initial solution to a solution closer to
optimal. If the initial solution is within the neighborhood of the optimal solution, the local search
technique will converge to it, which emphasizes the importance of obtaining a high-quality initial
merge.
Post-merge transformations enhance the solution by changing the merge structure to
accommodate more hexahedra and pentahedra. Since the mesh structure changes, the solution may
exceed in quality the optimal solution targeted in the two previous steps.
Employing the greedy strategy on the remaining unmatched internal tetrahedra.
4.1 Exhaustively greedy boundary merge
In the first step of the initial boundary merge, a list of the possible elements at each boundary
face is prepared. Whereas the number of topologically valid elements may be large, geometrical
constraints typically limit the number of possible elements at a face to 1-5. Naturally, when the edge
sizes relative to the model are smaller the average number of matches increases accordingly.
The process of merging starts by inspecting the set of possible elements and greedily picking
the best element available. The best element is defined as the one having (criteria are listed from
most to least important): best element type (hexahedra being preferable to pentahedra) belongs to
boundary tetrahedron with fewest number of possible matches left least non-conformities
(quadrilateral face neighboring two triangular faces) highest quality.
4.2 Local optimization
Local optimization aims to improve the current solution by repeatedly selecting a near-by
solution that improves the score of the current solution. Whereas local optimization converges to an
optimum using low-cost incremental steps, that optimum might be local, rather than global.
However, if the initial solution is close to the maximum then local optimization can lead to the
globally optimal solution. Our initial solution is based on a thorough search of all matches and is of
reasonably high quality. Furthermore, the initial exhaustive search supplies us with a loose upper
bound that enables us to estimate the distance of the solution from global optimality.
The local optimization considers all solutions that are close to the current solution, and selects
the one that is the most improving. Given a solution, the set of nearby solutions is constructed by
considering local rearrangement of elements around unmatched boundary faces. For an example
taken from a sample run, see Figure 11.
An example of a local optimization transformation: (a) the initial configuration includes a prism, a
brick, and an unmatched boundary face; (b) the final configuration contains two bricks.
Figure 11: an example of a local optimization transformation
4.3 Post-Merge Transformations
This section describes transformations applied to the mesh after the local optimization step.
The transformations operate on a mesh composed of bricks, pentahedra and tetrahedra, and are
characterized by the fact they alter the underlying tetrahedral mesh structure. Note that the previous
section described transformations that merged or unmerged elements, but the underlying tetrahedral
structure was left unchanged.
We use the following types of transformations:
Smoothing transformations.
Vertex-split transformations. (Changes the mesh topology and geometry.)
Edge contractions. (Changes the mesh topology and geometry.)
4.3.1 Smoothing transformations:
Two adjacent pentahedra that share a common quadrilateral face can be merged into a brick if
their triangular faces can be merged into quadrilateral faces. In general, it is the case that such a
brick was not identified at earlier phases because the resulting brick would have unacceptable
geometric quality. Smoothing can make the resulting brick geometrically valid. For example, see
Figure 12. Similar transformations can be applied to a topological pentahedron, and a topological
pentahedron neighboring a pentahedron.
4.3.2 Vertex splitting
This transformation identifies two neighboring tetrahedra that can form a pyramid, and
employs a vertex split to transfer the pyramid into a pentahedron.
Figure 13 demonstrates one such split transformation. First, a pyramid is identified. The basis
of the split transformation is that of splitting a vertex into an edge. In this case, the apex of the
pyramid is to be split into an edge. The second row shows the object after the split: on the left, the
two original tetrahedra forming the pyramid, with the new edge. On the right, the new edge,
together with the new triangular faces added. The disadvantage of a split transformation is that
several tetrahedral regions must be added around the new edge. In this example, 6 new tetrahedrons
are added. Finally, a new pentahedron element is merged using the pyramid's tetrahedra. and one of
the new tetrahedra added. This is a trade-off between adding a pentahedron on the boundary, and in
this case the quadrilateral face of the pentahedron was on the boundary, to adding new tetrahedra to
the interior of the mesh. Using two split transformation, a tetrahedron can be turned into a
pentahedron.
4.3.3 Edge contraction
A tetrahedron "sandwiched" between two merged elements is identified, and collapsed if
possible. The tetrahedron can be collapsed if its collapse will not form illegal non-conformities or
geometrically invalid elements.
Figure 12: two pentahedra merged into a, brick using smoothing
Figure (a) showst he initial pyramid element. Figures (b) and (e) shows the split node p hase: a new
edge is added (b), and a ring of faces аnd regions is added around the new edge.
Figure (d) shows the initial prism element.
Figure 13: Split transformation takes a pyramid to a pentahedron
5. Examples
This algorithm was implemented in the PolyFEM mesher, an automatic 3-D mesh generator
[2]. If all tetrahedra are combined into hexahedra, each consisting of 6 tetras, the percentage of
reduction is around 83%. This is an approximate upper bound on what can be achieved.
The primary application of this program is Finite Element Analysis [22]. We have used this
new method to generate Finite Element meshes for both h- and p-version to reduce the solution
time, without affecting the accuracy of the solution. Although our approach can employ pyramid
elements to further reduce the number of elements and the number of non-conformities, this type of
element is not available in the FEM solvers that we have used.
In figures 14-16, we show the results of our algorithm on three realistic models. We report the
original number of tetrahedra, the final number of mixed elements and the percentage of reduction
in the number of elements. As expected, the success ratio increases with the number of tetrahedra in
the original mesh. The results reported here do not. reflect the impact of the post-merge
transformations, which tends to improve mergeabilty further.
For mostly historical reasons, the acceptance of automatic mesh generators in the Finite
Element community increases with its ability to produce hexahedra and pentahedra instead of
tetrahedra.
Acknowledgement
Some of this work was completed while Sia Meshkat was at IBM Almaden Research Center.
The original idea of transforming a tetrahedrization into a mixed decomposition is due to V.T.
Rajan at IBM T.J. Watson Research Center.
References
Hocking JG, Young GS. Topology, Dover: New York, 1961.
Meshkat S, Ruppert J, Li H. Three-Dimensional Unstructured Grid Generation Based On
Delaunay Tetrahedrization. Proceeding of the Third International Conference on Numerical Grid
Generation. Barcelona, Spain, 1991; 841-851.
Ruppert J, Seidel R. On the Difficulty of Tetrahedralizing 3-Dimensional Non-Convex
Polyhedra, Proceeding of the Fifth Annual Symposium on Computational Geometry. Saarbruchen,
Germany, 1989; 380-392.
Chazelle B, Palios L. Triangulating a Nonconvex Polytope. Proceeding of the Fifth Annual
Symposium on Computational Geometry. Saarbruchen, Germany, 1989; 393-400.
Shewchuk JR. A Condition Guaranteeing the Existence of Higher-Dimensional Constrained
Delaunay Triangulations. Proceedings of the Fourteenth Annual ACM Symposium on
Computational Geometry, 1998.
Bern M, Eppstein D. Provably Good Mesh. Generation. Proceeding of the 31st IEEE
Symposium, on Foundations of Computer Science. 1990.
Miller GL, Talmor D, Teng SH, Walkington N, WangH.. Control volume meshes using
sphere packing: generation, refinement and coarsening. Proceeding of the 5th International Meshing
Roundtable, Sandia National Laboratories, Albuquerque, NM, 1996; 47-61.
Mitchell SA, Vavasis SA, Quality mesh generation in three dimensions. Proceeding of the 8th
Annual ACM Symposium on Computational Geometry 1992; 212-221.
Shewchuk JR. Tetrahedral Mesh Generation by Delaunay Refinement. Proceedings of the
Fourteenth Annual Symposium on Computational Geometry 1998.
Chew LP. Guaranteed quality Delaunay meshing in 3D. Proceeding of the 13th Annual ACM
Symposium on Computational Geometry, 1997: 391-393.
Cavendish JС, Field DA, Frey WH. An Approach to Automatic Three-Dimensional Finite
Element Mesh Generation. International Journal of Numerical Methods in Engineering 1985; 21:
329-347.
Sapidis N, Perucchio R. Domain Delaunay Tetrahedrization of Arbitrarily Shaped Curved
Polyhedra Defined in a Solid Modelling System. Proceeding of the ACM Symposium on Solid
Modelling Foundations and CAD/CAM Applications. Austin, Texas, 1991.
Schroeder WJ. Shephard MS. Geometry-Based Fully Automatic Mesh Generation and the
Delaunay Triangulation. International Journal of Numerical Methods in Engineering 1988; 26:
2503-2515.
Vavasis
S,
QMG:
a
finite
element
mesh
generation
package.
http://www.cs.cornell.edu/Info/People/vavasis/qmg-home.html. Last access July 1999.
Bigdeli F. Regular Triangulations of Convex Polytopes and d-Cubes. PhD thesis. University
of Kentucky, Lexington, 1991.
de Loera J, Triangulations of Polytopes and Computational Algebra. PhD thesis, Cornell
University, Ithaca, 1995
Meshkat S. Method and system for producing mesh representations of objects. U.S. Patent
5553206, Sept. 1996.
Liu CL. Introduction to Combinatorial Mathematics. McGraw-Hill: New York, 1968.
Moore D, Warren J. Adaptive Mesh Generation I: Packing Space. Technical Report 90-106,
Department of Computer Science, Rice university, 1990.
Cook WJ, Cunningham WH, Pulleyblank WR, Schrijver A. Combinatorial optimization. John
Wiley and Sons: New York. 1998.
Aarts E, Lenstra JK. Local Search in Combinatorial optimization. John Wiley and Sons: New
York, 1997.
Zienkiewicz ОС, Morgan К. Finite, Elements and Approximation. John Wiley and Sons:
New York, 1983.
Download