Anda di halaman 1dari 16

Available online at www.sciencedirect.


Finite Elements in Analysis and Design 39 (2003) 1139 1154

Generation of block-structured grids in complex computational domains using templates

Tomaz Kolsek , Matjaz Subelj, Joze Duhovnik
LECAD, Faculty of Mechanical Engineering, University of Ljubljana, Askerceva 6, 1000 Ljubljana, Slovenia Received 5 December 2001; received in revised form 26 April 2002; accepted 16 May 2002

Abstract In numerical analysis, the process of grid generation is used to decompose computational domains into nite elements or nite volumes. It is very di cult to generate quality grids for complex computational domains with a good distribution of nodes. This paper presents a concept for computational grid optimization performed by decomposing complex domains into simpler parts on a basis of a decomposition scheme (template). Complex boundaries are replaced by a number of simple patches. Special geometric constraints are imposed on the constituents of patches to allow for the same decomposition scheme to be used for a broad variety of boundary shapes. These constraints ensure consistency of the computational domain during positional and dimension changes of structural components. Grid generation is performed in four steps: building of a template, applying the template to particular data, optimization of the position of subvolume components and nally, the grid generation inside subvolumes. We demonstrate our concept using an example of water turbine geometry and compare the quality of the generated numerical grids with respect to the orthogonality criteria. ? 2002 Elsevier B.V. All rights reserved.
Keywords: Complex geometry; Numerical analysis; Computational domain; Decomposition template; B-spline; Orthogonality; Numerical grid

1. Introduction Three-dimensional (3D) numerical analysis require volume discretization through the generation of a grid, which is a process of decomposition of computational domain into nite elements or nite volumes. In complex geometries, domain boundaries are also complex. When such domains
Corresponding author. Tel.: +386-1-4771-435; fax: +386-1-4771-156. E-mail addresses: (T. Kolsek), (M. Subelj), (J. Duhovnik). 0168-874X/03/$ - see front matter ? 2002 Elsevier B.V. All rights reserved. PII: S 0 1 6 8 - 8 7 4 X ( 0 2 ) 0 0 1 6 1 - 0


T. Kolsek et al. / Finite Elements in Analysis and Design 39 (2003) 1139 1154

Fig. 1. Example of decomposition of the same computational domain into a set of subvolumes using two methods.

are discretized, it is important that the grid ts the boundaries well; this is, however, di cult to achieve with strongly curved boundaries (edges). For a complex 3D domain, it may take much longer to generate a grid of good quality than to execute the simulation code or to analyze the results. For accuracy or computational convenience reasons, structured grids are often preferred; these decompose a computational domain into a greater number of elementsrectangles for 2D spaces and hexahedrals for 3D spaces. The elements are arranged into an I J or I J K eld. Structured grids for complex computational domains are obtained by decomposing the domain into several subvolumes. The process is known as a multiblock domain decomposition. The subvolumes are then easily divided into grid elements. Such grids are called block-structured grids; the advantage of these lies in an easier adjustment of grid density near boundaries, usage of simpler algorithms for grid generation inside geometric blocks and computational e ciency. Fig. 1 shows an example of decomposition of the computational domain into subvolumes. The block-structured grids are well-established among current grid generation techniques [1]. The e orts are made toward automatic decomposition of complex 3D domains. Allwright [2] presents rules based on experience with graphical block decomposition. Park and Lee [3] suggested a hypercube++ concept, where complex geometry is rst transformed into parametric domain, decomposed in 3D blocks and then mapped back to physical space. The process involves merging of parametric blocks. Li [4,5] presents a very general approach, which seems to be suitable for classical CAD modellers: complex domain multiblock decomposition based on 3D voronoi diagrams. The nodes of voronoi diagram are classied and mapped to one of 19 3D topological primitives, which are assembled to a decomposed volume and then mapped back to physical space. Commercial tools for grid generation can generally be divided into two groups: specialized grid generators and CAD interactive modellers for the most general problems. Tools from the rst group are distinguished by simple repeatability of grid generation for small changes in a specic geometry. The opposite is true of tools from the other group, which can be used for a large geometric variety of computational domains, but the decomposing requires signicant level of expert knowledge. Also the geometric changes of boundaries may result in redesign of decomposition layout and thus require a lot of user e ort to generate modied grid. This paper presents a concept that uses decomposition templates which enable the decomposition of complex domains in 3D and unites the properties of existing commercial tools from both the above-mentioned groups. A quality grid for a new geometric domain is generated in four steps.

T. Kolsek et al. / Finite Elements in Analysis and Design 39 (2003) 1139 1154


1. The generation of a decomposition scheme (template) for some topological type of computational domain (e.g., computational domains comprising submerged bodiesturbine blades, ship hulls, etc.), which denes the method of decomposition into subvolumes of primitive shapes. This step can either be performed automatically using one of general methods [24] or manually by an expert. 2. The application of the template to concrete geometric data, which results in a geometric database record of subvolume building components. This phase is fully automatic and is executed in seconds. 3. The optimization of the position of subvolume components; during this phase, orthogonality of geometric components is achieved. 4. The grid generation inside subvolumes, which involves some simple meshing algorithm. Fig. 2 explains, how these steps are performed. When functional optimization of a geometry with regard to the results of a numerical analysis is needed, new geometric parameters (lengths, angles, boundary shapes) can be re-entered into step two. The advantage of such an approach lies in the e ective preparation of numerical grids for a large number of topologically similar geometries and an easy control of grid quality. For any particular topological setup, the rst step thus needs to be performed only once, while the steps that follow can be executed entirely automatically and thus do not need an expert knowledge when generating discretizations. Each of the steps is described in detail in the sections that follow. 2. A decomposition scheme A decomposition scheme (a template) describes a method of decomposing an entire computational domain into smaller subvolumes and their layout in the whole geometry of computational domain. Subvolumes are easier to manipulate, as during optimization phase it is possible to control the geometric orthogonality and grid quality more precisely within smaller units. In principle, subvolumes can be of any given topology (2D triangle or rectangle, 3D tetrahedron or block or other polyhedron), as long as an algorithm exists that enables grid generation of subvolume topology. When the grid with hexahedral elements is desired, it is reasonable to decompose the computational volume into primitive block-shaped subvolumes because of simple grid coordinate mapping between parametric and physical space. As a result of decomposition method, a geometric database is built, which is a description of geometry of computational domain and its partitioning into subvolumes. During processing, a number of methods are employed to transform the user input to geometric database. A set of geometric constraints links geometric database constituents and enables an optimization phase. Each of these template features is explained in the following sections. 2.1. A geometric database The geometry is described by sets of vertices, edges and surfaces (Fig. 3). The most general mathematical description of edges and surfaces is obtained using B-splines or NURBS, which are widely established in CAD [68].


T. Kolsek et al. / Finite Elements in Analysis and Design 39 (2003) 1139 1154
the rules of transformation of primitive data into geometric description (macro file) parameters for controlling the variation of the geometry and/or topology

step1: template design

step 2: preprocessing of input data using template

library of functions for the generation of geometry components

New project, simillar geometry

New primitive user input data


transforms primitive input data into geometric components of subdivision volumes

definition of subvolumes in B-spline form automatic or user-assisted optimization of control points position on carrier geometric entities

Step 3: optimization

step 4: grid generation by applying simple distribution algorithm

grid generation inside subvolumes and export in appropriate solver format numerical analysis (FEA, FVA)

Numerical analysis of the geometric appropprietness

evaluation of results


geometric changes required ?



Fig. 2. Performing a grid generation using template concept.

Surface B-splines are dened by its control points and blending functions [6,7]
n m

P (s; t ) =
i=0 j =0

Pij Ni; 3 (s)Nj; 3 (t );


where s and t are coordinates in parametric space, Pij are control points, Ni; 3 are blending functions of third order, dened by CoxDe-Boor recursive formulae: Ni; k (t ) = Ni; 1 (t ) = (t ti ) Ni; k (t ) (ti+k t ) Ni+1; k 1 (t ) + ; t(i+k 1) ti t(i+k ) ti+1 1; 0 when t [ti ; ti+1 ] otherwise: (2)

T. Kolsek et al. / Finite Elements in Analysis and Design 39 (2003) 1139 1154


V4 E4 V1 E1 Vol1 V8 S2 V5 V6 S1


V3 E2

Ec1 Sc1

V2 Vol2 V7 Sc2

Fig. 3. Geometry description: V is the vertex, E the edge, S the surface, Vol the volume, Ec the carrier edge, Sc the carrier surface.

Apart of precise surface description, many components of subvolumes can be constructed by interpolation. Once the edges have been dened, some of subvolume surfaces may be obtained by bilinear interpolation between four bounding edges: P (s; t ) = [ 1 s s] P (0; t ) P (1; t ) s] + [ P (s; 0) P (0; 1) P (1; 1) P (s; 1) ] 1t t 1v v : (3)

[1 s

P (0; 0) P (1; 0)

For more complex surface descriptions, we have used Gordon interpolation [7], which constructs an interpolation surface through a mesh of curves (edges):

P (s; t ) =

P (si ; t )Lm i (s) +

n j =0

P (s; tj )Ln j (t )

n P (si ; tj )Lm i (s)Lj (t );


i=0 j =0

where P (si ; t ) are curves in t surface direction, P (s; ti ) are curves in s surface direction and Lm i (s) is Lagranges polynomial of m-degree: Lm i (s) =
m j =0; j =i (s sj ) : m j =0; j =i (si sj )



T. Kolsek et al. / Finite Elements in Analysis and Design 39 (2003) 1139 1154

The positions of vertices, control points of edges, surfaces, their types and topology cross-references are all written in a geometric database. 2.2. The template methods The template methods describe the transformation of user input data to a previously described geometric database. User input data can in general be of any form. For example, a set of parameters (lengths, widths, angles) stored in a le and read by a parsing routine can be used to describe a geometric domain. When complex geometries ( ow conduits with obstacles for example) are considered, a suitable method of providing data is one which uses a set of points, which present cross-sections of the computational domain. Such data can easily be extracted from CAD packages, or may also be the result of a synthetic generator or measurement data. The method of transforming input data into geometric entities is implemented in a preprocessor. A preprocessor consists of a set of functions (operators) which are capable of transforming the anticipated input (dimensions, sets of points) into the geometric entities and applying constraints. The key functionality is as follows: building of B-spline edges and surfaces by interpolation through sets of user points; building of interpolatory surfaces from boundary edges or mesh of curves; performing projections of vertices to complex edges and surfaces as well as projecting whole edges to surfaces; applying constraints to geometric entities; linking geometry to form a consistent topology; reading of user input data in predened format. The series of function calls is stored in a macro datale. Fig. 4a shows an example of user input data, which consists of three sets of points. They describe a characteristic shape of a water turbine axial runner by approximating the contour of the hub and shroud surfaces and multiple blade cross-sections. Fig. 4b shows the geometry, describing one periodical segment of the computational domain for evaluating ow characteristics. During transformation, the following steps were performed: (1) The user input data in the form of points given by its cartesian coordinates was read from the le. Three groups of points were assumed to represent hub contour, shroud contour and a series of blade proles contours. (2) B-spline control points were calculated interpolating hub and shroud contours. They were then transformed into B2-spline to describe the surfaces of revolution. (3) The blade points were interpolated into B-splines and then assembled into Gordon surface type to describe the blade surface. The cross-section of blade surface with hub and shroud surfaces was calculated and added to form new edges in the database. (4) Intermediate partitioning edges were constructed with respect to size and position of input point sets. (5) Interpolatory surfaces and volumes have been assembled according to predened pattern. Step 3 involved many point projection substeps, where a space point P was projected onto some edge E or surface S . To accelerate such substep, we have precomputed a set of points PEi on an

T. Kolsek et al. / Finite Elements in Analysis and Design 39 (2003) 1139 1154
a series of points defining interpolatory blade surface


contour of shroud, described by series of points

surface of revolution, constructed from contour data and axis of rotation

contour of hub, described by series of points



internal partitions

blade surface, defined as Gordon surface, constructed from interpolation splines

these surfaces coincide with shroud surface of revolution

limits of one periodical segment




Fig. 4. (a) Example of input data for dening the geometry of the runner in an axial water turbine (three groups of points). (b) Result of template transformation: a volumetric description of computational domain, partitioned into subvolumes.

edge E (similar for surface). To nd a projection of P on E , we have calculated distances from P to PEi and located closest point PEi closest . We than recursively limited search to the vicinity of PEi closest until some tight tolerance has been reached. The series of described steps has been recorded in a macro data le, which was interpreted by a preprocessor invoking appropriate computer code.


T. Kolsek et al. / Finite Elements in Analysis and Design 39 (2003) 1139 1154

Vertex description
1. 2.

constraints description
constr. type=attached to surface, surface=12, s=0.323,t=0.827

constr. type=periodic with vertex , vertex=122, s_offset=0.5,t_offset=0.2

x,y,z coordinates ability to behave like control point associations to other topological entities links to constraints



constr. type, link to geom. entity, (s,t) positions and other parameters

Fig. 5. Vertex description and examples of geometric constraints.

2.3. Geometric constraints In addition to the topology, templates also dene the geometric constraints for geometric entities. Along with its geometric description, each geometric entity may have a number of constraints dened, which link it to another geometric entity. These constraints ensure the consistency and desired synchronous changes of geometry upon anticipated changes of vertex, edge or surface geometric position during optimization phase. Geometric constraints are dened as follows: vertex Vi is attached to surface Sj , edge Ei is dened as the connection between the two vertices Vj and Vk and is projected on surface Sm , vertex Vi is rotationally periodic with vertex Vj and so on. One of the key constraint types is a vertex attachment to edge or to surface. Its coordinates, associations to other topological elements and links to constraints generally describe a vertex. The vertex attachment constraint description contains relative vertex coordinates with respect to associated entity (s for an edge and s; t for a surface). Once a set of attached vertices {V (s; t )i } is dened together with their relative coordinates, an edge attached to a surface can easily be dened as a polynomial interpolation through vertices in s; t surface parametric space. Fig. 5 shows a description of a vertex that has some constraints dened. 2.4. The geometric optimization of position of subvolume components The preprocessor determines the positions of subvolume components and records a geometric database; however, it is di cult to compose such a preprocessor that is capable of ensuring an optimum distribution of the components even for large variations of the input data. In order to dene the best arrangement of subvolume components, some criteria must be selected. In numerical analysis, several criteria are used to assess the quality of the generated element grid. Such criteria are, for example, angles between adjacent element sides [9], angle between the element face and the line connecting adjacent elements centers (orthogonality), deviations of element surfaces from the plain (warpage), ratios of side lengths (aspect ratio) and others. We focused on the rst criterion (element angles), as it is easy to implement and is associated to orthogonality, which is an important

T. Kolsek et al. / Finite Elements in Analysis and Design 39 (2003) 1139 1154
V4 E4
V4 E3 V3 Ec2 E4 S1 V1 V1 E1 V2 E1 Ec1 E4 S1 E2


E3 S1 V3 E2 V2 Sc1

E4 V1 E1




Fig. 6. The concept of control point and carrier edge and surface.

grid characteristic in all types of simulations. In numerical analysis of uid ow, the general rule is that the angle inside an element should be greater than 20 to achieve satisfactory accuracy and avoid convergence problems. When simple interpolation algorithms (e.g. trilinear interpolation) are used to generate a grid of elements inside subvolumes, the worst elements are, as a rule, found near subvolume edges. Since the subvolumes are assumed to be of simple shape with low to moderately curved boundaries, it is reasonable to assume that the mesh quality is associated with the orthogonality of subvolume boundaries. In order to improve the orthogonality of the generated grid, it is thus necessary to ensure the maximum possible orthogonality of subvolume boundaries. The option is therefore introduced of changing the shape of the subvolume components without changing the entire geometry of the computational domain. This is achieved by introducing control points, which are attached to the vertices of subvolumes. The control points posses certain number of degrees of freedom, which enable changes of position by sliding along carrier edges or surfaces, see Fig. 6. Carrier edges and surfaces represent the geometric boundaries of the entire computational domain, although in principle such surfaces can also be created inside solution domain. As vertices are attached to carrier geometry, their movement a ects only internal computational domain partitioning and does not spoil the external boundaries. Optimization of the position of control points is possible with one of the established automatic algorithms [9]. However, interactive optimization is also possible, in which case the user for example clicks on the control point and moves it along the carrier line or surface, thus intuitively achieving an optimal shape of subvolumes. Optimization step can be automated, but in our application we have used an interactive optimization method. When a template is well designed, a non-expert can interactively optimize the decomposed geometry in minutes. 2.5. Grid generation inside subvolumes Our technique is based on assumption, that after a decomposition we obtained a set of primitiveshaped subvolumes (a tetrahedron, wedge, block), whose boundaries (faces) were made as orthogonal as possible during optimization process. When a template is designed, a care must be taken to foresee the arrangement of subvolumes in such a manner, that a greater optimization control can be achieved close to expected highly curved computational domain boundaries. Considering this, we have implemented simple grid generation technique inside a block-shaped subvolume by using


T. Kolsek et al. / Finite Elements in Analysis and Design 39 (2003) 1139 1154
V1 s E1 u E9 E8 V5 E5 E10 V2 E12 E2 V3 S4 V8 E11 E7 E3 t E4 V4 S1

S3 V6

E6 S2


Fig. 7. A topology notation and indexing of a cuboidal subvolume. The parametric position of a point in s; t; u space is given by Eq. (6).

trilinear interpolation: P (s; t; u) = [ 1 s s] S1 (t; u) S2 (t; u) s] E9 (u) E10 (u) E4 (t ) E2 (t ) E1 (s) E3 (s) +[1t E12 (u) E11 (u) E8 (t ) E6 (t ) E5 (s) E7 (s) u 1u u t] S3 (s; u) S4 (s; u) t 1u +[1u u] S5 (s; t ) S6 (s; t )

[1 s


[1 s


[1 t


(1 s)(1 t )(1 u)V1 (1 s)(1 t )u V5 s(1 t )(1 u)V2 s(1 t )uV6 (1 s)t (1 u)V4 (1 s)tuV8 st (1 u)V3 stuV7 ; (6) where Si are surfaces, Ei are edges and Vi are vertices of a volume in Fig. 7. However, the same interpolation scheme can be applied to other primitive subvolume types, whose shape can be regarded as a degenerate block (any polyhedra with number of faces less or equal 8, with maximum four edges per face). The distribution of grid nodes can easily be controlled by specifying the distribution laws along edges in relative coordinates. Often non-uniform distribution is preferred in the vicinity of

T. Kolsek et al. / Finite Elements in Analysis and Design 39 (2003) 1139 1154


Vi s0=0.0 a s1 a.k s2 s3 (a . k) . k s4

Vj s5=1.0 s

Fig. 8. Example of non-uniform node distribution along an edge.

computational domain boundaries. An example of such a node distribution is shown in Fig. 8 and is described as follows: 1 ; (7) a (1 + k + k 2 + + k (n2) ) = 1:0 a = 2 (1 + k + k + + k (n2) ) si = (1 + k + k 2 + + k (i=1) ) a; where si is relative position of the node i on an edge, k is an expansion factor, a is the distance between rst two nodes and n is the number of nodes dened on an edge. This concepts can be used to implement internal discretization of subvolumes. The type of algorithm depends on the topology of grid elements desired (tetrahedron, wedge, hexahedron or arbitrary polyhedron). We have limited our research on generation of hexahedra structured grid. 3. The template types In order to describe the widest possible range of geometries, decomposition templates must be su ciently general. When large geometrical variations of computational domain boundaries are expected, a larger number of subvolumes should be used in order to gain more control over grid distribution. The arrangement of subvolumes must be su ciently robust to enable the widest possible range of dimensional changes of typied geometry. To demonstrate the appropriateness of template types, we will consider the geometry of an axial water turbine. The computational domain to evaluate the water ow characteristics is for our purpose limited to the area of distributor. Since the geometry exhibits a periodical symmetry, only one volume segment is considered, which geometrically repeats itself along circumference (Fig. 9). In this example, a user input data in form of point sets has been used as presented by Fig. 4a. A series of preprocessor commands have been stored in two di erent macro data les, each of them performing a di erent decomposition scheme. The expected changes were the blade position and its shape (angle of attack, blade rotation, radial or axial blade type, runner or distributor type) and variations of hub and shroud silhouettes. The examples of decompositions of the same computational domain with two di erent templates are shown in Figs. 10a and 10b. For both templates, the input data used for the generation of subvolume components were series of points, the number of blades on the circumference, the desired number of elements and the control ratios (width of the O-grid, etc.). After actually generating grid and comparing the quality of generated discretization it turned out that template in Fig. 10b enabled much wider range of geometrical changes than the template shown in Fig. 10a.


T. Kolsek et al. / Finite Elements in Analysis and Design 39 (2003) 1139 1154

Fig. 9. An example of geometrically complex computational domain. One periodically symmetrical segment of a distributor of an axial water turbine is considered.

Fig. 10. (a,b) Subvolumes of the computational domain around the distributor blade in an axial water turbine.

Fig. 11 shows how the same decomposition template can be used for input data describing runner blade. The multi-purpose nature of a template generally depends on the robustness of the decomposition of the computational domain into blocks.). Templates may be designed by an expert for a certain class of geometry (turbine components, for example), or the process can be automated using some decomposition method [24]. For the examples presented we designed manually a new template in less than 8 h. 4. The grid quality In order to demonstrate the suitability (quality) of a template for decomposing a certain computational domain, the criterion of comparison is selected. Since our goal is the quality of the generated computational grid, the angle between faces of the generated elements will be established, the

T. Kolsek et al. / Finite Elements in Analysis and Design 39 (2003) 1139 1154


Fig. 11. Use of the same template in two di erent geometries: the area around the blade in the distributor (a) and in the runner (b).

elements will be ranked into classes and their numbers observed. In many applications the distribution of quality is important. This property can be controlled by appropriate template design, and therefore we may regard a grid with higher percentage of elements with shape close to ideal as a better one. We will demonstrate the e ect of grid quality on a previous example of computational domain of an axial water turbine distributor. Fig. 12 shows optimized and non-optimized grids generated with two di erent templates. The optimized decomposition by template 2 creates no element with angles between its sides below 40 while with template 1 about 10% of cells have angles between 20 and 40 . To demonstrate the e ect of grid quality, we performed a ow simulation using numerical method described by Demirdzic and Muzaferija [10], which is based on approximations of NavierStokes Reynolds averaged equations for viscous and turbulent ow, using standard k turbulence model. Fig. 13 describes the boundary conditions. We have performed two series of calculations with gradually increasing grid density to account for error of numerical method. The rst series of calculations used an unoptimized grid and the second an optimized one. We have monitored an axial force exerted on a single distributor-type blade and torque moment about axis of turbine rotation. These are integral quantities, which are often observed in engineering applications. Fig. 14 shows the results and compares the accuracy of the converged solution for all cases. We considered the values obtained by the densest grid on optimized grid as the reference ones. One can see from Fig. 14 that the results on optimized grid converge faster towards a grid independent solution compared to unoptimized. For initial density on unoptimized grid, the solution did not converge at all. 5. Conclusions The analysis of uid or solid dynamics in geometrically complex domains can be performed using numerical simulations, whereby the quality of the generated grid is important. When the generated grid is highly non-orthogonal, larger errors result in the numerical solution. Moreover, bad grids may


T. Kolsek et al. / Finite Elements in Analysis and Design 39 (2003) 1139 1154

Fig. 12. Di erence in grid quality when two di erent templates are used for the same geometric domain (the bar chart below each gure indicates how many elements fall between certain range of angles). (a) grid obtained using template 1 before optimization, (b) grid obtained using template 2 before optimization, (c) grid obtained using template 1 after optimization, (d) grid obtained using template 2 after optimization.

prevent convergence of the solution method or it may require tuning of the control parameters in the solver to obtain a solution. A special system was developed for the analysis of grid orthogonality, which monitors the grid generation process and indicates grid quality as a result. The method consists of four steps: a design of a template, conversion of user input data into mathematical description of computational domain, optimization step and grid generation step. The rst step may be performed

T. Kolsek et al. / Finite Elements in Analysis and Design 39 (2003) 1139 1154


Fig. 13. Boundary conditions for ow simulation, selected as an evaluation criteria for grid quality.

Relative torque moment about z-axis



0.98 0.97 0.96 0.95 0.94 0.93 0.92 0.91 0.90 0.89 0.88 1 2 3 4

Relative axial force on the blade


1.025 1.020 1.015 1.010 1.005 1.000 0.995 1 2

unoptimized optimized

unoptimized optimized

grid density multiplier

grid density multiplier

Fig. 14. Comparison of results obtained by ow simulation with optimized and unoptimized grids.

by an automatic decomposition method or by an expert and needs to be performed only once for a certain class of geometric domains (water turbine components, for example). For the examples presented, an expert designed a template in less than 8 h. The second step is fully automatic and is executed every time a new set of geometric parameters encountered in a matter of seconds. Although the optimization step can be automated, we have used an interactive optimization method. When a template is well designed, a non-expert can optimize the decomposed geometry in minutes. Grid generation step is fully automated and is performed in seconds for grids of up to 100,000 nodes. The criterion for the evaluation of grid quality has been established. The percentage of cells


T. Kolsek et al. / Finite Elements in Analysis and Design 39 (2003) 1139 1154

with low angles was indicated in a bar chart and the location of bad cells was indicated by their color. It has been demonstrated on an example ow computation how a quality grid leads to better results. References
[1] J.F. Thompson, Z.U.A. Warsi, C. Mastin, Numerical Grid Generation, Foundations and Applications, Elsevier Science Publishing Co., Inc., Amsterdam, 1995. [2] S.E. Allwright, Techniques in multiblock domain decomposition and surface grid generation, in: T. Sengupta, E. Hauser (Eds.), Numerical Grid Generation in Computational Fluid Mechanics, Pineridge Press, Swansea, 1988, pp. 559568. [3] S. Park, K. Lee, Automatic multiblock decomposition using hypercube++ for grid generation, Comput. Fluids 27 (4) (1998) 509528. [4] T.S. Li, Meshing and substructuring in 3D stress analysis models, Ph.D. Thesis, The Queens University of Belfast, 1994. [5] T.S. Li, C.G. Armstrong, R.M. McKeag, Quad Mesh generation for k -sided faces and hex mesh generation for trivalent polyhedra, in: Finite Elements in Analysis and Design 26, Elsevier, Amsterdam, 1997, pp. 279 301. [6] A.H. Watt, Fundamentals of Three-Dimensional Computer Graphics, Addison-Wesley, Reading, MA, 1989. [7] G.E. Farin, Curves and Surfaces for Computer Aided Geometric Design, Academic Press, New York, 1996. [8] L. Pegl, W. Tiller, The NURBS Book, Springer, New York, 1995. [9] T. Zhou, K. Shimada, An angle based approach to two-dimensional mesh smoothing, in: Proceedings of the Ninth International Meshing Roundtable, New Orleans, 25 October, 2000. [10] I. Demirdzic, S. Muzaferija, Numerical method for coupled uid ow, heat transfer and stress analysis using unstructured moving meshes with cells of arbitrary topology, Comput. Methods Appl. Mechan. Eng. 125 (1995) 235255.