Introduction To Finite Elements (Matrix Methods)
Introduction To Finite Elements (Matrix Methods)
Introduction To Finite Elements (Matrix Methods)
(Matrix Methods)
for
Spring 2005
Notes: These notes are borrowed extensively from a Finite Elements primer written by
Professors Belytschko and Brinson (January 1995) and revised for Engineering Analysis
2 by Professors Moran and Krishnaswamy (February 1997) at Northwestern University.
TABLE OF CONTENTS
-ii-
INTRODUCTION TO STATIC, LINEAR STRESS ANALYSIS
BY FINITE ELEMENTS
Introduction.
One of the most commonly used methods of stress analysis is the finite element
method—a matrix based method of solving problems which was developed for
structural analysis of aircraft and later recognized as a versatile tool for which a rigorous
mathematical foundation could be laid. It is currently one of the most-widely used
analysis tools in all aspects of engineering and sicence. Almost any manufactured part or
system, including components such as gears, cams, and suspensions, to complete
systems, such as automobiles and aircraft, are analyzed by finite elements to ensure that
they have the durability and reliability required and that they meet performance
requirements. Finite element methods are also used in biomedical application such as
the design of prostheses, modeling the nonlinear dyanamics of the human heart or
analysing gait, for example. Finite element programs are also used for many other types
of analysis and design: fluid dynamics, heat transfer, electromagnetic fields are some
examples.
A major reason for the popularity of the finite element method is that a single
program can perform the analysis of almost any component or structure: the geometry
of the object and its loads are defined by mesh data and the program then sets up the
governing equations in a straightforward manner. Examples of finite element meshes
for some industrial problems are shown in Figures 1 to 4. Finite element analyses today
are usually performed by general purpose programs which can do a large variety of
analyses: stress analysis, vibration analyses, optimum design are a sample of some of
the functions of general purpose programs. Furthermore, many of these programs can
perform both linear and nonlinear analysis.
The type of stress analysis which will be taught in this course is linear, static stress
analysis. A large part of stress analysis in industry is linear, static analysis. Most stress
analysis taught at the undergraduate level is linear and static. Nonlinear analysis is
usually used only for evaluating the performance under extreme environments.
Fundamental assumptions.
The assumptions which are made in linear static stress analysis are:
1. The displacements of the structure are small compared to its dimensions.
2. The material is linear and elastic.
3. The response of the structure is static (or steady-state).
1
2
3
The first assumption implies the geometry of the structure does not change
appreciably due to the application of the loads. Almost all stress analyses considered in
undergraduate strength of materials courses are small displacement problems.
4
and 3 and Bedford and Fowler Statics Chapters 2 and 3 for a more detailed discussion of
Newton’s Laws.
d
∑F= dt
(mv)
(1.1)
d
∑ M = dt (Iω )
Thus, for a body which is at rest (or moving at a constant velocity) the sum of the
forces and the sum of the moments of the forces acting on it must vanish. In this case
the equilibrium equations are written as:
Equilibrium
∑F= 0 (1.2)
∑ M= 0
Stress Strain Law
The stress-strain law depends on the material. For axial stretching of a rod, we saw that:
σ = Eε (1.3a)
where σ is the stress, E is Young’s modulus and ε is the strain. This is called Hooke’s
2
law. Note that Young’s modulus has dimensions of stress (N/m ).
For a spring, the force-elongation relation is analogous to the stress strain law for a
material, i.e,
f = kδ (1.3b)
where f is the force in the spring,k is the spring constant (which depends on the spring
geometry and coil arrangement and δ is the elongation of the spring. Note that the
spring constant has dimensions of force per unit length (N/m).
Compatibility
Compatibility requires that the displacements be continuous everywhere in the body. In
later courses, you will see how to represent displacements as a function of position and
will then be in a position to describe compatibility in a more general sense involving
restrictions on strain and on the continuity of displacements. For now, it suffices for us
to think of compatibility as the restriction that the displacements be continuous. In
particular, if two bodies (or parts of a single body) are connected at a point, each part of
5
the body experiences the same displacement at that point. We will also require that the
bodies or parts of the body not break apart. These conditions imply that there are no
gaps or overlaps in the body.
fe=Kede (1.4)
The subscripts “e” indicate that the matrices pertain to an element. When it is clear
that the matrices are related to elements, the subscripts “e” are often dropped. Note that
nodal displacements are denoted by de
The element stiffness matrix is derived by requiring equilibrium, the spring law
(which is the counterpart of a stress-strain law), and compatibility to be satisfied on an
element level.
The element nomenclature is defined below
fI(ext) fJ(ext)
I e J x
dI f I e fJe d e+1
J
f I d I
fe = de =
f J d J
The spring law states that the tension t in the spring is given by
t = kδ (1.5)
6
fJ
t
e J
From a free-body diagram, we can see that equilibrium of the part of element e
shown gives (the superscript denoting the element number is dropped for convenience)
fJ = t (1.6)
fI = -fJ (1.7)
δ = dJ - dI (1.8)
fJ = t = kδ = k(dJ-dI) (1.9)
fI dI
= k +1 -1
fJ -1 +1 dJ
Ke (1.11)
The above equation gives the element stiffness matrix Ke for the 1D spring. Note that
Ke= KeT , i.e. Ke is symmetric.
7
Remark 1. The nodal forces and nodal displacements are always defined in finite
element methods so that they are positive in the positive coordinate direction. This is
crucial for easy assemby of the global equations, as will be seen later.
Remark 2. The work done by the forces is proportional to force times displacement. This work is equal to
T
the energy stored in the stretched body. The nodal forces and displacements are arranged so that d f is
proportional to the work done; otherwise Ke is not symmetric.
The assembly operation will now be described for a 3 element mesh for the problem
shown in Table 1A. In general purpose programs, the code is written so that the
procedure is independent of the node numbering. When elaborate meshes are
generated for complicated industrial components (Figures 1-4) the resulting node
numbering is usually haphazard and a code which can account for this is required. For
the one-dimensional spring and rod codes used here, the node numbering is taken to be
sequential, as shown in Table 1A. This makes for a simpler code, and also for an easier
illustration of the method. The element numbers are enclosed by circles. The element
stiffness matrices are shown below the mesh. Symbols are used for the elements of the
stiffness matrix so that you can see exactly where each term of the element stiffness
matrix goes in the assembly procedure. The element numbers are indicated by
superscripts in parenthesis or circled superscripts and the node numbers I and J of each
8
element are indicated. The element applies forces only through those nodes which are
connected to the element.
The assembly is first described using a technique called the augmented matrix
procedure, which clarifies how the requirements of a solution are imposed. The first
operation in the assembly by the augmented matrix procedure is indicated in Table 1B.
Here, each element stiffness matrix is first augmented by adding zeros to any rows or
columns which are not connected to that element. This accounts for the fact that the
element only applies forces to those nodes which are connected to the element and
these forces only depend on the displacements of the element nodes.
For element 2, rows 1 and 4 and columns 1 and 4 become zeros because element 2
is not connected to those nodes. k11 becomes the (2,2) entry of the augmented matrix of
element 2 since it relates the effect of the displacement of node 2 on the force on node 2,
k12 becomes the (2,3) entry since it relates the force at node 2 to the displacement of
node 3, etc.
9
T ABL E 1A
1 2 3 4
1 2 3
element 1
f (1)
int k (1) (1) d (1)
I k12 I=1
= 11
I
f (1) (1)
k21 (1)
k22 d (1) J =2
J J
K(1)
element 2
f (2)
int k (2) (2) d(2)
I k12 I =2
= 11
I
f (2) (2)
k21 (2)
k22 d(2) J=3
J J
K(2)
element 3
f (3)
int k (3) (3) d (3)
I k12 I =3
= 11
I
f (3) (3)
k21 (3)
k22 d (3) J=4
J J
K(3)
10
TABLE 1-B
AUGMENTED MATRICES
f
(1)int k(1) (1) 0 0 d
(1)
1 k12 1
11
f 2 k(1) (1)
k22 0 0 d2
=
21
f 3 0 0 0 0 d3
f 4
0 0 0 0 d4
f
(2)int d
(2)
1
0 0 0 0 1
f 2 0
(2) k (2) 0
k11 d2
=
12
(2) k (2) 0
f 3
0 k21 22 d3
f 4
0
0 0 0 d4
f
(3)int 0 d
(3)
1
0 0 0 1
f 2 0 0 0 0 d2
= (3) (3)
f 3
0 0 k11 k12 d3
0 (3) (3)
f 4
0 k21 k22 d4
11
TABLE 1C
EQUILIBRIUM
∑F=0
f (ext) − f (int) = 0
which can be written as
ext int
f 1 f 1
f f
f 2 = f 2
3 3
f
4 f4
f1
ext
k( 1) (1)
k12 0 0 0 0 0 0 0 0 0 0 d1
f 11
k( 1)
(2) ( 2) d
0 0 + 0 + 0 (3)
(1) k k 0 0 0 0
11 12
f2 = 21 k 22
(2) ( 2) ( 3) d 2
0 0 0 0 k21 k 22 0
0 0 k
11
k
12
f 3 0
( 3) (3) d 3
4 0 0 0 0 0 0 0 0 0 0 k
21
k
22 4
12
Table 1C then represents the imposition of equilibrium requirements: the external
forces at the nodes fext equals the internal forces fint the sum of the contributions of all
elements to the internal forces.
The element internal forces are then expressed in terms of the element nodal
displacements via the augmented element stiffness matrices. Compatibility is enforced
by requiring the nodal displacements for all elements to be the same, as shown in the
bottom line of Table 1C. The stress-strain law has already been incorporated in the
element stiffness matrices. We then sum the augmented element stiffnesses to obtain the
total stiffness matrix given in Table 1D. Note that this matrix is symmetric. The total
stiffness matrix is sometime called the global stiffness (or global system) matrix.
TABLE 1D
ASSEMBLED MATRIX (sum the matrices in parenthesis in 1C)
k (1)
ext
(1)
k12 0 0 d
1
f
1
11
(1) (1) + k (2) (2)
k21 k22 k12 0 d2 f 2
(2)
11
(2) + k(3) (3)
=
d3 f
0 k21 k22 11 k12 3
0 (3) (3) f
0 k21 k22 d4 4
The total stiffness given in Table 1D does not take into account the support
conditions. In examining the model, it can be seen that f1ext and f4ext are not known prior
to solving the system of equations since they are reaction forces. In this example the
structure is statically indeterminate, so f1ext and f4ext are unknown before the solution is
obtained. Even, in a statically determinate structure, the reaction forces would be
considered unknowns in this computerized appraoch (sometimes called the stiffness
method) since a general computer algorithm does not make any distinction between
statically determinate and statically indeterminate problems. Note that we’re not just
using the equations of statics (equilibrium) here; rather, we use equilibrium, stress-
strain law and compatibility—thus we can solve statically determinate and
indeterminate problems without any special coding techniqes for one or the other.
13
Since the reactions (external forces supplied by the supports) f1ext and f4ext are not
known, the first and fourth equations in Table 1D cannot be used in the form shown—in
a solvable set of linear equations, the right hand sides must be known. To circumvent
this difficulty, equations 1 and 4 are removed from the system. This leaves 2 equations
in 4 unknowns, which is unsolvable. However, the displacement corresponding to each
unknown reaction force is known, and in fact is zero (In more general treatments we
can also account for non-zero prescribed displacements). Therefore, the first and fourth
columns of the stiffness matrix, which multiply these zero displacements, can also be
eliminated as shown in Table 1E.
TABLE 1E
Enforce Constraints (support conditions): d1=0, d4=0; this is achieved by
deleting rows 1 and 4 and columns 1 and 4 of the above.
k (1) + k (2)
ext
(2)
k12 d f
2 2
22 11 =
(2)
k21 k22 + k11
(2) (3) d
3
f
3
After elimination of the rows and columns corresponding to the support nodes,
the 2x2 system of equations shown in Table 1E remains. This matrix is also symmetric.
The right hand sides of this system of linear algebraic equations are the known external
forces. Solving the equations provides the displacements d2 and d3, from which the
springs elongations and internal forces in the elements may be found.
An alternative way of imposing the constraints is shown in Fig. 1F. This procedure
is more suited to a computer program because it eliminates the extensive bookkeeping
that is necessary whenever rows and columns are eliminated. Here, the rows and
columns are associated with a constraint are zeroed, a nonzero number (usually a 1) is
placed on the diagonal, and the right hand side of the equation is replaced by zero. In
effect, the procedure inserts the trivial equation that the displacement is zero at any
node where this constraint applies.
14
TABLE 1F
ALTERNATIVE FINAL EQUATIONS
ext
1 0 0 0 d1 0
0 k22
(1)
+ k11
(2)
k12
(2)
0 d f
0 = 2
2
k22 + k11 0
(2) (2) (3)
k21 d f
0 3 3
0 0 1 d 4 0
The augmented matrix technique was used here for the purpose of showing how
the assembled equations are generated. It is important to remember that the stiffness
equations are equilibrium equations and that they arise from summing the nodal forces
of the elements. Compatibility is invoked when the nodal displacements of all elements
are considered equal at the shared nodes.
Once these ideas are grasped, it is no longer necessary to assemble the equations by summing
augmented matrices. If the contribution of all element stiffnesses are simply added into the total stiffness
matrix according to their node numbers, or connectivity, we will obtain the total stiffness matrix. This is
called direct assembly and can be easily visualized for sequential node numbering from Table 1D. An
example of direct assembly for non-sequential node numbering is given in Table 2.
Remark: Note that, as mentioned previously, the assembly procedure requires that all
nodal forces be consistently defined to be positive in the same direction.
15
16
Stiffness matrix of a rod element.
A rod element is a one dimensional element similar to a spring.
f I , dI f J , dJ f I d I
f e = de =
f J d J
Cross-sectional area A, Young’s modulus E
The element stiffness will now be derived by using equilibrium, the stress-strain law,
and compatibility (strain-displacement equation).
Aσ x fJ
fJ = A σ (1.12)
where it has been assumed that the stress is constant over the cross-section. Hooke’s law
gives
σ=Eε (1.13)
δ
ε= (1.14)
L
δ = dJ − dI (1.15)
fJ = A σ = A E ε
17
= AE ( d −d )/L (1.16)
J I
By equilibrium
fI = -f J = A E (-d J + d I ) / L (1.17)
where the second equality follows from (1.16). Writing the above in matrix form gives
The stiffness matrix of the rod is identical to that of the spring except that the spring
constant is replaced by AE/L.
18
TABLE 3 - NUMERICAL EXAMPLE
A1 = 1 in2 A 2 =2 in 2 E1 = E2 = 10 7 p si
1 2 3
x x
1 2
1000 lb s
10 in 5 in
ELEMENT STIFFNESSES
6
1 −1 6
4 −4
= 10 = 10
(1) (2)
−1 1 4
K K
−4
ASSEMBLED STIFFNESS
1 −1 0
K = 10 6 −1 1+ 4 −4
0 −4 4
f1 −1 0 d1
6
1
f2 = 10 −1 1 + 4 −4 d2
f3 0 −4 4 d3
Imposing the constraints that d1 = 0 and d3 = 0, yields one equation in one unknown, d2
19
Stiffness Method for 2D Trusses.
To develop a stiffness method for 2D trusses, we proceed as in 1D. We first develop an
element stiffness which can be used for any element. For any particular mesh, a total
stiffness matrix is assembled by direct assembly. The displacement constraints are then
applied, which gives the governing linear algebraic equations which are solved for the
displacements. Before developing the element stiffness, we need a few extra tools:
transformations for the components of a vector and the rules for transformation of
stiffness matrices.
vx i + vy j = vx i + vy j
To obtain vx in terms of vx , vj, take the scalar product of the above with i. This yields
vx = vx i⋅ i + vy j⋅ i
vy = vx i ⋅ j + v y j ⋅ j
For mnemonic and unifying purposes, the above two equations are written in the
following matrix form
vx Rxx Ryx vx
=
vy Rxy Ryy vy (R.1)
20
where
The subscripts of R have the following meanings: Rxx is the scalar product of i and i, Ryx
is the scalar product of j and i etc. To remember this rotation transformation, note that
the index of each term considered in a monomial appears on R, i.e. if an x component is
being computed, then x appears as a subscript in each R term, and the other subscript is
the same as the subscript of the v component which it multiplies:
vx = Rxx vx + Ryx vy
The values of the terms Rij can easily be ascertained from the figures shown below.
Note the order of the subscripts does not matter since the scalar product is commutative
Rxx = Rxx = i³ i. The elements of the R matrix are often called direction cosines.
y y
y
x
j
j θ
j x
θ
i θ
x x
i i
Rx x = i ⋅ i = cos θ R = j ⋅i = −sin θ
yx
R = i ⋅ j = sin θ R = j ⋅ j = cos θ
xy yy
In the above we have used the fact that i, j , i and j are unit vectors and the definition of
the scalar product.
Inserting the values of R in terms of θ, we have
vx
v= = c -s vx
vy s c vy (R.2)
c = cos θ s = sin θ
21
The relationship between the components v and v can be obtained by inverting R,.
The inverse of R is given by
−1 (cof R)T 1 c s c s
R = = 2 2 =
det (R) c + s -s c -s c
so
vx = c s vx
vy -s c vy (R.3)
This relationship can also be developed directly from our rule on the transformation
relationship
xx R R vx
= xx xy vy
vy Ryx Ryy (R.4)
Expressing the values of R in terms of θ and inserting the results in (R.4) yields the same
expression as obtained by inverting R, (R.3).
Element Stiffness for a 2D Rod Structures made from of rod elements are often called
trusses. Examples are of trusses are transmission towers and scaffolding used in
construction and space structures.
The element stiffness matrix for a 2D rod element will now be develop. The bar (or rod)
element in 2D is shown in the figure below. It can be seen that a local coordinate system
has been constructed for the element so that the x coordinate lies along the axis of the
y
f y J ,d y J
yˆ xˆ
f x J , dx J
J
f xI ,d xI
x
I
f yI ,d yI
bar. The element stiffness matrix Ke
22
in the global coordinate system will relate fe to de, where feT= {fxI , fyI , fxJ ,fyJ} and
deT={dxI , dyI , dxJ ,dyJ}. This element stiffness matrix Ke will be a 4x4 matrix. The direct
development of this stiffness matrix in terms of these components would be very
difficult. Therefore, the element stiffness is first developed in the terms of the
components in the local (element) coordinate system to relate
f e = K e de (R.9a)
Because the truss element is a two-force body, the internal forces are directed along the
axis of the element (i.e., the xˆ axis) and it follows that, in the local coordinate system,
fˆ yI = fˆ yJ = 0 . Furthermore, only the axial elongation ( dˆxJ − dˆxI ) gives rise to internal
forces. In the element coordinate system, then, the element stiffness matrix is identical to
that of (1.18) except that we represent the internal forces in a two-dimensional
coordinate system, i.e., with zeroes added to reflect these conditions on the internal
forces, which gives
ˆf xI 1 0 −1 0 dˆxI
ˆf AE 0 0 0 0 dˆ
ˆ = ˆ
yI yI
(R.9b)
f
L −1 0 1 0 dxJ
ˆxJ 0 0 0 0 dˆ
f yJ yJ
dˆ yI = −sd xI + cd yI dˆ xI = cd xI + sd yI
dˆ yJ = −sd xJ + cd yJ dˆ xJ = cd xJ + sd yI
where c = cos θ, s = sin θ. The matrix of nodal displacements in terms of the global
components is written in the form deT={dxI,dyI,dxJ,dyJ}. Writing the above expressions
in the matrix form gives
23
dˆ
ˆ xI
d yI
c s 0
−s c 0
ddxI
0
dyI
0
ˆ = (R.10)
d xJ 0 0 c s xJ
dˆ
0 0 −s d yJ
c
yJ ⇓
T
The third and fourth entries of rows 1 and 2 of the T matrix are zero because the
transformation relations at node I do not involve the nodal displacements at node J:
similarly, the first and second entries of rows 3 and 4 are zero.
The stiffness transformation rule is now developed. Note that the same
relationship as (R.10) applies to the force components, i.e.
fˆe = Tfe
Since T is an orthogonal matrix, from EA1 you know that T −1 = T T and we can write
fe = T −1 fˆe = T T fˆe
fe = T T fˆe = T T K
ˆ dˆ = T T K
e e
ˆ Td
e
Thus the element stiffness in the global coordinate system is given by:
Ke = TTKeT
c 2 cs -c 2 -cs
AE cs s 2 -cs -s2
=
L -c 2 -cs c 2 cs
-cs -s2 cs s 2 (R.11)
The relationship between element nodal forces and nodal displacements can then
be written using the matrix defined in (R.11) in the form
24
f xI c 2 cs -c 2 -cs dxI
f
yI AE cs s 2 -cs -s2 dyI
= (R.12)
f xJ L -c 2 -cs c 2 cs d xJ
f yJ
-cs -s2 cs s 2 d yJ
The element stiffness matrix is symmetric. However, it is symmetric only when the terms in the
nodal force and nodal displacement matrix have been ordered so that their scalar product yields work. It
can easily be seen that if the first and second terms in de are interchanged and if the terms of fe are not
rearranged, then the first and second columns of Ke would be interchanged and the resulting element
stiffness would no longer be symmetric.
25
TABLE 4 - 2 DIMENSIONAL EXAMPLE
A, E constant
2 h AE = 10 6
1
h = 10
3 1 no units
θ 1 = 90 o (could be −90 o ), θ 2 = 45 o
I J θ c s
1 1 2 90o 0 1
2 3 2 45o 2 2 2 2
0 0 0 0 1 1 −1 −1
0 −1
AE 0 1 AE 1 1 −1 −1
= =
(1) (2)
K K
h 0 0 0 0 2 2h −1 −1 1 1
0 −1 0 1 −1 −1 1 1
ASSEMBLED STIFFNESS
26
0 0 0 0 0 0
0 1 0 −1 0 0
AE 0 0 2 4 2 4 − 2 4 − 2 4
K=
h 0 −1 2 4 1+ 2 4 − 2 4 − 2 4
0 0 − 2 4 − 2 4 2 4 2 4
0 0 − 2 4 − 2 4 2 4 2 4
AE 2 4 2 4 d x2 f x2 10
ext
= ext =
h 2 4 1 + 2 4 d y2 f y2 0
SOLUTION
d x2 h 10 + 20 2
=
d y2 AE −10
STRESSES
f xj E
σ= = [−c −s c s ]{d}e
A h
0
E h 0 −10
σ= [0 −1 0 +1] = (compressive)
h AE 20 2 + 10 A
−10
27
0
E 2 2 2 2 h 0 10 2
σ= − − =
h 2 2 AE 20
(tensile)
2 2 2 + 10 A
−10
28
MATLAB for Finite Element Analysis
To illustrate the application of MATLAB to finite element analysis, consider the program
for the analysis of one dimensional rods given at the end of this Section. This program
can treat any one-dimensional rod with any combination of cross-sectional areas,
Young’s moduli and loads once the data are specified. The same methods as described
in class are used, so the program calculates element stiffnesses, assembles the total
stiffness and the solves the equations.
The first set of statements gives the finite element data. The data has been set up so that
the element and nodal data are generated automatically for numele sequential elements
with numnod=numele+1 sequential , equally-spaced nodes between x-coordinates 0
and 1. The coordinates of the nodes are stored in the array x. The colon is used to
generate these nodal coordinates.
The array node stores the connectivity of the node numbers of the elements. The colon is
used to assign the first node number of the element a sequential value from 1 to numele,
the second node number from 2 to numele+1. For the case when numele=3, this
corresponds to the following mesh:
1 2 3
1 2 3 4
You can make your own data, changing the number of elements and material properties
to solve other problems. The solution procedure is independent of the ordering of the
node numbers. With a little thought, you can probably think of several ways in which
ths code could be made more general (good for solving problems but not necessarily for
illustrating the procedure initially!).
29
Sample MATLAB Code for 1D rod problems
bigk(node(1,e),node(1,e))=bigk(node(1,e),node(1,e))+ke(1,1);
bigk(node(1,e),node(2,e))=bigk(node(1,e),node(2,e))+ke(1,2);
bigk(node(2,e),node(1,e))=bigk(node(2,e),node(1,e))+ke(2,1);
bigk(node(2,e),node(2,e))=bigk(node(2,e),node(2,e))+ke(2,2);
end
30
% support conditions (boundary conditions)
for n=1:numnod
if (ifix(n) == 1)
bigk(n,n)=1E+30
force(n)=0
end
end
%
% solve stiffness equations
disp=force/bigk
%
% plot displacements
subplot(211), plot(x,disp)
% compute stresses
for e=1:numele
% compute element length
length=x(node(2,e))-x(node(1,e))
elong=disp(node(2,e))-disp(node(1,e))
stress(2*e-1)=young(e)*elong/length
stress(2*e)=stress(2*e-1)
xx(2*e-1)=x(node(1,e))
xx(2*e)=x(node(2,e))
end
subplot(212), plot(xx,stress)
31
FLOWCHART OF FEM PROGRAM
input data
zero K , (bigk)
DO e=1,numele
assemble Ke into K
solve Kd = f
OUTPUT
32
Graphics Window
The following note on the use of the graphics window in MATLAB may be useful. Before
you can use the graphics window, you have to have something to graph, so in the
command window you might do the following:
Then, to plot:
»plot(x,y)
0.5
-0.5
-1
1 2 3 4 5 6 7 8 9 10
Labels and such can be added by using the pull-down menu "Graph" or as special
strings inside the “plot” command (see “help” for details). If you print the graph
directly by using "Print" from the "File" menu, it will look better than this, because
Matlab will do some interpolation and smoothing.
To open up a new figure window and plot another graph, while still retaining the first
plot, type the following commands:
The new graphics window will show the new plot; however, the original sin(x) plot is
still present in the earlier figure window – it may be hidden immediately behind the
cos(x) window. To move the cos(x) window to see the sin(x) window, click and hold
with the mouse on the topmost bar and drag the cos(x) window to another location. The
sin(x) window should be revealed. Note that if you had typed the “plot(x,z)” command
without typing the “figure” command first, the cos(x) plot would replace the sin(x) plot
in the first figure window.
33
To plot multiple plots in the same figure window, side by side or in a column, use the
“subplot” command:
Note that the new plots have gone into the figure window that had contained the cos(x)
curve orginally, since we had not used the “figure” command before typing the subplot
commands. Your graphics window should show:
0.5
-0.5
-1
0 2 4 6 8 10
0.5
-0.5
-1
0 2 4 6 8 10
Use the “help subplot” command to see the full array of possiblities and guidelines for
multiple axis plotting. There are lots of other things you can do with Matlab’s graphics
routines, including changing line types, axis limits, etc. You also have several types of
"graph paper" available, including semilog and loglog, which can be useful in plotting
frequency responses. An example of using semilog paper would be:
»semilogx(x,y)
Semilog Plot of
1
0.5
xy 0
-0.5
-1
100 101
34
APPENDIX
MECHANICS OF DEFORMABLE BODIES
B C
We can solve for the forces carried by the truss
members in case (a) from conditions for static
equilibrium - all you have to do is consider the
equilibrium of the hook at A. There are two α α
unknown forces in the rods AB and AC which
A
can be solved for in terms of the applied load P
and the angle α. You should do this on your
own right now. P
Static equilibrium considerations are
insufficient to obtain the forces carried by truss Case (a)
(b)! This is because we now have unknown
forces in the three rods AB, AC and AD, but
we still have only two useful equations from
static equilibrium (the moment equilibrium
equation is trivially satisfied.) Problems such Case (b)
as this are called statically indeterminate. It turns
out that the only way we can get the forces in
the members of truss (b) is if we look into the B D C
deformation in the members of the truss due to
the applied loads. That is, we can no longer
afford to neglect the deformation of
structures—as we have been doing thus far by α α
assuming that structures or bodies were rigid.
Of course, in some instances, the deformation A
of an object might be of inherent interest to us;
for example, the deformation of a shock
P
absorber or a bumper in a car, or the
deformation (stretch) of a bungee cord etc. So
we are now going to relax our assumption of rigid bodies, and inquire into the
deformation of real bodies under the action of applied forces.
35
A.1 Springs:
We have actually already encountered one kind of a deformable body in our adventures
so far —a linear spring which
exerts a force that is
proportional to its stretch
from its unstretched state:
F=kδ
F
where k is called the spring
δ constant of the spring.
F
proportional limit
δ
F
This experimental fact was discovered by Robert Hooke in 1678. Not being quite sure
that he was onto something good, but still wanting to establish priority, he stated his
discovery— "Hooke's law"— in the form of an anagram: ceiiinosssttuv. This was not of
much help to others who did not know what he was talking about. When someone
unscrambled the anagram it turned out to be: ut tensio sic vis which loosely translates
to: the extension is proportional to the force. That is, an axial rod behaves like a linear
spring. It turns out that what Hooke found is quite true but we need to fix it a little bit
for it to be of use to us.
36
Problems with Hooke’s law as stated by Hooke:
• True only for a certain class of materials: for instance, it is true for most engineering
materials (steel, aluminum etc), but is not really accurate for rods made out of animal
tissue for instance. Materials for which Hooke’s law holds are called linear elastic
materials.
• True only upto a point: beyond a certain amount of elongation the force is no longer
proportional to the elongation, but may be non-linearly related, and at some point
the rod will break (fracture).
•
F geometry 1 F material 1
geometry 2 material 2
δ δ
•
• Cannot distinguish between material and geometric effects: That is if we did two sets
of experiments where in one set we test several rods of the same material but different
geometry (cross sectional area A and length L), and in the other we test several rods of
the same geometry but made from different materials, we get different proportionality
constants for the force-stretch relation. So we recognize that the force is proportional to
the elongation but the proportionality constant depends both on the material and the
geometry.
In order to separate the effect of geometry and material, we scale out the
geometric effect by defining:
37
Amended version of Hooke’s law: Stress is proportional to strain for a certain class of
materials and for small deformations:
σ=Eε
where E is called the Young’s modulus [N.m-2], and it is a property of the material. It is a
measure of the stiffness of the material and has different values for different materials.
Remark: Both stress and strain have a deeper meaning, and have significant character!
Stress turns out to be a useful measure of the intensity with which the atoms or
molecules of a material resist the applied load. The reason that one part of the rod does
not break away (hopefully) from the
other is because of these resisting forces
that arise from atomic/molecular forces.
Consider two rods A and B made
of the same material but A is fatter than
B. Since, a fatter rod has more
atoms/molecules across which to spread
out the force that is needed to resist the
applied load, A is stressed less, and can
F F F
actually carry a higher applied force.
F However, the maximum stress at which
a fat rod and a thin rod made of the
same material will break—or go non-linear or "plastic" will be the same and depends
only on the material. We will, however, not go into that right now.
where AE/L is called the axial stiffness (and is the equivalent of the spring constant for a
linear spring).
Remark: If the force F were to act into the rod, it is called compressive, and the rod
shrinks in length or compresses. Compression can be thought of as opposite (negative)
of tension. For most materials, the amount of rod compression is proportional to the
applied compressive force, and the proportionality constant is the same as that of
tension. Therefore, the above axial-force vs elongation relation can be used in both
38
compression and tension, where we treat negative forces and negative stretches as
meaning compression..
39
Case 2: 2-Stepped Rods:
A2, L2
By making a cut in each segment, we note that the force in each
segment in this case is F. But the stresses and elongations are different.
2
stretch of segment 1 is δ1 = FL1/A1E1
stretch of segment 2 is δ2 = FL2/A2E2
F
Remark: In this case, the forces on each segment were the same. But this need not be the
case if an additional force were to act at, say, just under segment 1. In this case,
δ = δ1 + δ2= P1L1/A1E1 +P2L2/A2E2
P 1 = σ1 A1 = F 1 + F 2
A1 , L1 A1 , L1
1 1
F1 F1
A2 , L2
A2 , L2
P 2 = σ2 A2 = F 2
2 2
2
F2 F2 Case 3: N-Stepped
F2 Rods:
∑ AE
Pi Li
δ=
i =1 i i
where Pi is the net axial force (also called the net internal force) on the ith segment
whose length is Li, cross-sectional area is Ai, and is made of a material whose Young’s
modulus is Ei. The idea is that we treat each segment of the rod as a uniform rod over
which the net cross-sectional force as well as the area are constant.
40
Case 4: Rods with Continuously Varying Cross-Section and/or Loading:
Next, let us consider the case of a rod with varying cross-section such as the conical rod
shown. By making cuts at several locations along the stalactite, convince yourself that in
this case, even though the net cross sectional force is the same everywhere, the stress at
each cross-section of the rod is not the same. Or else consider a rod with uniform cross-
section but whose weight is not negligible. In this case, the net cross-sectional force is
different at different locations.
x x
model as
F F
Then the total stretch of the rod is just the sum of the stretches of each segment. The
approximation becomes exact as we shrink the segment lengths ∆x --> 0. In this limit,
total stretch is just
L
P P
δ = ∑ ∆ δ
all segments
= ∑
all segments EA
∆x
as ∆x →0 → ∫ EA
dx
0
41
Example 1: Stretching of a Uniform Rod Under its Own Weight:
To get the net cross-sectional force at any cross-section, imagine making a "cut" at a
distance x from the bottom and look at the part below the cut. The net cross-sectional
force P(x) due to the internal forces must balance the weight of the chunk of material
below it. So P(x) = ρgAx. The total stretch of the rod under its own weight is therefore:
P( x ) ρ gAx ρ gL2
L L
δ=∫ dx = ∫ dx = .
o
EA o
EA 2E
Example 2: Now let us return to the truss problem that we could not solve earlier
because it was statically indeterminate.
Given that all three rods are linear elastic of Young’s modulus E, and cross-sectional area
A, and that the rods AB and AC are of length L, and rod AD is vertical,
determine the forces carried by the three rods due to the applied load P at A. (Neglect
the weight of the rods).
42
B D C
α α A
δAD
A’
δAB α’ α’
δAC
P
A’
:
∑ Fx = 0 ⇒ P1 = P2
∑ Fy = 0 ⇒ P1 cosα + P2 cos α = P
which are two equations for three unknowns (insufficient). Problem is statically
indeterminate. Need to look for an additional condition. Requiring that the three rods
not break apart, we find that the stretches of the rods are not independent but are
related.
We recognize that from the symmetry of the problem (rods AB and AC are identical),
rod AD stretches by δAD such that it is still vertical. Rods AB and AC then must also
stretch appropriately.
If we assume that the deformations are small compared to the lengths of the rods, then,
we find from the figure (shown grossly exaggerated) that the stretches are
approximately related through:
δ AB = δ AC = δ AD cosα ’≈ δ AD cos α
where again the assumption of small deformation allows us to say that the angle α’ is
approximately the same as α.
P1 L P2 L P3 (L cosα )
= = cos α
AE AE AE
43
which gives us the additional restriction needed to solve for the forces in the rods.
P cos α
2
P
P1 = P2 = ; P3 = .
1 + 2cos 3 α 1+ 2cos3 α
Remark: If you study what we have just done carefully, you will notice that there are
three things needed to solving these problems. We impose
(a) equilibrium
(b) compatibility—or the geometric constraints
(c) the material response (Hooke's law)
In fact, to determine the forces (stresses) and stretches (displacements) of all structures,
we follow exactly the same procedure. An N-stepped rod or a system of N linear
springs connected along a line can be analyzed by the process above. Trusses, which are
made of rods but now in two or three-dimensions can also be analyzed in exactly the
same way, except that now the compatibility (geometry) part can become somewhat
complicated.
It turns out that we can automate this process rather easily, and this is a great
convenience when we are dealing with large structures. This leads us to the topic of
matrix analysis of structures which forms part of what is called the finite element
method.
44