Professional Documents
Culture Documents
679-696 (1974)'
SUMMARY
The object of this paper is to describe a new algorithm 'for the semi-automatic - triangulation of arbitrary,
multiply connected planar domains. The strategy is based opon a modification of a finite element mesh genera-
t ion algorithm recently developed.' The scheme is designed for maximum flexibility and is capable of generating
meshes of triangular elements for the decomposition of virtually any multiply connected planP,r dornain.
Moreover, the desired density of elements in various regions of the problem domain is specified by the user,
thus allowing him to obtain a mesh decomposition appropriate to the physical loading and/or boundary
conditions of the particular problem at hand. Several examples are presented to illustrate the applicability of
the algorithm. An extension of the algorithm to the triangulation of shell structures is indicated.
INTRODUCTION
The use of finite element methods for the analysis o( cornplex structures has created the need for
simple computer algorithms for managing the 'numerical book-keeping' typically associated
with the input and output of such problems. In many cases, the overriding difficulty of the finite
element analysis is the generation of error-free triangulations. 2 •3 In view of this situation, a
number of mesh generation algorithms of varying degrees of automation have recently been
r
proposed.' At one extreme are the fully automatic methods which require a minimum of user
input and in which the algorithm itself determines regions of high and low element densities.
At the other extreme are simple methods which require the user to completely define the element
mesh, while the algorithm itself performs only minor clerical operations such as checking for
consistency and error detection. By the nature of the difficult task they must perforen (i.e. the
automatic grading of' the mesh), the fully automatiemethods tend to be somewhat inflexible and
frequently time consuming to irnplement. On the other hand, the simplest of the mesh generation
schemes fail to relieve thc user of enough of the tedium accompanying manual decomposition of
the structure. With these considerations in mirad, we feel that the semi-automatic mesh generation
algorithm described in this paper is a good compromise between the two extremes in mesh
generation. While it does not automatically generate an optimally gradará triangulation of the
structure, it does offer the user a large amount of control over the mesh grading while at the same
time not requiring the user to provide large amounts of input data.
679
680 JAMES C. CAVENDISH
1. The user should be able to control element density in any part of the region.
2. The element distribution should vary smoothly over the region, and elements should be as
close to equilateral triangles as possible.
3. The algorithm should be able to handle multiply connected regions. `/
4. The algorithm should yield an ordering system which results in good computational
characteristics for finite element .alculations.
5. The algorithm shbuld be economical with respect to both computer time and manual
effort.
A modification of an algorithm presented recently by J. Suhara and J. Fukuda l comes as close
as any we have yet seen to meeting the objectives usted aboye. To begin, we first give a detailed
description of the modified Suhara—Fukuda algorithm, pointing out as we progress what modi-
fications we have made to the original algorithm and why we have chosen to make such
modifications.
INPUT
User supplied information such as co-ordinates of boundary nodes, fixed interior
nodes and node density information.
POINT
Interior nodo points automatically generated consiste It with node dcnsity informa-
(ion.
TRIANGLE
Interconnect nodos to form valid triangulation consistcnt with requirement that
elements be as close to equilateral triangles as possible.
SMOOTH
Smooth triangulation by an averagi ng scheme.
•■••■■••■
16
13
1112
Figure 2. The domain R with counter-clockwise ordering of boundary nodes
Figure 3. Zonal decomposition of R. Within each subregion R n zi, triangle node density will be constant
of the input parameter e also becomes apparent. In order that the final triangulation does not
contain triangles near the boundary aR with very acute interior angles, all points to be sub-
sequently generated by POINT are first reqvired to lie in 11 .
•
c,_.1 ----
o .
.
•
As many as five consecutive attempts are made to generate a retainable random point in any
one subsquare. lf no point is successfully generated after five consecutive attempts, then no node
is designated in that subsquare and the next subsquare is considered. This process is repeated
until all subsquares have been tested. Finally, i is replaced by i+ 1 and the strategy is repeated to
generate nodes in ÍZ fl Z .
It is clear that interior node density is controlled in a zonal fashion by the value ri assigned by
the user to zone Z. The smaller the value r i the finer will be the triangulation in fl Z1 . The
final distribution of automatically generated interior node points for the region in Figure 2 with
node density of Figure 3 is shown in Figure 6. In Figure 7 we give a fiow chart for the POINT
module.
Define region c R
(see Figure 4)
=k+ l
pm
Yes x. y)Pjx. yfl <
= 1, 2, .. i
o
No
Have all subsquares been tested?
Yes
Have all zones been tes ed?
Yes
interior
Node generati• n
is complete
e4
C
•
3 2• •
Exterior bandary d R
Figure 8. C, are candidata vertices for the triangle with base AB •
686 JAMES C. CAVENDISH
boundary segment. If this is the case, then C, is discarde from further consideration as a candi- .
AB. Next, a check is made to see if AABC k properly contains any dateopsivrxfb
of the other candidate vertices. If such is the case, the Ck is also rejected from further con-
sideration. In Figure 8, for example, it happens that C 1 ABC 4 , therefore, C. is discarded. The
determination of which node Ck e {C,, C2, C3, C 5 } in Fiilure 8 should be selected to forma new
element AABC k hinges on two considerations:
1. How 'close' to an equilateral triangle is AABC k ?
2. What are the possible consequences of using AC k or Ck B as base sides in a later stage of
element generation?
That 2 is an important consideration is seen in Figure 9 for the case k = 2.
As seen from Figure 9, AABC 2 may itself be equilateral as may be AA C 2 C3 . However, AC 2 BC, ,
which will likely be generated at some later stage when C2 B becomes a base side is far from
equilateral.
It remains to define 'closeness' when measuring the deviation of a triangle from an equilateral
triangle : Let AABC be an arbitrary triangle and let (5 be the length of the longest side of AABC,
and let fi be the distance between that side and the opposite vertex. Then, it is easy to show that
AABC is equilateral if and only ifYABC = .\/(3/4). We use the value —V(3/4)I associated
with triangle AABC as a measure of the deviation of that triangle from an equilateral triangle.
With these thoughts in mind and starting with k = 1 (omitting values of k which correspond to
dis ca rded candidate vertices) the following steps are used to optimally generate an element with
base AB:
1. Calculate yABck for AABC k .
2. Using AC k as a base, select from {C, , C 2 , . , C„} a point Ci which lies on the left of AC k and
which minimizes the length IACI +ICC ki over all C E {Ci , C 2 , . , C„}. Define o-Ac „ (IAC)+
ICiC,MACk i. (For example, in Figure 9, where k = 2, it wlould happen that Ci = C3).
3. Using CkB as a base, select from {C,, C2 , , C„} point C, which lies to the left of CkB
and which minimizes the length IC k CI + ICBI over all ICE {C i , Define sa co, =
(IC,C,I+IC I BWIC,B1. (In Figure 9, for k = 2, it would hapPen that C1 = C1 ).
4. Let C„, be e:ther C i defined in 2 or Ci defined in 3, whichever corresponds to min (u Ack , ack8 ).
The purpose of t,,is step is to single out for examination the triangle which will likely abut against
AABC, and which will have the most acute interior angles. This in effect is an estimation of the
`worsr consequence of selecting AABC k as an element.
5. If C„, = Ci , then define y„ YAckc i - If C„, = C,, then define yí = YckBc,•
6. Define the `poorness' parameter fik associated with AABC k by fi, = max (ryk —,./(1)1,
bh. —41).
AUTOMATIC TRIANGULATION OF ARBETRARY PLANAR DOMAINS 687
7. Set k = k + 1 and return to 1 if there are more candidate vertices to be tested. If all vertices
have been tested, define the optimal vertex opposite side AB to be that vertex, C k , corresponding
to the mínimum value of fi k defined in (6).
8. Assign a number to the new element'AABC,.
9. Repeat this process on the assumption that one side of the newly generated triangle (either
AC k or Ck B) is to correspond to the aboye mentioned base side AB. Continue the process until
R has been triangulated. Note. We use the parameter f3k defined in 6 as a device for determining the
`suitability' of the node C k for defining a new element AABC,. For each k, this parameter con-
siders two triangles, taking into account not only the quality of AABC„ (by considering y
k), but
also the quality of the triangle which will likely abut aglinst AABC, at a later stage of element
generation (by considering y ks). In the original algorithm, the `suitability index' fiik
is defined as
6'. Un [(Y ki +(yí, --,/(1) 2]4 1.
Our experience has indicated that the 1 2 -type measure flik tends to produce triangulations of
poorer quality than those generated by using fik . A little thought shows why this is the case: when
confronted with the choice between a `good' and a 'poor' triangle, and two mediocre triangles, the
original algorithm frequently selects the former. Hence, ii Figure 9, it is possible that the use of
13,1 will lead to the generation of AABC 2 as the optimal triangle. The consequence of this choice is
likely to be the generation of the poor element AC 2 BC 1 , at a later stage in the decomposition.
A flow chart describing the aboye procedure for automatic triangulation is shown in Figure 10.
Hence, each interior node (x 1 , yi ) of the triangulation is replaced by the centroid of the polygon
composed of those triangles which surround that node. The final triangulation then is that
produced by the TRIANGLE module where element vertices have been post-processed by the
smoothing formula (1).
Remarks
1. In all cases where an interior node point is automatically generated, we check to see that
it lies in the appropriate polygonal domain by using a point-in-polygon algorithm developed by
Nordbeck and Rystedt. 1 We have tested the algorithm on a variety of planar domains, and in
all cases it has terminated successfully yielding a valid decomposition.
t We wish to acknowledge Dr. William Frey of the General Motors Research Laboratories for suggesting to us this
smoothing modification.
688 JAMES C. CAVENDISH
1
Determine n points (n E 5) on the left-hand side of
AB in the order from the least length lAC,I+ IC,EII,
k = 1, 2, ... n.
751
3
Ii
•
1 1 15 any node C, (k
contained in hABC,?
1, 2, ...,
no
)
Ci• = C i
No
Replace AB with
ACJ and return to 2
Replace AB with
to 2
Ci/3 and returni
No
[Return to 11
2. The attempt so far has been to present a `blackbox' (non-interactive) algorithm requiring a
minimum of user input. The user need only supply initialization data upon which the algorithm
acts to produce the following information qecessary for a finite element analysis:
(a) Node numbers and their x and y coordinates.
(b) Element numbers and the node numbers at each corner of each element.
Although this degree of automation offers many advanriges, facility for user interaction with the
algorithm using a graphic display terminal also has strong appeal because of the rapid visual
feedback which is useful in judging the suitability of the triangulation. This interactive capability is
the subject of the next section.
AN INTERACTIVE IMPLEMENTATION
We have coded the modified Suhara—Fukuda algorithm on a commercial time sharing computer
system. When coupled with a graphic display unit this system has a graphic input-output
capability. With the aid of a graphic input device, the user can input on the cathode ray display
unit the appropriate boundary points needed to define the polygonal domain together with any
desired fixed interior node points. The zoned decomposition of the region required for specifica-
tion of a node density distribution can also be achieved by graphic input. The additional small
amount d'input information (such as the density parameter ri associated with each zone Z.) can
be entered by use of the convenient scratch pad ares provided by the system.
Upon viewing the distribution of node points automatically generated by the POINT module,
the user can delete any of the generated nodes or provide any additional nodes he may choose.
It is at this point, before the triangulation portion of the algorithm is entered, that the user can
correct any obvious flaws that will occur in the final triangulation of the domain. For example,
if POINT has failed to generate a sufficiently high density of points in a certain region, then the
graphic input device can be used to enter additional nodes in this region.
Finally, as elements are generated they are graphically displayed. Should he choose to, the
user can interrupt the generation of triangles at any stage.
EXAMPLES
In this section we provide several examples of domain triangulations. In all cases user interaction
with the algorithm was limited to providing the necessary boundary node description and node
density input information. Although some of the results appear as hard copies of plots taken from
the graphic display tube, it should be emphasized that all computational work could just as
easily have been done without the aid of graphics.
Figure 11 represents the smoothed triangulation of the polygonal region defined in Figure 2
using the zonal density dístribution defined in Figure 3.
Figure 12 shows the results of an automatic triangulation of a simple L-shaped region. For this
case a constant node density was used (r = 01) for the entire region.
Figure 13 illustrates a triangulation of the same L-shaped region, but with an interior hole.
The triangulation has been accomplished consistent with the node density distribution shown in
the insert.
Figure 14 shows an approximate quarter-annulus and an accompanying node density, while
Figure 15 displays the smoothed triangulation of the region.
Finally, consider the bell-shaped region with two interior holes shown together with a node
sch nsity definition in Figure 16. In Figures 17 and 18 we show various stages of a triangulation;
Figure 19 displays the final triangular decomposition.
Rernark. In practice it has been found that the total number of elements generated by the algorithm
is approximately equal to 1.6 times the number of node points. Also, experience has indicated
that in order to prevent the formation of triangles with extremely acute interior angles, consecu-
tiva boundary nodes falling in zone Z i should not be separated by distances appreciably different
from the density parameter ri associated with the region.
AUTOMA11C TRIANGULATION OF ARBITRARY PLANAR DOMAINS 691
4
Figure 14. Quarter-annulus with zonc node density definition and automatically generated interior node points
RCC i iu AA A / P ( v r C. \•t• I S 1
1-(E7R I(
firty4
AUTOMATIC TRIANGULATION OF ARBITRAR' PLANAR DOMAINS 693
( 3
=1-0
0
r
2
r 1.0
Figure 16. A planar domain containing two interior boles together with zone node density distribution
tS)C t" P) r p ! 7/ coL:x 4
Figure 17. Output produced alter the interior node points have been gencrated by the POINT module and MI« 25
elements have becn generated by the TRIANGLE module
I Ul (Vi vt ' .S
694 JAMES C. CAVENDISH
Figure 18. Output produce(' alter the interior node points have been generated by the POINT module and alter 224
elements have been generated by the TRIANGLE module
Figure 19. Final unsmoothed triangulation containing 343 elements and 204 nodes
AUTOMATIC TRIANGULATION OF ARB1TRARY PLANAR DOMAINS 695
CONCLUSIONS
An algorithm is proposed for the automatic triangulation of multiply connected planar domains.
In particular, these decompositions are especially suited for use in subsequent finite element
analysis of boundary value problems defined on these domains. Preliminary testing of the algo-
rithm shows :
1. The algorithm is reasonably easy to implement and use, and is capable of a good degree of
generality.
2. The algorithm permits the user to exercise varying degrees of control over the character
and properties of the final triangulation. In its non-interactive (`black box') mode, it provides all
interior nodes and elements of the triangulation, subject only to the user input of boundary
nodes needed to provide a polygonal definition of the planar region, and any information describ-
ing the node density desired.
3. A user interactive version of the algorithm has been developed for a commercial time sharing
computer system. In this setting the user can interrupt the element generation at any point he
chooses. We should emphasize that although user interaction with the algorithm using a graphics
terminal is appealing and useful, it is not a necessary option.
4. An approach, which extends the algorithm to the tri ngulation of shell structures which have
blending function representations, has been proposed.
REFERENCES
1. J. Fukuda and J. Suhara, 'Automatic mesh generation for finite element analysis',
Advances in Computational
Methods in Structural Mechanics and Design, (Ed. J. T. Oden, R. W. Clough and Y. Yamamoto), UAH Press,
Huntsville, Alabama, 1972.
2. C. O. Frederick, Y. C. Wong and F. W. Edge, 'Two-dimensional automatic meslrgeneration for structural analysis',
Int. J. num. Meth. Engng, 2, 133-144 (1970).
3. 0. C. Zienkiewicz and D. V. Phillips, 'An automatic mesh generation scheme for plane and curved surfaces by
lsoparametric' co;ordinates', Int. J. num. Meth. Engng, 3, 519-528 (1971).
4. W. D. Barfield, 'Numerical method for generating orthogonal curvilinear meshes', 1. Comp. Phys., 5, 23-33 (1970).
5. J. A. George, 'Computer implementation of the finite element meth Ph.D. Thesis, Stanford University, Stanford,
California (1971).
696 JAMES C. CAVENDISH t t.
6. J. A. Gill, 'Computer-aided .design of shell structures using the finite element method', Ph.D. Thesis,
of Cambridge, Cambridge, England (1972). University
7. W. .1 Gordon and C. A. Hall, `Geometric aspects of the finite element method: construction of curvilinear co-
ordinate systems and their application to mesh generation', s$eneral Motor: Research Report GM R-1286
8. H. A. Kamel and H. K. Eisenstein, 'Automatic mesh generation in two and three dimensional interconnected (1972).
domains', Symp. High .Speed Comptng. Elastic Struct., Liege, Belgium (1970).
9. G. M. McNeice and P. V. Marcal, 'Optimization of finite element grids based on minimum potential energy',
Brown Report, Brown University (1971).
10. E. G. Sewell, 'Automatic gencration of triangulations for piecewise polynomial approximation',
Ph.D. Thesi.s,
Purdue University, Lafayette, Indiana (1973).
_ 11. S. Nordbeck and B. Rystedt, 'Computer cartography point-in-polygon programs', err, 7, 39-64 (1967).
12. E. H. Cuthill and J. M. McKee, 'Reducing the bandwidth Pf sparse symmetric matrices', Proc. 24th Nal. Conf.
Assoc. Comput. Mach. ACM Publication P269, New York (1969).
13. E. H. Cuthill, 'Several strategies for reducing the bandwidth of matrices', Sparse Matrices and Their Applications
(Ed. D. J. Rose and R. A. Willoughby), Plenum Press, New York, 1972, pp. 157-160.
14. G. C. Everstine, 'The BANDIT computer program for the reduction of matrix bandwidth for NASTRAN',
Report
3827, Dep. of Navy, Naval Ship Research and Development Center, Bethcsda, Maryland (1972).
15. W. J. Gordon, 'Free-form surface interpolation through curve networks, General Motor: Research Report GMR-921
(1969).
16. D. H. Thomas and J. A. Wixom, `Dornain mapping via spline-blending and interactive graphics', General Motors
Research Report (in preparation).
17. 0. C. Zienkiewicz, 'The finite element method: from intuition to generality', Appl. Mech. Rey.
23,249-254 (1970).
18. W. R. Buell and B. A. Bush, 'Mesh generation—a,survey', J. Engng Ind., Trans. ASME, 332-338 (1973).