Introduction

Finite element analysis (FEA) has become commonplace in recent years, and is now the basis of a multibillion dollar per year industry. Numerical solutions to even very complicated stress problems can now be obtained routinely using FEA, and the method is so important that even introductory treatments of Mechanics of Materials – such as these modules – should outline its principal features. In spite of the great power of FEA, the disadvantages of computer solutions must be kept in mind when using this and similar methods: they do not necessarily reveal how the stresses are inﬂuenced by important problem variables such as materials properties and geometrical features, and errors in input data can produce wildly incorrect results that may be overlooked by the analyst. Perhaps the most important function of theoretical modeling is that of sharpening the designer’s intuition; users of ﬁnite element codes should plan their strategy toward this end, supplementing the computer simulation with as much closed-form and experimental analysis as possible. Finite element codes are less complicated than many of the word processing and spreadsheet packages found on modern microcomputers. Nevertheless, they are complex enough that most users do not ﬁnd it eﬀective to program their own code. A number of prewritten commercial codes are available, representing a broad price range and compatible with machines from microcomputers to supercomputers1. However, users with specialized needs should not necessarily shy away from code development, and may ﬁnd the code sources available in such texts as that by Zienkiewicz2 to be a useful starting point. Most ﬁnite element software is written in Fortran, but some newer codes such as felt are in C or other more modern programming languages. In practice, a ﬁnite element analysis usually consists of three principal steps: 1. Preprocessing: The user constructs a model of the part to be analyzed in which the geometry is divided into a number of discrete subregions, or “elements,” connected at discrete points called “nodes.” Certain of these nodes will have ﬁxed displacements, and others will have prescribed loads. These models can be extremely time consuming to prepare, and commercial codes vie with one another to have the most user-friendly graphical “preprocessor” to assist in this rather tedious chore. Some of these preprocessors can overlay a mesh on a preexisting CAD ﬁle, so that ﬁnite element analysis can be done conveniently as part of the computerized drafting-and-design process. 1 2

C.A. Brebbia, ed., Finite Element Systems, A Handbook, Springer-Verlag, Berlin, 1982. O.C. Zienkiewicz and R.L. Taylor, The Finite Element Method, McGraw-Hill Co., London, 1989.

1

2. Analysis: The dataset prepared by the preprocessor is used as input to the ﬁnite element code itself, which constructs and solves a system of linear or nonlinear algebraic equations Kij uj = fi where u and f are the displacements and externally applied forces at the nodal points. The formation of the K matrix is dependent on the type of problem being attacked, and this module will outline the approach for truss and linear elastic stress analyses. Commercial codes may have very large element libraries, with elements appropriate to a wide range of problem types. One of FEA’s principal advantages is that many problem types can be addressed with the same code, merely by specifying the appropriate element types from the library. 3. Postprocessing: In the earlier days of ﬁnite element analysis, the user would pore through reams of numbers generated by the code, listing displacements and stresses at discrete positions within the model. It is easy to miss important trends and hot spots this way, and modern codes use graphical displays to assist in visualizing the results. A typical postprocessor display overlays colored contours representing stress levels on the model, showing a full-ﬁeld picture...