FINITE ELEMENTS IN ANALYSIS A N D DESIGN
ELSEVIER
Finite Elements in Analysis and Design 25 (1997) 275-295
Adaptive mesh generation using a normal offsetting technique J o h n M. Sullivan Jr."'*, J a m e s Q i n g y a n g Z h a n g b Mechanical Engineering Department, University (?f Vermont, Burlington, V T 05405, USA b Baystate Technologies, 33 Boston Post Road West, Marlborough, MA 01752, USA
Abstract
A fully automatic adaptive remeshing approach is presented for two-dimensional applications. The approach uses a normal offsetting technique to deploy nodes followed by Delaunay triangulation with a mesh resolution function based on the physics and problem geometry. The method can handle multi-connected boundaries and multiple material regions. The mesh density function, based on a given problem, provides the mechanism for automatic refinement in regions of strong gradients and coarsens elements where gradients are mild to give appropriate mesh densities throughout the domain. As a consequence, one can reach a desired level of accuracy with reduced computational efforts.
1. Introduction
Domain discretization plays an important role in finite element analysis. During early development stages of the finite element method the greatest effort was focused upon developing improved methods of formulating and solving problems. The result was that pre- and post-processing techniques received limited attention. In recent years the Finite Element M e t h o d (FEM) and Boundary Element M e t h o d (BEM) have become integral components in the design/synthesis process in virtually all engineering sciences. However, the widespread incorporation of these analysis tools is hampered by the data preparation associated with discretizing complicated multi-dimensional geometries for numerical analysis. Owing to mesh generation's increasing role as a bottleneck in the finite element modelling and analysis, much attention has been focused on the problem of finite element mesh generation in the last few decades. Thacker [1] and H o - L e [2] have published excellent reviews of the literature through 1982. Shephard [-3] and Baker [4] have published independent comprehensive reviews which include the current two- and three-dimensional techniques through the late 1980s. M u c h of the work of Lo and Lee in the 1990s has been
* Corresponding author. 0168-874X/97/$17.00 @ 1997 Elsevier Science B.V. All rights reserved PII $0 1 6 8 - 8 7 4 X ( 9 6 ) 0 0 0 5 6 - X
276
J.M. Sullit,an, J.Q. Zhan~! Finite Elements in AnalvsL~' and Design 25 /1997) 275-295
focused on adaptive mesh generation [5-9]. Our work has stressed unstructured mesh generation in deforming and adaptive situations [10 15]. Most mesh generation strategies are based on the geometry of the objects. A typical domain discretization process creates equally spaced nodes yielding a uniform structured mesh distribution with local mesh refinement introduced in certain regions according to the user's experiences. This methodology is adopted frequently by commercial software systems. However, the finite element solution error is related to the size and distribution of the elements in the mesh as well as the problem specific physics. In fact, for the same physical problem but different boundary conditions, significantly different mesh requirements can exist. Generally, in FEM as the mesh is refined the accuracy of the solution, as well as its cost. increases. Excessive or ineffective refinement of domains consumes computational resources unnecessarily. Traditionally, mesh refinement was the task of the numerical analyst. They were responsible for converting a CAD geometry into a valid numerical model and solving the set of governing equations via FEM or an alternate numerical solution strategy. However, with the integration of FEM into the design/synthesis process much of this work is streamlined. A numerical model can be created transparent to the user. In this mode of operation, procedures are required to address the appropriateness of the numerical model. Consequently, adaptive finite element methods have been the focus of considerable research efforts for the last few years. Therein, a procedure is provided in which the finite element model is created simultaneously with the solution. Frequently, it uses the solution from a previous mesh to create a new mesh. An objective of adaptive FEM is to obtain the best solution of physical phenomena for a given computational effort, that is, a mesh structure that allows one to achieve the correct level of accuracy to a problem in the minimum time and/or computational effort.
1.1. Adapti~'e mesh generation In recent years, a significant effort has been dew,ted to adaptive mesh generation [5 10, 16-23]. These methods can be classified in two categories of adaptivity for FEM analysis: 1. h-method: The elements of the initial mesh are subdivided into smaller elements or merged into larger elements. 2. p-method: The order of the polynomial used for the element interpolation function is increased or decreased while keeping the geometry of the element constant, Simultaneous use of both types of refinement, or h-p adaptivity, tries to take advantage of both strategies. Implementation of the p-method is more complicated than the h-method, because extensive modifications of the analysis program are required. Additionally, higher-order polynomials can introduce artificial oscillations in the solution. The h-method is applicable to all existing codes. Although, the degrees of freedom of the problem can increase significantly relative to the p-method. Several mesh-enrichment methods retain the original node locations and add or remove nodes based on this original template. An attractive alternative is a complete mesh regeneration, which can be guided by specified mesh density requirements [19]. We concur with this latter mesh generation approach and have coupled it with a h-method adaptive process for a robust, general application solver.
J.M. Sullivan, J.Q. Zhang / Finite Elements' in Analysis and Design 25 (1997) 275-295
277
2. The normal offsetting technique 2.1. Overview The normal offsetting technique has been shown to be an effective mesh generation strategy in two and three dimensions [13, 14]. We review briefly the basis of this approach as presented earlier in [13] and expand its robustness by adding multiple material capabilities and enhanced multiple boundary configurations. The mesh generation method is divided into several steps. The user enters the boundary geometry, composed of line segments, at the desired boundary resolution. Nodes are deployed in the domain by offsetting the initial array of nodes located on the boundary inward along vectors normal to the boundary geometry and processing the resulting new points to determine new nodal locations. These new nodal locations are offset initiating another cycle. This sequence of offset-process-offset continues until nodes are deployed throughout the domain. Finally, an element connection via Delaunay triangulation is applied to produce the final mesh. The term layer is used to describe a set of points that are related by their similar depth toward the interior of the domain from the boundary. The term points is used to refer to the discrete offset locations in a layer before the locations are processed to determine their final locations. Nodes are the final, processed locations that make up the actual mesh. A row is represented by line segments which connect the points in a layer to form a continuous closed loop(s). The layer of nodes upon which the offsetting process is currently performed is the active layer and the resulting offset point locations is called a new layer. The active layer is referred to as the parent of the new layer. A complete cycle of offsetting an active layer to create a new layer and processing the new layer to determine nodal locations is referred to as a step. At the end of each step the new layer is ready to become the parent layer for the next step. Portions of the domain in which nodes have been deployed are referred to as meshed regions. Those regions in which no nodes have yet been deployed are unmeshed. Initially, the unmeshed domain consists of the entire region within the geometric boundary. Following an offset step, the new layer of nodal locations forms a new interior boundary surrounding a new domain of unmeshed space. This new bounding layer, and the unmeshed domain, are conceptually and structurally identical to the original boundary and domain and may be passed through the offset process again to form yet another layer of nodes. The process is repeated in sequence until the offset layer converges in the interior and the domain is filled with nodes. During offsetting, the shape of the new offset layer will not be the same as that of its parent layer or of the original boundary. The mesh density function gives local control over the deployment. Additionally, offsetting along vectors normal to curved boundaries causes convergence in concave regions and divergence in convex regions. These factors coupled with loop intersections change the shape of the working layer. A sequence of tests, which increase in computational complexity, are used during the offsetting process. Neighbor distance tolerance checking is followed by an angle tolerance check with a loop intersection check performed thereafter. This test sequence rectifies each new layer to ensure an appropriate node deployment in the domain.
278
.I,M. Sulliran. ,I.Q. Zhang l,Tnite Elemenls m Analysis and Design 25 (1997) 275-295
2.2. Mesh densiO,./imctio, One advantage of the normal oft~etting technique is its ability to control the density and gradation of element sizes from one location within the domain to another. Proper distribution of mesh density can increase the accuracy of the analysis solution in a specific area without massively increasing the total mesh, which is an objective of adaptive mesh generation. The source of mesh density information differs greatly for different applications. In transient and iterative situations, results from a previous analysis iteration often form the basis for adjusting local mesh density. In this normal offsetting package, mesh density is an external function independent of the mesh generator itself. Consequently, it offers the user the flexibility to tailor a mesh density for each application. The only requirement for a mesh density function is that it be able to return a unique density value for any arbitrary point in the domain. The density value can be a function of geometry and/or any interested physical properties, such as potential gradient or strain energy.
2.3. The normal q~.s'etti,g The calculation of point locations associated with an offset layer requires three components: an initial layer of locations, offset directions, and offset distances. The initial locations are provided by the active layer nodes. The offset directions, Vi, are normal to the active layer at each particular node, Ni, of the active layer. This normal value is calculated directly from the normals of the two attached line segments, Fig. 1. The offset distance along this normal vector is determined from two components: a characteristic element size and a mesh density value at a given point. The characteristic element size, which defines a offset distance with unit mesh density, could be given by the user or defaults to the m a x i m u m element size on the boundal y. The local mesh density value is obtained by a query to an external function which returns a scalar value for a given coordinate location. The mesh density is a function of domain geometry and/or physical properties of the system. Once the new offset point location has been determined, the mesh density value is checked at this location. If this density value differs significantly from the density value at the parent node, then a new offset distance and a new offset point location are calculated using the new density value. This process is repeated until the offset location converges.
Offsel distance
.'/
\
rJl[
~
, . ~ " ~ I'-,\ ,
~
Offset or
Fig. 1. Calculations of offset point locations. ITaken from Ref. [13]).
J.M. Sullivan, J.Q. Zhang / Finite Elements in Analysis and Design 25 (1997) 275-295
279
2.4. Distance tolerance checking As each layer of nodes is offset, the overall length of the layer changes, even though the initial number of points in an offset layer is the same as that of the nodes in the parent layer. Thus, the spacing along the new layer must be checked and adjusted to ensure acceptable mesh density. Only the tangential spacing within the layer needs to be checked since the normal spacing between layers is ensured during the calculation of the offset distance. The spacing between adjacent points is compared with the spacing specified by the local mesh density at that particular location. If the spacing between two adjacent points is less than a given percentage of the specified spacing they are snapped together to form a single point at the average coordinate. If the spacing between point pairs exceeds this ideal spacing by a given percentage, a new point is inserted into the layer connectivity at the midpoint.
2.5. Angle tolerance checking In areas of high concave curvature, sharp corners will form in the advancing layer of offset points. This situation results in unacceptable spacing between non-adjacent points, Fig. 2. The
I
~I
~ Extra point in divergingregion J
~'
/1 j~'1
~ k ~ ~ R,
R'i
Pointssnapped.in c°nvergmgregmn
Sharpanglein advancingfront
1
a)
7 \
I
,y
I
I
\
v
~
~
// I
\
Comercollapsed, j Connectivityrerouted 1
b)
Fig, 2. (a) Sharpangleidentifiedin workinglayer.(b) Vertexpoint is removedfrom advancinglayer but is retained as a valid Node in data structure (Taken from Ref. [13]),
280
J.M. Sulliz'an. J.Q. Zhan.q/ Finite Elements in Ana/vsis and Design 25 (1997) 275 295
interior angle formed by each series of three nodes is calculated and checked against two criteria. If the interior angle is less than a certain value then the vertex point is removed from the layer connectivity. The vertex is maintained in the layer data structure as a secondary point for which a node will be created but which will not be offset in the next step. If the interior angle is less than a minimum value then the two end points are snapped together as well. Implemented values of 6 0 for the first criterion and 45 for the second limit have worked well.
2.6. Intersection checking Two separate situations are handled by this process: single-loop intersections and multi-loop intersections. A single-loop intersection occurs when two opposite or distinct parts of the same row meet and advance over each other. This situation must be detected and the row modified to maintain acceptable nodal spacing and suitable row geometry for subsequent steps. Multi-loop intersection checking is required for geometries with multi-connected boundaries, or holes, in the domain. The boundary of each hole is treated as a separated section of the layer. Each section represents a closed loop of points and is processed separately through the offsetting procedure. Since the normals associated with the nodes around the hole will point 'outward' from the hole into the region to be meshed, this section of the row will expand exactly as a convex region does until a collision with the inward moving exterior section or the outward section from another hole is detected. In this situation a Boolean operation is applied to form new loop sections for subsequent offsetting steps.
2.6.1. SelJ~intersection checking Each line segment of the current row is checked with the other line segments in the row using a simple line intersection test. The type of intersection, terminal or overlap, is determined by stepping from one intersection to the next along the row. If the same intersection is encountered twice in sequence, a terminal loop has been detected. If distinct intersections are found in sequence, a collision overlap has been found. The area enclosed by the loop or overlap is collapsed, resulting in a series of points approximately along the "centerline" of the area. If any of the collapsed positions fall within a tolerance of the previous row then the spacing between the sides of the previous row is already acceptable and the point is eliminated. This tolerance is taken as 1/3 of the expected nodal spacing, as obtained from the base element size and mesh density function. As with the distance tolerance check, the criterion ensures a reasonable nodal deployment. The collapsed points are then checked with the distance criteria and snapped together if they fall within the distance tolerance. The connectivity of the row is adjusted to bypass points in the overlap region in the next offsetting cycle. As with the collapsed angles, the bypassed points are kept as secondary points and nodes generated for their locations. For terminal loops the collapsed section is bypassed by adjusting the row connectivity around the collapsed points. For overlap collisions the connectivity must be rerouted at both ends of the collapsed region. The result is that the row is effectively split into independent loops, or sections.
J.M. Sullivan, J.Q. Zhang / Finite Elements in Analysis and Design 25 (1997) 275-295
281
2.6.2. Multi-loop intersection Boolean operations have been added to treat multi-loop intersections. The checking is processed based on loop pairs. Two types of loop intersections can occur in normal offsetting. For intersections between two outward loops, i.e. internal holes expanding outward, a union operation is applied which merges the loops into a single outward loop. For the intersection of an inward (exterior) loop with an outward (interior) loop, a difference operation is applied to form new valid row sections for normal offsetting. The checking goes on for each loop in the active row paired with the other loops in the row. An example of this multi-loop intersection is presented in Fig. 3. In Fig. 3(a) the original boundaries are displayed showing two internal holes (or other material regions). The first offset vector directions are shown in Fig. 3(b). These new locations are processed for neighbor distance checks and angle checks prior to the intersection checking routines, Fig. 3(c). After the intersection checks the two internal holes have merged creating a small, centrally located island, that will be meshed, surrounded by a single loop expanding outward, Fig. 3(d). After 4 offset
@ (a)
(b)
(c)
(d)
(e)
(f)
Fig. 3. Multiple loops intersect, join, and split based on boolean operations.
282
J.M. Sullivan, J.Q. Zhan.q / Finite Element.s in Analysis and Design 25 (1997) 275 295
layers the expanding interior loop intersects the inward driving exterior loop, Fig. 3(e). These intersections create two separated crescent shaped loops that will proceed independently. Another two offsets and the left loop splits again~ Fig. 3(f). The process terminated after seven offsets. 2. 7. Convergence and termination The off'setting process advances step by step into the interior of the domain. Eventually, the layer converges and the domain is filled with an acceptable array of nodes. At this point the convergence must be recognized and the offsetting process terminated. In general, termination occurs when the insertion of additional nodes within the bounds of current layer either degrades mesh quality or produces an inappropriate mesh density in the region. To detect convergence a series of simple tests are performed on the layer alter each step. First, the number of points remaining in the layer is checked. This number must be at least one more than the minimum number of nodes in the type of element to be used in the mesh. If the number of nodes equals the number of nodes in an element then those nodes must form an acceptable element since the nodal spacing, and thus the element geometry, is checked during processing. If the number of remaining points is less than the number of nodes in an element, the layer can no longer form a closed boundary. Next the oriented area of the remaining section is checked. If the oriented area enclosed by the active row is negative then the row has completely overlapped. Two possibilities exist in this case. If the absolute area inside the current row is larger than the area inside the previous row, then the current row has on average expanded beyond the perimeter of the previous row and back into meshed areas. In this case the row is terminated without saving any of the points. If the absolute area is less than the previous row, the current row is still, for the most part, within the bounds of the previous row. In this case the row is collapsed and processed as an overlap collision area and the remaining points are added to the mesh database. 2.8. Multi-material regions The offset normal process is based on a front advancing from the boundaries, internal or external, into the domain. We have implemented preprocessor that decomposes each material region into independent zones coupled at the interfacial boundaries only as shown in Fig. 4. After deploying nodes in each single material domain by normal offsetting, a post-processor eliminates those duplicate nodes on interior boundaries and creates a final output of the finite element mesh. This implementation is robust and its data structure handles arbitrary complex geometries. 2. 9. Mesh smoothing Mesh smoothing is a technique to improve mesh quality by postprocessing. One of the most common methods is Laplacian smoothing, which attempts to reposition each interior node at the centroid of the polygon formed by its connected neighbors in order to improve element shape. The raw mesh produced by the normal offsetting mesh generator is of sufficient quality to be used directly. Hence, all examples presented are not postprocessed.
J.M. Sullivan, J.Q. Zhany / Finite Elements in Analysis and Design 25 (1997) 275-295
Material 3 Material 2
~
Material 4 Material 1
0
283
[]
@
Fig. 4. Each material region is meshed independently and then merged to form one contiguous, nonoverlapping mesh.
3. Adaptive implementation 3.1. Overview
The normal offsetting mesh generator is used in an adaptive mesh generation system composed of six modules: (1) a data input module, (2) a preprocessing unit, (3) the mesh generation routine, (4) a postprocessor for FEM model formatting, (5) a FEM solver, and (6) a Contour display and Assessment routine, Fig. 5. A description of each follows. Module 1: D A T A _ I N P U T Through this module, the user interactively defines the problem statement and geometry outline. The physical geometry, boundary conditions, material regions, material properties, source locations and strengths, if any, are specified, Fig. 6. An interactive X-window based graphics module was developed for construction and display of geometric entities and other system parameters. Here one interactively builds rectangle, circle, poly-line/are and B-spline geometric entities. Alternately, a more sophisticated CAD modeler can be used to build the geometry saving the entities in an IGES format datafile. Thereafter, the physical attributes and boundary conditions can be applied using the DATA I N P U T module. Module 2: PRE_ PROCESS This module decomposes the geometry datafile into a set of boundary definition files based on different material regions for mesh generation. During preprocessing all closed loops on the domain boundary are determined and ranked in order of decreasing area. A search of the loop list is made to identify any nested loops. If such loops exist they are treated as holes during the node deployment of the bounding loop. A schematic example was presented in Fig. 4. If sources exist in the domain, a source list is created for later use. Module 3: MESH2D
A single material domain is represented by linear line segments connected sequentially to form closed loops that bound the material regions completely and exclusively. The normal of each loop
284
J.M. Sullivan, J.Q. Zlmml. fTnite Elements m Anah'sis and Design 25 (1997) 275-295
Module 1 Data_Input
Module 2 Pre Process i
Model Definition ] Geometry I ~. Boundary Conditions I Sources Materials
Generate Independent Offsetting Data Files
Module 4 Post_Process
Module 3
Mesh2d main.pre meshl .pre mesh2.pre~ . meshn.pre
MeshGeneration I First pass: Ii Geometry density I Subsequentpasses: Geo&Physics den
nodel.pos eleml .pos noden.pos elemn.pos
Module 5
Module 6
1
ContourDisplay I Current and I Mesh MeshResolution 4 Assessment SolverSolution Convergence
l
grid.out
BackgroundMeshl Physics-BasedDensityArray
No
Synthesis Renumber Identify Bdys & Sources
Fem2D
Banded 2D Matrix Solver
]
PARA.SYS Fig. 5. Adaptive modules for automatic mesh gcneration and physics solver.
segment points inward to the domain following a right-hand coordinate convention. This situation requires outer loops to have a clockwise orientation (CW) whereas inner loops are orientated counter clockwise, CCW. The density calculation is based on the geometry and/or physics of the problem. A mesh node density flag in the user-specified datafile directs the density options. If no information is available based on the physics or other guiding mechanism the program calculates a density function at each boundary node based on the spacing of the adjacent boundary line segments. The program then triangulates the boundary nodes using the Delaunay method to create a background mesh. During the offsetting process the density function for any interior location is interpolated from this background mesh. The interpolation routine uses the same finite element basis functions as does the finite element solver. This geometry-based interpolation provides the mesh resolution specifications for the initial mesh. During adaptive remeshing, a solution field exists on the current mesh. As part of the input process the user specified the level of discretization via a single integer value. This input dictates how many nodes should be deployed along the solution path. If the temperature ranged from 0 to 100 ° and the user specified a resolution of 20 then nodes would be deployed approximately every 5 ; barring any geometry constraints. If a 1 0 change existed across an element in the current solution, the physics-based density value would double from its current setting for the next iteration. The density routine combines the geometric- and physics-density values for an adaptive nodal density value, p;, determined via ~)i = (WgDgi ~- WpDpi),
(1)
where Dgi is the geometric density at point i, Ppi is the physics density at point i, Wg is the weight for geometric density and W o is the weight for physics density.
J.M. Sullivan, J.Q. Zhang / Finite Elements in Analysis and Design 25 (1997) 275-295
Create New File
Readln IGES File
285
EditExisting Data_Inpt~ File
k ,11
ml
I
Finished
i"
Geometries
CreateFiles PARA,SYS &
Conditions
Declare Sources
Dirichlet
Location
I
i
Extract Geometric EntitiesB.C.s, & System Parameters
I
Declare
Create Geometric Entities
System Parameters
hi
l~mity Mode
Implicitness Geometric Entities Display
options
Neumarm
Strength
Tolerance FourieNo. Material Values
Catchy
Resolulion
f(AT)
I
Fig. 6. Input module for interactive definition of problem geometry and boundary conditions.
In this work Wg was set to 0.75 for the first offset layer, and 0.0 thereafter. The mesh density value determines the offset distance from the node with respect to the maximum boundary nodal spacing. An offset distance is calculated by multiplying the mesh density value at a given node with the default boundary nodal spacing. The new row formed by offsetting is then subjected to the distance tolerance checks, angle tolerance checks, and intersection checks, as discussed previously. Following nodal deployment a Delaunay triangulation establishes a new topology in the single material domain. Module 4: POST_ PROCESS The output files from MESH2D are merged into a single node and element file of the entire geometry. All redundant interfacial nodes are coalesced with appropriate node and element resequencing. A global bandwidth reduction is performed. The boundary conditions and source terms determined in the D A T A _ I N P U T module are matched to the global mesh and appended to the general grid file.
J.M. Sullit~an, J.Q. Zhan~t,, [~Tnite Elements in Analysis and Design 25 (1997) 275 295
286
5: FEM2D The geometry and boundary conditions are read, via the grid file, into this finite element solver module. The material properties and other system parameter options are stored in the system definition file which was built in the DATA I N P U T module. A numerical solution is obtained using a banded direct matrix solver. Module
6: C O N T O U R and ASSESSMENT This postaudit routine graphically displays the temperature field (or other potential function) on the current mesh. The FEM2D solution is used to assess the quality of the mesh. For this work the temperature gradient at each node is determined from the FEM2D solution. This calculated gradient and the target resolution, specified by the user in Module 1, are used to determine the local physics-based node density value. This new nodal density array is compared to the previous physics-based density array, interpolated to the current mesh if it exists, for convergence. If the physics-based density array has converged within tolerance the final mesh and solution are written to output files. Otherwise, the new density array and the current mesh (updating the previous background mesh) are passed to Module 3. Module
4. Problem statement
A two-dimensional transient heat conduction problem was taken as the physical model for this work. The governing equation has the form aT C~-~ = V ' I K V T ) + S CI
(2)
with possible boundary conditions of Dirichlet: T = T(specified), Neumann: q n = - K V T n, Cauchy: q . n = h ( T T~m~)=aT+h, where c is the volumetric specific heat capacity of the material, k is the thermal conductivity of the material, q is the heat flux, S is the line heat source (or sink) term, h is an external heat transfer coefficient and Tamb is the ambient temperature. A numerical solution of(2) is obtained using a direct banded matrix solver strategy. For transient situations the user specifies the degree of implicitness (0 ~< 0 ~< 1) and the nondimensional Fourier number.
5. Results
Three examples are presented in this section to demonstrate the performance of the adaptive remeshing approach using a normal offsetting technique coupled with a variety of mesh density options. These examples show that the method can deal with arbitrary geometries, multi-connected boundaries and multiple material regions.
J.M. Sullivan, J,Q. Zhang / Finite Elements' in Analysis and Design 25 (1997) 275-295
287
The first example is a 2D slice, from a stereolithography rapid prototyping operation, of a circular plate with several interior holes. An IGES datafile was read for geometry definitions as displayed in Fig. 7. No physics or boundary conditions were specified. A resolution of 50 was entered, which in the absence of physics defaults to the node count spanning a bounding perimeter. The resulting mesh is displayed in Fig. 8. A rerun of this situation with a node resolution of 85 is displayed in Fig. 9. These figures show the ability to discretize arbitrary domains exhibiting convex, concave, and slender sections with well shaped elements. The second example is a cross section of a fixed blade with two interior holes in which coolant flows. The steady-state, dimensionless form of (2) without sources was used with Dirichlet boundary conditions. A nondimensional temperature T = 1.0 was specified on the outer boundary and a T = 0.2 was specified about the interior holes. A background mesh was created based on the boundary resolution and is displayed in Fig. 10. Module 4 of the adaptive mesh generation system invoked a bandwidth minimization routine and assigned the boundary nodes and values automatically. The solution field was superimposed on this background mesh in Fig. 11. Note that the gradients circa the holes are quite strong relative to the midsection of the blade. Module 6 assessed that the resolution was insufficient virtually everywhere based on a resolution of 8 specified in Module 1. The adaptive system iterated once on the problem. A refined mesh was produced automatically in which the temperature drop across each element was uniform. This refined mesh is displayed in Fig. 12. Note the increased resolution in the vicinity of the interior holes and the slight increased sparceness in the blade's midsection relative to the default background mesh. An enlarged view of the nose section in Fig. 13 shows well formed elements and a node resolution of 8 along gradient lines. Elements adjacent to each boundary receive weighted contributions from both geometry and physics density routines as discussed previously.
Fig. 7. Boundarydefinitionof a circularplate with multiple complex geometries,
Fig. 8. Prototype meshedwith a 50 node resolution per range extent.
288
J.M. Sullivan. J.Q. Zhan~l. Finite Eleme~ts in Anah,sis and Design 25 (1997) 275-295
Fig. 9. Prototype meshed with an 85 node resolution per range extent.
Fig. 10. Initial geometry-based mesh created by adaptive mesh generation system.
The third example is taken from a digitized CAT scan of a human body which consists of multiple material regions as shown in Fig. 14. A brief summary of the situation surrounding this example is as follows. It has been shown that elevating the temperature of a cancerous tumor may have therapeutic results. However, only a small temperature range exists where the cancerous cells
J.M. Sullivan, J.Q. Zhang / Finite Elements in Analysis and Design 25 (1997) 275 295
289
Fig. 11. Solution field overlaid on background mesh.
Fig. 12. Automatically refined mesh based on problem physics and boundary discretization.
die without sacrificing normal body tissue cells. Consequently, investigators are trying to locally elevate the temperature of cancerous tumors. One possible heating strategy is to insert microwave antenna probes into the tumor. Unfortunately, the power requirements are unknown due to the complex heat transport physics. A general approach to the solution of this problem is to solve the
290
J.M. Sullil'an, J.Q. Zhanq. fTnite Elements in And&sis and Design 25 (1997) 275- 295
Fig. 13. Enlarged view from nose section of blade showing approximately 8 nodes along the gradient path.
. ExternalBoundar), //T=0 /,/~B.._ ~"~Nondimensional )
"- .... ~'N Smooth \ \\ Muscle
,/
7/
T
~\\
/
\
]
;
/ / Pelvic/ \~ Bone (/ i } \
~
,,'\
\\
......
Bladder
Cancerous
•
Tumor •
-
',,,. \ ],,Pelvic) ~ Bone '! i
>
~
/
\
Source Loc
/
//
Fig. 14. Internal and external boundary definition of body from CT scan.
B i o h e a t transfer e q u a t i o n w h i c h can be represented in d i m e n s i o n l e s s form as [24] aT C~7 = V.(KVT)
- m T + S,
w h e r e the n o n d i m e n s i o n a l domain.
term m a c c o u n t s
(3) for the b l o o d flow p e r p e n d i c u l a r
to the test
J.M. Sullivan, J.Q. Zhang / Finite Elements in Analysis and Design 25 (1997) 275-295
29l
For the simulations presented m was set to 1 with c = 0.6 and k -- 0.003 in muscle c = 1.0 and k = 0.004 in bladder c = 0.6 and k = 0.006 in bone, and c = 0.5 and k = 0.003 in the tumor. T is the dimensionless temperature, with a target range of 0 ~< T ~< 1 where T = 1 corresponds to a temperature 6°C above the normal basal temperature in dimensional space and T = 0 corresponds to normal body temperature. For successful hyperthermic treatment the entire t u m o r must be elevated 4.5°C with an upper safety limit of 6°C. The source term S accounts for the microwave antenna power. The power value is u n k n o w n and must be solved iteratively based on the developed temperature field. The system automatically meshes the d o m a i n outlined in Fig. 14 using the offsetting normal strategy and the b o u n d a r y discretizations. Dirichlet b o u n d a r y conditions on the external boundary (T = 0) and a source strength were specified in Module 1. This initial mesh is shown in Fig. 15. Note that all internal boundaries are preserved with fidelity. No elements cross physical
Fig. 15. Geometry-resolved mesh with contours ranging from 0 at the external boundary through 1.5 at the upper source in increments of 0.25. The mesh preserved all boundaries.
292
J.M. Sullil~an, J.Q. Zhan# / Finite Elements in Analysis and Design 25 (1997) 275~95
boundaries. This mesh generation feature facilitates the application of material specific thermal properties. The initial solution from Module 5 is superimposed in Fig. 15. This initial mesh was based on geometry considerations only. Note that in the regions distant from the source locations approximately 5 elements exists between contour lines. However, in the vicinity of the sources less than one element spans a contour line. Module 6 of the system assesses the physical density requirements based on a desired resolution of 8 and returns to Module 3 fore remeshing. We deactivated the geometry weighting function temporarily and created a new mesh based on physics only (as well as the boundary resolution constraints). This solution field is displayed in Fig. 16. Note that the thermal activity far from the sources are quite mild. The internal geometry resolution exceeds the physics based requirements which results in somewhat slender elements at the top of the figure. Reinstating the geometry based density weighting function the adaptive mesh created smooths the transitions from the boundaries as shown in Fig. 17. Immediately apparent are the well shaped elements, the continuous change in element size as one approaches area of high
/j'/
Fig. 16. Physics-resolved mesh with contours ranging from 0 at the external boundary through 1.5 at each source in increments of 0.25. The mesh has all internal boundaries preserved.
J,M. Sullivan, J.Q. Zhanf / Finite Elements in Analysis and Design 25 (1997) 275-295
293
Fig. 17. Geometry and Physics resolvedmesh with contours ranging from 0 at the external boundary through 1.5 at two of the sources in increments of 0.25. The mesh has all internal boundaries preserved.
thermal gradients and the preservation of the material boundaries. The resolution of each physical boundary is not changed during the simulation.
Conclusions A fully automatic adaptive remeshing approach was presented for two-dimensional applications. The approach used a normal offsetting technique to deploy nodes followed by Dclaunay triangulation with a mesh resolution function based on the physics and problem geometry. The method handled multi-connected boundaries and multiple material regions. The mesh density function, based on a given problem, provided the mechanism for automatic refinement in regions of strong gradients and coarsened elements where gradients were mild to give appropriate mesh densities throughout the domain. All numerical meshes preserved the physical boundaries with fidelity. As a consequence, this form of adaptive finite element solvers is well suited for incorporation into CAD systems which integrate FE analysis into their packages. It allows the meshes to be created
294
J.M. Sulli~an, J.Q. Zhang Finite Elements in Analysis and Design 25 (1997) 275-295
transparent to the user and it has a methodology to address the appropriateness of the numerical model.
Acknowledgements This work was sponsored in part by the NIH Grant # 5 R01 CA37245-08
References [1] W.C. Thacker. "'A brief review of methods used for generating irregular computational grids", Int. J. Numer. Methods En.q. 15, pp. 1355-1341, 1980. [2] K. Ho-Le. "'Finite element mesh generation methods: A review and classification", Comput. Aided Des. 20, pp. 27 38, 1988. [3] M.S. Shephard, "Approaches to the automatic generation and control of finite element meshes", Appl. Mech. Rer. 41, pp. 169 184, 1988. [4] T. Baker, "Developments and trends in three dimensional mesh generation", J. Appl. Math. 5, pp. 275 304, 1989. [5] S.H. Lo, "'Automatic mesh generation and adaptation by using contours", Int. J. Numer. Methods En~l. 31, pp. N4, 1991. [6] C.K. Lee and S.H. Lo, "An automatic adaptive refinement finite element procedure for 21) elastostatic analysis". Int. J. Numer. Methods En~l. 35, 1992. [7] S.H. Lo and C.K. Lee, "Solving crack problems by an adaptive refinement procedure", En.q. Fracture Mech. 43, 1992. [8] S.H. Lo and C.K. Lee, "'On using meshes of mixed element types in adaptive finite element analysis", FEAD 11, 1992. [9] C.K. Lee and S.H. Lo. "An automatic ~tdaptive refinement procedure using triangular and quadrilateral meshes", Enq. Fracture Mech. 50, 1995. [10] J.M. Sullivan..lr. and D.R. Lynch, "Grid generation for dendritic growth simulations on deforming elements", in: R.W. Lewis et al. (eds.), Numerical Methods in Thermal Prohlems, Vol. 5, Pineridge Press, Swansea, pp. 5 14, 1987. [11] J.M. Sullivan, Jr., "Automated mesh generation for simulations exhibiting extreme geometric change", in: B. Prasad {ed.), CAD~CAM Robotic and Faetm'ies (~f the Future, Springer, Berlin, pp. 60-64, 1989. [12] B.P. Johnson, J.M. Sullivan, Jr. and A. Kwasnik, "'Automatic conversion of triangular finite element meshes to quadrilateral elements", Int. J. Numer. Methods En~l. 31, pp. 67-84, 1991. [13] B.P. Johnson and J.M. Sulliwm, Jr.. "'Fully automatic two dimensional mesh generation using normal offsetting", Int. J. Numer. Methods En~l. 33, pp. 425 442, 1992. [14] B.P. Johnston and J.M. Sulliwm, Jr., "A normal offsetting technique for the fully automatic generation of meshes in three dimensions", Int. J. Numer. Methods En~l. 36, pp. 1717 1734, 1993. [15] ,I.M. Sulliwm, Jr.. G. Charron and K.D. Paulsen, "'A three dimensional mesh generator for arbitrary, multiple material domains", submitted. [I 6] O.C. Zienkiewicz and J.Z. Zhu, "'Adaptivity and mesh generation", Int. J. Numer. Methods Eng. 32, pp. 783 810, 1991, [17] H. Jin and N.E. Wibe,g, "Two-dimensional mesh generation, adaptive remeshing and refinement", Int. J. Numer. Methods Enq. pp. 1501 1526, 1990. [18] M.C. Rivara, "Selective refinement/derefinement algorithms for sequences of nested triangulations", Int, J. Numer. Methods Enq. 28, pp. 892 906, 1989. [19] E.A. Thornton and G.R. Vemaganti, "'Adaptive remeshing method for finite-element thermal analysis ~', J. Thermophys, and Heat Transji, r 4, pp. 211 220, 1990. [20] P. Roberti and M.A. Melkanofl; "Self-adaptive stress analysis based on stress convergence", Int. J. Numer. Methods En,q. 24, pp. 1973 1992, 1987.
J.M. Sullivan, J.Q. Zhanq / Finite Elements in Analysis and Design 25 (1997) 275-295
295
1-21] M.K. Georges and M.S. Shephard, "Automated adaptive two-dimensional system for the hp-version of the finite element method", lnt. J. Numer. Methods Eng. 32, pp. 867-893, 1991. [22] R.V. Nambiar, R.S. Valera, K.L. Lawrence, R.B. Morgan and D. Amil, "An algorithm for adaptive refinement of triangular element meshes", lnt, J. Numer. Methods Eng. 36, pp. 499-509, 1993. [23] O.C. Zienkiewicz and J.Z. Zhu, "A simple error estimator and adaptive procedure for practical engineering analysis", Int. J. Numer. Methods Eng. 24, pp. 337-357, 1987. [24] J.W. Strohbehn, K.D. Paulsen and D.K. Lynch, "Use of the finite element method in computerized thermal dosimetry", in: J.W. Hand and J.R. James (eds.), Handbook of Techniques.6~r Clinical Hyperthermia, Research Studies Press, UK, 1986.