CAD in action in Japan Feature-based heuristics for finite-element meshing using quadtrees and octrees N Nakajima, S Tokumasu and Y Kunitomo The paper discusses a mesh-generation technique, and presents product-model applications for computer-aided engineerin9 usin9 a supercomputer. The analysis procedure is automated by mesh generation and feature descriptions in the product model. The mesh-generation technique uses the.feature descriptions to obtain a well controlled mesh density. Some practical examples are given that are calculated by the mTAC S-810 supercomputer. computational mechanics, mesh generation, Ceatures
CAD/CAM/CAE systems are essential tools for industrial,
mechanical and production engineers. Computationalmechanics approaches, i.e. those known generically as FEM (finite-element method), BEM (boundary-element method), and FDM (finite-difference method) approaches, are considered to be powerful tools for design analysis and structural optimization in CAE. Although computational mechanics has been adapted to mechanical design, it is not easily used by everyone. Usually, experts are required to analyze the design object or to optimize it, since this work requires knowledge about computational mechanics and the CAE system. Experts also have to carry out a great deal of work to create input data using conventional CAE systems, and it is desirable to reduce this requirement. Additionally, as CAE systems become more popular and their use spreads to nonexperts, the preparation of input data and the treatment of output data are becoming more widespread problems. Even if the input data are not correctly prepared, the analysis may proceed and give results which seem correct. Moreover, as supercomputers become available, computing power is greatly increased, and the simulation time becomes extremely small in comparison with the Hitachi Research Laboratory, Hitachi Ltd, 4026 Kuji-Cho, Hitachi City, Ibaraki Prefecture 319-12, Japan Accepted: 11 August 1992
volume 24 number 12 december 1992
preparation time. Many designers now require advanced CAE systems which support more of the design procedure. Recently, to simplify the use of computationalmechanics techniques, the coupling of artificial intelligence (AI) and CAE 1-3 has been suggested. The approach taken in this paper is based on a product model or a feature-based model 4'5, and it is called the design data model. The design data model controls the mesh density of the input data for the simulation program, i.e. a solver such as NASTRAN* 6. The mesh generation is carried out by the space-decomposition method 7-~°. To achieve good control of the mesh density, a polytree technique is used. The size of the mesh is decided by controlling the depth of the polytree, and the depth is regulated by the importance of features defined by the user. A rule base controls this process.
AUTOMATION OF DESIGN ANALYSIS IN DESIGN PROCEDURE In design work, when CAD/CAM/CAEsystems are used, they must be good tools for designers. They should help designers to carry out their own creative work while reducing the number of simple mundane tasks. In a conventional process in a CAE system using finite-element (FE) analysis, as shown in Figure 1, the designers must perform many tasks in Steps 2 and 3 which do not really relate to the design, such as division of objects into subregions for mesh generation, setting division numbers to control mesh density, and preparing the data for a simulation program. Experience with and knowledge about computational mechanics are necessary to carry out these procedures. Simplifying the work, perhaps by automating Step 2, automatic mesh generation, is desirable. In Figure 2, the authors suggest how to automate the interactive procedure of Steps 2 and 3 in Figure 1. To realize this automatic procedure, a design *NASTRAN is a
registered trademark.
0010-4485/92/120677-14 @ 1992 Butterworth-Heinemann Ltd
677
N Nakajlma. S Tokumasu and Y KLJnltomo d a t a modcl is suggested, as shown in Figure 3. Design intent is supplied by the designer, and saved as features of the design d a t a model. Each feature is described in detail, as shown in T a b l e 1, inchtding a measure of its i m p o r t a n c e . The degree of i m p o r t a n c e is used to control the mesh density. The mesh g e n e r a t i o n is carricd out by generating q u a d t r e e s for 2 D shapes, a n d octrees for fully 3D shapes. A q u a d r a n t or an o c t a n t covers the design d a t a m o d e l at first. Then, division takes place recursively, and each smaller q u a d r a n t or o c t a n t is examined to see
DESIGN DATA MODEL GEOMETRIC
DATA)
O©O MEMBER
[
QFEATUREDATA )!
O¢® r
.......
e
.......
e
--METAL --RESIN
iF~BER
\.
-- BEARING --SCREW --REINFORCEMENT
@®©
su sT.UCTU.
I
-- SMOOTH -- FINISHING -- INTENTION Figure 3. Data structure qf design data mode/
lr
" ) * t-~ " ~ dvson Sub-region[i~ number Meshing)~ ~
whether it is within the model. F e a t u r e information, including the degree of i m p o r t a n c e , is used to c o n t r o l the d e p t h to which division proceeds. A higher degree of i m p o r t a n c e gives a denser mesh, a n d a lower degree reduces the d e p t h of the polytree. After the mesh generation, the feature d a t a are a t t a c h e d to either q u a d r a n t s or octants, a n d preserved with the polytree. Finally, a t r a n s l a t i o n p r o c e d u r e converts the design d a t a to input d a t a for a solver, using the features and c o n v e r s i o n rules. After analysis by a solver, the polytree d a t a a n d feature d a t a m a y be utilized, again, as an h version of the remeshing m e t h o d 1~. The mesh density m a y be c o n t r o l l e d by the results of the previous analysis, and, as the feature d a t a are still a t t a c h e d to the polytree, the t r a n s l a t i o n p r o c e d u r e can be carried out as before.
Constrai LoadANALYSI Materi alsntsDS 6
Figure 1. Conventional process./or design analysis in c ~L sl'st(-'nl
DESIGN DATA MODELING The design d a t a m o d e l must be created interactively in one of two ways. O n e is to define the m o d e l from feature data. The o t h e r is to a d d feature d a t a to the geometric m o d e l after it has been constructed. The feature d a t a are classified into four types: ( a ) e n v i r o n m e n t a l d a t a , (b) m a t e r i a l d a t a , (c) functional d a t a , a n d (d) figure data. E n v i r o n m e n t a l d a t a are used to describe the function of a p r o d u c t , and the type of analysis, e.g.
Figure 2. Automation q[ design-analysis process Table 1. Feature-data description ID
Type
Degree
PT 1 2. n
.
30 20 30
Name
FT
.
.
Description DT
3 2
30 5
1
()
Screw Aluminium
2 2:
Stress
()
KW
DA
K]
123456
10 20 :
"
I
[DT = data type (0/'1/2), DA = data, KW = keyword, KT = keyword type, FT = feature data type, PT = product data type. Product data type (0) = null, product data type ( 10 ) = geometry, prod uct data type (20) = structure, product data type t 30 ) = product• Feature type ( l ) = environment, feature type ( 2 ) = material, feature type ( 3 ) = function, feature type (4) = figure•]
678
computer-aided design
F e a t u r e - b a s e d heuristics for finite-element m e s h i n g using q u a d t r e e s a n d octrees
MATER
I AL
FUNCTION
F [ GURE
I
I
;CREWHOLE{CONST) SMOOTH LEVEL5[ SUPPORTOBJECT DESIGNEEINTENIION~ SCREWHOLE(LOADI EXPERIMENTALLYFIXI It
N C N
C N B I,t
SYMMETRYSECTIOI~ i ~1 H E A T E R r ABIABATIC I -C r JI I NSU L A T O R r -Mo JI CONDUCTOR(100~] i -C r-Mo~l ENCLOSURE C r ~1 CONDUCTOR( 50~) GROU NO S P ACE I= )b----g/, WALL ATTACHE[ OBSTACLE TYPE -?-
M
b
a
'9
~
qACRO STRUCTURE!P A R T 2 ENVIRONMENT DATASTRENGTH CHECK 'AATERIAL DATA~ )L, ~ -" ~ /j IFUNCTION DATASCREWHOLE(CORSI) FIGURE DATA E N D
>
~ACRO STRUCTUREP A R T 1 ENVIRONMENT DATASTRENGTH CHECK MATERIAL DATA ~ lb ~ ~ ~ L FUNCTION DATA HALL ATTACHED FIGURE DATA E N D J f
C
'-----___.___
,----_____
,/
MACRO STRUCTUREP A R T 3 ENVIRONivIENT DATASTRENGTH CHECK MATERIAL DATA7' )b ~ _- "P /, FUNCTION DATA F I G U R E DATA E N O
d
MACRO STRUCTUREP A R T 4 ENVIRONMENT DATASTRENGTH CHECK MATERIAL DATA P lb .R - "~ /, FUNCTION DATA SUPPORT OBJECT FIGURE DATA E N D
e
Figure 4. Example of design-data modeling
v o l u m e 24 n u m b e r 12 d e c e m b e r 1992
679
N Nakaitma, S Tokumasu and Y Kunltomo
thermal or stress. Environmental data are mainly translated directly to the input data of a solver. Material, functional and numerical data are used for both mesh-density control and data translation. Material data sometimes have a structural significance because of a difference in materials. Functional data describe geometric aspects of the model, for instance indicating that a circle means a tapped hole. The figure data express the intention of designers in relation to surface roughness, tolerance etc. Four data types are used to increase the range of features that can be defined. Feature data should be defined with the words and meanings with which designers feel comfortable. Their semantics are of two types. One describes the importance of the design object and the intention, and relates to control of the mesh density. The other describes the input data for a solver. The description of input data for a solver may be simply defined, but its importance is not. The mesh density is actually controlled by three kinds of product data, i.e. geometric data, structural data and semantic data. Geometric data are constructed with geometric attributes and feature data. The geometric attributes are given to vertices, edges, surfaces and solids. Feature data, which are a subset of geometric data, are figure data. Structural data are obtained from the structural attributes and feature data, which can be material data or functional data. The structural attributes can be defined as groups, units and substructures. Semantic data consist of four kinds of feature data. The attributes are described and treated in the same way as features. Therefore, the importance of a feature is weighed against three kinds of product data to generate a well graded mesh. An example of design-data modeling is shown in Figure 4. The example comprises a simple shape and features. It has two planes, and one plane is pierced by a circular hole, as shown in Figure 4a. Figure 4b lists the features. First, a square region of one plane is specified as a feature called Part I. Other attributes of Part 1 consist of environment data, which is specified as a strength check, material data, which is 'aluminium', and functional data, which is 'built-in'. Figure 4c shows a circle, and a trimmed surface is defined as Part 2. Part 2 has as its functional data a tapped hole. The other features are the same as those of Part 1. Figure 4d shows Part 3, which has no functional or figure data, and the second plane is defined by sweeping a line. Finally, a line ( # ) in Figure 4e is picked, and the feature data are given as Part 4. The value of the functional data of Part 4 is 'support'. After the design data model is defined, the automatic modeling procedure begins.
OF TREE DATA
CONTROL OF MESH DENSITY
PROCESS DATAFOR UNDO/REDO AND PRESERVATION OF FEATURE DATA
FIGURE ACCEPTANCE
MESH GENERATION
i i GENERATION
i
GENERATION
Figure 5. Relationships O/processes in mesh-generation
/imction
Then, the mesh density is controlled by taking into account the feature data (see Figure 6c). Actually, the mesh density is controlled by a function of the degree of importance and a distribution function. When a quad involves a part of the design data model in its own space, and the feature data of the part is important, a dense mesh is generated. The distribution function helps to determine the degree of importance by weighting the product data type. In this technique, the depth of the quadtree is given by three grades. If a group of quads is assigned to the highest grade, the depth of the tree is doubled. The second highest group makes the depth one greater. The lowest grade produces the default depth. The grade of a group of quads may be specified by the user to control the mesh density. After the mesh density has been set, mesh generation proceeds by the selection of either one of two approaches: (a) unstructured mesh generation, and (b) structured mesh generation. The unstructured mesh is for either the FEM or BEM (see Figure 6d), and it may relocate the nodal points, as shown in Figure 6e. The structured mesh is for the FDM, and the obstacles are automatically recognized by reference to the features (see Figure 6f). As an example of mesh generation for the design data model presented in Figure 4, the meshing results arc shown in Figure 6g.
MESH MODELING Mesh-modeling procedure
Mesh-density control
The mesh modeling consists of five processes, and Figure 5 shows their relationships. To carry out the mesh modeling, the design data model is first covered with a grid (see Figure 6a). Next, the grid is uniformly divided in the space-decomposition procedure (see Figure 6b).
The example shown in Figure 4 shows the mesh-density control procedure, assuming that the importance of the degree for Part 1 is 10, for Part 2 30, for Part 3 0, and for Part 4 30. First, a uniform mesh is generated as an octree. Second, each octant is treated, depending on the
680
computer-aided design
Feature-based heuristics for finite-element meshing using quadtrees and octrees
\
Z
/'
1
N
I
~ " /
a
/
JL\
la
1
/ ,--, \ 1
JL\
/i a,I
d
/ f
|I |t m| |N| I3R ~
1
C
e
•! ~ ' - < ' , . ,
,,
..[,..,.
'..r
..--
g Figure 6. Mesh-modeling procedure; ( a ) definition of space, ( b ) space decomposition, ( c ) control of mesh density, ( d )
unstructured mesh 9eneration, ( e ) mesh 9eneration (relocation), ( f ) structured mesh 9eneration, (9) 9enerated mesh model for example degree of importance of the features that it contains (including attributes). Their degrees are detected by contributions from the three types of product data: geometric data, structural data and semantic data. The degree in an octant is calculated using Equation 1 :
Fi=(Z A*A,+ Z B*Bi+ ~,C*CI)/(~ A + ~ B+ Z C ) (1)
volume 24 number 12 december 1992
where F A B C i
= = = = =
degree of importance degree of importance degree of importance degree of importance number of octant
in octant for geometric data for structural data for semantic data
In this example, all the edges have an importance in terms of geometric attributes of 10. The importance of the
681
N Nakajima, S Tokumasu and Y Kunitomo
semantic data is the same as the importance of thc features for Parts 1 4. Since the design object has four parts, the importance of the structural data is given as 10 for each part, since the different parts are connected. After the degree of importance for each octant has been decided, the depth of the octree is obtained. The top 25% of octs with the largest degrees are divided two levels more deeply, and the next 25% are divided one depth more deeply in the tree. In this case, Part 2 (which is the circle) and Part 4 have the densest meshes. After the mesh density has been fixed, the finite elements are generated, in this case by connecting the nodes of the octants, with the result shown in Figure 6g.
32 BIT NODE NUMBER
LASS~ LNO NODE
682
NUMBER
CROSSDATA
LNO I l l
1BIT
~f
SHELLTYPE
P0R
FORSOLIDTYPE
Mesh generation In this paper, the mesh-generation technique 3'1°'12 for shell elements is mainly described. To generate a mesh for a solid, it is necessary to generate shell elements. If this is done by using only a simple 'in/out test' with octants, the meshing reliability may not be satisfactory. The shell type of mesh generation is impossible to implement using a simple in/out test, since the surface model must be used. The surface model does not always have a closed topology as the solid does. The orientation of a surface is known, but there is no way to tell whether a vertex of an octant is inside or outside an object. Therefore, intersections between the octants and the model must be found. The displacement of intersection points is also required to generate well formed meshes. The data structure of an octant is shown in Figure 7a, in which flags used with shell structures are used to perform the 'in/out-test'. In Figure 7a, the node number is an identification number for generated nodal points. The class means the depth of the polytree. Flags 1-4 are identifiers. Flag 1 indicates whether there is any class difference with neighboring octants. Flag 2 indicates whether an octant has any intersections. Flag 3 shows whether an octant contains a feature with an elevated degree of importance. Flag 4 is the complexity flag. (The term complexity is described later in this section.) Crossdata are of different types for shell and solid structures : intersection flags and IN/OUT flags, respectively. For a solid element, octants are simply selected such that the flags ( F 0 1 - F 0 6 and E01-E11) in Figure 7b are set to IN when they are involved in the design data model. The uncertain octants, which cannot reliably be classified as 'in' or 'out', are treated as part of the shell-element generation. When intersections are detected, the flags X +, Y+, Z+, X_, Y_, Z_ in Figure 7c are assigned to be ON. The other flags (IOx+, IOy+, IOz+, IOx_, IOr , IOz ) in Figure 7c are set either as IN or OUT, using the normal vectors of the surfaces to perform the in/out test carefully. Since the model for design analysis is not always a solid, like the example in Figure 8, all the flags must be used to allow a precise judgment as to whether a vertex of an octant is 'in' or 'out'. When intersections are required, they are obtained from a simplified model such as a polyhedron by Equations 2 and 3. As the design data model is at least a geometrically complete surface model, it can be transformed to a patched model by the
CROSS DATA
a
.
I
,"
_
Jr
FO?,*-
,
I,,"
E06
,,'Fo d', I ',
E08 0
--4
I, .L..',
I
......
/
E03'
I
-Y o2
.-)e . . . .
,." F01
(7
E01
b
/
/
v+
)_
~Z+
JOy+q
7
OIOz+ IOx-
/ A W
r
IOx+ X+
I z-
IOv. y.
e Figure 7. Data description of grid
computer-aided design
Feature-based heuristics for finite-element meshing using quadtrees and octrees
a Figure 8. Models for design analysis; (a) surface model (model for shell-type mesh of analysis), ( b ) solid model (model for solid-type mesh of analysis)
Attribute(Surface type)
Vertex \
/.
/
/i-a
/,"
,"
Y
/
/_i,' b
c
Figure 9. Transformation of surface description; (a) surface (surface description), ( b ) surface with bicubic Bbzier patches ( bicubic-patch description), ( c ) surface with small triangle plane patches (polyhedral description)
generation of B6zier patches 14. In the determination of the intersection, the B6zier patches are temporarily changed to small triangular facets by approximation with lines as shown in Figure 9. After the model has been converted into a polyhedron with small triangular facets, the intersection is simply calculated by Equation 3. First, Equation 2 is used to determine whether the triangular plane (surface) patch and the octant edge, as shown in Figure 10a, are parallel. When the right-hand side of Equation 2 equals 0, they are parallel.
E=
YA YB ZA
YD
(2)
Z B ZD
( P A , q + P B , t 2 ) + PC = P D , f
(3)
where PA = (XA, YA, ZA) PB = (Xn, YB, Zn) PC = (Xc, Yc, Z c ) P D = (XD, YD, ZD) X, = (X: - Xi)
Y,
=
( Y f - Y,)
Z, = (z:
- Zi)
where a = A, B, C, D, f is the final point, and i is the initial point.
volume 24 number 12 december 1992
Casel.'O
2<1.
Case 2." t~ = 0 and 0 < t 2 < 1, o r t 2 - - 0 and 0 < or t~ + t 2 ---- 1 and t 1 V=0 and t 2 # 0.
tI
< 1,
Case 3: t~ = t 2 = 0, or t~ = 0 and t 2 = 1, or tl = 1 and t2=0. When the right-hand side of Equation 2 does not equal 0, simultaneous equations based on Equation 3 must be solved, and tl, t2 and f are obtained. When Case 1 is satisfied, the edge of the octant intersects with the triangular patch. When either one of the conditions in Case 2 holds, the edge of the octant and the edge of the triangular patch intersect. In Case 3, the edge of the octant and the vertex of the triangular patch intersect. When none of the conditions in the three cases are met, there is no intersection between the edge of the octant and the triangular patch. When the geometrical relationship between the face of an octant and an edge of a triangular plane (surface) patch is as shown in Figure 10b, Equations 2 and 3 are used in the same way. As the face of the octant, which is square, is examined, the conditions of Cases 1-3 should be changed to neglect {0 < tx + t 2 < 1 } in Case 1 and { (t~ + t 2 = 1 and t~ :~ 0 and t2 # 0)} in Case 2, and to add {or (q = 1, and, t2 = 1)} in Case 3. The other flags for a shell type (ON, ED, WE, AC, OE, OW) in Figure 7a indicate the location of the node and the status of the process. The ON flag shows that a node
683
N Nakajima, S Tokumasu and Y Kunitomo OCTA~~
"1 SURFACE
JPATCH PB/~" PA
/
" PD
~,//
P C ~
OOT "T'/I / 7 " ; ..q SURFACE [" / " PATCH "
I I
// P B / / ~/p C
PO/
/
f I
b
/
' I
PA
tl
\ /.
Figure 10. Intersection between octant and surface patch (plane patch )
NODE NUMBER
IN/ON FLAG X Y
Z NODE NUMBER
Z Figure 11. Description o f nodal data
is on a surface. ED is flagged when a node is found on an edge. WE is a variation of ED, but the edge must be the winged edge. AC does not indicate any node location ; rather, it indicates that the octant is being processed. The OE and O W flags preserve the previous conditions of ED and WE. After all flags in Figure 7 have been set, the vertices of the octants are evaluated and determined as nodes of finite, boundary or finite-difference elements. For solid-type nodes, they are simply accepted as a node which has IN flags. For shell-type nodes, if at least one
684
of the f l a g s X + , Y + , Z + , , ¥ , Y , Z is set t o o N , and the other flags ( I O x + , I O ~ , , l O z , , I O x .OP~ , IO z ) are marked as both 1y and OUT, the octants are examined The evaluation procedure for general cases is as follows : • Step 1." The distance between the vertices and the intersection point is calculated. • The ON flag is set for the 1N/ON flag of the nodal data (see Figure 11 ), and the coordinate values X, Y, Z of the vertex are replaced by the intersected point's coordinate values. • When ON has already been set for the IN/ON flag, the inspection is made for any other intersections. If other intersections are found, the coordinate values X, Y, Z should be compared with the previous ones. If the coordinate values X, Y, Z are nearer to the vertex than the previous ones, these latter values are replaced, and the previous ones may be set on the other side of the vertex. If the other side of the vertex has already been set, the complexity flag (Flag 4 in Figure 7a) is set. • I f m o r e t h a n t w o f l a g s X + , Y + , Z + , X , Y _ , Z _ are set to be ON, the closest vertex is chosen to receive in the nodal data. Since every procedure is carried out surface-by-surface, the intersections yield a point which replaces the coordinate values X, Y, Z of the vertex of the octant. • If Flag 3 in Figure 7a is placed, which means that an octant a feature with an elevated degree of importance, the nearest coordinate values X, Y, Z may be simply replaced with the point which has the largest value. This is the so-called relocation of points. The relocation must be performed by evaluating the values of the degree of importance. The relocation depends on the value, and it is only done when it is large enough. Inadequate mesh generation is often the result of an inappropriate depth of the polytree, although there are some cases which are not a result of this problem. In many cases, when the depth of the polytree is increased, a poor mesh can be avoided. The depth of the tree is linked to features which describe the intention of an analysis, but it is independently related to the geometry of the polytree; there are always some quads or octants that may yield too coarse a mesh. To avoid this, the relocation of points is necessary. Therefore, when choosing a point for a vertex, it is necessary to be careful to relocate it in an octant. Procedures for avoiding poor representation are as follows: • When Flag 4 in Figure 7a is set, the depth of the polytree for the octant and its neighbors must be adjusted to whichever is the greatest. The octant that has a complexity flag must not differ in size from the other octants. • The degree of importance must be fully considered in the decision as to which points should be relocated to the vertices of an octant. • The octant must temporarily be further divided. If the flags are changed, the data of the newly generated flags may be used, but the vertices of the original octant are assigned to the intersected points.
computer-aided design
Feature-based heuristics for finite-element meshing using quadtrees and octrees
!
a
b
C
d
¥
Figure 12. Results of feature data translation; (a) material data ( aluminium): Parts 1-4, ( b ) constraint (Z, Rot-(Z )): Part 1, (c ) constraint (X, Y, Z, Rot-(X, Y, Z)): Part 2, (d) constraint(Rot.(Z)): Part 3, (e) load(Z, 50 k9 ): Part 4
N Nakajima, S Tokumasu and Y Kunitomo
Col0ur plates Feature-based heuristics for finite-element meshing using quadtrees and octrees N Nakajima, S Tokumasu and Y Kunitomo
/
i
/
I
/
/
",
Colour Plate 1. Analysis for switch unit (1/2 model)
686
computer-aided desigr
Feature-based heuristics for finite-element meshing using quadtrees and octrees
2.4UO 2.250 2.100 1.9~ I .LeOU 1.650 I.SeO I..'~0 1.050 0.900 G, 'Tr-jj 0.64)0 O. 450 O._:~O
i .....
0.0
Z
I ,.r
k:i
.................
ii ~,, ,
-~
Colour Plate 2. Analysis for casino of word processor
volume 24 number 12 december 1992
687
N Nakajima, S Tokumasu and Y Kunitomo
• When the flags IOx~, lOt+, IOz~, IOx , IOy , IO z arc still both ~Y and OUT, with ON flags for X+, Y+, Z +, X , Y_, Z , a closed loop, created by connecting the vertices in the octant, must not be allowed. The shell type of mesh is generated by connecting the vertices in an octant. Connection starts from the smallest octant, and it should make a closed loop in that octant. Then, the closed loop is decomposed into either a triangle or a convex rectangle. The decomposition should be carefully carried out for solid-element generation. In solid-element generation, the interior octants are decomposed into a tetrahedron when they are created. Therefore, the shell elements are all triangles.
TRANSLATION PROCEDURE The translation of feature data to input data for a solver is carried out by rule-based data conversion 3. The rules for conversion must be defined in the rule database. Since the feature data and tree data are connected one-to-one, the translation procedure can identify which nodes or elements ought to correspond to the input data. In the example shown in Figures 4 and 6g, each feature must have a meaning. For instance, Part 2 has a tapped hole as feature data, which constrains every one of the nodes generated by the mesh-generation procedure. The constraint should be in all directions, i.e. the x, y and z directions of translation and rotation. The 'built-in' feature also entails a constraint in the x and y directions. The 'support' in Part 4 means that a 50 kg load is applied in the negative y direction. The translation results are shown in Figure 12.
Ltl]ll]l]
Figure 13. Mesh model for profile of cooling .fin
NUMERICAL EXPERIMENTS Although meshes are generated that are larger than those generated using interactive techniques, carrying out a design analysis is simplified by the method presented. For shell-type 2D and 3D mesh generation, the mesh density is slightly increased in comparison with those using the interactive method. For solid-type 3D mesh generation, the density increases substantially, since a tetrahedron type of element is generated. However, the use of a supercomputer eliminates any concern about increased computation time. Figures 13 and 14 show the results of 2D mesh generation. Figure 13 shows a profile of a cooling fin. Figure 14 shows a support for the head of a floppy-disk drive unit. In Figure 15, a solid mesh model and a section through it are shown; it is used for the design analysis of part of a pressure sensor. In Colour Plate 1, the design object is a switch unit. An electric-field analysis which has been carried out by the BEM la. With the HITAC S-810 supercomputer, BEM analysis with the modeling method presented in this paper is practical. The mesh modeling and the translation procedure with 3800 elements takes about 15 min for this switch unit. The results of airflow analysis by the F D M are presented in Colour Plate 2. The design object is the casing of a word processor. Every kind of obstacle is automatically given
688
Figure 14. Mesh model for FDD head supporter
by the feature data in the preparation of the input-data process.
CONCLUSIONS A model method for CAE has been presented for actual design work. Its mesh-generation technique can generate
computer-aided design
Feature-based heuristics for finite-element meshing using quadtrees and octrees
i--f>., ,,
/
,-
.j-
//
/ /
,/"
/,,'
/."
Figure 15. Mesh model for part of pressure sensor
suitable meshes for an FEM, a BEM or an FDM, making design analysis based on computational mechanics simpler. The proposed automatic procedure reduces the amount of work by approximately 75% in comparison with the previous method. Although some problems, such as contact problems and nonlinear analysis, still create difficulties in relation to the translation of feature data into input data for a solver, simple problems can be automated in practice. As translation rules are added and the rule database is enriched, the translation procedure will become more accurate, and may resolve these shortcomings.
volume 24 number 12 december 1992
REFERENCES 1 Yagawa, G, Yoshimura, S and Soneda, N 'Application of fuzzy knowledge processing to automate mesh generation' Proc. 37th Applied Mechanics Joint Conf. (Dec 1987) pp 303, 304 (in Japanese)
2 Blacker, T D, Stephenson, M B, Mitchiner, J L, Phillips, L R and Lin, Y T 'Automated quadrilateral mesh generation: a knowledge system approach' Proc. Winter Ann. Mtng. A S M E (Dec 1988) pp 1-9 (88- WA / CIE-4 )
689
N Nakajima. S Tokumasu and Y Kunitomo
3 Nakajima, N and Kunitomo, Y "An approach to automate CAE modeling by automatic mesh generation with a knowledge based problem specification technique' Proc. MICAD '90 9th Int. Con/i CAD~CAM, CG and CAT I~l 1 Paris, France (Feb 1990) pp 232 246 4 Kimura, F et aL 'A study on product modelling for integration of CAD/CAM' Comput. Indust. Vol 5 No 3 (1984) pp 239 252 5 Drake, S and Sela, S 'A foundation for feature' Mech. Eng. Vol 110 No 1 (1989) pp 58 62 6 MSC/NASTRAN User's Manual McNeal-Schwendler Corporation
7 Jo, M and Funada, K 'Controllable mesh generator for finite element method (quadtree approach)' J. Jap. Soc. Precision Eng. Vol 47 No 4 (1981) pp 399-404 (in Japanese) 8 Yerry, M A and Shephard, M S 'A modified quadtree approach to finite element mesh generation' IEEE Comput. Graph. & Applic. No 1/2 ( 1983 ) pp 39-46
9 Nakajima, N, Tokumasu, S, Utamura, M and Karasawa, K 'Development of an integrated CAE simulations' assistance system : CAESA' Trans. IEE
690
Jap. Vol 109-D No 3 (1989) pp 153 160 (in Japanese )
10 Nakajima, N and Tokumasu, S 'A modelling method with computational mechanics for design work' Trans. Jap. Soc. Mech. Eng. ( Ser. (') Vol 55 No 518 (1989) pp 2649-2656 (in Japanese) II Babsuka, I and Seapolla, T 'Computational aspects of the h, p and h-p versions of the finite element method' in Vichnevetsky, R and Stepleman, R S (Eds.) Advances in Computer Methods in Partial Differential Equations Vol VI International Association for Mathematics and Computer Simulation (1987) pp 233-240 12 Nakajima, N 'An intelligent mesh generation technique for two-dimensional objects based on the extended quadtree representation method' Trans. .lap. Soc. Mech. Eng. (Set. C) Vol 56 No 530 (1990) 89 1416A (in Japanese)
13 Utamura, M and Koizumi, M 'Boundary element analysis of three dimensional electric field in SF 6 gas insulated switch gears' Eng. Anal. Vol 3 No 4 (1985) pp 217 220 14 B~zier, P E Numerical Control- Mathematics and Applications John Wiley, UK (1972)
computer-aided design