download

CES 4141 - Stress Analysis
Summer 1998
Direct Stiffness - Truss Application
The following notes present the direct stiffness method for matrix truss analysis. We will generalize to include beam elements later.
Symbols: We’ll stay consistent with the notation in Hoit
r - displacements in terms of global coordinate system (global displacements)
v - displacements in terms of element coordinate system (local displacements)
a - transformation matrix from global to local coordinates for displacements (v = a*r)
R - forces in terms of global coordinate system (global forces)
S - forces in terms of local coordinate system (local forces)
b - transformation from global to local coordinates for forces (S = b*R)
k - local element stiffness matrix (local coordinates).
Ke - element stiffness matrix in global coordinates
KG - Global structural stiffness matrix
1. Overview
Application of the stiffness method of structural analysis requires subdividing the structure
into a set of finite elements, where the endpoints are called nodes. For the case of trusses, we will
consider each whole truss member as a finite element, and each joint becomes a node. We’ll determine the force-displacement relationship for each element separately, then combine each individual contribution to the whole structure in a Global Structural Stiffness Matrix KG. Now for any
given loading scenario, we can use Gaussian elimination to solve for all unknown displacements.
Once these displacements are known, we can solve for all unknown forces, which are the reactions.
These notes will present the stiffness for each member at the local level, then transform them
into the global coordinate system, then sum the contribution of all elements, then discuss solutions for displacements, reactions, and internal forces.
2. Element Stiffness Matrix In Local Coordinates
First we look at a single truss member
y
global
v2, S2
in its own local coordinate system, and
define its stiffness. Consider the element to
x
the right. The local coordinate system (x’,
y’) will align with the member orientation,
for any arbitrary orientation. On this same y’ v1, S1
AE
k = ------- 1 – 1
figure, the local displacements (D.O.F.) are
L –1 1
labeled, with v1 at the end with the local
x’
axis origin, and v2 at the far end.
local Fig. 1. local truss member stiffness
Now we can apply the stiffness by definition procedure to find the stiffness matrix
for this arbitrary element. Holding v1=1, v2=0, we get the left column of the 2x2 stiffness matrix.
Then holding v1=0, v2=1 we get the right column. Removing the AE/L as a constant, the result is
given in Fig. 1. Note that the stiffness is denoted by a lower case ‘k’.
The local forces S and the local displacements v can be related by
1 of 10
6/29/98
Direct Stiffness - Truss Application
CES 4141 - Stress Analysis
Summer 1998
AE
S = k*v , expanded for the single truss element as S1 = ------- 1 –1 v1
L – 1 1 v2
S2
(1)
Note that this will be the same no matter what the orientation of the element, since al quantities are with respect to the element local coordinate system, which will always be set up to lie
along the axis of the member.
3. Displacement Transformation Matrix
Since a truss structure consists of many members of possibly many orientations, we’ll want to
transform all local displacements into a single uniform global coordinate system. This global
coordinate system is shown in Fig. 1, and is labeled (x,y).
The question is then, if we were to find the displacement at both ends of an element in terms
of the local coordinates (v1, v2, in terms of x’), what is that displacement in terms of the global
coordinates (r1, r2, r3, r4 in terms of x, y)?
Consider Fig. 2 below. The top left picture shows an individual element with the local displacements v1, v2, the global displacements, r1, r2, r3, r4, that we wish to convert to, and the local
coordinate system with the origin at the lower end of the member (x’, y’). Let’s displace the element at node 1 a unit value in the r1 direction (r1=1, r2=r3=r4=0). We can see this in the top right
picture. A displacement in global coordinate r1 is equal to a displacement in the local coordinate
of v1 = r1* cos θ x , where θ x is the angle of the element with the horizontal axis. So ‘ cos θ x ’
transforms r1 to v1. We can repeat this procedure for each of the global coordinates in turn be setting each to 1 while holding all others to 0 (r1=0, r2=1, r3=r4=0), (r1=r2=0, r3=1, r4=0), and
(r1=r2=r3=0, r4=1). Note this is the same procedure we used to find the stiffness matrix by definition. Let’s do one more. Set r4=1, r1=r2=r3=0, seen in the bottom picture in Fig. 2. The transformation from r4 to v2 is v2 = r4* cos θ y .
r4
v2
y
r3
r2
y’
v1
x’
node 2
v1 = r1* cos θ x
r1
x’
r1
θx
v1
node 1
r1
x
y
r4
v2
θy
Fig. 2. global to local displacements
x’
r4
x
2 of 10
6/29/98
v2 = r4* cos θ y
Direct Stiffness - Truss Application
CES 4141 - Stress Analysis
Summer 1998
Although we didn’t do the other two cases, you should be able to visualize that a displacement
of v1 will be caused by both a displacement r1 and r2, and v2 caused by r3 and r4. If we complete
the procedure for all four, we can express v1, v2 in terms of r1, r2, r3, r4 as follows
v1 = r1* cos θ x + r2* cos θy
(2)
v2 = r3* cos θ x + r4* cos θy
(3)
Let’s represent Lx = cos θ x , and Ly = cos θ y , and re-write these equations in matrix form as
r1
v1 = Lx Ly 0 0 r2 . Try expanding this, and getting Eqs. 2 and 3.
0 0 Lx Ly r3
v2
r4
(4)
Let’s define the transformation matrix and call it ‘a’
a = Lx Ly 0 0
0 0 Lx Ly
(5)
Now we can relate global to local displacements in matrix form as
(6)
v = a*r
Now we’ve found a way to relate local displacements to global displacements. We’ll also
want to do this for local and global forces.
4. Force Transformation Matrix
We can also identify the transformation matrix for the local/global force relationship. Referring to Fig. 2, replace local displacements with local forces (v1, v2 with S1, S2), and replace global displacements with global forces (r1, r2, r3, r4 with R1, R2, R3, R4). This time we’ll get the
global on the left hand side and the local on the right hand side by applying a unit force in local
coordinates and finding the resultant global components. The resultant is
R1
Lx 0
R2 = Ly 0 S1 . That is R = a T *S , where a T indicates transpose of a
0 Lx S2
R3
0 Ly
R4
(7)
5. Element Stiffness Matrix In Global Coordinates
Now we’ll use the transformation matrices we just derived to find the stiffness matrix for a
single element in terms of global coordinates. This will expand our element stiffness matrix from
a 2x2 to a 4x4. Why? We only have 2 degrees of freedom per truss element in local coordinates,
but we have 4 D.O.F. per element in global degrees of freedom (See Fig. 2).
3 of 10
6/29/98
Direct Stiffness - Truss Application
CES 4141 - Stress Analysis
Summer 1998
Let’s re-write Eq. 1, which is the force displacement relationship all in local coordinates
S = k*v
(8)
Now we’ll transform local displacements v to global displacements r by substituting Eq. 6 into
Eq. 8 to get
S = k*a*r
(9)
Finally, if we pre-multiply both sides by trans(a), the left hand side becomes Eq. 7, and the final
expression is
T
R = a *k*a*r
(10)
We have the displacements and forces in terms of global coordinates now. The stiffness matrix is
still local, and is pre and post-multiplied by trans(a) and a. Let’s separate this component and
rename it as
T
Ke = a *k*a
(11)
where Ke now represents the local stiffness matrix in terms of global coordinates. This gives us a
final expression of
R = Ke*r
(12)
Let’s write out and multiply through Eq. 11


AE
Ke = ------- 
L


Lx
Ly
0
0

0

0 1 – 1 Lx Ly 0 0 

Lx – 1 1 0 0 Lx Ly 

Ly
(13)
Performing the matrix multiplications gives us:
Lx
2
LxLy
AE
Ke = ------- LxLy
L
2
– Lx
Ly
2
– LxLy
– LxLy
– Ly
2
– Lx
2
– LxLy
– LxLy
Lx
– Ly
2
2
,
(14)
LxLy
LxLy
Ly
2
And finally, Eq. 12 can be written fully as
2
2
– Lx
– LxLy
LxLy
Lx
R1
2
2
– LxLy – Ly
Ly
R2 = AE
------- LxLy
L
2
2
R3
– Lx
– LxLy
Lx
LxLy
R4
2
2
– LxLy – Ly
LxLy
Ly
4 of 10
6/29/98
r1
r2
r3
r4
(15)
Direct Stiffness - Truss Application
CES 4141 - Stress Analysis
Summer 1998
6. Assembly of Global Stiffness Matrix
Before going on, let’s review what we have derived. Eq. 15 relates the displacements to
forces, all in global coordinates, for a single element of arbitrary orientation. The orientation of
the individual member is accounted for in the Global element stiffness matrix Ke.
What’s left to do? We now have the contribution of a single element. For a structure with multiple members, we assemble a Ke for each member in the truss structure, then add them each into
a global structural stiffness matrix that covers every degree of freedom in the entire structure.
We’ll call that KG . KG will be a square matrix with as many rows and columns as there are total
degrees of freedom, frozen and unfrozen. Let’s do this by example.
Example 1: Assembly of KG for a truss structure
3 ft
We’ll assemble the global structural stiffness matrix for
1
the structure in Fig. 3. If we solved this via chapter 4 (Hoit)
by developing stiffness by definition, we’d create a 2x2
r6
y
stiffness matrix representing only the unfrozen D.O.F. (r1,
r5
r2). In the problem at the left, note that we have labeled the
2
4 ft
unfrozen D.O.F. as r1 and r2, then the frozen D.O.F. as r3,
r4, r5, r6. we know that r3=r4=r5=r6=0, this will help later.
For each D.O.F. there is an associated R, representing a
3
2
force. R1, R2 will be the external forces applied to the
1
r2
structure, and R3 through R6 represent the reaction at the
x
r4
r1
pins.
- node #
- element # The process is simply to create Ke for each of the two
r3
members using Eq. 14, then to add them by keeping track
Fig. 3. Example 1
of how the local degrees of freedom correspond to the global degrees of freedom.
Element 1: the element labeled 1 connects nodes 2
y’
and
3, and global D.O.F. r1, r2, r3, r4. We need to find
3
Lx and Ly so we can apply Eq. 14. If we define the
r4
r2 2
x’
local origin (x’, y’) for element 1 at node 2, we have:
r3
Lx = change in x / L = (3 - 0)/3 = 1
r1
Ly = change in y / L = (0 - 0)/3 = 0
this gives us (Eq. 14)
Fig. 4. Element 1
r1
1
x’
r6
r5
y’
Fig. 5. Element 2
r2 2
r1
5 of 10
0.333
0
Ke1 = AE
– 0.333
0
r2
r3 r4
0 – 0.333
0
0
0 0.333
0
0
0
0
0
0
r1
r2
r3
r4
(16)
Element 2: This element connects nodes 2 and 3, and
global D.O.F. r1, r2, r5, r6. We pick the local origin
(x’, y’) at node 2 again, giving us:
Lx = change in x / L = (3 - 0)/5 = 0.6
Ly = change in x / L = (4 - 0)/5 = 0.8
this gives us Ke2 through Eq. 14 as
6/29/98
Direct Stiffness - Truss Application
CES 4141 - Stress Analysis
r1
0.072
Ke2 = AE 0.096
– 0.072
– 0.096
Summer 1998
r2
0.096
0.128
– 0.096
– 0.128
r5
– 0.072
– 0.096
0.072
0.096
r6
– 0.096 r1
– 0.128 r2
0.096 r5
0.128 r6
(17)
Note that we have listed above and to the right of each element global stiffness matrix the global
displacements that correspond to the four local degrees of freedom.
Now we have all element stiffness matrices. We simply set up the global structural stiffness
matrix as a 6x6 with all zeros initially, and add in the element matrices.
KG = Ke1 + Ke2
(18)
where, for example, we add the r5 row and r2 column of Ke2 into the r5 row and r2 column of KG
(19)
r1
r2
0.333
0
KG = AE
– 0.333
0
r3
r4
0 – 0.333
0
0
0 0.333
0
0
0 r1
0 r2 + AE
0 r3
0 r4
r1
r2
r5
r6
0.072
0.096
– 0.072
– 0.096
0.096
0.128
– 0.096
– 0.128
– 0.072
– 0.096
0.072
0.096
– 0.096
– 0.128
0.096
0.128
r1
r2
r5
r6
which gives us (confirm this yourself).
r1
0.405
0.096
KG = AE – 0.333
0
– 0.072
– 0.096
r2
r3
0.096 – 0.333
0.128
0
0
0.333
0
0
– 0.096
0
– 0.128
0
r4
0
0
0
0
0
0
r5
r6
– 0.072
– 0.096
0
0
0.072
0.096
– 0.096
– 0.128
0
0
0.096
0.128
r1
r2
r3
r4
r5
r6
(20)
If A and E are different for each member, we expand them into Ke1, and Ke2 before adding.
7. The Solution Procedure
Now we can write the full system as
0.405
R1
0.096
R2
R3 = AE – 0.333
0
R4
– 0.072
R5
– 0.096
R6
6 of 10
0.096 – 0.333
0.128
0
0
0.333
0
0
–0.096
0
– 0.128
0
0
0
0
0
0
0
– 0.072
– 0.096
0
0
0.072
0.096
– 0.096
– 0.128
0
0
0.096
0.128
6/29/98
r1
r2
r3
r4
r5
r6
(21)
Direct Stiffness - Truss Application
CES 4141 - Stress Analysis
Summer 1998
Since we initially labeled the unfrozen D.O.F. first, R1 and R2 are the applied external forces,
r1 and r2 are the sought displacements in global coordinates.
The knowns:
Rk = R1, R2 - external forces
rk = r3, r4, r5, r6 - frozen displacements (all = 0)
The unknowns:
Ru = R3, R4, R5, R6 - reactions
ru = r1, r2 - displacements
Now we can partition Eq. 21 and separate knowns and unknowns:
0.405
R1
0.096
R2
R3 = AE –0.333
0
R4
– 0.072
R5
– 0.096
R6
0.096 – 0.333
0.128
0
0
0.333
0
0
– 0.096
0
– 0.128
0
0
0
0
0
0
0
– 0.072
– 0.096
0
0
0.072
0.096
– 0.096
– 0.128
0
0
0.096
0.128
r1
r2
r3
r4
r5
r6
(22)
and rewrite as
Rk = AE K11 K12 ru
Ru
K21 K22 rk
(23)
now expanding we get...(make sure you can follow this step)
Rk = AE ( K11*ru + K12*rk )
(24)
Ru = AE ( K21*ru + K22*rk )
(25)
We can solve the system in Eq. 24 (which is two equations and 2 unknowns) for ru, then solve
the system in Eq. 25 (a 4 equation, 4 unknown system).
Once we have solved Eqs. 24 and 25 we have displacements and reactions. Let’s note this.
We Now Have
1) displacements at the nodes
2) reaction forces
What we do not have yet is a description of the internal forces in each member:
Let’s note this and get back to it after an example.
We Still Need
3) member forces (internal axial forces, and shear and moments when we go to beams)
First let’s complete an example using the assembled system in Eq. 22
7 of 10
6/29/98
Direct Stiffness - Truss Application
CES 4141 - Stress Analysis
Summer 1998
Example with loading: If we put the 10 kip load on the structure
from Fig. 3 as shown to the left, the solution set up is exactly Eq.
22, where we now know that R1=0, R2= -10. We also know there
is zero displacement at all supports, so we can solve the portion of
Eq. 22 we pulled off into Eq. 24. When we do this we get
y
0
0 = AE 0.405 0.096 r1 + K12 0
–10
0.096 0.128 r2
0
0
x
10 kips
(26)
Fig. 6. Example 1 with forces Note I didn’t bother to fill in K12 (although we have it) since it is
multiplied by a zero vector anyway.
Solving Eq. 26 for r1, r2 gives us (make sure you can do this by hand by Gaussian elimination)
r1 = 22.52/AE
r2 = -95.02/AE
We now have displacements at the nodal D.O.F. free to move. We can now turn to Eq. 25 to solve
for reactions Ru. The set of equations to solve are now:
– 0.333
0
R3
22.52
------------0
0
R4 = AE
AE + K22
– 0.072 –0.096 – 95.02
R5
------------AE
– 0.096 – 0.128
R6
0
0
0
0
(27)
The reactions R1, R2, R3, R4 come out directly from matrix multiplication. We don’t even need
Gaussian elimination. the result is
R3 = -7.5
R4 = 0
R5 = 7.5
R6 = 10.0 all in Kips
7.5
y
10 kips
10.0 kips
7.5
Let’s redraw the problem with the reactions to see if they
make sense. A quick check on equilibrium confirms this solution in Fig. 7.
Note that displacements r1, r2 are in terms of the unknown
values of AE, and that we got numbers for the reactions. Equilibrium is not dependent on material properties, while displacements are, so this all makes sense.
Let’s now move onto the topic of ‘force recovery’, or finding internal forces in the members making up the structure.
Fig. 7. Resulting reactions
8 of 10
6/29/98
Direct Stiffness - Truss Application
CES 4141 - Stress Analysis
Summer 1998
8. Internal member force recovery
We have already solved for the displacements at all the nodes. We also have stiffness matrices
that relate forces to displacements, and a description of the geometry of each element in the transformation matrices. It certainly seems that we have enough information to find internal forces,
since this is analogous to having displacement and stiffness for a spring, where we want the force.
Go back and take a look at Eq. 8, which relates forces to displacements in local coordinates
through the local element stiffness matrix ( S = k*v ). What do we have now? We have the local
element stiffness matrix, k , which is always just
AE
k = ------- 1 – 1 .
L –1 1
(28)
We don’t really have v , since this is displacement in local coordinates. We solved for r , which is
displacement in global coordinates. But we did find the relationship between v and r , which is
what we called the transformation matrix a . Now go look at Eq. 6. We see that v = a*r . This is
how we got Eq. 9, which is repeated here
(29)
S = k*a*r
This is exactly what we want. The left hand side S is in local coordinates, so it will give us
exactly axial force no matter what the orientation of the member. the right hand side is in terms of
the global displacements, local stiffness, and transformation matrix, all of which we have for each
element. Let’s write it out as
r1
S1 = AE
------- 1 – 1 Lx Ly 0 0 r2 .
L – 1 1 0 0 Lx Ly r3
S2
r4
(30)
For a truss, it is always the case that S1 = – S 2 . So we need only solve for either S1 or S2 .
Expanding just the bottom row in Eq. 30 we can express the axial force in any member by
r1
AE
S2 = ------- – Lx – Ly Lx Ly r2 ,
L
r3
r4
(31)
Where we choose S2 since + will be tension, and - will be compression, as is our convention.
An important notation comment is necessary. We use r1, r2, r3, r4 above to represent the local
labeling on the element. In practice, they may not be 1-4, but whatever the global notation happens to be. We will see this when we complete the example.
9 of 10
6/29/98
Direct Stiffness - Truss Application
CES 4141 - Stress Analysis
Summer 1998
Example completed - force recovery: We repeat the figures
that define the problem so we can see the degrees of freedom and individual elements. The displacements we found
were:
r1 = 22.52 / AE
r2 = -95.02 / AE
r3 = r4 = r5 = r6 = 0
Now we solve for element internal axial forces
3 ft
1
r6
y
r5
2
4 ft
3
r2 2
1
r4
r1
Element #1
Recall that we found the following:
x
Lx = change in x / L = (3 - 0)/3 = 1
- node #
- element # Ly = change in y / L = (0 - 0)/3 = 0
r3
which gives
y’
r2 2
3
r4
1
x’
r3
r1
1
x’
r6
2
y’
r2 2
r1
r5
r1
22.52
------------AE
AE
95.02- r2 = – 7.5 compression
S = ------- – 1 0 1 0 –--------------3
AE
r3
0
r4
0
Element #2
Lx = change in x / L = (3 - 0)/5 = 0.6
Ly = change in x / L = (4 - 0)/5 = 0.8
which gives
22.52-----------AE
AE
95.02S = ------- –0.6 – 0.8 0.6 0.8 –--------------5
AE
0
0
r1
r2 = 12.5 tension
r5
r6
9. Final Comments
For truss structures with more members, the solution procedure from displacements to reactions to internal forces stays the same. The KG global stiffness matrix may be larger, and be made
up from more element contributions, but the procedure is identical.
Also we’ll see that the structure can be either determinate or indeterminate, and the same procedure applies. The partitioning that is done in Eq. 22 will change, since the number of known
displacements will change, but the total number of unknows remains the same. For example, if we
put a roller at node 2 in our example that fixes d.o.f. #2, (r2), then the initial system we solve for
displacements (Eq. 24) will be a single equation and unknown instead of the 2 we had for the
given example, and the next system to get reactions (Eq. 25) will be a 5 equation system.
Next up: beams at the element level, then building frame KG matrices.
10 of 10
6/29/98
Direct Stiffness - Truss Application