automatic adaptive finite element mesh generation over rational b-spline surfaces

32
Automatic adaptive finite element mesh generation over rational B-spline surfaces C. K. Lee *, R. E. Hobbs Department of Civil Engineering, Imperial College of Science, Technology and Medicine, London, SW7 2BU, U.K. Received 9 October 1996; accepted 21 April 1998 Abstract A new approach is suggested for the generation of adaptive finite element meshes over three-dimensional surfaces. The surfaces to be meshed are represented as the unions of rational B-spline surface (RBSS) patches such that the mesh generation process is reduced to the formation of nodes and elements in a parametric space. A robust and refined triangular element formation procedure is employed for the generation of highly skewed meshes in the parametric space such that well-shaped finite elements are obtained after mapping back to the three-dimensional (3D) space. By carefully monitoring the geometrical distortion eect due to the parametric mapping, the suggested element formation procedure can be used on convoluted and rough surfaces without impairing the quality of the meshes generated. In fact, the proposed generation scheme can easily be extended to many other bivariate surfaces without major modification. A simple and eective conversion scheme is also developed for the generation of pure quadrilateral meshes. Numerical experiments show that the operational complexity of the surface mesh generator is exactly the same as in two-dimensional (2D) planar mesh generation. High quality finite element meshes with element size grading compatible with the specified node spacing requirement are generated within a reasonable time limit in a common small computing environment. # 1998 Elsevier Science Ltd. All rights reserved. Keywords: Automatic surface mesh generation; Advancing front technique; Rational B-spline surfaces 1. Introduction Recently, many advances have been made in the development of a fully automatic finite element mesh generator, particularly by using either the advancing front technique (AFT) [1–3] or the recursive domain de- composition method [4, 5]. It is generally accepted that both of these approaches can be used for the gener- ation of high quality graded meshes suitable for adap- tive finite element analysis, at least for two- dimensional (2D) problems [6–8]. The next step in the development of automatic mesh generation schemes is the discretization of domains consisting of non-planar surfaces. Several algorithms have been suggested by extending existing 2D mesh generation principles. Some early work involved map- ping techniques similar to isoparametric element mapping [9], the more general B-spline lofting [10] and the curvilinear coordinate transformation techniques [11]. In a more mature approach, the target surface is first represented by an assembly of bivariate parametric surface patches. A 2D mesh generator is then employed for the formation of elements in the parametric space and the final mesh obtained through one or even two cycles of mapping [12]. Of course, for mesh generation in the parametric space, either the advancing front mesh generators [12] or the recursive domain decomposition generators [13, 14] could be used. The advantage of this generation plus mapping approach is that by first generating the finite element mesh in the parametric space, the node and element generation procedure will be reduced to a simple task of planar mesh generation. However, one shortcoming Computers and Structures 69 (1998) 577–608 0045-7949/98/$ - see front matter # 1998 Elsevier Science Ltd. All rights reserved. PII: S0045-7949(97)00106-0 PERGAMON * Present address: School of Civil and Structural Engineering, Nanyang Technological University, Nanyang Avenue, Singapore 639798. E-mail: [email protected].

Upload: ck-lee

Post on 02-Jul-2016

212 views

Category:

Documents


0 download

TRANSCRIPT

Automatic adaptive ®nite element mesh generation overrational B-spline surfaces

C. K. Lee *, R. E. Hobbs

Department of Civil Engineering, Imperial College of Science, Technology and Medicine, London, SW7 2BU, U.K.

Received 9 October 1996; accepted 21 April 1998

Abstract

A new approach is suggested for the generation of adaptive ®nite element meshes over three-dimensional surfaces.

The surfaces to be meshed are represented as the unions of rational B-spline surface (RBSS) patches such that themesh generation process is reduced to the formation of nodes and elements in a parametric space. A robust andre®ned triangular element formation procedure is employed for the generation of highly skewed meshes in theparametric space such that well-shaped ®nite elements are obtained after mapping back to the three-dimensional

(3D) space. By carefully monitoring the geometrical distortion e�ect due to the parametric mapping, the suggestedelement formation procedure can be used on convoluted and rough surfaces without impairing the quality of themeshes generated. In fact, the proposed generation scheme can easily be extended to many other bivariate surfaces

without major modi®cation. A simple and e�ective conversion scheme is also developed for the generation of purequadrilateral meshes. Numerical experiments show that the operational complexity of the surface mesh generator isexactly the same as in two-dimensional (2D) planar mesh generation. High quality ®nite element meshes with

element size grading compatible with the speci®ed node spacing requirement are generated within a reasonable timelimit in a common small computing environment. # 1998 Elsevier Science Ltd. All rights reserved.

Keywords: Automatic surface mesh generation; Advancing front technique; Rational B-spline surfaces

1. Introduction

Recently, many advances have been made in the

development of a fully automatic ®nite element mesh

generator, particularly by using either the advancing

front technique (AFT) [1±3] or the recursive domain de-

composition method [4, 5]. It is generally accepted that

both of these approaches can be used for the gener-

ation of high quality graded meshes suitable for adap-

tive ®nite element analysis, at least for two-

dimensional (2D) problems [6±8].

The next step in the development of automatic mesh

generation schemes is the discretization of domains

consisting of non-planar surfaces. Several algorithms

have been suggested by extending existing 2D mesh

generation principles. Some early work involved map-

ping techniques similar to isoparametric element

mapping [9], the more general B-spline lofting [10] and

the curvilinear coordinate transformation

techniques [11]. In a more mature approach, the target

surface is ®rst represented by an assembly of bivariate

parametric surface patches. A 2D mesh generator is

then employed for the formation of elements in the

parametric space and the ®nal mesh obtained through

one or even two cycles of mapping [12]. Of course, for

mesh generation in the parametric space, either the

advancing front mesh generators [12] or the recursive

domain decomposition generators [13, 14] could be

used. The advantage of this generation plus mapping

approach is that by ®rst generating the ®nite element

mesh in the parametric space, the node and element

generation procedure will be reduced to a simple task

of planar mesh generation. However, one shortcoming

Computers and Structures 69 (1998) 577±608

0045-7949/98/$ - see front matter # 1998 Elsevier Science Ltd. All rights reserved.

PII: S0045-7949(97 )00106-0

PERGAMON

* Present address: School of Civil and Structural

Engineering, Nanyang Technological University, Nanyang

Avenue, Singapore 639798. E-mail: [email protected].

of this approach is that if the distortion e�ects induced

by the parametric mapping are not considered duringthe element formation procedure, highly distorted el-

ements may be formed when the parametric mesh istransformed back to the three-dimensional (3D) space.

Some success in solving this problem was found by

using more than one cycle of parametric mapping [12]or by a suitable scaling of the parametric

coordinates [13]. Even with these remedies applied it isstill sometimes necessary to break down the surfaces

into more subsurfaces to alleviate the problem of el-ement distortion.

An alternative approach is by the combination of

direct generation and projection techniques assuggested recently by Lau and Lo [15] and Cass et

al. [16]. In such a method, nodes are directly generatedin 3D space which lie close to, but not necessarily

exactly on the target surface. A general projection al-

gorithm is then used to bring the new node onto thesurface. This method can be used for the discretization

of convoluted surfaces with large and rapidly changingcurvatures and fold lines. However, as an iterative pro-

jection procedure is used to pull the new nodes ontothe target surfaces, the mesh generation procedure is

more complicated and a tighter control on the element

size is usually needed [16].The objective of this paper is to suggest a new mesh

generation procedure with an improved performance

for the discretization of 3D surfaces which may beseriously folded. The new mesh generator will regard

the surface to be meshed as an image of some bivariatetransformation and elements are ®rst formed in the

parametric space. The major di�erence between theprocedure suggested here and existing schemes is that

during the element formation steps, the geometrical

distortion of the parametric transformation will beconsidered so that the elements ®nally formed in the

3D space will be undistorted. Also, by carefully con-trolling the mesh grading in the parametric space,meshes of desired gradation in the 3D space can be

obtained. Complicated surfaces are built up by joiningseveral subsurfaces together without causing any di�-culty or complication to the mesh generation pro-

cedure.

2. Geometrical Description of the Surfaces

2.1. De®nition of the surfaces to be discretized

All the surfaces considered in the subsequent discus-sion are assumed to have the following geometrical

properties:

1. The problem domain can be represented as theunion of a number of subsurfaces.

2. Any subsurface, O, can be solely de®ned in terms ofthe information for the surface's boundary curves,@O, and a parametric bivariate mapping such that if

the surface is de®ned as f(x,y,z) = 0 in the 3Dspace, the position vector, r= [x,y,z]T, of the sur-face can always be written as

f�x; y; z� � 0 and �x; y; z�T � r�u; v�; �1�where u and v are the parametric coordinates of thebivariate mapping. The domains in the parametricspace corresponding to O and @O, are denoted as ~Oand @ ~O, respectively (Fig. 1). Note that from now

on the tilde ~ will denote objects in the parametricspace. This bivariate mapping is one-to-one for

Fig. 1. Mapping of surface.

C.K. Lee, R.E. Hobbs / Computers and Structures 69 (1998) 577±608578

points in the open set ~O-@ ~Oso that O is not self-intersecting.

3. ~O is continuous and smooth in the sense that the

outward normal and the ®rst derivative in anydirection are always de®ned and continuous at anypoint on the surface, except perhaps at some ®nite

number of degenerated lines on the surface bound-aries.

4. Along a degenerated line, two distinct points may

be mapped to a single point in the 3D space.5. Two subsurfaces of the problem domain will only

be connected either along part of their boundaries

or by sharing a common point.6. The outward normal vectors of two subsurfaces

may not be parallel across the boundary they share.

2.2. De®nition of surfaces by RBSS

In this study, the rational B-spline surface (RBSS),

which satis®es all the above requirements, is selected asa geometrical tool for the description of the domain tobe meshed. In general, a degree ( p,q) rational B-spline

surface S(u,v) can be written as [17]

S�u; v� �Xmi�0

Xnj�0

Ri;p;j;q�u; v�Pij �2�

with

Ri;p;j;q�u; v� � Ni;p�u�Nj;q�v�wijPmr�0

Pns�0 Nr;p�u�Ns;q�v�wrs

: �3�

In Eq. (3), Ri,p;j,q(u,v) are the bivariate rational basisfunctions. For convenience p and q are assumed to beconstant and dropped, and Rij(u,v) written. For a

given subscript ij, Pij is the i + 1th (u-direction),

j + 1th (v-direction) control point in the control poly-

gon of the subsurface and wij is the weight correspond-

ing to the control point Pij. The four corner points of

the control polygon always coincide with the corner

points of the surface. In Eq. (3), Nk,g(t) (g= p,q,

k = 0, . . . ,m or n) is the gth degree B-spline basis func-

tion de®ned in the interval [0,1] by the Cox±deBoor

recursive algorithm [17].

It is assumed here that every subsurface is bounded

by exactly four rational B-spline boundary curves

(RBSC)Ci, i= 1,2,3,4 which correspond to the four

edges of the unit square [0,1] � [0,1] in the parametric

space of the domain ~O (Fig. 2) and

@ ~O=CÄ 1[CÄ 2[CÄ 3[CÄ 4. Note that the four boundary edges

are always arranged in such a way that CÄ 1 lies on the

u-axis, while CÄ 2 lies on the line u = 1.0 and so on in

an anti-clockwise direction, and the parametric region

to be meshed always lies on the LHS of these curves.

Furthermore, since Nj,q(0) = 0, 8j$0 and

N0,q(0)01 [17], the curve C1 can be written as

C1 � S�u; 0� �Pm

i�0Pn

j�0 Ni;p�u�Nj;q�0�wijPijPmi�0Pn

j�0 Ni;p�u�Nj;q�0�wij

�Pm

i�0 Ni;p�u�wi0Pi0Pmi�0 Ni;p�u�wi0

:�4�

Pi0 are the control points along the edges v = 0 and

are shared between two adjacent subsurfaces.

Complicated domains can be built up by joining sev-

eral subsurfaces together, and by carefully designing

the form of these subsurfaces a wide range of complex

surfaces can be modelled. More detailed discussions of

this aspect can be found in ref. [17] and the references

therein.

Fig. 2. Mapping of subsurfaces by RBSS.

C.K. Lee, R.E. Hobbs / Computers and Structures 69 (1998) 577±608 579

2.3. Degenerated and repeated lines

A boundary curve becomes a degenerated point

when all points of the curve in the parametric spaceare mapped to only one point in the 3D space. For

example, in Fig. 3 all the points on the curve CÄ 3 aremapped to the point P3. Usually, this will occur either

when the outward normal is unde®ned (e.g. at the poleof a sphere) or when it is not uniquely de®ned (e.g.

vertex of a cone). Note that it is possible that a surfacecontains two opposite degenerate curves (e.g. the two

poles of a sphere). However, for a valid shell surface, acase of two adjacent degenerate lines is not allowed.

Another special feature which may appear in aRBSS is a repeated line. That is, two opposite bound-

ary edges are mapped to the same line in the 3D

space. A simple example of a cylinder is shown inFig. 4. Note when the nodes of the mesh are mappedback to the 3D space only one node will be created

corresponding to the two nodes on the oppositecurves.

2.4. Some useful geometrical parameters in the

parametric space

The following geometrical parameters of the RBSS,S(u,v) = r(u,v), will be used during the mesh gener-

ation procedure.

(1) Surface tangential vectors

Fig. 3. Mapping of degenerated line.

Fig. 4. Mapping of repeated lines.

C.K. Lee, R.E. Hobbs / Computers and Structures 69 (1998) 577±608580

The surface tangential vectors at any point r(u,v) on

the surface can be obtained by direct di�erentiation ofEq. (2), that is

@r

@u�Xmi�0

Xnj�0

@Rij�u; v�@u

Pij;@r

@v�Xmi�0

Xnj�0

@Rij�u; v�@v

Pij: �5�

(2) Surface elementary arc lengthThe square of the element of arc length on the sur-

face, ds2, is de®ned by

dr � @r@u

du� @r@v

dv �6a�

ds2 �dr � dr

� @r

@u� @r@u

� �du2 � 2

@r

@u� @r@v

� �dudv� @r

@v� @r@v

� �dv2

�Juudu2 � 2Juvdudv� Jvvdv2 �6b�

with

Jbm � @r@b� @r@m; b;m � u; v: �6c�

For an elementary inclined vector du' which intersectswith the u axis at an angle g (Fig. 5), the coordinate

transformation is de®ned as

u 0

v 0

� �� cos g sin gÿ sin g cos g

� �uv

� �: �7�

The corresponding arc length in the 3D space, ds, is

ds2 � Jg�du 0�2 or ds � �����Jg

pdu 0 �8a�

and

Jg � @u@u 0

@u

@u 0Juu � @u

@u 0@v

@u 0Juv � @v

@u 0@u

@u 0Jvu � @v

@u 0@v

@u 0Jvv

�Juu cos2 g� 2Juv cos g sin g� Jvv sin2 g: �8b�

The above equations governing the length scaling e�ectof the parametric mapping will be used for the esti-

mation of the appropriate element size in the para-metric space during the element formation step.(3) Arc length in the 3D space for a straight line in

the parametric spaceGiven a straight line lÄ joining two points PÄ 1=(u1, v1)

and PÄ 2=(u2, v2) in the parametric space, lÄ can be writ-

ten as

~I � u � u2 ÿ u1v2 ÿ v1

�vÿ v1� � u1 if v1 6� v2v � v1 otherwise

��9a�

and

du �cdv if v1 6� v2; c � u2 ÿ u1v2 ÿ v1

and dv � 0 if v1 � v2:�9b�

The length for the corresponding curve l on the 3Dspace, klk is given by

jjljj ����� � ds���� � � �������������������������������������������������������

Juudu2 � 2Juvdudv� Jvvdv2p

���� �V2

v1

Lvdv

���� if v1 6� v2���� �u2u1

Ludu

���� otherwise

8>>><>>>: �10a�

where

Lv ���������������������������������������c2Juu � 2cJuv � Jvv

pand Lu �

�������Juu

p: �10b�

In practice, Eq. (10) can be conveniently evaluated by

numerical integration. Note that the above de®nitionsare valid not only for a RBSS, but for any bivariatesurfaces embraced by Eq. (1) provided that the tensor

Jbm is well de®ned.

3. The Triangular Mesh Generation Procedure

The ®nite element mesh will be generated in a bot-tom up sequence. First of all, nodes corresponding to

the corner points of the control polygons for all sub-surfaces will be laid down [Fig. 6(a)]. These controlpoints are the end points of all the boundary curves.Along these boundary edges nodes with appropriate

spacing will be generated, and discretize them intoboundary segments [Fig. 6(b)]. The next step will bethe generation of meshes, one by one, over each sub-

surface [Fig. 6(c)] and the ®nal mesh is formed by join-ing all these meshes together [Fig. 6(d)]. In order tomaintain the compatibility between meshes of di�erent

subregions, the positions and numbering of nodes gen-erated in one level will not be altered during sub-sequent levels.

Fig. 5. Transoformation of elementary vector.

C.K. Lee, R.E. Hobbs / Computers and Structures 69 (1998) 577±608 581

3.1. Formation of control points

The endpoints of boundary curves are the only setof nodes with positions that are invariant with respectto the target mesh density and grading. The control

points of the whole problem domain will be retrievedfrom the geometrical de®nition of the surfaces. It ispossible that a control point can be a degenerated

point in one subsurface while it is one of the endpointsof a normal boundary curve in another subsurface. Anexample is shown in Fig. 7 in which a part of a cylin-

der (O1) is connected to an octant of a sphere (O2).The point P3 is a degenerated point in O2 while it isthe endpoint of the normal boundary curve CÄ *3 in O1.Such conditions will not cause any problem for the

mesh generation procedure as in the mesh generationphase each subsurface is treated independently.

3.2. Boundary segment generation

After the control points are established, the new dis-cretization of all the boundary curves will be formedbased on the following information.

1. The geometrical de®nition of the curves.2. The desired element size information de®ned at the

nodal points of the previous boundary segments.

3. The previous boundary segments de®ned in the

parametric space of the curves. The range of the

curve in the parametric space is always [0,1] and

positions of nodes in the parametric space are the

parametric values of the nodal points of the RBSC[Eq. (4)].

The segment generation procedure is done in the para-

metric space. Nodes will be placed along the line [0,1]

one by one with appropriate spacing such that the

lengths of the segments generated in the 3D space areas close to the desired spacing speci®cation as possible.

In practice, the element size information speci®ed by

the user (or computed in an adaptive scheme) is

de®ned with respect to the actual size in the 3D space

and must ®rst be converted to the corresponding para-

metric values. Without loss in generality, it can beassumed that the boundary curve under consideration

is denoted as Ci(t), t $ [0,1]. Then, the relationship

between an elementary segment in the 3D space, dh,

and the corresponding segment in the parametric

space, dt, is given by

dh � @Ci�t�@t

dt or jdhj ����� @Ci�t�@t

����jdtj: �11�

From Eq. (11), if h is the value of element size at a

given point in the 3D space, the appropriate element

Fig. 6. Hierarchical generation principle.

C.K. Lee, R.E. Hobbs / Computers and Structures 69 (1998) 577±608582

size at the same point in the parametric space, hÄ, canbe computed as

~h � h���� @Ci�t�@t

���� : �12�

Eq. (12) can be used to compute the parametric nodespacing value at all nodes lying on any normal orrepeated boundary curves. However, as the scaling fac-

tor along a degenerated curve will be identically equalto zero it is computed from the adjacent boundarycurves. Assume that the curve CÄ 3 shown in Fig. 3 is a

degenerated line. Then the scaling factor for CÄ 3 isde®ned by the following steps.

(i) The two curves CÄ 2 and CÄ 4 connected to CÄ 3 are

identi®ed.(ii) From the previous boundary segments, the two

nodes, A(uA,vA) and B(uB,vB), which are nearest to

CÄ 3 and lying on the curves CÄ 3 and CÄ 4 respectivelyare found.

(iii) The coordinates of the sampling point, SÄ (us, vs),

for computing the scaling factor are de®ned as

us �0 if vArvB

; vs � max�t; vA; vB�; t � 0:91 otherwise

:

8<:�13�

(iv) The scaling factor for the whole curve will

then be de®ned as

scaling factor ����� @r�u; v�@v

����~s

: �14�

A similar treatment can be used for the determi-

nation of the scaling factor if other boundary

curves are degenerated lines. For example, if CÄ 1 is

a degenerated line, the node with smallest v value

will be used and t = 0.1 will be used. In the case

that CÄ 2 or CÄ 4 is a degenerated line, nodes lying on

CÄ 1 and CÄ 3 will be taken and all v parameters will

be replaced by the corresponding u parameters

and vice versa. After the values of the node spa-

cing function in the parametric space are com-

puted, segments can be generated by exactly the

method described in ref. [8].

Treatment for repeated lines is trivial: segments will be

generated on one of the repeated lines only and then

copied to the other one(s). For all degenerated lines,

nodes will be generated with uniform spacing along

the curve. These uniformly spaced nodes will be used

in the subsurfaces mesh generation phase rather than

the discretization of the boundary curves in the 3D

space since they all correspond to single points in the

3D space.

Fig. 7. Formation of control points.

C.K. Lee, R.E. Hobbs / Computers and Structures 69 (1998) 577±608 583

3.3. Triangulation over subsurfaces

The whole triangulation procedure can be dividedinto four main steps, namely: (i) initialization of gener-

ation front; (ii) subsurface discretization; (iii) meshquality enhancement; and (iv) formation of 3D mesh.

3.3.1. Initialization of generation frontBefore the element generation process by the AFT is

started, an initial generation front is set up by retriev-

ing the four boundary curves enclosing the subsurfaceunder consideration. The parametric coordinates ofnodes lying on the generation front are deduced from

the parametric values of the nodes of the boundarycurves. The orientations (direction in which the para-metric values of nodes are increasing) of the boundary

curves may either be the same as or opposite to theorientations of the curves of the subsurface. Forexample, in Fig. 8 the orientation of the curve C1 is

the same as CÄ 1 in subsurface ~O2 while it is opposite forcurves C2 and CÄ 2.When the orientations of both curves are the same

the coordinates of the nodes may be obtained by direct

copying. Otherwise, the coordinates of nodes can bededuced by the reversibility property of the RBSC.For example, for the curve CÄ 2 the corresponding coor-

dinates of a given node PÄ i=(ui,vi) in the parametricspace should become

ui � 1; vi � 1ÿ ti; �15�where ti are the parametric coordinates of the ith nodeon the boundary curve CÄ 2. All the segments on thegeneration front will be arranged in an anti-clockwise

order so that the parametric region to be meshedalways lies on the LHS of the generation front.

3.3.2. Triangular mesh generation over subsurfacesSince the actual surfaces in the 3D space can be

highly folded, it may be necessary to generate a highlynon-uniform mesh with skewed elements in the para-metric space so that the surface mesh obtained will

have an element size distribution close to the speci®edgrading and consist of well-shaped elements. This isone of the reasons why the AFT has been selected as

many previous studies [1, 2, 7, 12, 19] have shown thatthe advancing front method is a reliable technique forthe formation of highly skewed elements. In addition,the geometrical de®nition of the surface will be fre-

quently referred to during the mesh generation pro-cedure to ensure the formation of the best possibleelement during each generation step.

After the initial generation front is formed, the tri-angular ®nite element mesh is generated by an AFTprocedure consisting of the following steps.

(1) Selection of base segment

In order to generate a well graded ®nal mesh, the basesegment selected for the formation of a new element is

always the shortest segment in the 3D space. Let AÄ

and BÄ be the two endpoints of the base segment in theparametric space: the line segment is denoted as ~A~B

(AB in the 3D space).(2) Establishment of the pseudo-midpoint.The pseudo-midpoint, MÄ , is de®ned as a point in the

parametric space such that its image M in the 3Dspace is close to the midpoint M* of the segment AB

(Fig. 9) and is located by the following method.

Fig. 8. Orientation of boundary curves.

C.K. Lee, R.E. Hobbs / Computers and Structures 69 (1998) 577±608584

The segment ~A~B is divided into 10 portions by nine

points, PÄ i, i= 1, . . . ,9 with parametric positionsde®ned as

~Pi � ~A�1ÿ ti� � ti ~B; ti �0:5� 0:1Inti

2

� ��ÿ1�i

for i � 1; . . . ; 9; �16�where Int(r) is the integer part of a real number r. Thepseudo-midpoint will be taken as the ®rst point of PÄ isuch that

jjPiM*jjR0:1jjABjj; �17�where Pi is the image of PÄ i in the 3D space. In thecase that no PÄ I can satisfy Eq. (17), the point nearestto M* will be used and M is the image of the pseudo-

midpoint on the surface. It should be remarked that,in general, the point M* is not located on the surfacewhile all Pi and hence, M do lie on the surface.

Furthermore, from numerical experience, provided thatthe speci®ed node spacing is ®ne enough the locationof M can be accurately determined by dividing seg-

ment ~A~B into 10 portions.(3) Retrieval of the value of node spacing function

(NSF) at the pseudo-midpoint.

The value of the NSF which is used for the controlof element size [3] at the pseudo-midpoint can be in-terpolated from the background parametric mesh. The

alternating digital tree data structure [20] is used suchthat the interpolation procedure can be accomplishedwithin a number of operations proportional to

log2(NEb), where NEb is the number of elements in theparametric background mesh.(4) Determination of o�set direction, o�set point

and the formation of searching circle.In the element formation process, a new element is

generated by either creating a new node in the remain-

ing unmeshed region or by joining an existing node onthe generation front to the base segment. In order todecide which operation will result in the best element,

the initial o�set direction and o�set point must ®rst be

established to locate the position of the potential new

node. They are determined by the following procedure.

Let f be the angle between the base segment ~A~B

and the u-axis (Fig. 10) and hMÄ be the value of NSF

(in the 3D space) at MÄ . Then the desired area of the

element in the 3D space, Ad, is

Ad � 1

2�h ~M�2 �18�

Denoting the length kABk as d, it is hoped that the o�-

set point CÄ can be placed in such a way that its image

C will form an isosceles triangle ABC with an area

close to Ad and the angle {BM*C1908. If CÄ can be

established in this way the o�set length kM*Ck shouldsatisfy

Ad � 1

2djjM*Cjj �19�

Using Eq. (18)

jjM*Cjj � �h ~M�2d�def L: �20�

In practice, in order to avoid the formation of very

distorted elements in the 3D space, the value of L will

be limited to

L �2h ~M if Lr2h ~M

0:5h ~M if LR0:5h ~M

L otherwise:

8<: �21�

Accordingly, the recti®ed element area will become

Ad=dL/2. By using Eq. (8)a), the corresponding value

in the parametric space, LÄ, should approximately equal

~L1 L�����Jg

p ; �22�

where g = o+ f is the angle between the line MÄ CÄ

and the u axis. Hence, the point CÄ should be estab-

lished in such a way that Eq. (22) is satis®ed and

Fig. 9. Establishment of pseudo-midpoint.

C.K. Lee, R.E. Hobbs / Computers and Structures 69 (1998) 577±608 585

{BM*C1908. As both the angle {BM*C and LÄ

depend on the angle g, point CÄ will be established by

the following procedure.

A set of n points QÄ i, i = 1, . . . ,n will be established

(Fig. 11) such that for a given QÄ i

oi �� ~B ~M ~Qi � 90� � 90�

�n� 1� �ÿ1�i�1iÿ1;

gi � oi � f jj ~M ~Qijj �L������Jgi

p :

�23�When the segment ~A~B is close to the domain bound-

ary, some QÄ i may be located outside the unit square

(e.g. the point QÄ kin Fig. 11) and they will be discarded.

The remaining points will be collected into a set

denoted as ~S. If it is found that ~S=;, the empty set, it

means that the base segment is close to the domain

boundary. No o�set point will be established in this

case and the best node of the generation front will be

used for the element formation. If ~S is non-empty, the

o�set point CÄ is established by considering the angles

{BM*Qi in the 3D space. For every node in ~S, the

angle ji is de®ned as

ji � j�BM�Qi ÿ 90�j: �24�The o�set point will be the ®rst point in ~S with

jijEL. If no point in ~S satis®es this condition the

point with the smallest ji is used. In practice, a good

o�set point can be established by setting n= 17 and

Fig. 10. Determination of o�set direction.

Fig. 11. Determination of o�set point.

C.K. Lee, R.E. Hobbs / Computers and Structures 69 (1998) 577±608586

C.K. Lee, R.E. Hobbs / Computers and Structures 69 (1998) 577±608 587

jL=158 even for a strongly graded mesh.

Furthermore, the searching circle in the parametric

space is then formed with centre at the o�set point CÄ

and radius LÄ.

(5) Formation of new element.

The following de®nitions will be given ®rst in order

to facilitate the description of the element formation

procedure.

(a) Shortest distance between a node and a line seg-

ment.

The shortest distance in the 3D space (R3) between a

node N and line segment fAB is denoted as d(N, AB).

(b) The generation front

The generation front in the parametric space is

denoted as ~G, and contains all segments enclosing the

unmeshed parametric domain. The corresponding

front in R3 is denoted as G.(c) a quality of a triangle

During mesh generation and subsequent mesh

enhancement procedures, the a quality parameter [8, 21]

is used for the shape quality measurement of the tri-

angular elements formed.

(d) A valid node with respect to the base segment~A~B and the valid front node set ~L.A node NÄ is a valid node with respect to the seg-

ment ~A~B if the new element formed by joining node NÄ

and segment ~A~B is a valid element. Suppose that the

node NÄ is a node on ~G. It is a valid node if and only if

it satis®es the following conditions.

(i) The area of the triangle AÄ BÄ NÄ is positive.

(ii) The line segments AÄ NÄ and BÄ NÄ do not intersect

with the generation front except at the points

AÄ , BÄ and NÄ (if NÄ is a node of the generation

front).

(iii) The triangle AÄ BÄ NÄ does not contain any existing

node.

If NÄ is a newly established node, in addition to the

above conditions, it is also required that the shortest

3D distance between N and all the line segments on

the generation front except AB itself is greater than

0.5kABk. Let G be the current generation front in the

parametric space. The valid node set ~G(~A~B, ~G) is then

de®ned as a set of all the valid nodes in ~G with

respect to~A~B. In general, if ~A~B is a subset of G, thevalid node set L(~A~B, ~V) is de®ned as the collection of

all valid nodes in ~V. Furthermore, ~V is the image of~L in R3.

(e) m overall quality parameter for a valid triangle.

Let AÄ BÄ NÄ be a valid triangle in the parametric space

and ABN be the corresponding triangle in R3. Suppose

that Ad is the desired element size and A(ABN) is the

area of ABN. Then, the m overall quality of ABN

which considers both its shape and size is de®ned as

m�ABN� � a�ABN� A�ABN�Ad

e1:0ÿ A�ABN�

Ad

� � !X�jj1 ~M ~Mjj;L�;

�25�

where in Eq. (25), X(k1MÄ NÄ k, L) is a cut-o� function

depending on (k1MÄ NÄ k, the surface arc length for theline corresponding to the straight line MÄ NÄ in the para-metric space. k1MÄ NÄ k can be computed by using Eq. (10)and X(k1MÄ NÄ k, L) is de®ned as

X�jj1 ~M ~Njj;L� � 1; if 2jj1 ~M~Njj/LR2�L=jj1 ~M ~Njj�2 otherwise

�:

�26�The cut-o� function and the exponent in Eq. (25) areused to prohibit the formation of large elements whichmay result in an inadequate representation of the sur-face. The higher the value of (m, the better the overall

shape and element size quality of the element. An equi-lateral element (a=1) with an area exactly equal to thedesired element size [A(ABN) = Ad] will attain the

maximum value of m = 1.(f) The best valid front node GÄ with respect to the

base segment ~A~B.

For a given base segment ~A~B, a valid node GÄ is thebest valid front node on ~G with respect to ~A~B if

m�ABG�rm�ABF� 8F 2 L�AB;G�: �27�With the above de®nitions, the element formation pro-cedure can be summarized in the pseudo-coding asshown in Box. 1.

(6) Update of generation frontAfter a new element is generated, the generation

fronts in both the parametric and 3D spaces will be

updated as usual [2].

3.3.3. Treatment of degenerated linesThe element formation procedure described in the

last section will break down when the base segment is

lying on a degenerated line with zero length in the 3Dspace. In order to overcome this problem, one or sev-eral layers of o�set elements will be generated along allthe degenerated lines before the main generation pro-

cedure is started. The pattern of this o�set layer isshown in Fig. 12. The number of o�set layers that willbe generated is determined by the following rules.

1. Maximum number of o�set layers.

Let ISEG1 and ISEG2 be the number of boundary

segments on the two adjacent boundary curves con-nected to the degenerated curve CÄ 3 shown in Fig. 12such that ISEG2eISEG1. The number of o�set layers

C.K. Lee, R.E. Hobbs / Computers and Structures 69 (1998) 577±608588

generated will at most be equal to

max�1; ISEG2=5� �28�so that at least one o�set layer will be generated.

(2) Checking of segment length.

After an o�set layer is generated, the di�erence

between the 3D lengths of the two adjacent boundary

segments, h1 and h2,will be checked (Fig. 12). If it is

found that���� h1 ÿ h2min�h1; h2�

����r0:5; �29�

then the next o�set layer will not be generated. This

checking procedure is used to limit the extent of the

o�set layers: they will not be formed over regions

where strongly grading elements are desired.

(3) Checking of element aspect ratio.

After an o�set layer is generated, the aspect ratio of

all the elements in the parametric space in that layer

will be computed (Fig. 12) and if it is found that they

are all within the range

0:5R~h

~wR2 �30�

then the o�set layer generation process will be stopped.This checking procedure is to ensure that o�set layersare only generated where a very distorted element isformed in the parametric space.

Obviously, elements in the ®rst o�set layers withtwo nodes lying on the degenerated line will have zeroarea in the 3D space and are deleted before mesh qual-

ity enhancement is started.

3.4. Triangular mesh quality enhancement

Mesh quality enhancement procedures are used to

bring the quality of the ®nal mesh to an acceptablelevel. The quality of the mesh can be increased byusing (1) mesh modi®cation and (2) mesh smoothing.

During mesh quality enhancement, the connectivityand validity of the elements in the mesh are checked inthe parametric space while the geometrical properties

of the elements are computed in the 3D space.

3.4.1. Mesh modi®cation proceduresIn order to avoid any global searching operations, a

node-element connectivity database which stores the

details of elements connected to each node in the meshis ®rst set up so that NA, the number of elements con-nected to a given node A, is readily available. The fol-lowing mesh modi®cation procedures are employed in

the current implementation.

(1) Redundant node elimination.

For example, the redundant node I shown in Fig. 13surrounded by three elements will be eliminated.(2) Mode I diagonal swapping.

This is used to improve the connectivity condition ofthe mesh. All the edges shared by two adjacent el-ements will be examined (Fig. 14). Diagonal AC will

Fig. 12. Treatment of degenerated line.

Fig. 13. Redundant node elimination.

C.K. Lee, R.E. Hobbs / Computers and Structures 69 (1998) 577±608 589

be swapped to BD if

NAr6;NCr6 and NA �NC ÿNB ÿNDr3:

(3) Mode II diagonal swapping.Its function is to improve the shape quality of the

mesh. All diagonals will be examined and swapping ofdiagonal AC (Fig. 14) will be performed only ifa(ABD) a(BCD)>a(ABC) a(ACD).

3.4.2. Mesh smoothing procedureThe standard Laplacian smoothing procedure [22] is

applied to all the interior nodes in the parametric

space. Interior nodes are repositioned to the centroidof the polygon formed by their neighbouring nodes. Anode will be moved if and only if the mean a value (in

the 3D space) of its surrounding elements is increased.Usually, at most three iterations of the above smooth-ing procedure is su�cient to achieve a convergence of

nodal positions.

3.5. Formation of the new background mesh

After the new mesh is generated and enhanced, the

old background mesh can be deleted and the newlygenerated parametric mesh stored as a backgroundmesh for the next re®nement. If degenerated lines are

present, two ``wing'' elements (Fig. 15) will be addedso that the domain [0,1] � [0,1] will be fully covered bythe new background mesh. In the next cycle of mesh

generation, the values of NSF at the two corner nodesAÄ and CÄ will assume the same value as the centre nodeBÄ .

4. Quadrilateral Mesh Conversion Procedure

If a pure quadrilateral mesh is required, the triangu-lar mesh generated in the last section will be convertedto a pure quadrilateral mesh. In the current implemen-

tation, a simple (yet e�ective) approach is used. The al-gorithm used can be regarded as a hybrid of themerging approach suggested in ref. [21] and the simple

division process described by Rank et al. [23] and isvery similar to the approaches used by Potyondy etal. [13] and Okstad et al. [14]. The conversion pro-

cedure consists of four major steps:

1. merging of triangular elements;2. mixed mesh quality enhancement;

3. division of elements;4. quadrilateral mesh quality enhancement.

These four steps are considered in greater detail below.

4.1. The merging procedure

The merging algorithm used here is simply an exten-sion to the one previously used in 2D problems [8].Diagonals of the mesh, except those lying on the

domain boundary, will be removed one by one andmerging of triangles [Fig. 16(a)] will be carried outaccording to the b quality [21] of the quadrilateral

formed. The diagonal removal procedure will berepeated until one of the following conditions is met.

1. no remaining diagonal can be removed;

2. the removal of any remaining diagonals will resultin an element with a b value less than 0.1.

Note that unlike the procedure used in the 2D case [8],

here the b quality requirement for the quadrilateralformed is lowered (from 0.37 to 0.1) and no limit willbe imposed on the element size ratio during the mer-

ging procedure. The reason for these adjustments isthat by doing so more quadrilaterals can be formedand this will result in a better pure quadrilateral mesh

Fig. 15. Formation of new background mesh.

Fig. 14. Diagonal swapping for two triangles.

C.K. Lee, R.E. Hobbs / Computers and Structures 69 (1998) 577±608590

as the division of a quadrilateral will yield four better

shaped elements than the three quadrilaterals formedfrom the division of a triangle.

4.2. Mixed mesh quality enhancement

The following mesh modi®cation procedures will beused to improve the quality of the mixed mesh pro-duced by the merging process.

(1) Node elimination.

The interior node I (Fig. 17) will be eliminated if it issurrounded by four triangular elements, forming a new

quadrilateral element.

(2) Triangular element elimination.As shown in Fig. 18, the two triangular elements

IT1 and IT2 and the node B will be deleted if bothnodes A and B are connected with two triangles andtwo quadrilaterals.(3) Quadrilateral element elimination.

In this case, element IE1 and node B in Fig. 19 willbe removed if both nodes A and B are connected toonly three quadrilaterals.

(4) Diagonal swapping.For the triangle IT1 shown in Fig. 20, if {AEB is

less than308, the diagonal BE will be replaced by diag-

onal BD if

a�BCD�b�ABDE�ra�ECD�b�ABCE��AEDR150�; �ABDR150�; �EDBr30�; �BDCr30�;

�31�otherwise, the diagonal BE will be replaced by diag-onal CE if

a�ECD�b�ABCE� > a�BCD�b�ABDE��AECR150�; �ABCR150�; �ECBr30�; �DCEr30�:

�32�If neither of these conditions is satis®ed, diagonal

swapping will not be performed.After the above mesh modi®cation procedures are

®nished, the mesh smoothing procedure is then applied

to improve the shape of the elements of the mixedmesh. The processed mesh is then once again fed intothe merging program for the further removal of more

diagonals until no more quadrilaterals can be formed.

4.3. Division of elements

After the mixed mesh is created, a pure quadrilateralmesh is formed by division of the quadrilateral and tri-

angular elements as shown in Fig. 16(b, c). Since thisdivision process will reduce the area of any element toapproximately one quarter of its original value, when-

ever a quadrilateral mesh is required the initial NSFused in the triangulation process will be automaticallydoubled.

Fig. 16. Quadrilateral mesh conversion.

Fig. 17. Node elimination for mixed mesh.

Fig. 18. Triangular elements elimination for mixed mesh.

Fig. 19. Quadrilateral element elimination for mixed mesh.

C.K. Lee, R.E. Hobbs / Computers and Structures 69 (1998) 577±608 591

4.4. Quadrilateral mesh quality enhancement procedures

After the pure quadrilateral mesh is formed, a series

of mesh modi®cation and smoothing procedures simi-lar to those used in refs [8] and [24] is then applied toimprove the quality of the quadrilateral mesh.

It should be pointed out that during all the abovemodi®cation and smoothing processes for triangular,mixed and quadrilateral surface meshes, whenever a

node or an element is moved, inserted or deleted,checks are performed to ensure that all altered el-ements will be valid elements in both the parametric

and 3D spaces.

5. Speed and Memory Considerations

When compared with 2D mesh generation, the sur-face mesh generator will incur a greater computational

cost for the following reasons:

1. Although most of the connectivity and intersection

checks can be done in the parametric space, manygeometrical parameters of the elements generated

must be computed in the 3D space for element

shape and grading control during both mesh gener-

ation and mesh quality enhancement.

2. A few time consuming steps, such as the determi-

nation of pseudo-midpoint and o�set directions, are

used during the surface element formation.

However, careful examination of all the mesh gener-

ation and enhancement processes shows that their op-

eration complexities are exactly the same as their 2D

counterparts and are as shown in Table 1. This feature

is due to the extensive use of the one-to-one mapping

relationship between the parametric space and the 3D

space so that the whole mesh generation process is

topologically equivalent to a 2D mesh generation pro-

blem.

These predictions are con®rmed by plotting the

actual CPU times used by di�erent generation pro-

cedures for some mesh generation examples: the results

are shown in Figs. 21±24. From these ®gures it can be

seen that the triangular mesh generation procedure is

the most time consuming procedure since nearly all the

most expensive operations are involved in the gener-

ation phase. Finally, it is noted that the speed of the

current generation process appears to be rather slow,

about 200 min for the generation of 15 000 elements

(the background mesh for that problem has about 14

000 elements), because all the examples shown here

were produced on a relatively small and slow 486DX2/

66 PC.

It is also found that the amount of memory required

is always proportional to the number of elements to be

generated. Under the current programming environ-

ment the memory required to generate a surface mesh

with 10 subsurfaces and a total of 30 000 elements (for

Fig. 20. Diagonal swapping for mixed mesh.

Table 1

Operation complexities for di�erent surface mesh generation

steps (NE= number of elements in the mesh)

Process

Order of operation

Complexity

Triangular mesh generation O(NE1.5)

Triangular mesh quality enhancement O(NE)

Quadrilateral mesh generation O(NE1.5)

Quadrilateral mesh quality enhancement O(NE)

Overall O(NE1.5)

C.K. Lee, R.E. Hobbs / Computers and Structures 69 (1998) 577±608592

both background mesh and new mesh) is about 15Mb.

6. Surface Mesh Generation Examples

In this section some examples will be presented todemonstrate the performance of the mesh generatordeveloped. The element size information of the ®niteelement meshes is directed by some ®ctitious NSFs

de®ned over the 3D domains. In all the examples, the

mesh generation procedure is started by computing thespeci®ed NSF over the nodal points of the initialmeshes, which is then fed into the generator for mesh

formation such that the situation during an adaptiveanalysis is directly imitated.

6.1. Mesh quality and grading assessment

In order to assess the quality of the elements gener-

ated, the a values (for triangles) and b values (for

Fig. 21. CPU time of triangular mesh generation against NE1.5.

Fig. 22. CPU time of triangular mesh quality enhancement against NE.

C.K. Lee, R.E. Hobbs / Computers and Structures 69 (1998) 577±608 593

quadrilaterals) of the elements in the meshes are com-

puted, and the overall quality is measured by the geo-

metrical means a and b [8] of all the elements.

Furthermore, for a quadrilateral mesh, the distortion

of individual elements can also be assessed by consid-

ering the internal angles of the element in the 3D

space. For a quadrilateral element ABCD, the internal

angle at node B, denoted as WCBA, is de®ned as

WCBA � �CBA fj�CBAÿ 90�jrj�CBD� �DBAÿ 90�j�CBD� �DBA otherwise:

��33�

For a given element in a quadrilateral mesh, the shape

quality of that element is deemed satisfactory if all its

Fig. 23. CPU time for quadrilateral mesh generation against NE*log2(NE).

Fig. 24. CPU time of quadrilateral mesh quality enhancement against NE.

C.K. Lee, R.E. Hobbs / Computers and Structures 69 (1998) 577±608594

internal angles, W, fall within the interval [308, 1508].The mesh grading of the ®nal mesh obtained is

assessed by the di�erence between the desired element

size and the element size actually generated, using the

mesh grading coe�cient w de®ned in ref. [8].

6.2. Numerical examples

A total of ®ve surface domains has been discretized

by the proposed mesh generator. For each domain, a

pure triangular mesh and a pure quadrilateral mesh

Fig. 25. (a) Geometry for Surface 1; (b) initial mesh for Surface 1; (c) ®nal triangular mesh for Surface 1; (d) ®nal quadrilateral

mesh for Surface 1.

C.K. Lee, R.E. Hobbs / Computers and Structures 69 (1998) 577±608 595

have both been generated. Subsurfaces of these

domains range from the trivial planar surface to some

heavily folded open and closed surfaces. Regardless of

such a great variation in the ``roughness'' of these sur-

faces, ®ve iterations were used in all the examples to

obtain the ®nal triangular and quadrilateral meshes.

The geometry of these surfaces, represented as plots of

their parametric nets with hidden line removal, is

shown in Fig. 25(a)±29(a). The initial coarse ®nite el-

ement meshes used to start the iterations are shown in

Fig. 25(b)±29(b). These initial meshes are so coarse

that none of them can be considered as an adequate

representation of the surfaces. The exact analytical

forms of these surfaces and the ®ctitious NSF used

will not be given here since they are lengthy but not

very informative. A more concise picture of the mesh

generation results can instead be obtained by studying

the quality and grading characteristics of the ®nal

meshes generated which are shown in Tables 2 and 3.

The ®nal triangular and quadrilateral meshes obtained

are shown in Fig. 25(c)±29(c) and Fig. 25(d)±29(d) re-

spectively.

From Figs. 25±29 and Tables 2 and 3 it can be con-

cluded that the overall mesh quality of all the meshes

generated is good. The a values of all triangular

meshes are greater than 0.9 while the b values of all

quadrilateral meshes are better than 0.65.

Occasionally, there are a few quadrilateral elements

with internal angles outside the range [308, 1508], butalways fewer than 0.2% of the total number of el-

ements in the mesh, and these with internal angles just

marginally outside the required range. It should be

mentioned that, in order to test thoroughly the ability

and robustness of the mesh generator, some of the ®c-

titious NSF used are deliberately designed to yield

unrealistically graded meshes which are not expected

to appear even in adaptive ®nite element analysis.

As for the grading of the meshes generated, it can

be seen that the w coe�cients for all triangular meshes

are good with values greater than 0.8. The w coe�-

cients of all quadrilateral meshes are slightly lower

than the corresponding values of their triangular

counterparts with the lowest one (Surface 1) just less

than 0.7. This e�ect can be seen by comparing corre-

sponding plots in Figs. 25±29 and also the element size

ratio in the last column of Tables 2 and 3. This

phenomenon can be explained by the following argu-

ment. A non-uniform mesh generated will never be

able to attain a perfect w coe�cient of 1 because the

mesh generated is always an approximation of the sur-

face and the speci®ed node spacing function. Hence,

by using the simple conversion scheme for the gener-

Table 2

Characteristics of ®nal triangular meshes generated

Surface number NSR NN NE a w Amax/Amin

1 [Fig. 25(c)] 2 5138 10240 0.922 0.830 15271.4

2 [Fig. 26(c)] 1 7599 14877 0.933 0.888 7468.6

3 [Fig. 27(c)] 1 7153 14994 0.964 0.904 79.1

4 [Fig. 28(c)] 2 4393 8680 0.953 0.894 2613.9

5 [Fig. 29(c)] 8 13171 26094 0.935 0.889 4632.4

NSR= number of subsurfaces of the problem domain; NN= number of nodes in the mesh; NE = number

of elements in the mesh; a=mean a quality of triangular mesh; �=mean b quality of quadrilateral mesh;

w =mesh grading coe�cient; Amax/Amin=ratio of maximum element size to minimum element size;

N1 = number of quadrilateral elements outside the range [308, 1508]; Wmin=minimum internal angle of all the

elements in the mesh; Wmax=maximum internal angle of all the elements in the mesh.

Table 3

Characteristics of ®nal quadrilateral meshes generated

Surface number NSR NN NE b N1 Wmin Wmax w Amax/Amin

1 [Fig. 25(d)] 2 5372 5354 0.698 7 24 155 0.694 4996.5

2 [Fig. 26(d)] 1 7779 7718 0.603 8 23 156 0.771 4914.5

3 [Fig. 27(d)] 1 7325 7174 0.762 0 31 145 0.858 150.6

4 [Fig. 28(d)] 2 5049 4996 0.720 6 24 154 0.849 2333.1

5 [Fig. 29(d)] 8 15463 15342 0.706 5 24 156 0.767 1139.4

NSR= number of subsurfaces of the problem domain; NN= number of nodes in the mesh; NE = number of elements in the

mesh; �=mean a quality of triangular mesh; �=mean b quality of quadrilateral mesh; w =mesh grading coe�cient; Amax/

Amin=ratio of maximum element size to minimum element size; N1 = number of quadrilateral elements outside the range [308,1508]; Wmin=minimum internal angle of all the elements in the mesh; Wmax=maximum internal angle of all the elements in the

mesh.

C.K. Lee, R.E. Hobbs / Computers and Structures 69 (1998) 577±608596

ation of quadrilateral mesh, the resolution of the ®rst

triangular mesh generated with double node spacing

will be lower than the corresponding normal size tri-

angular mesh. However, from the results listed in

Tables 2 and 3, one can see that the numbers of nodes

obtained for corresponding triangular and quadrilat-

eral meshes are approximately the same, and the num-

bers of quadrilaterals are roughly one half of the

Fig. 26(a) and (b).

C.K. Lee, R.E. Hobbs / Computers and Structures 69 (1998) 577±608 597

number of triangles. The plots (Figs. 25±29) also con-

®rmed that the mesh patterns of the triangular meshes

are preserved in all the quadrilateral meshes.

Turning to the convergence characteristics of the

iterative process, it is found that the w coe�cient and

the number of nodes and elements in the generated

mesh converge to their ®nal values after two to three

iterations.

One ®nal point worth mentioning is that for some of

the examples given, the input NSF used is actually too

Fig. 26. (a) Geometry of Surface 2; (b) initial mesh for Surface 2; (c) ®nal triangular mesh for Surface 2; (d) ®nal quadrilateral

mesh for Surface 2.

C.K. Lee, R.E. Hobbs / Computers and Structures 69 (1998) 577±608598

Fig. 27(a) and (b).

C.K. Lee, R.E. Hobbs / Computers and Structures 69 (1998) 577±608 599

Fig. 27. (a) Geometry of Surface 3; (b) initial mesh for Surface 3; (c) ®nal triangular mesh for Surface 3; (d) ®nal quadrilateral

mesh for Surface 3.

C.K. Lee, R.E. Hobbs / Computers and Structures 69 (1998) 577±608600

Fig. 28(a).

C.K. Lee, R.E. Hobbs / Computers and Structures 69 (1998) 577±608 601

Fig. 28(b).

C.K. Lee, R.E. Hobbs / Computers and Structures 69 (1998) 577±608602

Fig. 28(c).

C.K. Lee, R.E. Hobbs / Computers and Structures 69 (1998) 577±608 603

Fig. 28. (a) Geometry of Surface 4; (b) initial mesh for Surface 4; (c) ®nal triangular mesh for Surface 4; (d) ®nal quadrilateral

mesh for Surface 4.

C.K. Lee, R.E. Hobbs / Computers and Structures 69 (1998) 577±608604

Fig. 29(a and b).

C.K. Lee, R.E. Hobbs / Computers and Structures 69 (1998) 577±608 605

Fig. 29. (a) Geometry of Surface 5; (b) initial mesh for Surface 5; (c) ®nal triangular mesh for Surface 5; (d) ®nal quadrilateral

mesh for Srface 5.

C.K. Lee, R.E. Hobbs / Computers and Structures 69 (1998) 577±608606

coarse in some regions on the surface, resulting insome barely acceptable representations over part of thesurfaces (e.g. Surface 2). This demonstrated the im-

portance of a suitable NSF for the ®nal mesh qualityand grading for a 3D surface mesh.

7. Conclusions and Future Investigations

In this paper, a new approach for constructing anadaptive ®nite element mesh using the advancing front

technique (AFT) for surfaces represented by rationalB-spline curves (RBSS) is presented. In the proposedmesh generation scheme, a major part of the gener-ation processes is done in the parametric space and the

operational complexity of the mesh generation schemeis exactly the same as its 2D counterpart.The major di�erence between the current scheme

and previous work is that the shape and size of an el-ement in the 3D space is carefully monitored in eachelement creation step. By exploiting the robustness of

an AFT mesh generation scheme, very distorted andtwisted elements are ®rst generated in the parametricspace and then well-shaped 3D surface elements areobtained by mapping the elements back to the 3D sur-

face. Although this procedure will inevitably lead to amore complicated element formation scheme andrequire additional computational e�orts when com-

pared with the direct mapping technique, it is appli-cable to a wide range of folded surfaces and is able togenerate meshes with node spacing compatible with

the speci®ed input node spacing function (NSF) evenfor some unrealistically strongly graded node spacingdistributions.

A simple, yet highly e�ective, mesh conversionscheme is used for converting the triangular mesh into

a pure quadrilateral mesh. Although such a conversion

procedure may slightly lower the mesh grading quality

when compared with direct generation, all the quadri-lateral meshes shown in the mesh generation examples

have acceptable grading.

The robustness of the mesh generation and quadri-

lateral conversion procedures has been tested by apply-

ing them to generate some strongly graded meshes onsome very convoluted surfaces, and in applications to

adaptive shell analysis [25]. Satisfactory results have

been obtained in all cases.

Finite element mesh generation over general 3D sur-

faces is a complicated and di�cult task and many po-tential areas for further development are listed below.

(1) Secondary reverse mapping of parametric space.

Even though in the current implementation the distor-

tion e�ects of the parametric mapping have been takeninto account and o�set layers are generated to avoid

the singular e�ect of degenerated lines, a further

increase in the robustness and the e�ectiveness of the

mesh generator may be obtained by using the second-ary reverse mapping technique [12].

(2) Generalization of the mapping procedure.

All the generation algorithms described in this studycan be applied to a more general mapping procedure

such that the target surface is de®ned by a general sup-

port surface [19] on which the region to be meshed isenclosed by a number of unambiguously de®ned and

connected boundary curves (Fig. 30).

(3) Quadrilateral mesh conversion algorithm.

Results given in the last section show the mesh con-

version scheme used may slightly reduce the mesh

Fig. 30. Generalization of mapping procedure using support surfaces.

C.K. Lee, R.E. Hobbs / Computers and Structures 69 (1998) 577±608 607

grading of the ®nal quadrilateral mesh. Therefore, adirect conversion scheme, such as the systemic merging

approach [26], may perform better than the currentprocedure in terms of preserving the mesh grading.From the previous experience in 2D problems, the con-

trol of element shape along the domain boundary isvital to the overall quality of the mesh generated asthe boundary nodes will constrain and handicap many

ad hoc modi®cation procedures during the mesh qual-ity enhancement.

Acknowledgements

The ®nancial support of the Croucher Foundation

to the ®rst author is gratefully acknowledged.

References

[1] Peraire J, Peiro J, Morgan K, Zienkiewicz OC. Finite el-

ement mesh generation and adaptive procedure for CFD.

In: Proceedings of the GAMNI/SMAI Conference on

Automatic and Adaptive Mesh Generation. Grenoble,

France, October 1±2, 1987.

[2] Lo SH. A new mesh generation scheme for arbitrary pla-

nar domains. Int J Numer Meth Engng 1985;21:1403±26.

[3] George PL, Seveno E. The advancing-front mesh gener-

ation method revisited. Int J Numer Meth Engng

1994;37:3605±19.

[4] Shephard MS, Georges MK. Automatic three-dimen-

sional mesh generation by the ®nite octree technique. Int

J Numer Meth Engng 1991;32:709±49.

[5] Baehmann PL, Wittchen SL, Shephard MS, Grice KR,

Yerry MA. Robust, geometrically based, automatic two-

dimensional mesh generation. Int J Numer Meth Engng

1987;24:1043±78.

[6] Baehmann PL, Shephard MS, Flaherty JE. A posteriori

error estimation for triangular and tetrahedral quadratic

elements using interior residuals. Int J Numer Meth

Engng 1992;34:979±96.

[7] Zhu JZ, Hinton E, Zienkiewicz OC. Adaptive ®nite el-

ement analysis with quadrilaterals. Comput Struct

1991;40:1097±104.

[8] Lee CK. Automatic adaptive ®nite element mesh gener-

ation over 2D arbitrary domainÐa review. Progress

report, Department of Civil Engineering, Imperial

College of Science, Technology and Medicine, University

of London, 1994.

[9] Ghassemi F. Automatic mesh generation scheme for a

two or three-dimensional triangular curved surface.

Comput Struct 1982;15:613±36.

[10] Wu SH, Abel JF. Representation and discretization of

arbitrary surfaces for ®nite element shell analysis. Int J

Numer Meth Engng 1979;14:813±36.

[11] Gordon WJ, Hall CA. Construction of curvilinear co-

ordinate systems and applications to mesh generation.

Int J Numer Meth Engng 1973;7:461±77.

[12] Hinton E, Rao NVR, Ozakca M. Mesh generation with

adaptive ®nite element analysis. Adv Engng Software

1991;13:238±62.

[13] Potyondy DO, Wawrzynek PA, Ingra�ea AR. An algor-

ithm to generate quadrilateral or triangular element sur-

face meshes in arbitrary domains with applications to

crack propagation. Int J Numer Meth Engng

1995;38:2677±701.

[14] Okstad KM, Mathisen KM. Towards automatic adaptive

geometrically non-linear shell analysis. Part I: implemen-

tation of an h-adaptive mesh re®nement procedure. Int J

Numer Meth Engng 1994;37:2657±78.

[15] Lau TS, Lo SH. Finite element mesh generation over

analytical curved surfaces. Comput Struct 1996;59:301±9.

[16] Cass RJ, Benzley SE, Meyers RJ, Blacker TD.

Generalized 3-D paving: an automated quadrilateral sur-

face mesh generation algorithm. Int J Numer Meth

Engng 1996;39:1475±89.

[17] Piegl L, Tiller W. Curve and surface constructions using

rational B-splines. Comput Aided Des 1987;19:485±98.

[18] Lo SH. Automatic mesh generation and adaptation by

using contours. Int J Numer Meth Engng 1991;31:689±

707.

[19] Peraire J, Peiro J, Formaggia L, Morgan K, Zienkiewicz

OC. Finite element Euler computations in three dimen-

sions. Int J Numer Meth Engng 1988;26:2135±59.

[20] Bonet J, Peraire J. An alternating digital tree (ADT) al-

gorithm for 3D geometric searching and intersection pro-

blems. Int J Numer Meth Engng 1991;31:1±17.

[21] Lo SH. Generating quadrilateral elements on plane and

over curved surfaces. Comput Struct 1989;31:421±6.

[22] Herrmann LR. Laplacian-isoparametric grid generation

scheme. J Engng Mech Div ASCE 1976;12:749±59.

[23] Rank E, Schweingruber M, Sommer M. Adaptive mesh

generation and transformation of triangular to quadrilat-

eral meshes. Commun Numer Meth Engng 1993;9:121±9.

[24] Zhu JZ, Zienkiewicz OC, Hinton E, Wu J. A new

approach to the development of automatic quadrilateral

mesh generation. Int J Numer Meth Engng 1991;32:849±

66.

[25] Lee CK, Hobbs RE. Automatic adaptive re®nement for

shell analysis using nine node assumed strain element.

Int J Numer Meth Engng 1997;40:3601±38.

[26] Lee CK, Lo SH. A new scheme for the generation of a

graded quadrilateral mesh. Comput Struct 1994;52:847±

57.

C.K. Lee, R.E. Hobbs / Computers and Structures 69 (1998) 577±608608