1 Finite Element Analysis for the Masses: An Introduction Corrin J. Meyer, Member, IEEE Abstract—Finite Element Analysis or FEA analysis has become an important mathematical tool that is used by engineers to develop simulations that approximate real life. The uses and power of FEA analysis will be discussed in this paper. Simple easy to understand examples of the use FEA will be presented along with tutorials with how to use current FEA analysis software found in the industry. Index Terms—Finite Element Analysis, FEA, Tutorial, Introduction to. I. INTRODUCTION F INITE Element Analysis or FEA has found many uses in mechanical engineering but has also found applications in electrical, civil, and chemical engineering. In electrical engineering, FEA is used for circuit board simulation and electromagnetics. Though it has become a staple of the engineering realm, few engineers at the undergraduate level, outside of the mechanical engineering curriculum, know what FEA is. This paper is a brief introduction into what FEA is, why it is used, its power, and a tutorial on available software for FEA analysis. First, a brief history describing where FEA analysis comes from will be given. This history describes the reason for FEA, some of its power and its primary use. Next a analogous example of what FEA is will given. This example will allow the reader to visualize what FEA is doing without having to understand the complex mathematics behind it. A second simple example will be given in which true FEA analysis is applied. The example will make the ideas of FEA concrete, present some actual math used, and show how and why it is computers that make FEA possible. Finally, a real electromagnetic example will be given use the ALGOR FEMPRO software for analysis. II. HISTORY OF FINITE ELEMENT ANALYSIS A. The Need for Finite Element Analysis The Engineering profession can be described as the profession of Applied Mathematics or Applied Science. Engineers take the tools and technologies developed by Manuscript received on May 15, 2004. C J Meyer, senior electrical engineering student at Calvin College, cmeyer23@calvin.edu mathematicians and scientists to solve real life concrete problems. Mathematicians provide mathematical equations, rules, and techniques that allow Engineers to simulate, approximate, and predict how a structure will respond or how a circuit will operate in reality. Scientists provide new technologies that operate faster, more efficiently, more reliably, and may be cheaper than current technologies. Engineers rely on mathematics and science to produce governing mathematical relations and approximations that can be used to provide a means of systematically designing a solution to a given problem. In many situations, the mathematics used to predict or simulate an engineered solution is too complex to do exactly or by hand. Take for instance an electromagnetic flux. While it is usually possible to calculate the flux through a regular shape such as a sphere, box, cylinder, or cone, as the shape becomes more irregular, the math to compute the flux becomes nearly impossible. Triple integrations on 50 term 10th order equations with geometric relationships are probably impossible to compute, even if given months to compute it. While the math to simulate and predict engineering solutions in the real world become more complex and difficult, Engineers are continuously pressed to develop solutions to problems that are better than and sooner than the competition. These two conflicting forces drive the development of new techniques to produce analytical data on engineered solutions allowing Engineers to get immediate feed back as to how well a solution stands up to a particular test. FEA is one such tool employed by engineers to speed up solution development and produce better solutions than what was possible before. B. Historical Origins of Finite Element Analysis Finite Element Analysis has its origins in the mechanical engineering concentration relating to stress, strain, and elasticity. Basic ideas that eventual led to FEA were first introduced in a paper presented by Hrenikoff in 1941. In 1943 R Courant presented a paper where he used the Ritz method of numerical analysis and minimization of variational calculus to approximate torsion stresses and vibrations in mechanical systems. Courant used piecewise polynomial equations to interpolate calculated solutions across a triangular mesh. These interpolations lead to a complete solution over the entire surface. FEA was further developed by a paper presented by M. J. Turner, R. W. Clough, H. C. Martin, and L. J. Topp in 1956. The paper focused on truss, beam, and other elements in 2 structural analysis and mechanical engineering. The term finite element was coined by Clough in 1960 to describe the small elemental patches use to approximate a complete surface. The inherent qualities of FEA led to it used primarily for such tasks as stress, strain, fluid flow and heat transfer. Furthermore, though FEA simplified the mathematics with which to approximate solutions, the required number of iterations of a series of finite element patches led to very long and tedious work. This limitation meant that FEA could only be used by companies with access to super computers. Through out the 1960s and 70s, FEA was further developed and adapted to other areas such as electromagnetics. The mathematical processes and frameworks used where also updated with time. Today, thanks to the power of the common desktop computer, the FEA method is available to almost any engineering company and engineering student. process is repeated until the entire surface has been computed. While this technique does not give precise data, by using small sub-patches, it is able to give a very close approximation to the actual data. Figure 1 shows a graphic representation of a number of surfaces that have been divided up into sub-patches ready for FEA. III. FINITE ELEMENT ANALYSIS FEA is a complex topic making it difficult for any one person to understand it fully. Furthermore, without knowing the mathematics behind FEA, it may be difficult for some to understand what it really does and how. First, what FEA does and how it works is discussed. Then, so as to show what FEA does without delving into the mathematics behind it, a simpler analogous problem is presented. A. How FEA Works The basic premise of FEA is that large complex problems can be broken down into smaller much easier to solve problems. The solutions from each of the smaller parts can then be combined together to generate a complete and whole solution to the question or problem. Take for instance a complex multi-faceted tube or irregularly shaped mounting bracket. In mechanical engineering, stress functions are defined for simple regular surfaces and volumes such as planes, boxes, spheres, cylinders, simple tubes, and the like. While these equations work well at an academic level, they very rarely work quite so well in life. Before the late 1950s, most engineers would either spend days, weeks, even months trying to derive the appropriate equations, make estimates based on past experience, or make a logical guess and run real life tests. While these techniques worked, they left much to be desired. Computing precise equations was to time consuming while relying on past experience and trial and error methods left to much unanswered and to many possible problems. With FEA, a surface, such as the aforementioned complex tube or irregular bracket, is broken down into a set of smaller regular surfaces such that when the sub-patch surfaces are fitted together, they very closely approximate the actual surface. Each of the sub-patches can be treated as a separate surface under some sort of stress and strain. Equations can be applied to the patch to approximate how it will respond over time. Once the reaction of one patch is computed, it is possible to compute how it will react with it neighbors. This Fig. 1. Various irregular surfaces divided up into sub-patches ready for FEA. Each sub-patch interacts with its neighbors generating an overall reaction to applied forces. B. An Analogy to FEA Though it is possible to just explain what FEA is, it really does not make sense until it is seen in action. The problem is that it is so complex that it is very hard to show it in a practical application with out any background in the subject. Therefore, to give an idea of how FEA works, an analogy used through out mathematics, engineering, and science will be presented. While not specific to FEA, it will give a basic grounding in the concepts used by FEA. 1) Problem description The integral is a staple of mathematics. With it, it is possible to achieve computations that would otherwise be in impossible. It is used to compute surface areas, volumes, convert between acceleration, velocity, and change in distances. With this power comes complexity. While the integral is relatively straight forward to understand (it computes the area between some equation and the X axis of a 2D Cartesian graph), it very quickly becomes impossible to compute an exact value. As a result, techniques for approximating integrations have been developed. The process of approximating an integral is analogous to how FEA works in the physical realm. Let us assume that there is some continuous unknown function from which we have discrete data. While other techniques are available that will more closely duplicate the equation from the given data, for this analogy, a simple piecewise interpolation technique will be used. Figure 2 shows the graph that will be considered. For the analogy it is 3 % Define the function and the independent variable. func='7*sin(1.5*x)-3*cos(3*x)+8'; var='x'; f=inline(func,var); % Create the sampling sets. x=1:0.01:9; xi=1:2:9; xerr=1:0.1:9; % Create the data sets. y=f(x); yi=interp1(x,y,xi); % Interpolate/sample the actual data set. yerr=interp1(x,y,xerr); % Get error samples. yierr=interp1(xi,yi,xerr); hold on % Plot the data. fplot(f,[1,9,0,19],'--b') plot(xi,yi,'-or') Fig. 2. A graph of some unknown equation on a set of Cartesian axis. Though it is assumed that this function is unknown, in actuality it can be produced by equation 1. assumed that the actual modeling equation is unknown, but for comparison purposes, the actual equation used is given by equation 1. Note that this equation is very regular and so, determining the actual integral of this equation should be fairly easy to do. ( x) 7 sin(1.5 x) 3 cos(3x) 8 (1) Assume that it is possible to select any set of discrete data from this curve. Though this is not true in real life, it more closely resembles how FEA will work. Once a set of discrete data has been selected, compute an approximate definite integral on the data from x = 1 to x = 9. % Fill in the areas of error. for n=1:length(xerr) plot([xerr(n),xerr(n)],[yerr(n),yierr(n)],':g') end % Compute the actual and approximate integrals. areai=trapz(xi,yi); area=quadl(f,1,9); error=100*abs(area-areai)/area; areai area error hold off Listing 1. Matlab code to generate actual, sample, and error graphs of the equation (1). the actual function and then overlay it with a graph of piecewise linear interpolation of the graph from sampled data; specifically at x = 1, 3, 5, 7, 9. The areas where the piecewise linear sampled function errors from the actual function are shaded. Figure 4 shows the results of running the code in listing 1. 2) First Attempt The first attempt to approximating the integral of the graph is to define the discrete data set to use. To do this, x values are chosen to define the places to sample at. This is analogous to setting up a mesh in FEA. A mesh defines the discrete 1 1 2 3 3 5 4 7 9 Fig. 3. This regular mesh represents the points at which the graph in question will be sampled. This means that for x = 1, some sample y will be taken for the equation ( x ) . elements used to compute the approximation. For this first attempt, a simple regular mesh will be used. Figure 3 shows the mesh that will be utilized. There is now enough information to start the process of approximating the integral of the graph. Due to the technical nature of this process, MATLAB will be used through out this analogy for computation purposes. Start a new Matlab M file and enter the cod shown in listing 1. This code with generate a Fig. 4. The graphs generated by the code in listing 1. The dashed line shows the actual function, the solid line the sampled data with the data points indicated by circles. The shaded area indicates the error between the actual function and the sampled function. The code in listing 1 also computes the area under the actual and sampled functions. Matlab reports that areai (the area 4 under the sampled function) is equal to 80.8975 and that area (the area under the actual function) is equal to 60.7386. The percent error in the approximated integral is about 33.2%. 3) Improving the Results While Matlab code does exactly what was desired, the results are less than stellar. To start with, the sampled function does not approximate the actual function very well as figure 4 shows. There are several large areas where the sampling deviates drastically from the actual data. Furthermore, the computed approximated integral of the sampled data errors more than 30%. This is completely unacceptable. There are two ways to improve the approximated results without changing the algorithm used. The first method is to simply increase the number of samples taken, making sampling steps smaller. The second method is to sample more strategically. This means that samples are taken at specific points on the x axis such that only the important characteristics of the actual data are recorded and represented. Both methods will be investigated first individually and then together. The first method mentioned is to increase the number of samples. To see the results of such a change, change the number of samples from 5 to 9. To do this make the changes . . . % Change the definition of xi to… xi=1:1:9; . . . 1 2 2 3 3 4 4 5 5 Listing 3. Changes made to sample strategically at x = 1, 2.5, 3.8, 5.2, 6.6, 8, and 9. 1 6 6 . . . % Change the definition of xi to… xi=[1 2.5 3.8 5.2 6.6 8 9]; . . . 1 7 7 2 2.5 3 3.8 4 5.2 5 6.6 6 8 9 Fig. 7. This regular mesh represents the strategic sampling, sampling at the fewest possible points while retaining the most important characteristics of the original data set. Listing 2. Changes made to sample 9 times from x = 1 to x = 9. 1 shown in listing 2. Figure 5 shows the corresponding sampling mesh and figure 6 shows the resulting graphs produced by Matlab. Along with the improved graph, Matlab computes that the approximated integral is 61.9439 compared to the actual integral of 60.7386. This means that there is about a 2% error between the approximation and the actual. While this error is significantly smaller and is indeed acceptable, the graph is far from good. Using the second method of strategic sampling may improve the approximation more than increased sampling. To test the second method, make the changes to the Matlab M file shown in listing 3. Figure 7 shows the sampling mesh that it represents, and figure 8 shows the resulting graphs produced by Matlab. 8 8 9 Fig. 5. This regular mesh represents the increased number of samples that will be taken from the actual data set. Fig. 8. The graphs generated by the code with the changes shown in listing 2. Though the resultant approximated graph is closer to the actual graph, there is significant difference. Fig. 6. The graphs generated by the code with the changes shown in listing 2. Though the resultant approximated graph is closer to the actual graph, there is significant difference. The generated graph shows that the sampling very closely follows the original data. While the graph looks good, the computed integrals for the approximation and the actual data show otherwise. The approximate integral computes as 61.8626 resulting in an error of about 2% The results of the above to improved methods shows drastic 5 increase in accuracy over the original attempt, however, they still do not compare very well to the original data. It is evident that by increasing the number of samples it is possible to get a closer approximation of the integral. However, it is also important that if possible, the samples be chosen to maximize that amount if significant data that the sampled data retains from the actual data. By combining these two methods, it is possible to get a much more accurate approximation. Listing 3 shows the changes made to the Matlab M file to increase the number of sample points strategically. Figure 9 shows the resulting graph produced by running the code. . . . % Change the definition of xi to… xi=[1 1.3 2.2 2.5 3 3.2 3.8 4.1 5.1 ... 5.4 6.4 6.7 7.2 7.5 8 8.3 9]; . . . Listing 3. Changes made to sample numerous times strategically. Fig. 9. The graphs generated by the code with the changes shown in listing 3. It is evident from this graph that the approximation very closely follows the actual data damples. After running the code, Matlab returns an approximate integral value of 61.3502 which is with in 1% error of the integral of the actual data. 4) Conclusion The final approximated integral of the “unknown” function φ is shown to be with in 1% error of the actual integral. Three approaches of improving about the original approximation where used: increased sampling, strategic sampling, and increased/strategic sampling. What is interesting to note is that all of the improved methods achieved better than 5% error. Furthermore, the final improvement, increased/strategic sampling only reduced the error by about 1% over the increased sampling and strategic sampling alone. What this shows is that in general to reduce the percent error from 2% to 1% will take many more samples and very good strategic sample placement when compared to reducing the percent error from 10% to 5%. 5) Comparison with FEA FEA is very similar in concept to the process of approximating the definite integral of some unknown function. In the above integral approximation, sample points where taken from the actual function. Regular trapezoidal areas where then computed. For a set of n samples, if i is the index variable that ranges from 0 to n-1, then each trapezoid is made up of the four vertices defined as (xi, 0), (xi, yi), (xi+1, yi+1), and (xi+1, 0) for i from 0 to n-2. For each trapezoid, its area is computed and then added to a running total. The trapezoidal area function is similar to the stress and strain functions used to compute mechanical attributes of a small path in an FEA problem. The running total of trapezoidal areas is analogous to the functions to model the interactions between the small sub-patches in an FEA problem. Also, just as it is important to carefully select the number of samples and the sample positions to compute a good approximate integral, it is important to select a good mesh that divides up a solid effectively for an FEA problem. Also, the fact that it is much harder to reduce the error from 2% down to 1% than it is to reduce 10% error down to 5% error hold true for FEA problems as well. A much finer and optimized mesh will be needed to reduce an FEA problem error from 2% down to 1% than to reduce the error from 10% down to 5%. The increasing difficulty of reducing error also shows another aspect of FEA. It is possible to design a mesh that will yield under 1% error or even under 0.1% error. The problem is that such a mesh may be very fine and as such the number of sub-patches will start to increase exponentially. As the number of sub-patches increases, the required computation time also increases. Therefore a balance must be found between available computation time and desired acceptable accuracy and error. IV. EXAMPLE OF FEA IN ONE DIMENSION FEA works in one, two, and three dimensions. The basic theory of FEA is the same in all cases, the relational functions are just slightly different. Because of these similarities, it is easiest to show a problem in one dimension and then build up to multiple dimensions. Furthermore, since FEA was originally designed for use in the mechanical engineering field for stress/strain problems, the example utilized here will be a stress/strain problem. The example given is taken from the third chapter of the book Introduction to Finite Elements in Engineering by Tirupathi R. Chandrupatla and Ashok D. Belegundu. Much of the more advanced math will be dropped from the example. This is because while it is informative to understand the general math behind FEA, it is bulky and difficult to work with by hand. For this reason, computer modeling software is used to actually compute FEA solutions. The mathematics presented here are informational only and not specifically designed to be used in hand calculations. 6 A. Expanding to FEA The first thing that has to be done is to define a problem in one dimension that can be solved using FEA. For this example a bar made of some material that is loaded such that all forces act only in the x direction will be considered. Such a problem is shown in figure 10 which shows the bar, how it is anchored, and some loading forces. There are three types of forces shown in this problem: body force f, traction force T, and point loading (forces at P 1 and P2). Body forces are any forces that are distributed across the entire object such as weight. Traction forces are forces that 1 1 2 2 3 3 4 4 5 x P1 f Fig 11. A bar object in one dimension showing a FEA mesh, the element numbers and the nodes that make up the mesh. From Introduction to Finite Elements in Engineering, Chapter 3, pg 45. T P2 x Fig 10. A bar object in one dimension showing body, traction, and point loading forces. From Introduction to Finite Elements in Engineering, Chapter 3, pg 45. are distributed across the surface of the object. Point loading forces are any force acting on specific points of the object that are neither body forces nor traction forces. B. Modeling Just like in the approximated integral analogy, the first step in the FEA process is to divide the object into some sort of mesh. For the bar shown in figure 10, a simple 4 element stepped shaft approximation will be used. Every element is connected by two nodes so there will be 5 nodes for the mesh. There are a number of simplifications that are made. The first is that body and traction forces are treated as constant with in a single element though they may differ in magnitude from element to element. It is also convenient to place mesh nodes at points where point loading forces are located. The mesh for the bar in figure 10 is shown in figure 11. The number blacked dots are the mesh nodes and the dashed boxes are the mesh elements. The elements are numbered by the circled numbers to the left of the object. With the object mesh defined, it is possible to determine the required discrete data at each of the nodes. For a one dimensional problem, each node may only displace along the x axis or one degree of freedom or DOF. This displacement is denoted by Q. Since there are five nodes in the object mesh, the object has a total of 5 DOF. Q is the total or global displacement vector and is denoted by [Q1, Q2, Q3, Q4, Q5]T. Also, at each node there is some force vector acting along the x axis (1 DOF). The force is denoted by F and the global load vector is denoted as [F1, F2, F3, F4, F5]T. In these vectors, Qx is the displacement at node x and Fx is the load force at x. C. Shape Functions In order to interpolate across a finite element, some sort of interpolation scheme must be used. The first step in this scheme is the definition of a natural or intrinsic coordinate system. This will allow any interpolation function defined from -1 to 1 to be used over any finite element, no matter the size or length of the element. If x1 is node 1 and x2 is node two, then the natural coordinate system defines -1 at x1 and 1 at x2. This natural coordinate system transform function is defined by equation 1. ( x) 2 ( x x1 ) 1 x2 x1 (1) With the natural coordinate system transform function defined, it is possible to define an interpolation function or shape function. A shape function acts very similar to the parallelogram area function used in the integral interpolation analogy. There are two linear shape functions that will be used: N1 for the first node of the finite element and N2 for the second node. These functions are defined by equations 2 and 3. 1 ( x) 2 1 ( x) N 2 ( x) 2 N1 ( x) (2) (3) With the shape functions available, it is possible to compute 7 the displacement field across the finite element. This is shown by equation 4 or by equation 5 in matrix form. It is assumed that q1 and q2 are the displacements for nodes 1 and 2 respectively. u N1 ( x)q1 N 2 ( x)q2 u N( x) q (4) (5) While the above equations can be used to compute the displacement field across the finite element, they can be modified to compute the actual position of a point in the finite element as well as shown in equation 6 below. x N1 ( x) x1 N 2 ( x) x2 (6) It is important to note that while the above equations assume a linear shape function, other various shape functions can be used. One such possible alternative is a quadratic shape function. The advantage of a quadratic shape function is that it may more closely approximate the actual solution. However, similar results should be obtainable using a finer mesh and linear shape functions. Also, linear shape functions allow for certain simplifications that other shape functions may not. Recall that the strain-displacement relationship defines the strain as the derivative of the displacement with respect to x as shown in equation 7. Using the chain rule and some substitution, it can be shown that equation 7 is equivalent to equation 8. The same equation is shown in matrix notation in equation 9. du dx 1 ( q1 q2 ) x2 x1 B q (7) (8) that will be utilized for the one dimensional bar problem presented here. The equations presented here are fairly complex and hard to understand. Many of the mathematical steps to show the relationships between the equations will be skipped as they are outside the scope of this paper. The main thing that will be shown here is the relationships between the various variables and what the various parts of the equations represent. The relational equation used for the Galerkin method is shown in equation 12. e e T E ( ) A dx T fA dx e e e In equation X, the () function is an approximated function for the strain of a finite element. The term is the actual strain of the finite element. The term is really a function (x) that is called the virtual displacement function. It is an approximation of the actual displacement of a specific node in the object under analysis. Equations 13 and 14 show other forms of the functions (x) and (). ( x) N ψ ( ) B ψ (13) (14) The term represents the nodal displacements of the finite element e. It can also be written as [1 2]T. Furthermore, represents the global virtual displacements at the nodes and is represented as [1 2 … N]T for N nodes The next four steps convert the four separate parts of the Galerkin equation into a usable form. The required math to show that the conversions are valid is skipped as it is not all that informative. Equations 15, 16, 17, and 18 show the equivalent representations of the four parts of the Galerkin relational equation. (9) E ( ) A dx ψ k q fA dx ψ f T dx ψ T T T (15) T e (16) e (10) T T e (17) e i Pi i Pi Note that the B matrix is constant. This means that the strain on the finite element is also constant. Furthermore, from Hooke’s law, the stress can be computed as shown in equation 11. This relationship is also constant for the finite element. EB q e e The B matrix can be written as shown in equation 10. 1 [1 1] x2 x1 (12) T T dx i Pi 0 T B e e Equation 19 shows the final transformed equation and its simplification in Equation 20. ψ k q ψ f ψ T P 0 (19) ΨT (KQ F) 0 (20) T (11) D. Galerkin Approach While there are many ways to compute the values for the finite elements in an FEA problem, the Galerkin Approach has become one of the most common methods. It is this approach (18) e T e T e i i e e e e There are three matrices of interest in the above equation: ke, fe, and Te. Each of these matrices are defined on a per 8 finite element basis for element e. These matrices represent the element stiffness, element body force vector, and element traction force vector respectively. Equations 21, 22 and 23 show the definitions of these matrices (refer to subsection A for the definition of body and traction forces). Ee Ae 1 1 1 e 1 A f 1 fe e e 2 1 ke T T e 2 e (21) (22) 1 1 (23) In all cases, the superscript or subscript e indicates the value denoted by the variable name for the finite element indicated by e. E. Assembling the Matrices From equation 20, it is evident that four matrices are needed to solve for the solution to the FEA problem being presented here. Two of the four matrices have already been defined: and Q; the other two matrices K and F need to be defined. These are called the stiffness and force loading matrices respectively. The specifics of how the stiffness and force matrices are assembled and the reasoning will not be discussed here, merely some notes and the assembled matrices for this example problem. Equation 24 shows the stiffness matrix assemblage. Equation 25 shows the final stiffness matrix. Note that the final K matrix assumes that E1 = E2 = E3 = E4 = E. K ke e 1 1 1 1 E1 A1 0 0 1 0 0 0 0 0 0 E3 A3 0 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 E2 A2 0 0 0 0 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 E4 A4 0 1 1 0 4 1 1 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 1 1 (24) A1 1 A1 1 K E 0 0 0 0 1 A1 A2 A2 0 0 1 2 2 A2 A3 A A 2 3 0 2 3 3 2 A3 A4 A3 A4 0 3 4 4 3 A4 A4 0 0 4 4 A1 0 0 (25) The assemblage of the global force matrix is shown in equation 26 and the final matrix is shown in equation 27. F (f e Te ) P (26) e A1 1 f 2 A2 2 f F 2 A3 3 f 2 A1 1 f T 11 2 2 1T1 A2 2 f 2T2 0 2 2 2 P2 3T3 2T2 A3 3 f 0 2 2 2 P T A f T 4 3 3 4 4 4 4 0 2 2 2 T A4 4 f 4 4 2 2 (27) F. Solving the Equations of FEA At this point, enough information exists to solve the presented FEA problem. Referring back to equation X in section D and using the stiffness and global loading matrices in section E, it is possible to recover Q matrix which defines the displacement of each of the nodes in the object mesh. Once the Q matrix has been determined, it is possible to recover the stress and strain at each node in the mesh using equations X and X respectively. The actual solving of the resulting matrix equation is beyond the scope of this paper. There are multiple ways to solve matrix equations including but not limited to the Eliminative Approach and the Penalty Approach. Due to the shear amount of work required for any sized matrix equation, it is better left to computer software to solve these equations. V. FEA IN THE INDUSTRY A. Software for FEA FEA is a very powerful tool that allows engineers to predict with great accuracy how an object will react under specified forces or how heat will transfer from one object to another, or how electromagnetic fields will interact with different surfaces. The problem is that for FEA to be accurate meshes that 9 contain hundreds to hundreds of thousands of finite elements must analyzed. Such an analysis is not feasible by hand. This is where FEA software comes in. FEA software allows very large fine meshes to be utilized in the analysis of mechanical, thermal, and electro-magnetic problems. While the mathematics can be very large and intricate, solving matrix equations follows a very specific set of rules, the difficulty is in performing the calculations required quickly, efficiently, and still keep track of all the computed numbers. Computers are incredibly adept at doing just this type of work. The logical step by step nature required to solve matrix equations lends itself to being programmed into a piece of software. Coupled with the quickness at which a computer can compute operations such as addition, subtraction, multiplication, and division, computers enable FEA to become a very effective engineering tool. B. Uses of FEA for Electrical Engineers While FEA has its roots in mechanical engineering, it finds many uses in other fields of engineering as well. FEA has been used successfully in physics, material science, thermal dynamics and electrical engineering. In Electrical engineering, FEA has proven very useful in the field of electromagnetics as well as product development and simulation. In electromagnetics, FEA finds uses for electronic device design (semi-conductors), electroplating study, fuse design, and insulator design. FEA has also been used in the design of inkjet printer head design which utilizes piezoelectric and thermal devices. The design of power transmission lines has also used FEA. As new electronics based technologies develop, FEA continues to find more uses. An example is the emerging MEMS technology. MEMS is an acronym for Micro Electro Mechanical Systems. These devices represent such devices as micro motors and inertial sensors such as accelerometers and gyroscopes that can be developed directly inside a semiconductor device. Other well established technologies that use FEA include radio transmissions and electromagnetic field studies. C. ALGOR ALGOR is a very popular piece of software that can be used to analyze mechanical and electrostatic systems. In particular, FEMPRO, one of the pieces of software part of the ALGOR system is used to perform FEA on various types of problems. It can be used to determine stresses and strains on a mechanical device or the resulting forces of electromagnetic fields. ALGOR and FEMPRO are very powerful pieces of software that have been used extensively in the industry of engineering. In this section a tutorial will be presented that utilizes ALGOR and FEMPRO to analyze an electrostatic problem. The problem consists of a comb engine and determining the displacement of the combs in the engine with given electromagnetic fields and potentials. First the electromagnetic fields due to the physical devices will be computed. Once the fields are computed, they will be fed back into the model to determine the stresses, strains, and the displacement of the actual combs. This tutorial is available from the ALGOR website at http://www.algor.com/service_support/tutorials/7600_515/. D. ALGOR Tutorial The step of this tutorial is to download the model that will be utilized. This tutorial will go over how to analyze an object in FEMPRO. For more information on how to prepare the model, go to the ALGOR tutorials at http://www.algor.com/ service_support/tutorials/. The file that will need to be downloaded is http://www.algor.com/service_support/tutorials/ 7600_515/mems.exe. Download this file to an empty directory. The file is a self-extracting zip file so once it is downloaded, run it and extract the file to the directory where the project will be located. Only one file should be extracted. 1) Setting up the Model Once the tutorial file has been downloaded and extracted, the model that is to be analyzed must be setup. The first step of this process is to open the model archive. To do this, first start up FEMPRO. Cancel out of the presented default open dialog and instead go to File: Archive: Retrieve…. Select the Radial_Comb.arch file that should have been extracted. Click the open button. When asked, select the directory to restore the Radial_Comb model and project to. This process will result in several files being created from the Radial_Comb.arch file in the selected restoration directory. Once the restoration process is done, the meshed model for this tutorial should be presented. In the left pane are listed the various parts of the model. Note that there are four parts, one for each of the three comb objects and then one for the air between two of the comb parts. Figure 12 shows a screen shot with the model. Fig 12. The MEMs technology 3 comb rotor problem with meshes defined for the 3 combs and the air between the rotor comb and another comb. 2) Specifying Material Data The first type of analysis that will be performed is an electrostatic field strength and voltage analysis. To select this 10 type of analysis, in the bottom left corner of the FEMPRO window is a dropdown menu called “Analysis Type”. From this menu select “Electrostatic:Electrostatic Field Strength and Voltage”. With the analysis type set, it is time to set the material and mesh properties. In the left pane of the FEMPRO window, click on Part 1: Element Type <Unknown> then while holding down the Ctrl button, click in succession on Part 2: Element Type <Unknown>, Part 3: Element Type <Unknown>, and Part 4: Element Type <Unknown>. Once these four items have been selected, right click on anyone of them and select from the menu Brick. This will set up the finite element type that the mesh for the object should be and how to compute the node connections. This step specifies how different nodes are related to each other and how each node affects the nodes around it. With the mesh properties specified, it is time to specify the material properties of the model. There are two different types of material. The three combs of the model are one type of material and the air between the combs is another. First, click on Part 1: Material <Unknown>. Then while holding down the Ctrl key, in succession click on Part 2: Material <Unknown> and Part 3: Material <Unknown>. Once the items are selected, right click on any of the three and select from the menu Modify Material…. A dialog will pop up. In the dialog, click the button labeled Edit Properties. In the Dielectric Constant field enter the value 10000. Click Ok twice to except the changes. Next, click Part 4: Material <Unknown>. Right click and select Modify Material…. Click the Edit Properties button and enter 1.0 in the Dielectric Constant field. Click Ok twice to except the changes made. 3) Specifying Node Data Now that the material properties have been set, how the material react to various forces and voltages can be compute, but the forces and voltages still need to be added. That is what will be done next. From the menus select in succession Selection: Shape: Polyline, Selection: Select: Vertices, and View: Orientation: XZ Front. The polyline will allow one to draw a selection area out of connected straight lines. The select vertices option means that only the nodes in the selection area designated by the polyline will be selected. The view change sets the window to view the object from the front. Once the above tool selections have been made, draw a polyline area as shown in figure 13. Once the proper nodes are selected, right click in the model view window and from the popup menu select Add: Nodal Applied Voltages…. An options dialog should next appear. In the dialog enter the value 0 in the Magnitude field and 1E8 in the Stiffness field. Once the values have been entered, click the Ok button. This last step sets the voltage applied to the base of one of the side combs and the rotor comb to 0 volts. It is now time to apply a voltage to the third comb. To do this, again in succession select Selection: Shape: Polyling and Selection: Select: Vertices. Now draw a polyline area over the nodes as shown in figure 14. Fig 14. The selection area to generate with the polyline tool to select the nodes that will be set to 10 volts. Fig 13. The selection area to draw with the polyline tool to select the nodes that will be se t to 0 volts. Once the proper nodes have been selected, right click in the view area and select from the menu Add: Nodal Applied Voltages…. In the options dialog that appears, enter the value 10 in the Magnitude field and 1E8 in the Stiffness field. Click on the Ok button to accept the changes. 4) Setting up the Analysis With the material and model properties set, it is almost time to perform the actual analysis. First, however, the analysis parameters must be set. To do this, in the right view, select Analysis Parameters and then right click on it. From the menu select the Modify Analysis Parameters… option. From the options dialog that appears, enter the value 8.85e-12 in the Permittivity of free space field. Select the Options tab and then make sure that the Invoke Force Generator check box is checked. In the first row of the Surface column in the Force Output table, enter the value 2 to indicate part 2. 11 Figure 15 shows what the options dialog should look like. Fig 15. The options dialog window to setup the electrostatic surface materials properties and to invoke the force generator. 5) Analyzing the Model It is now time to analyze the model. From the Analyze pull down menu at the top of the window, select the Perform Analysis… option. The analysis of the model should automatically start. If details about the process are desired, click on the Details>> button. Once the analysis is complete, a warning will popup saying that any currently active Superview IV Results environments will be closed. Just click Ok to dismiss the dialog. A Superview IV window with the results should display as shown in figure 16. Fig 16. The generated results of the FEA electrostatic analysis on the MEMs technology 3 comb motor. This last analysis computes the strength the electromagnetic field that is conduct by the air between the rotor comb and one of the side combs. While this is informative, it does not give a lot of information on how the model is affected by the generated field. To analysis the effect of the field, the results of analysis will be fed back into the model as forces that can be used to compute the stresses and strains on the model. From the Tools menu select Transfer to Superdraw. ALGOR will ask if the database should be saved, just click Ok. A Superdraw window should open with the model data transferred from Superview. From the View menu, select Enclose. This will zoom out to show the entire model. It is now time to merge the data from the electrostatic forces that were computed earlier. To do this select File: Merg… and select the file named Eforces.esd. Click the Open button. Once the data has been merged, select File: Save. The new model is now ready to be analyzed but first it must be exported to FEMPRO. To do this select File: Export to FEMPRO. For the next analysis type, instead of a Electrostatic analysis a Static Stress analysis needs to be performed. From the bottom left menu select Static Stress with Linear Material Models. Since the air between the rotor comb and the side comb does not need to be analyzed in this type of analysis, it can be deactivated. To do this, from the left pane select Part 4. With the item selected, right click and select the Deactivate option. Similar to the first analysis performed, the element type needs to be specified for the three combs. To do this, select the Part 1: Element Type <Unknown>, then with the Ctrl key down, click in succession on Part 2: Element Type <Unknown> and Part 3: Element Type <Unknown>. With the items selected, right click on anyone of them and select from the menu Brick. Next select the Material <[Customer Defined]> items under the Part 1, Part 2, and Part 3 items in the left pane. Once the items have been selected, right click on one of them and select from the menu Modify Material…. Click the Edit Properties button and in the Modulus of Elasticity field enter the value 24.5e6. In the Poisson’s Ratio field enter a value of 0.22. Click Ok twice to except the changes made. The next step is to select the nodes that should be anchored in place. To do this first select in succession Selection: Shape: Polyling, Selectin: Select: Vertices, and View: Orientation: XZ Front. Next, draw a polyline selection as shown in figure 17. With the selection in place, right click in the model window and from the menu select Add: Nodal Boundary Conditions. In the option dialog that is displayed; press the button labeled Fixed and then click on the Ok button. This will force the selected nodes to be fixed in position and displacement. Later, during the simulation, this will cause several warnings to be generated. They can be safely ignored. 6) Final Analysis It is now time to run the final analysis on the model. From the Analysis menu select Perform Analysis…. A few warnings may be generated; just click Ok and ignore them. Once the analysis is done, the results will be brought up in Superview IV. To see how the combs are effected by the electromagnetic field, the displacements of the nodes need to be viewed. To 12 Fig 17. The selection area to draw with the polyline tool to select the nodes that are to be forced to remain stationary for the stress/strain analysis. accomplish this, from the Results menu select Displacement: Magnitude. Next, from the Results Options menu, select Displacement Model Options. In the options dialog that is displayed, make sure that the Show Displaced Model and Show Undisplaced Model as Mesh check boxes are checked. The results should look like something in figure X. In the option dialog there is a scale factor option. This factor multiplies the actual computed displacement. Leaving it at 1 will show the actual computed displacement. Figure 18 shows the results with a scale factor of 8. Fig 18. The results of the stress/strain analysis. Shows both the model with the added displacements and the model as a mesh without the displacements. REFERENCES [1] [2] [3] T. R. Chandrupatla, A. D. Belegundu, Introduction to Finite Elementens in Engineering, 3rd ed, New Jersey: Prentice Hall, 2002, Chapter 3. Tutorials for Algor,, Three Comb MEMs Motor, ALGOR, http://www.algor.com/service_support/tutorials/7600_515/ D. Pintur, Finite Element Beginnings: Piecewise Linear Interpolation: The Effect of a Finer Mesh, Copyright © MathSoft 1997 Corrin J. Meyer (M’03) was born in Birmingham, Alabama on April 11, 1982. Corrin attended high school at both Holland Christian High in Holland, Michigan and Houghton High in Houghton, Michigan. While attending Houghton High, Corrin was dual-enrolled at Michigan Technological University where he started a major in Computer Science. He is currently enrolled at Calvin College where he is working on a BSE with an electrical and computer concentration as well as a minor in mathematics. He will graduate in 2004. During the summer of 2003 he worked for Johnson Controls Inc. where he did circuit analysis and design, PCB layout, and firmware design. He is currently working on a senior design project with the purpose of recording 3 dimensional motion from inertial motion sensors to a USB pen drive. Applications of this project include motion capture for movie and computer industries, virtual reality, and various medical applications. After graduation he is taking a full time position at Smiths Aerospace in Grand Rapids, Michigan.