Professional Documents
Culture Documents
1 Introduction
Direct Stiffness Method is a simplified form of Finite Element Method that can be used to analyze systems of
springs, bars, or trusses. In the case of bars, and trusses, we will first have to discretize them into springs. Thus,
ultimately, we will be solving a system of springs. For simplicity, in this presentation, we will restrict ourselves
to linear 1D springs.
2 A Spring Element
We are familiar with the governing equation of linear springs. Our aim in this section, is to rewrite the spring
equation as a system of equations that relate the displacements of the end-points of the spring with the forces
acting at the end-points. Figure 1 shows a single spring element. The number in circle is called the element
index and it will identify a spring uniquely in a system of springs. The spring element has two nodes indexed 1,
and 2. The forces and displacements of the spring element have been indexed based on the node to which they
belong.
Figure 1: A single spring element with two nodes labeled 1, and 2. The spring element is numbered as 1 (in
circle). The nodal forces, F1 , and F2 , and the nodal displacements, u1 , and u2 , are as shown as arrows pointing
in their positive directions. The spring constant is k1 .
1
Case (c): both the nodes are free.
The nodal forces vary linearly with the nodal displacements. Therefore, when both the nodes are allowed to
move, the nodal forces can be obtained by superposing the nodal forces of Cases (a), and (b) above.
where K is called the element stiffness matrix and the number in the paranthesis in the superscript denotes the
element index.
3 A Network of Springs
The aim of this section is write a matrix equation for a network of springs analogous to equation 8. The unique
nodes of the network will be the unknowns u. We have to find the global stiffness matrix K that relates u to
the applied loads F . We will start with a simple system of two springs connected in series.
Figure 2 shows two spring elements connected in series. Although there are two springs, and each spring
element has two nodes, the number of unique nodes in this system is only three because the second node of the
first element and the first node of the second element are coupled and will always move together. So this system
has three degrees of freedom.
Figure 2: Two spring elements connected in series. The circled numbers are the spring indices. The global node
indices have been shown as numbers without circles.
To write down the governing equation of the system, we will again use the principle of superposition. We
will first split the system into two springs and then add-up the appropriate force equations. Figure 3 shows the
separated springs with their local node indices.
Figure 3: The separated spring elements. The circled numbers are the spring indices. The local node indices
have been shown as numbers without circles.
2
Applying equations 5 and 6 to spring 1, we can write
(1) (1) (1)
F1 = k1 u1 − k1 u2 (9)
(1) (1) (1)
F2 = −k1 u1 + k1 u2 (10)
In the above equations, the numbers in the paranthesis in the superscripts denote the spring element indices.
(1) (2)
We note that u2 and u1 represent the same physical point which corresponds to global nodal displacement u2 .
(1) (2)
Therefore, by the principle of linear superposition, we can add up the forces F2 , and F1 . Thus, we get three
force equations for this spring network.
(1) (1) (1)
F1 = k1 u1 − k1 u2 (13)
(1) (2) (1) (1) (2) (2)
F2 + Fl = −k1 u1 + k1 u2 + k2 u1 − k2 u2 (14)
(2) (2) (2)
F2 = −k2 u1 + k2 u2 (15)
Now we can switch from local force and node indices to the global force and node indices by noting that
(1) (1)
F1 = F1 u1 = u1
(1) (2) (1) (2)
F2 + F1 = F2 u2 = u1 = u2
(2) (2)
F2 = F3 u2 = u3
F1 = k 1 u 1 − k 1 u 2 (16)
F2 = −k1 u1 + (k1 + k2 )u2 − k2 u3 (17)
F3 = −k2 u2 + k2 u3 (18)
Thus, we have found a matrix equation of the form Ku = F where K is the global stiffness matrix or the
stiffness matrix of the spring network. It should be noted that because a single spring element has two degrees
of freedom, the element stiffness matrix is of shape 2×2. The spring network we have considered in this section
has three degrees of freedom and, as shown above, the global stiffness matrix is of shape 3×3. In general, the
global stiffness matrix of a spring network with M unique nodes will be of shape M × M . We should also note
that both the element stiffness matrix and the global stiffness matrix are symmetric.
4 Assembly
In the previous section, we derived the governing equation of the spring network by writing the force equations
for each node of each element separately and then adding up the forces that act on the same global node. This
approach will quickly become tedious as the number of springs in our system increases. Fortunately, there is a
systematic procedure to derive the global stiffness matrix from the element stiffness matrices. This process is
called assembly in finite element method context.
Let N be the number of springs in a network. Let each spring have n local nodes. Let M be the number of
unique nodes in the entire system. So M ≤ N × n. Assembly entails the following steps.
1. Map the local degrees of freedom of every element to the global degrees of freedom. Let G : (e, i) → I
denote a function that accepts element index e, and element node index i as inputs, and returns the global
node index I as an output. For the spring network of Section 3, using figures 2 and 3, we can write the
mapping as follows:
3
Element Index (e) Local Node Index (i) Global Node Index (G(e, i) = I)
1 1 1
1 2 2
2 1 2
2 2 3
2. Initialize the global stiffness matrix as a matrix of zeros of size M × M where M is the number of unique
degrees of freedom of the system.
3. Update the elements of the global stiffness matrix K using the element stiffness matrices K (e) as follows:
for e in (1, N ) do
for i in (1, n) do
for j in (1, n) do
I = G(e, i)
J = G(e, j)
K[I, J] = K[I, J] + K (e) [i, j]
end for
end for
end for
If we apply this algorithm to the example of Section 3, we will get
Suppose, as a boundary condition, it is given that u1 = U . Let force F3 = 5 units. Since force is not specified
for node 2, we will take it as 0.
k1 −k1 0 U F1
−k1 k1 + k2 −k2 u2 = 0
0 −k2 k2 u3 5
4
Now we have three equations for just two unknowns u2 , and u3 . We need to get rid of one equation. We
should note that F1 is a reaction force and it is an unknown. If we remove equation 1 from our system then
there will be no unknown force on the RHS. Therfore, we will remove the first row of the coefficient matrix and
the RHS vector.
U
−k1 k1 + k2 −k2 0
u =
0 −k2 k2 2 5
u3
Our coefficient matrix is not a square matrix anymore so we cannot invert it. But we have a known quantity
u1 = U in the vector that we want to solve for. Let’s shift the terms corresponding to u1 = U to the RHS. This
amounts to removing the first column from the coefficient matrix, removing the first row of the u vector and
modifying the entries of the RHS vector.
k1 + k2 −k2 u2 0 k1 U k1 U
= + =
−k2 k2 u3 5 0 5
Now the coefficient matrix is not singular and it can be inverted. Solving this system gives us
5
u2 = U +
k1
5 5
u3 = U + +
k2 k1
Finally, using the values of u1 , u2 , and u3 , we can calculate the reaction force F1 = −5.
Summarizing, for every displacement uI where I is the global node index, that is specified as a boundary
condition, we need to reduce the governing matrix equation as follows:
1. Subtract the product of uI and the I th column of the global stiffness matrix from the RHS F vector.
2. Drop the I th row and the I th column from the global stiffness matrix.
3. Drop the I th row from the u vector.
4. Drop the I th row from the RHS F vector.
5. Solve the reduced system of equation for the unknown nodal dispalcements obtained after the above steps.
6. Finally, use the nodal dispalcement values to calculate the reaction force at the I th node.