Tools for Design and Engineering
© Wm. C. Brown Communications, Inc.
Due in part to their venerable history, Computer-Aided Design (CAD) software systems exhibit some of the best and worst features of software engineering, frequently in the same program. Among the best features are the range and sophistication of capabilities for the creation, grouping, dimensioning, organizing, transforming, and display of complex graphical objects. The development of many of the graphical algorithms and interactive techniques we have studied were motivated by their role in CAD systems. However, because of their complexity and early origins, many CAD systems inherited command-line interfaces and the associated slow learning curves. One of the major challenges to both established CAD and Computer-Aided Engineering (CAE) systems has been their complete redesign to incorporate modern OOP and GUI concepts.
Four reasons motivate this introduction to visualization tools for design and engineering.
Two other concepts stressed throughout the book reappear in this chapter. First is the power of abstraction. By giving names to graphical objects, it is possible to represent them as menu selections and construct libraries of the commonly used components of more complex objects. So, for instance, to draw a cube at some point on the screen, it is necessary only to select the cube object from a menu and click at the desired point.
The second concept is the importance
of the physical validity of models. In order to perform accurate engineering
analysis on the behavior of real objects under conditions of applied force,
it is essential to include physical properties of mass and coefficients
of elasticity. Finite element analysis is a tool of considerable precision
for prototyping industrial components and building authentic models for
computer graphics applications such as animation.
What should a conceptual design tool provide?
As you begin the search for the ideal conceptual design tool, you list the following features it should have in order to gain acceptance from your computer-shy designers.
Numeric options for overriding the graphical default values are presented in four pull-down menu windows: World/Position, World/Attitude, Object Position, and Object/Attitude. Figure 13.3 shows the World/Position window with various fields which can be edited and their default values. An identical window is associated with each object in the scene, allowing the user precise control of object position in 3D.
Numerical control of the orientation of the World scene and each individual object is provided by the Attitude window shown for a vase object in Figure 13.4.
Several other features discussed above are shown in the menu listings of Figure 13.5. The remaining features will be illustrated in the example of building a conceptual design.
Attitude window specifying orientation of the object, Vase. The Minimum and Maximum parameters in both Position and Attitude windows permit user-defined constraints relative to the World (independent object) or parent (linked object).
Additional features of Swivel 3D ? (a) Object inheritance, (b) Special rendering effects, (c) Rendering options, and (d) Export file types.
Attributes of objects designed in Swivel 3D may be tabulated in a static Info record associated with each event. This record includes user-defined fields with values such as those shown in Figure 13.6.
With this sketch of the tools available in Swivel 3D, letís outline the steps required to create a design concept of a vase sitting on a table.
Suppose, as curator of an art museum exhibit on pottery, you wish to check out the visual design of the exhibit hall. Each art object will appear centered on individual tables, and you would like to design a prototype table and vase which then can be duplicated, modified, and positioned to simulate the appearance of the exhibit hall.
Object attributes record in Swivel 3D. The user may define fields and assign values for each object of the scene.
The two primitives supplied by Swivel 3D, lathed and extruded objects, are easily transformed into the prototype exhibit objects. As the simpler of the two, letís first consider the vase.
The following steps are required to design the prototype vase.
Successive stages in transforming lathed cube into lathed vase. Each stage is generated by clicking in additional control points and dragging them to the shape desired.
1. Select the lathed object icon, , and click anywhere on the work space screen. The shaded cube shown in Figure 13.7 appears at the cursor position.
2. With this cube selected, select Redesign object option under the Object menu. The four-view design window shown in Figure 13.8 immediately opens.
3. The Oval design tool is selected next and the Cross Section object clicked. The Object View and Cross section are immediately transformed into those shown in Figure 13.9.
Shading and rendering options in Swivel 3D. (a) Outline shader, (b) Phong shader, (c) Phong shader with anti-aliasing and shadows.
4. Next, the Double Arrow tool is selected, the Top Section button clicked, and the detailed shape of the vase sculpted by adding points (<CTRL> + click) and dragging them to the desired position. Several stages in this process are illustrated in Figure 13.10.
5. The final step involves rotating the vase into an upright position and selecting one of several rendering options. Figure 13.11 demonstrates three such options.
Perhaps the most important lesson in this design example is the power inherent in good GUI design. For example, the output from step 1 (Figure 13.7) is generated by just 2 clicks of the mouse button. Step 2 is performed with a single mouse click and the output of step 3 (Figure 13.9) is produced by two additional clicks. The first frame of step 4 is accomplished with four mouse clicks and three dragging operations, and each additional frame in this figure with one click and drag for each additional control point. The rotation of step 5 is performed by a select and drag on the Roll Arrow, and each rendering option of Figure 13.11 involves one to three additional menu selections. The complete design was accomplished without typing a single key.
The next prototype object to design is a table on which to display the vase and similar pottery objects. Since tabletops generally display a translational symmetry rather than rotational symmetry, we use the Extruded Object, rather than a Lathed Object, as the basic primitive. The five steps in the table design are summarized as:
2. Design the table base by extrusion.
3. Design one table leg by lathing.
4. Copy and duplicate the leg three times.
5. Assemble the six parts to build the table and lock them together.
Extruded object created by selecting Extruded object icon and clicking the work space screen.
1.2 Next, the object is transformed by
using the Design New Object menu, adding an additional point (to
make it rectangular), dragging the corner points to the desired shape,
and rotating shown in Figure 13.13.
Redesign of extruded tabletop done by adding a point to the object in Figure 13.12, dragging the corners to make a rectangle, and rotating the objectís attitude. Changing the thickness of (a) to yield (b) is done by dragging two points in Top Section view.
Steps in the design of the extruded base for the tabletop. (a) Cross section view of original object, (b) result of separating two points at peak of triangle and adding another, (c) adding three more points and dragging, (d) adding three more, (e) closing up figure (d) and thinning walls, (f) shaded rendering of (e).
2. The base for the tabletop is also formed by extrusion, but now the process is a bit more complex. First, the extruded object icon is selected and another object clicked onto the work space. Next, using the Design New Object menu, seven points are added in Cross Section view and dragged to the desired positions as indicated in Figure 13.14.
3. Next, the Lathed Object icon is selected and the object clicked into the work space. Dragging four points in Top Section view results in the simple table leg design shown in Figure 13.15(a).
4. This table leg is copied
and duplicated three times, generating the three legs shown in various
rendering options in Figure 13.15(b).
Building the legs for a table. The first leg, (a), is designed by modifying four points on a lathed object. The remaining three legs are generated by copying (a) and duplicating. They are rendered as Wire frame, Hidden Line, and Outline Shade.
5.2 Finally, the Lock icon is selected and each component locked to the tabletop by dragging a virtual line from the part to the tabletop. To create a more attractive design, each leg is converted to a circular cross section by a three-click series in Redesign Object. Finally, the vase is resized and dragged to the tabletop and centered in two views to yield the orthographic image in Figure 13.17(a).
Constructing a table from component parts in Swivel 3D. The object (a) is a wire frame perspective view, (b) is an orthographic front view, (c) is the bottom view after dragging base and legs into correct position, and (d) is a right view after lifting the legs into position.
Final result of locking the vase to the table in orthographic view (a) and rendered in perspective with antialiasing and shadows in (b).
This example illustrates the power of abstraction for graphical design tools. By giving names to all of the commonly invoked graphical operations and providing access to them through standard GUI operations, Swivel 3D allows the rapid creation of conceptual designs with realistic rendering. Note that this image design was implemented entirely through mouse clicks and drag operations. The only keyboard operations involved entering "90" to specify reorienting the attitude of newly created objects. These keyboard entries could have been performed by dragging the objects with Pitch icon selected.
Three other features valuable for the process of conceptual design include the following:
In Figure 13.19, we demonstrate the use of constraints applied to the components of library objects to build "intelligent" objects. By keying in the appropriate limits on z motion (axis of drawers) in the Object.Position window (see Figure 13.3) and locking the x and y positions, the drawers are constrained to motions similar to those of real drawers moving on real tracks.
In addition to linear constraints,
angular constraints may be applied to limit the pivoting motion of an object
about a joint. This facilitates building conceptual models with physical
Next Machine drawn from a library of 3D clip art. It was placed on the table and a scanned image was projected on the screen. The image of the resulting model was rendered by Swivel 3D.
Intelligent furniture designed with Swivel 3D. (a) Original office scene, (b) sliding chair back and dragging two drawers partially open. The drawers are all constrained to move along their tracks, and stops limit their travel as with real ones.
After the conceptual design has been completed and approved by management, the next phase of product development involves the production of detail drawings and assembly drawings. These must specify every feature of every component of the product, as well as the relationships among the components, in sufficient detail to control the production process performed by human workers or numerically controlled machines. Detail and assembly drawings define the basic manufacturing processes for integrated circuits, mechanical machinery, and architecture. Often, as in the case of architecture, such drawings must define the integration of multiple sub-systems like heating, plumbing, electrical, and communications into a master building design. Generation of detail and assembly drawings is the principal task of computer-aided design and drafting tools.
Computer-aided design was the first, and has remained the largest, direct application of computer graphics. As Figure 13.20 indicates, approximately 60% of the CAD market is devoted to mechanical design (MCAD), with the remaining 40% split roughly equally between electronic design (ECAD) and computer-aided engineering (CAE). In the early 1990s, the MCAD market alone produced over $8 billion worldwide and is projected to earn $12 billion annually by the mid-1990s. For an interesting history of the evolution of graphical design from antiquity to electronic CAD, see Ryan.
The evolution of the tools for CADD illustrates an interesting confluence of two streams of computer science. The first stream involved mainframe computers, usually running FORTRAN, with specialized graphics workstations, usually vector oriented, and data tablets for interactive input. This is the environment in which CADD was born in the 1960s. The second stream emerged from "toy" programs such as MacPaint running on microcomputers using bit-mapped raster graphics and the mouse for interactive input. This technology evolved in the mid-1980s and produced the object-oriented drawing techniques discussed in our introduction to OOP. The implementation of highly sophisticated CADD techniques from the mainframe stream on raster graphics of the microcomputer stream resulted in the powerful systems presently available on personal workstations. Representative programs include AutoCAD, VersaCAD, MGMStation, MacBravo, MiniCAD, and CADD Level 1.
Distribution of CAD market by area. The mechanical computer-aided design segment (MCAD) produces over $8 billion in software and hardware sales.
The OOP metaphor offers an efficient device for introducing the features and capabilities of modern, personal workstation-based CADD tools. We will consider the objects available to the CADD designer, attributes of these objects, and what messages are available for manipulating and organizing objects into a finished drawing. We begin by examining VersaCAD, one of many excellent CADD systems available on a range of workstations.
Most CADD systems provide two classes of basic objects: graphical primitives and library objects.
The graphical primitives available in Versa CAD are listed in
Figure 13.21 and include:
The Tool Palette, (a), defines primitive objects and some of their messages. The Constraints Palette, (b), lists additional messages.
Note the richer array of graphical primitives than were available on the conceptual design tool introduced earlier in the chapter. Most of these primitives have user-defined attributes, discussed shortly, which specify their appearance and creation options.
One feature distinguishing CADD systems from simpler drawing tools is the library of design symbols they provide. In Figure 13.22, one of several symbol libraries available for VersaCAD is shown.
Double Doors Nut Rectifier
Library of standard design objects in electrical, mechanical, and architectural design. The designer selects the library symbol by clicking on its icon in the library below and dragging it to the drawing to produce labeled objects.
Most primitive CADD objects are more abstract than simple graphical primitives. That is, they have attributes which may define their structure and/or the message protocol to which they respond. Consider, for instance, the VersaCAD Polygon and Bézier/Spline objects. Figure 13.23 illustrates the options presented to the user when the graphical icons representing polygons and Bézier curves, respectively, are double-clicked.
Attributes of primitive VersaCAD Objects. (a) For a polygon the user may select the number of sides and construction technique. (b) For curves, the user may choose Bézier or Spline curve and the construction technique for each.
Other VersaCAD objects (except for Point objects) offer similar user-selectable attributes with system-selected default values.
Now that the basic CADD objects and their inherited attributes have been defined, the logical questions are: What OOP message can we send these objects and how do we send them? As standard, graphical objects, both the primitives and library symbols must understand the following messages:
VersaCAD Palettes for sending messages to: (a) windows, (b) objects under construction, and (c) objects being dimensioned.
Nomenclature in spur-gear design.
To illustrate the design process and demonstrate several CADD techniques, consider the design of a gear. The craft of gear design is far from trivial. Optimized design requires precision in the gear tooth geometry in order to minimize wear and backlash. As in other technical fields, gear design has developed its own nomenclature, some of whose terms are defined in Figure 13.25.
Assume the following specifications for the gear:
2. Draw the front view.
3. Add the projected, side view section.
4. Dimension the drawing.
5. Add a border and title box.
1. Drafting Environment
1.2 The Settings/Units menu was used to confirm inches as the default unit and one as the default line width.
1.3 The Grid icon was used to set the grid spacing to 1/4" in both x and y and turn on the grid visibility.
2.1 The first step was to design a single tooth.
2.1.2 Next, the Addendum Circle and the Dedendum Circle were drawn with radii of 6" and 5", respectively, to serve as construction aids.
2.1.3 Seven inch long construction lines starting at the gear center were added as construction lines at angles of 82.5° and 97.5° to span.
2.1.4 Two Bézier curves, labeled 1 and 2 in Figure 13.26, were constructed to generate the flank (tooth surface inside the pitch circle) and face (tooth surface outside the pitch circle), respectively, of the gear tooth. The bottom of curve 1 and the top of curve 2 were constrained to lie parallel to the dedendum and addendum circles, respectively.
Construction of gear tooth by connecting four Bézier curve segments. The construction lines shown in (c) defined the angular and radial extent of the tooth and the tangents of the top and bottom of the curves. The use of snap grid option guaranteed continuity between the curve segments.
2.2 Next, the tooth was copied to complete the outline of the gear tooth structure.
2.2.2 The center of rotation was then selected by clicking on the gear center. VersaCAD then generated the tooth outline shown in Figure 13.27.
Gear design after circular copy of 24 teeth and the addition of concentric circles indicating the gear shaft.
2.3 A keyway was added to the gear shaft.
2.3.2 The keyway was then dragged
into position as shown in Figure 13.28 (a).
2.3.3 The Extend/Trim icon was then selected and applied to the inner circle and segments of the double line. This option cycles through all logical segments allowing the user to select the desired trimmed configuration. Three stages in the trim operation are shown in Figure 13.28.
Use of Extend/Trim to build keyway. (a) A capped, double line is dragged upward, terminating at the correct depth of the keyway. (b) The Extend/Trim icon is clicked and the circle and left-hand side of the keyway trimmed. (c) The right-hand side and the remaining arc are then selected and trimmed to join.
2.4 Spokes were added by cutting away unnecessary metal to create holes.
Construction of spokes by drawing cut-away holes. (a) Construction lines and initial cut-away hole built from two arcs and two lines. (b) Result of inserting fillets between arcs and lines of hole.
2.4.3 Then the Fillet icon was selected, and VersaCAD automatically inserted fillets between each user-selected pair of arcs and lines and trimmed off the overhang. The final hole design in relation to the gear shaft is shown in Figure 13.29 (b).
2.4.4 Finally, the two arcs, two lines, and four fillets were grouped and circularly copied to produce six holes, one every 60°. This completed the front view shown in Figure 13.30.
3.2 The outline of the major components of the bottom half of the cross section were constructed using the line tool.
3.3 Fillets were inserted to round three selected corners.
3.4 The Hatch icon was selected, the material parameter set to "steel", and boundaries of the regions consisting of steel were selected to produce cross hatching.
3.5 The lower half of the gear cross section was mirror reflected about the axis to produce the top half.
Cross section side view and front view of spur gear.
4. Dimensioning the Drawing
4.1 The Dimension palette was used to select either linear or angular dimensions as required.
4.2 Linear dimensioning, selected by the icon, was performed by the following four steps.
4.2.2 The second point was defined by clicking.
4.2.3 The depth (extension lines) was defined by dragging.
4.2.4 The numerical value was anchored by clicking.
4.3.2 The second line of the angle was clicked.
4.2.3 The depth (extension lines) was defined by dragging.
4.2.4 The numerical value was anchored by clicking.
5. Border and Title Box
The detail drawing shown in Figure 13.32 provides essentially all the information necessary for building the gear. In the exercises we investigate the few missing items and what other information might be useful.
Gear design appears to be a popular introductory example for many drawing and CADD systems. In Figure 13.33 we show a drawing which comes as an example with the Canvas 3.0 program.
Another feature which distinguishes more sophisticated CADD systems from simpler drawing programs is associative dimensioning. This means that the dimension object is "intelligent" and keeps track of the size of the object it is dimensioning. If the scale of the dimensioned object are modified, the dimension object will report the new dimensions. Dimension objects in associative dimensioning systems act as demons which monitor the dimensioned objectís size. So, for instance, when the original drawing of Figure 13.33 was scaled down to 80 percent of its original size to fit on the page, all dimensions changed to 0.8 times their original values.
A second major area in which CADD plays a central role is in architectural design. Figure 13.34 shows the floor plan for the bedroom floor of a typical house. This figure illustrates several additional important features of CADD systems. These include:
The apparent complexity and high degree of detail are easily achieved through the extensive use of library objects. Thus, the highly detailed small bathroom design shown in Figure 13.35 is accomplished by selecting and dragging in icons for the window, tub, sink, and so on.
Another feature distinguishing more advanced CADD systems from simpler drawing programs is the use of layers. Layers provide a mechanism for categorizing elements of a design according to function and for providing a hierarchical structure for the drawing. All of the doors of a floor plan, for instance, could be assigned to one layer, all of the windows to another, and all of the appliances to still another. The final drawing consists of the superposition of all the layers.
Gear design by Deneba Software using Canvas 3.0.
Layering provides the advantages of classification by logical function and the class inheritance properties of hierarchical systems. So, for instance, to change the color of all doors from magenta to green or the hatching of all metal parts from iron to steel, one needs only to change the attributes for the layer as a whole after which each instance inherits the change.
The actual construction of a building involves integrating a number of radically different systems into a single design. Layering provides the key for this integration. So, for instance, the floor plan may be represented on layer #1, the plumbing on layer #2, the electrical distribution system on layer #3, and so on. A useful format for hard copy is to print each layer in a unique color on a single transparency. The relationships between various systems can then be readily visualized by superimposing the transparencies on the basic floor plan.
A final function of layering is to assist the designer of the original detail drawing. Layers can be assigned to various categories of the design process, including construction lines, format lines, title blocks, text, and dimensions. Judicious use of layers simplifies and organizes the process of design itself. A good summary of the topic is given by Gerlach.
Figure 13.35 shows an enlarged view of the small bathroom from Figure 13.34 and illustrates the detail possible through the use of library objects.
As a final illustration of how the sophistication of CADD systems can speed the design process, consider the process of adding doors to the closet shown in Figure 13.36. The closet is rapidly drawn using the multiline tool set to 2-line, continuous mode to give (a). Next, the library Cut objects option is selected, effectively adding intelligence to the library object about how it is to interact with its environment. Now, when the double-door object, (b), is selected from the library menu and dragged to the desired location as shown in (c), it automatically inserts itself into the wall by performing the break and trim operations. Thus, merging segments (a) and (b) to produce (c) requires a single click and drag using intelligent CADD objects. The conventional approach to this task would have required at least six operationsóremoval of the two top lines and the creation of four shorter lines.
The use of intelligent CADD objects to speed design. Setting the library option to Cut objects allows the insertion of the double-doors, (b), into closet wall, (a), by a simple dragging operation to give (c).
Most CADD packages provide many additional features which we do not have space to illustrate in detail. We can, however, summarize these features in the following three categories:
Much of the effort in creating detail drawings involves a precise alignment of the components of the drawing. Several CADD tools to assist the designer in this task include:
Managing a large design project involves much more than the creation of several detail drawings and an assembly drawing or two. Among these tasks are the management of the drawings themselves, maintenance of up-to-date schedules of standard parts appearing in the drawings, and material requirements planning (MRP). Several of these tasks are described in detail in Besant and Lui.
To assist the project manager and designers in managing such database information, VersaCAD provides the following tools in HyperCard format:
Most CADD systems provide at least some capability for design in 3D. VersaCAD allows the user to design objects in 2D and convert them to 3D objects by the processes of lathing and extrusion. A hierarchical 3D scene is created by merging the 2D drawings into a 3D work file. The 3D scene may be viewed in one, two, or four viewports simultaneously from any user-specified viewpoint. Rendering options include wireframe, hidden surface removal, and a simple shading model. Figure 13.37 shows the design of a simple 3D object and a more complex 3D scene.
Note the design power offered by the abstractions of filleting and lathing. The 2D outline of the bushing shown in Figure 13.37 was created in less than a minute from eight line segments. Adding three fillets to produce the smooth corners of (a) required another minute. Opening this 2D drawing as a lathed object in VersaCAD automatically produced the 3D object shown in perspective view in (b). The process of extrusion was used to produce objects shown in plan and isometric views in (c) and (d).
The first two applications discussed in this chapter have been purely geometric. Each includes some intelligence about the behavior of the models they are used to create. Swivel 3D supports constraints limiting the motion of one object relative to another. VersaCAD supports automatic trimming to merge two objects and the use of intelligent library icons. Such features greatly enhance the authentic appearance of the objects we are modeling but tell us nothing about how they behave in real world environments. If we wish to know how objects bend when subject to a force, or how they vibrate when struck, or how hot they get when one end is heated, or what magnetic fields they generate when current runs through them, we need more authentic models.
To build models with authentic behavior as well as appearance, we must greatly enrich the information content of the database. In short, we must add physics. That is, we need to attach physical attributes such as density and coefficient of elasticity to each object of the model, the constraints restricting motion, and the forcing function causing deflection for mechanical models. In addition, for computer modeling we must add algorithms for segmenting objects into small elements and solving the integral or differential equations governing the interactions between these elements. The method for implementing this more authentic model is called the finite element method (FEM).
3D CADD designs. The 2D drawing of a bushing in (a) is transformed into the 3D object in (b) by the lathing operation. The plan and isometric views of a floor plan are shown in (c) and (d).
The finite element method is a general technique for numerical solution of the integral or differential equations governing the behavior of systems in science and engineering. Just as parametric splines emerged from the design of automobiles, the finite element method emerged from the aircraft industry. The fundamental ideas were contributed by engineers, applied mathematicians, and physicists. Courant wrote the seminal paper laying the foundation for the FEM. Brauer has produced a gentle introduction to the subject, and the standard reference work is by Zienkiewicz.
One of the most distinctive features of the FEM is its generality. The original motivation for developing finite element analysis (FEA) was the study of components used in the aerospace industry. A mathematical model for studying the stress points and resonant frequencies of a Boeing 747 fuselage permits a much more rapid analysis at much lower cost than building and testing scale models. By pinpointing potential weaknesses, FEA facilitates successive refinement of engineering designs to optimize strength to weight ratios. After proving its value for structural analysis in the aerospace industry, the FEM has spread to those areas of science and engineering in which fields are described by differential or integral equations. These include:
The FEM is particularly useful in analyzing physical phenomena that
can be described in terms of a potential field, F,
which obeys one of the following differential equations:
In many instances, the source of
the potential exists in the region of space being modeled. In such cases,
the elliptic equation (Laplaceís equation) must be modified to include
the source term, r,
giving Poissonís equation:
In the case of mechanical structure analysis, the field F is the displacement, u(x), resulting from applied forces. In the case of electrostatics, F = V(x), the electric potential, and for electromagnetic fields, F = A(x), the magnetic vector potential. For thermal problems, F = T(x), the temperature distribution.
Physical constraints, known as boundary conditions, provide additional
tools for solving these differential equations. Boundary conditions generally
fall in one of three classes:
The FEM has been represented in several formulations, all of which have been shown to be equivalent to Hamiltonís energy minimization principle. This principle states that any perturbed system will respond by adjusting its free parameters so as to minimize the total energy of the system. Thus, when subject to forces, a physical object will flex and bend in such a way as to minimize the stored potential energy. When a source of heat is introduced into a system, heat will flow in such a way as to create a temperature distribution that minimizes the total thermal energy stored in the system. When current flows in conductors, magnetic fields are set up in the space surrounding the conductors in such a configuration as to minimize the total electromagnetic energy of the system.
Consider, for instance, an energy functional, F,
describing the total energy stored in the compressed spring system shown
in Figure 13.38.
The energy minimization principle describing the equilibrium state may be written:
Thus, the energy minimization principle
is equivalent to the basic force laws in its ability to describe the behavior
of physical systems.
Central to the implementation of the FEM is the fragmentation of every object in a finite element model (and, in some cases, the empty space between them) into small segments. The basic argument is that, as long as the dimensions of the finite elements (Dx, Dy) are chosen small enough, the quantities (∂F, ∂x, and ∂y) of Equations 13.1-13.4 may be replaced by (∂F, Dx, and Dy) with little loss in accuracy of the model.
Sophisticated algorithms have been developed for fragmenting objects of arbitrary shape into triangular and rectangular finite elements (or their 3D equivalents). For triangular discretization, each triangle is defined by three corner nodes at which the relevant potential will be calculated. The effect of 2D triangular discretization, then, is to convert the continuous field equations of 13.1-13.4 into a set of algebraic equations relating the 3N potential values of an N node system. What this accomplishes, in effect, is to replace the impossible task of solving differential equations in domains of arbitrary geometry with the completely practical task of solving 3N equations in 3N unknowns.
Consider the simplest possible problem in elasticity. If we are given
the spring constant, k, and applied force, f, we can use Hookeís Law to
solve for the unknown displacement from equilibrium, x. This represents
a "1?node" finite element problem. For the more general finite element
problem in elasticity, the spring constant, k, is replaced by the stiffness
matrix, K, whose elements are functions of the discrete geometry,
Youngís modulus of elasticity, and the shear modulus. The scalar force
is replaced by a force vector, F, and the unknown displacement,
x, is replaced by a vector, U, of unknown displacements. In the
general 3D case, each node i may be displaced along each axis giving the
three unknowns, (uix,uiy,uiz).
A problem with M nodes then involves 3M unknown displacements
and the solution of the stiffness matrix Equation 13.11 of order 3M.
This is the finite element analog of Hookeís Law, Equation 13.10.
F = K·U [13.11]
All finite element analysis problems
involve a similar set of steps for their solution. At the most abstract
level, these can be summarized as the following three steps.
Letís examine each of these steps in more detail.
The preprocessing step involves, by far, the greatest effort on the part of the FEA analyst. This step involves the following tasks:
Once the model has been completed, the analysis package is invoked. At this point the program takes over and automatically assembles the stiffness matrix, modifies it to include the boundary condition, and solves the system of N equations in the N unknown potential values. This is the compute-bound phase of the analysis. Simple models such as those shown below require less than a minute on a personal workstation. More complex models with thousands of elements may require an hour or more.
Computer graphics could play an informative role in helping the user visualize the analysis process, but in most commercial programs it does not. Since the analysis task is essentially numerical analysis, most packages merely list the progress of the analysis in a text report format. Graphical output in which the elements of the model would blink as they were being processed would contribute to the userís insight both on the dynamics of the solution process itself and potential problem areas in the case of unsuccessful analysis. Since such a graphical reporting mode would consume additional computing resources, an optimal system would offer it as a debugging option.
The purpose of the postprocessing phase is to provide the user with the clearest possible visualization of the solution and its implications. Here is where computer graphics plays a key role in FEA. Several visualization modes are offered on most analysis packages.
To illustrate the techniques of FEA we will use COSMOS/M, one of the most capable FEA packages available. COSMOS/M runs on most platforms, including UNIX workstations, Macintoshes, and 286-486-based PCs. It can analyze problems in linear and nonlinear structural mechanics, heat transfer, fluid flow, and electromagnetic fields. Models of up to 15,000 nodes and 60,000 degrees of freedom can be solved. The system consists of some 300 files consuming six megabytes of disk storage space. Designs may be imported in DXF and IGES format from other CAD systems, and completed models may be exported for analysis on mainframe and supercomputer FEA programs.
With this background in FEA we turn to some concrete examples.
In this example, we construct a simple beam of dimension 40"x 10"x 10", divide it into a simple mesh of 10 elements, anchor one end, and apply a stretching force to the other end. We then compare the elongation COSMOS/M computes with the theoretical result given by Hookeís Law (Equation 13.10).
1. Construct the model
Using mainly default values, the view, axes, and grid were specified as shown in Figure 13.39. Next, four points defining the corners of the beam were entered and the lines connecting them were specified. The resulting outline of the beam object is shown.
2. Mesh the model
Several options are available for
the meshing process. We chose automatic meshing and specified approximately
how large to make the elements. The results are shown in Figure 13.40.
3. Assign material properties
Under the MPROP menu, EX was specified to indicate Youngís modulus in the x direction, and the value was set to 30 106 lb/in2. Next, Poissonís ratio was selected and set to 0.3.
4. Specify boundary conditions
To specify a cantilevered beam, we must anchor one end with boundary conditions which prevent any motion in x, y, or z for the left end of the beam. This is readily accomplished by setting the displacement to zero under the BCond Δ Structural Δ Displacements menu. The Forces submenu of the BCond menu is used to set the forces equal to 100 lb at each node on the right-hand surface as shown in Figure 13.41.
5. Solve equations and display solution
After submitting the completed model to analysis, the postprocessor option is invoked to view the computed results. Of most immediate interest are the equilibrium displacements of each node of the excited model. These are displayed graphically in Figure 13.42 in which the computed deflections are superimposed on the original model.
6. Display the stress distribution
One of the most useful results of FEA is the distribution of stresses in the model being analyzed. High stress regions are the most likely to suffer cracking and failure. Activating the stress calculation in COSMOS/M produces the stress distribution shown in Figure 13.43.
Comparison of FEA Results with
7. Numerical verification of displacement
Using the tabulated values for the Dx displacements of the three right-end nodes, the average value for the beam elongation was computed and is shown in Table 13.1. The COSMOS/M result is seen to agree with the theoretical Hookeís Law result to within one percent.
Once the model is built and meshed, it is a relatively simple task to investigate its behavior under a variety of conditions. Suppose, for instance, that, instead of stretching the beam, we load it at the free end with a downward force of 300 lbs. This is readily accomplished by the two-step process of removing the horizontal force and applying a negative vertical force. The revised model indicating constraints and applied forces is shown in Figure 13.44.
The resulting deflection involves both bending and shearing. Figure 13.45 shows the resulting deflection plot superimposed on the original model.
Deflection plot for end-loaded beam. This deflection results primarily from bending and, to a lesser degree, from shearing. The deflection has been magnified about 40,000 times to help the user visualize the effect.
Theory states that the resulting displacement in the y direction
is given by a bending term involving Young's modulus, E, and a shear
term involving the shear modulus, S:
Substitution of these values yields the theoretical displacement value given in Table 13.2.
Comparison of FEA Results with
Again, the agreement between the FEA results and theory is surprisingly good for a simple 10-element model. This gives us confidence to extrapolate FEA techniques to more complex models for which there are no standard analytical expressions.
Suppose the top and bottom of a square plate were clamped and a lateral force exerted along the boundary of a circular hole in the center of the plate. What would be the resulting distortion in the shape of the plate?
Figure 13.46 represents the geometric design of an 8" x 8" plate with a hole of radius 1" at its center.
Next, boundary conditions are attached
to the top and bottom surfaces to clamp them, and a force vector of 100
lbs is applied at each node defining the circular hole. The results are
shown in Figure 13.47. After specifying the material properties to be those
of steel, the model is ready to analyze.
Plate design and segmentation into
36 finite elements. The shrink
option helps isolate elements and detect connectivity problems.
Boundary conditions limiting motion
of top and bottom surface of the plate. Forces of 100 lbs are applied to
each node of the circle.
This model is submitted for analysis, and 21 seconds later the user can examine the results of the FEA by plots like the deflection plot shown in Figure 13.48.
Deflection plot of plate under the influence of forces acting on the circumference of the circle.
Additional insight into the behavior of the system may be obtained by studying the stress plot, viewing the model from a different perspective such as the isometric view shown in Figure 13.49, and animating the deflection sequence.
The examples above sample only a tiny fraction of the capabilities of COSMOS/M. For instance, BCond, one of ten menu options available, has five sub-menus: Structural, Thermal, Fluid Flow, Electro-Magnetic, and Load Options. The Thermal sub-menu has, in turn, the following sub-sub-menus: Temperature, Heat Flow, Nodal Heat, Element Heat, Heat Flux, Convection, and Radiation. Each of these sub-sub-menus has 10?14 sub-sub-sub-menu options, each of which requires 3?10 default or numerical specifications. So the user can send FEA objects 250 or more messages concerning boundary conditions alone.
We justify inclusion of FEA in a computer graphics book because of the central role graphics plays in the system/user interface and in the visualization of both the model construction process and the postprocessing phase of the analysis. However, model authenticity may provide an even stronger argument for computer graphics professionals understanding the FEM. An important segment of the graphics industry deals with the design and production of computer animations, ranging from television advertisements featuring dancing bleach bottles to the realistic simulation of human motion. In the pursuit of realistic simulations, animators have been driven "back to the basics" of developing authentic models of human physiology and the forces associated with the skeletal and muscular structure. FEA has proven to be the optimal tool for achieving authenticity in applications such as modeling the response of the human body to muscular forces. There is no question but that the demand for increasingly realistic computer animations will expand the domain of application of the FEM.
In this chapter we have demonstrated the central role of computer graphics in design and engineering tools. The product development process begins with a conceptual design, proceeds through a detailed engineering design phase, and, particularly for critical components, requires engineering analysis to detect potential failure modes to assure safe performance. We have identified these three phases of product development as CADC, CADD, and CAE and have illustrated each with several examples run on three of the leading application programs. These three programs incorporate most of the GUI features presented in the previous chapter as well as virtually all of the graphical transformation algorithms presented earlier in the book. All three use object-oriented programming as the paradigm through which the user creates and manipulates objects in a model.
Finally, this chapter has demonstrated that the development of more authentic computer models requires richer databases. To fully understand the behavior of the objects we design, it is necessary to augment our geometric models with information on the material properties of each object and the laws of physics governing their behavior. FEA tools combine CAD functionality with numerical analysis techniques and postprocessing visualization tools for efficiently performing accurate engineering analysis. Computer graphics provides the principle channel through which the FEA analyst builds and manipulates models. FEA, in turn, has become an essential technique for modeling the human body and other subjects of computer animation.