Finite Element Analysis for the Masses: An

advertisement
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.
Download