You are on page 1of 18

INTERNATIONAL JOURNAL FOR NUMERICAL METHODS IN ENGINEERING, VOL. 8.

679-696 (1974)'

AUTOMATIC TRIANGULATION OF ARBITRARY


PLANAR DOMAINS SOR THE FINITE
ELEMENT METHOD
JAMES C. CAVENDISH
Afathernatics Department, General Motors Corporation, General Motor: Technical Center,
Warren, Michigan, U.S.A.

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.

GOALS OF A MESH GENEPATION ALGORITHM


A reasonable objective of any mesh generation aigorithm should be to minimize the user data
input consistent with the following requirenaents:

Received 7 August 1973


Revised 23 January 1974
O 1974 by John Wiley & Son Ltd.

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.

THE MODIFIED SUHARA—FUKUDA ALGORITHM


The basic strategy of the method is as follows : 'The planar structure must first be replaced by an
arcwise connected polygonal region R (or the disjoint union of such regions) whose boundary
is composed of a disjoint union of simple closed piecewise linear ares. Since it may be de-
sirable that certain triangle nodes lie on (material) interfaces of the planar structure, we have
modified the original algorithm so that the user may specify any fixed interior node points he
chooses. The algorithm then proceeds to automatic.ally generate additional interior node points,
consistent with a user-supplied density distributioq described later. The program then connects
ah' nodes to form triangular elements such that no elements overlap and the entire region is
covered. The triangulation scheme is designed to produce elements as near to equilateral triangles
as the system of nodal points permits. It has been our experience that the quality of the triangula-
tion produced by the algorithm can be improved by applying a post-process smoothing technique
(described later) to the generated element nodes. The implementation oí this smoothing device is
also a modification that we have chosen to add to the original algorithm.
We should mention at this point that the algorithm to be described here is a two-• stage method
for triangulating multiply connected planar regions. That is to say, nóde points are specified or
autornatically generated in the first stage, while the final triangulation is accomplished by the
sec o nd stage. Although quite different in actual mechanism, Frederick, Wong and Edge 2 also
present a two-stage method for triangulating two4dimensional regions. In this case, all node
points of the idealization are manually plotted by the user on an electromagnetic graph-tracing
table. The triangulation is completed in the second stage by the computer program which fully
surrJunds each node point with triangles. When surrounding node i, a triangle ijk is created by
selecting an existing triangle side (ij) and determining node k such that the angle ikj is a maximum
and ijk is a counter-clockwise ordering of element vertic,es. This principie of fully surrounded
points tends to produce elements that are as close to equilateral triangles as the system of specified
node points allows.
The modified Suhara—Fukuda algorithm described here not only incorporales the feature of
the automatic generation of node points in its first stage, but both first and second stages are
designed to produce better quality trianguiations containing elements of a more regular chape.
This is achieved in the first stage by the use of a random number generator to obtain a statistically
uniform distribution of generated nodes, while in the second stage not only is the magnitude of
angle ikj considered when defining an element wi h base side (ij), but also the possible con:
AUTOMATIC TRIANGI It.ATION OF ARBITRA_RY PLANAR DOMAINS
681
sequences of using side (ik) or side (jk) as a base side in a later stage of element generation. Just
how these tasks are accomplished will be described in the following sections.
For purposes of flexibility and ease of exposition, the algorithm has been constructed from four
independent modules which we refer to as INPUT, POINT, TRIANGLE and SMOOTH.
The function of each of (hese modules will be described for a specific example in the next four
sections. An operacional flow chart of the modified algorithm is given in Figure I.

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.

•■••■■••■

Figure I. Modules of automatic triangulation algorithm, and thcir functions

FUNCTIGN OF INPUT MODULE


The user is first required to rnake an arcwise (multiply) connected polygonal approximation R
to the planar structure to be triangulat e d. The boundary l aR must be composed of a disjoint
union of simple, closed, piecewise linear ares. Starting with any node point on the exterior
boundary aR, the co-ordinates of all boundary nodes are provided by the user in counter-
clockwise order including node points on interior boundaries, i.e. node points on hales interior
to R. We illustrate this in Figure 2 where R approximates a dise with an interior circular hole.
The co-ordinates and node point numbers of any fixed interior node points are entered next and a
parameter e > O to be used in POINT is provided. In order to provide the facility for triangula-
tions of varying node density, the user is required to cover the region R with a disjoint set of simply
connected polygonal zones Z i ,R ;Z ; . In particular, for each zone Z i the user is required to
speci:y (in counter-clockwise order) the x-y co-ordinates which serye to define the boundary
aZ,. For each zone Z I there must be an accompanying density factor ri > O. Figure 3 illustrates a
zonal decomposition of R. This zone information is to be used in the POINT module where
interior node points will be automatically generated in each ubregion R n Z 1 . The node density,
determined by the value wíll be constant throughout R n Z i . The function of the input
parameters e and ri will become apparent in the descriptio of the POINT module.
682 JAMES C. CAVENDISII

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

FUNCTION OF POINT MODULE


The function of the POINT module is to generate node points interior to R consistent with the
zone density distribution provided by the INPUT module. First, POINT creates a new polygonal
region A by slightly shrinking the region R. This process is illustrated in Figure 4 where the role
AUTOMATIC TRIANGULATION OF ARBITRARY PLANAR DOMAINS 683

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 .

Figure 4. All automatically generated interior nodes must lie in I


Starting with i = 1, POINT circumscribes the smallest possible rectangle about zone Z,. A
square rectilinear grid of gauge ri is superimposed over the cirumscribing rectangle. This process
is illustrated in Figure 5 for the case i = 1. Starting with the lower left hand subsquare of the
rectilinear grid and working from left to right one row at a time an attempt is made to randomly
generate one interior node in each subsquare. In any subsquare, a generated point will be re-
tained as an interior point if it lies in the region Z 1 and if all other node points (boundary
nodes, fixed interior nodes, and previously generated nodes) lie outside of the dise of radius rj
centred at the point in question (cf Figure 5).

I
I
I I
-I-- • t 1.__
I
I I
i
. J
/

o ‘ //o
\
/
/


c,_.1 ----
o .

.

Figure 5. Generation of interior node points in II n Z 1 , by POINT module


684 JAMFS C. CAVENDISH

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.

Figure 6. Final interior node distribution for Figures 2 and 3

FUNCTION OF TRIANGLE MODULE


Assuming that we have generated a complete nodal system by the method described aboye, we
now describe how the algorithm interconnects these nodes to form a triangulation. We begin by
defining A to be the collection of all boundary and interior nodes, and an to be the subset of A
containing only the boundary nodes-Itipplied by the user in defining aR. By virtue of the counter-
clockwise ordering assigned to the nodes in BA, the polygon R has interior area situated to the
left of all connecting straight lines between two consecutive exterior boundary nodes in A.
First, any two connectedlodes A and B are chosen from A (the process is initiated by selecting
two consecutive nodes in aA). The goal is to determine a node C e A such that C lies to the left
of the directed line segment AB and such that the triangle AABC is in some sense optima'. To
this end, the nodes C 1 , C2 ,... , C„ (n 5) are determined such that Ck lies on the left-hand
side of AB and such that Ck minimizes over all C e , C2 , , Ck 1 } the lAigth OACI +KB].
We call these C k 's `candidate vertices'. This process is illustrated in Figure 8.
The problem now is to determine which node Ck E {C 1 , C2 , , C„} to select to define a new
element AABC k . The candidate nodes are first subject to some preliminary testing. Starting with
k = 1, a check is made to see if AABC * overlaps any previously generated triangle or any fixed
AUTOMATIC TRIANGULATION OF ARBITRARY PLANAR DOMAINS
685

Define region c R
(see Figure 4)

Generate rectangle approximately


circumscribing zone Z, and super-
impose square cartesian mesh of
side length r,. (see Figure 5)

=k+ l

Gene random point Pi(x, y) in


Yes kth subsquare ofcartesian mesh

is Pf(x, y)in iznzE :1


Yes

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

Figure 7. Flow chart for POINT

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.

Figure 9. Fossible consequence of choosing A.ABC 2 as optima! element

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.

FUNCTION OF THE SMOOTH MODULE


It has been our experience that triangulations produced by the TRIANGLE module can be
improved by the application of a smoothing technique. s t This technique is designed to perturb
the triangulation so that elements are more closely equilateral triangles.
To begin, let the two-tupleP1 (x 1 , fi), i = 1, 2, M — 1 represent the user-specified
boundary and fixed interior node points with co-ordinafes x 1 and y1 . LetP1 (x i , y), i = M,
M + 1, . . , N represent the automatically generated interior node points. With each auto-
matically generated interior point, associate a set of node points F(P i), i = M, M +1, , N, where
V« • F(Pi) contains those points connected to node P1 by the side of some triangle in the triangulation.
With IF(Pdf representing the total number of node points in the set 1--(1)1), severa] passes are made
through the following formula in the order i = M, M +1, . . , N :
t

(xi, y1) = [ (xk, yk)ilr(Pi)1 (1)


Pker(P,)

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

Define any side AB from previously


onnected nodes

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.

Define ÁlLABC,(k a. 1, 2, ... n) and reject C, if


LSABC,, overlaps any previously generated element
or boundary side. Define C, (i = 1, 2, ... , n') as the
nodes other than thosc rejected. (Figure 8)

751
3
Ii

1 1 15 any node C, (k
contained in hABC,?
1, 2, ...,

no
)

Ci• = C i

[Define for áABC, 1


Pick out a node Ci among the C, lying on the left side of corresponding to
Min + 'CACI]) and define crece = (IAC JI + )C JC IAC1 .). Similarly, for side
C,•B determine node C, and oc,.s•

Define nodo C,. corresponding to Min (G AG , a c ,

Max (17ADC,. — J3/4 1, 174.— j3/4 1)


no
= n•?
yes
Define node C, corresponding to
M in (j = 1, 2, ... Define a
new element tIABC j and assign it
a number.

No

Replace AB with
ACJ and return to 2

Replace AB with
to 2
Ci/3 and returni

No

[Return to 11

Figure la Flow chart for TRIANGLE module


AUTOMATIC TRIANGULATION OF ARBITRARY PLANAR DOMAINS 689

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.

AUTOMATIC ORDERING SCHEME


There have been many attempts to develop algorithms which order the nodes of finite element
decompositions so as to minimize the resulting storage and computation time required to solve
the associated system of equations. Most of these algorithms attempt to minimize the bandwidth
and/or profile' of the assembled finite element stiffness matrix. Although no atirely satisfactory
algorithm has yet evolved, a rather large amount of practical engineering experience in structural
problems of interest to the automobile industry has indicated that the Cuthill—McKee"."
strategy for resequencing node points appears to be most consistent for matrix bandwidth reduc-
tion. A detailed description of the method, together with a discussion of strategies for choosing
starting vertices, can be found in Cuthill—McKee." An attempt at reducing the profile of the
stiffness matriz is usually made by reversing the order of the Cuthill—McKee sequence (this will
not affect band-width). As pointed out by George,' this reverse ordering frequently lowers the
profile of the matrix. Such a matrix bandwidth reduction preprocessor has been developed by the
United States Naval Ship Research and Development Center 14 for use with the NASA structural
analysis computer program, NASTRAN. Called BANDIT the program is written in FORTRAN,
and we use it to postprocess the so called connectivity table generated by the TRIANGLE
module of our algorithm.
690 JAMES C. CAVENDISH

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 11. Smoothed triangulation of region in Figures 2, 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

Figure 12. Constant interior node density, r = 0-1


1.E S) L Aut.\ y -IVIA1J6 0 Li; Com . i jo
pcio r.3 0 7 2//htu)u¿/.4R

Figure 13. Triangulation with zone node density shown in insert

0 ) ( 511 (> -APIA.ny


692 JAMES C. CAVENDISH

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(

Figure 15. Automaticallygenerated smoothed triangulation of domain in Figure 14 II

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

AN EXTENSION TO THE TRIANGULATION OF SHELLS


What we hope will be a useful extension of this method for mesh generation on planar domains is
the subject of this section. This extension involves the use of the algorithm for the automatic
triangulation of curved shell structures.
Using the blending function techniques of multivariate approximation theory, " , 1 6 one-to-one
mappings from the planar unit square to a given curved surface or simply connected planar
domain 7 can be developed. Via these mappings, triangulations of the square can be used to
induce corresponding decompositions of the surface. In this setting it is easy to see how the
automatic triangulation algorithm described here might be used to decompose shell structures
whose surface is defined using the blending function mappings. The user would presumably be
required to define a node density distribution on the unit square which would induce, by way of
the mapping, a desired nodal density distribution on the surface. The use of interactive computer
graphics would provide an effective if not a necessary means of determining the appropriate
node density on the square. It is clear that there are many questions concerning the merit of such
an approach. We are just now beginning to consider these questions and other potentially useful
extensions of the automatic triangulation algorithm.

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).

You might also like