You are on page 1of 61

SCHOOL OF CIVIL ENGINEERING

CIVL3340 L7
Introduction to Direct Stiffness Method

CIVL3340 L7: Introduction to Direct


Stiffness Method
BY JOE GATTAS, FARIS ALBERMANI

Introduction
Deformation methods of structural analysis are those that formulate equilibrium equations to cal-
culate unknown joint displacements. The slope-deflection and moment-distribution displacement
methods are widely used historically, however modern computational structural analysis software
almost exclusively uses the direct stiffness method.

The direct stiffness method is a matrix analysis method which means equilibrium equations are
formulated into a single matrix relationship. Free joint displacement equations can be auto-
matically selected from the full system matrix and solved, so is very well suited to computer-
automated analysis of statically indeterminate structures. The method is similar for statically de-
terminate and indeterminate structures as it exploits kinematic redundancy (the number of joint
degrees-of-freedom DOF) rather than static redundancy. There is therefore always the same
number of equilibrium equations as unknown displacements.

Truss Beam Frame


Number of unknown forces/member 1 2 3
Number of displacements/node 2 2 3
Number of equilibrium eqs/node 2 2 3

page 1 of 8
SCHOOL OF CIVIL ENGINEERING
CIVL3340 L7
Introduction to Direct Stiffness Method

Example 7.1: Static and Kinematic Redundancy Review

Calculate the static and kinematic redundancy of the following structures.

Truss Beam Beam

m=4,n=5,R=8 m=1,n=2,R=2 m=2,n=3,R=2


SR=1m+R-2n=2 SR=2m+R-2n=0 SR=2m+R-2n=0
KR=2 KR=2 KR=4

The broad procedure for the direct stiffness method is as follows:

1. Define problem including structure nodal coordinates, element locations, element type,
support restraints, and applied loads.

2. Calculate basic member properties including length L, element inclination angle , and
basic stiffness k.

3. Transform element basic stiffness to local k 0 and global K systems and assemble global
stiffness matrix KS .

4. Formulate applied load vector R and, if needed, fixed end action vector P . Stiffness solution
is then given by a single matrix equation {R} = [K S ]{r} + {P } which can
be partitioned

Rf Kf f Kf s r f P
into free and supported displacement components = + f .
Rs Ksf Kss rs Ps

5. Solve free nodal displacements rf , support reactions Rs , and basic member forces S.

Variations to this specifics of this procedure are encountered between truss, beam, or frame
structures and 2D or 3D systems. CIVL3340 lectures on the direct stiffness method are as
follows.

L7: Direct stiffness method: introduction, problem definition, basic element stiffness.

page 2 of 8
SCHOOL OF CIVIL ENGINEERING
CIVL3340 L7
Introduction to Direct Stiffness Method

L8: Direct stiffness method: truss element transformation, global stiffness matrix assembly, and
system solution.

L9: Direct stiffness method: truss element lack-of-fit, support settlement, and MATLAB solver.
Introduction to commercial structural analysis softwares.

L10: Direct stiffness method: Beam element formulation.

L11: Direct stiffness method: Frame element formulation.

L12: Structural symmetry and introduction to advanced structural analysis.

Problem Definition
An automated matrix method of analysis requires a formal definition of the structural system
being analysed. This includes geometry (node numbers and coordinates), topology/connectivity
(element numbers, start and end nodes), material properties (E), section properties (I, A), sup-
ports, and load conditions.

Example 7.2: Structural System Definition

Tabulate a definition of the following structural system.


o
E=200GPa A,E 45
A=104 mm2

400kN
,E

,E
1.5A,E
A

8.66m
1.5

1.5

A,E

5m 5m

Assign coordinate system, node numbers, element numbers, and element directions.

page 3 of 8
SCHOOL OF CIVIL ENGINEERING
CIVL3340 L7
Introduction to Direct Stiffness Method

3 2 4

5
3

1 1 2 4

List element properties including element number (EID), start node i, and end node j.

EID i j E A
1 1 2 2 105 1 104
2 3 4 2 105 1 104
3 1 3 2 105 1.5 104
4 2 4 2 105 1.5 104
5 2 3 2 105 1.5 104

List node properties including node number (NID), coordinates, reactions R, and applied loads
P.
NID x y Rx Ry Px Py
1 0 0 Fx,1 Fy,1 0 0
2 5 0 0 Fy,2 0 0
3 5 8.66 0 0 0 0
4 10 8.66 0 0 2.82 105 -2.82 105

Certain system properties can be calculated from the above problem definition. Element length
L and element inclination angle are calculated from element node i and j coordinates:
q
L= (yj yi )2 + (xj xi ) 2
yj yi
= arctan
xj xi

Basic element stiffness can also be calculated from these inputs as follows.

page 4 of 8
SCHOOL OF CIVIL ENGINEERING
CIVL3340 L7
Introduction to Direct Stiffness Method

Basic Element Stiffness


Stiffness coefficient knm is equal numerically to the force required at a point in a specified di-
rection, n, to produce a unit displacement at another point in a specified direction, m. All other
displacements are assumed to be prevented (locked) at that point. For example, the below figure
shows load Pn that generates displacement m , with all other displacements locked at m. The
stiffness relationship between the two is therefore Pn = knm m . This is the inverse of the flexibil-
ity relationship n = fnm Pm so the stiffness coefficient is the inverse of the flexibility coefficient
knm = 1/fnm .

Pn Pn n

knm f nm
m
m Pm
In the direct stiffness method, basic member stiffness k is the stiffness coefficient that relates
basic forces and displacements on truss, beam, and frame members. Basic member force S
and basic member deformations v are therefore related with {S} = [k]{v}. It is numerically
equivalent to the member force required to generate a unit member displacement.

Example 7.3: Basic Element Stiffness

Formulate the basic element member force, member deformations, and stiffness for truss, beam,
and frame elements.

Truss elements have a single axial


translational displacement and single P
{v} =
corresponding axial force. Basic stiff-
ness can be derived from basic linear {S} = P
elastic material elongation: " = /L = AE
[k] =
/E = P/(EA). L


Beam elements have a rotational dis- i
placement and corresponding moment {v} =
at each node. Basic stiffness can
j
Mi Mj
Mi
be obtained from relations derived in {S} =
Mj i j
L2 Slope Deflection Method: Mi =
2EI
(2i + j ) and Mj = 2EI (i + 2j ). 2EI 2 1
L L [k] =
L 1 2

page 5 of 8
SCHOOL OF CIVIL ENGINEERING
CIVL3340 L7
Introduction to Direct Stiffness Method

8 9
< i=
{v} =
: ;
j
Mi Mj
8 9 P
Frame elements have combined rota- < Mi =
tional and axial translational displace- {S} = M i j
j
ments. : ;
P
2 4EI 3
L
2EI
L
0
[k] = 4 2EI
L
4EI
L
0 5
AE
0 0 L

Formulas
Nomenclature

Name Symbol
Element length L
Element inclination angle
Local transformation matrix [T ]
Inclination component matrix [LB ]
Global transformation matrix [LD ]
Basic member force {S}
Local member force {F 0 }
Global member force {F }
Basic member deformations {v}
Local member deformations {r0 }
Global member deformations {r}
Basic member stiffness [k]
Local member stiffness [k 0 ]
Global member matrix [K]
Assembled global stiffness matrix [KS ]
Applied load {R}
Equivalent applied fixed end actions {P }
Equivalent distributed node loads {v }

page 6 of 8
SCHOOL OF CIVIL ENGINEERING
CIVL3340 L7
Introduction to Direct Stiffness Method

General Formulas

c = cos
{S} = [k]{v}
s = sin
{R} = [KS ]{r} + {P }
{v} = [T ]{r0 } 8 9 2 38 9 2 3
<R = K f f Kf s < r f = Pf
{r0 } = [LD ]{r} f
=4 5 +4 5
{F 0 } = [T ]T {S} :R ; K K :r ; P
s sf ss s s
T 0
{F } = [LD ] {F } Fp L
P =
[k 0 ] = [T ]T [k][T ] AE
T = L T
[K] = [LD ]T [k 0 ][LD ] 8 9
2 3 3 < 1=
wL
LB 0 {v } =
[LD ] = 4 5 24EI :1;
0 LB
Truss Member

2 3
[T ] = [ 1 0 1 0 ] 2 2
c cs c cs
2 3 6 7
6 7
c s AE 6 s2 cs s2 7
[LB ] = 4 5 [K] = 6 7
s c L 6
6 c2 cs 7
7
4 5
AE Sym. s 2
k=
L 2 3 2 3
1 0 1 0 c2 cs cc0 cs 0

6 7 6 7
6 7 6 7
AE 6 s2 c0 s ss0 7
0 AE 6
6
0 0 0 7
7 [K] = 6 7
[k ] =
L 6 7 L 6
6 c02 0 0 7
cs 7
6 1 0 7 4 5
4 5
02
Sym. 0 Sym. s
Beam Member

2 3 2 3
1/L 1 1/L 0 12EI 6EI 12EI 6EI
[T ] = 4 5 6 L3 L2 L3 L2 7
1/L 0 1/L 1 6 4EI 6EI 2EI 7
6 L2
7
2 3 [K] = [k ] = 6
0
6
L L 7
7
6 12EI 6EI 7
2EI 4 2 1 5 4 L3 L2 5
[k] =
L 1 2 Sym. 4EI
L

page 7 of 8
SCHOOL OF CIVIL ENGINEERING
CIVL3340 L7
Introduction to Direct Stiffness Method

Frame Member

2 3
0 1/L 1 0 1/L 0
6 7
6 7
[T ] = 6 0 1/L 0 0 1/L 1 7 2 3
4 5 AE AE
L
0 0 L
0 0
1 0 0 1 0 0 6 7
2 3 6 12EI 6EI 12EI 6EI 7
6 L3 L2
0 L3 L2
7
c s 0 6 7
6 7 6 4EI 6EI 2EI 7
6 7 6 0 L2
7
[LB ] = 6 s c 0 7 [k ] = 6
0
6
L L 7
7
4 5 6 AE
0 0 7
0 0 1 6 L 7
6 7
2 3 6 12EI 6EI 7
4EI 2EI 4 L3 L2 5
0 4EI
6 L L 7 Sym.
6 2EI 4EI 7 L
[k] = 6 0 7
4 L L 5
AE
0 0 L

2 3
AE 2 12EI 2 AE 12EI 6EI AE 2 12EI 2 AE 12EI 6EI
L
c + L3
s L
cs L3
cs L2
s L
c L3
s L
cs + L3
cs L2
s
6 7
6 AE 2 12EI 2 6EI AE 12EI AE 2 12EI 2 6EI 7
6 s + L3
c L2
c cs + L3
cs s L3
c L2
c 7
6 L L L 7
6 4EI 6EI 6EI 2EI 7
6 L2
s L2
c 7
[K] = 6
6
L L 7
7
6 AE 2 12EI 2 AE 12EI 6EI
c + s cs cs s 7
6 L L3 L L3 L2 7
6 7
6 AE 2
s + 12EI 2
c 6EI
c 7
4 L L3 L 2
5
4EI
Sym. L

page 8 of 8
SCHOOL OF CIVIL ENGINEERING
CIVL3340 L8
Direct Stiffness Method: Truss Elements I

CIVL3340 L8: Direct Stiffness Method:


Truss Elements I
BY JOE GATTAS, FARIS ALBERMANI

Element Transformation
A complete structural stiffness matrix relationship can be assembled from the constituent ele-
ments stiffness, however this requires all elements use a consistent, global coordinate system.
Basic forces {S} and displacements {v} can be converted to local forces {F 0 } and displace-
ments {r0 } with the local transformation matrix T . Local forces and displacements can then be
converted to global forces {F } and global displacements {r} with global transformation matrix
[LD ]
{v} = [T ]{r0 } {r0 } = [LD ]{r}
{F 0 } = [T ]T {S} {F } = [LD ]T {F 0 }

For basic-to-local, force and displacement transformations are transposition of each other. Sim-
ilarly for local-to-global transformations. This is known as the contragredient law. Stiffness re-
lations still exist in the local system {F 0 } = [k 0 ]{r0 } and global system {F } = [K]{r}. Stiffness
transformations can be obtained directly from the above relations as follows.
S = kv = kT r0 F = Kr
T
T S = T kT r T 0
LTD F 0 = KLTD r0
F 0 = k0 r0 LTD k 0 r0 = KLTD r0
k 0 = T T kT K = LTD k 0 LD

The above transformations are valid for any element, but T and LD transformation matrices vary
between truss, beam, and frame elements. Note that LD is an orthogonal matrix, i.e. LTD =
LD1 . The following lecture first demonstrates truss element transformations and subsequently a
complete truss structure stiffness solution.

page 1 of 11
SCHOOL OF CIVIL ENGINEERING
CIVL3340 L8
Direct Stiffness Method: Truss Elements I

Truss Element Force Transformations


Basic

P {S} = P

Local

Fy,j 8 0 9 8
> F >
9
1>
> > >> >

Fx,j 0
< x,i
F 0 = <
0
=
{F } = y,i
= {S} = T T S
>
> F0 > > >> 1>>
: x,j
0 ; : ;
Fy,i Fx,i Fy,j 0
where T =< 1, 0, 1, 0 >

Global
8 9 2 3
> Fx,i > c s 0 0
Fy,j >
<
Fy,i
>
= 6
s c 0 07
Fx,j {F } = =64
7 {F 0 } = LTD F 0
5
>
> F >
x,j > 0 0 c s
: ;
Fy,i Fy,j 0 0 s c

Fx,i
LB 0 c s
where LD = and [LB ] =
0 LB s c
Fy F
Note: global transformation matrix LD assembled from in-
Fy x clination component matrix LB . Direct nodal transforma-
Fx tions are Fx =Fx0 cos Fy0 sin and Fy =Fx0 sin + Fy0 cos .
c = cos and s = sin .

Truss Element Displacement Transformations


Basic

{v} =

page 2 of 11
SCHOOL OF CIVIL ENGINEERING
CIVL3340 L8
Direct Stiffness Method: Truss Elements I

Local

vj 8 09
>
> u>
< 0i >=
vi
{r0 } = , and {v} = 1 0 1 0 {r0 } = T r0
>
> u0j >
>
: 0;
uj vj

which can be shown from = u0j u0i = u0i +0vi0 +u0j +0vj0
vi
ui
Global

vj 8 9 2 3
>
> ui > c s 0 0
< > = 6
vi s c 0 07
{r} = =6
40
7 {r0 } = LTD r0
>
> u > 0 c s5
: >
j
vi uj vj
;
0 0 s c

ui

Truss Element Stiffness Transformation


Basic

AE
k [k] =
L

Local

kjj 2 3
1 0 1 0
kij AE 6 0 0 0 7
[k 0 ] = T T kT = 6 7
kji L 4 1 0 5
kii Sym. 0

page 3 of 11
SCHOOL OF CIVIL ENGINEERING
CIVL3340 L8
Direct Stiffness Method: Truss Elements I

Global

Kjj 2
c2 cs c2 cs
3
Kij AE 6 s2 cs s2 7
[K] = LTD k 0 LD = 6 7
Kji L 4 c2 cs 5
Kii Sym. s2

Example 8.1: Truss Element Stiffness Transformations

Formulate the local and global element stiffnesses of the truss shown in Example 7.2.
o
E=200GPa A,E 45 3 2

A=104 mm2 4
400kN
A,E

A,E
1.5A,E

8.66m
5
3

4
1.5

1.5

1
A,E 1 2

5m 5m

Tabulate the basic member properties. Units N-mm-MPa.

EID i j E A L AE/L c s cs
1 1 2 2 10 5
1 10 4
5 103
0 4 10 5
1 0 0
2 3 4 2 105 1 104 5 103 0 4 105 1 0 0
3 1 3 2 105 1.5 104 10 103 /3 3 105 0.5 0.866 0.433
4 2 4 2 105 1.5 104 10 103 /3 3 105 0.5 0.866 0.433
5 2 3 2 105 1.5 104 8.66 103 /2 3.46 105 0 1 0

page 4 of 11
SCHOOL OF CIVIL ENGINEERING
CIVL3340 L8
Direct Stiffness Method: Truss Elements I

Truss elements have two nodes and two nodal displacements per node, so total DOF is 4 in local
and global systems.

For element 1, stiffness coefficients are between nodes 1 and 2:


Local Global
2 3 2 3
1 0 1 0 c2 cs c2 cs
AE 6
6 0 0 0 77 AE 6
6 s2 cs s2 7
7
[k 0 ] = [K] =
L 4 1 0 5 L 4 c2 cs 5
Sym. 0 Sym. s2
2 3 2 3
4 0 4 0 4 0 4 0
6 0 0 0 7 6 0 0 0 7
= 105 6
4
7 [K 1 ] = 105 6 7
4 0 5 4 4 0 5
Sym. 0 Sym. 0

Element 2 has the same length, orientation, and properties as element 1 so possesses the same
element stiffness matrices except for nodes 3 and 4 instead of nodes 1 and 2.

For element 3, stiffness coefficients are between nodes 1 and 3:


Local Global
2 3 2 3
3 0 3 0 0.75 1.30 0.75 1.30
6 0 0 0 7 6 2.25 1.30 2.25 7
[k 0 ] = 105 6
4
7 [K 3 ] = 105 6 7
3 0 5 4 0.75 1.30 5
Sym. 0 Sym. 2.25

Element 4 has the same length, orientation, and properties as element 3 so possesses the same
element stiffness matrices except for nodes 2 and 4 instead of nodes 1 and 3.

For element 5, stiffness coefficients are between nodes 2 and 3:


Local Global
2 3 2 3
3.46 0 3.46 0 0 0 0 0
6 0 0 0 7 6 3.46 0 3.46 7
[k 0 ] = 105 6
4
7 [K 5 ] = 105 6 7
3.46 0 5 4 0 0 5
Sym. 0 Sym. 3.46

page 5 of 11
SCHOOL OF CIVIL ENGINEERING
CIVL3340 L8
Direct Stiffness Method: Truss Elements I

Global Stiffness Matrix


Once each elements stiffness is expressed in the global coordinate system, a single global
stiffness matrix can be assembled. The global stiffness matrix KS will be a square matrix of an
order equal to the total (unrestrained plus restrained) DOF of the system, i.e. a truss structure
with 3 nodes will possess a global stiffness matrix of order 3 2 = 6.

Truss KS Ke 3 2
3 K33 K33 K33
3
K13 K23 K13 2
K23
3

3 2
K31 K32 K31 K32
1 K12
K11 K22 K113 2
K22
1 2 K21 1
K12
K111 1
2
K22
K21
Assembly of KS is simply done by linearly superimposing the stiffness contribution of each el-
ement to each appropriate system DOF. For a truss, each element possesses a 4 4 global
element stiffness matrix which is composed of four 2 2 sub-matrices Kii , Kjj , Kij = KjiT . Given
an element e with start node i and end node j, K e is:


e Kii Kij
[K ] =
Kji Kjj

The global stiffness matrix is assembled by summing stiffness contributions from each element
at each node DOF. For the above example, a 6 6 global global element stiffness matrix can be
populated with:

Element 1 [K 1 ]; Plus Element 2 [K 2 ]: Plus Element 3 [K 3 ]:

u1 , v1 u2 , v2 u2 , v2 u 3 , v3 u 1 , v1 u3 , v3
2 3 2 3 2 3
1 1 1 1 1 3 1 3
K11 K12 0 K11 K12 K11 + K11 K12 K13
6 7 6 7 6 7
6 K1 1
K22 07 6K 1 1
K22 2
+ K22 2 7
K23 6 1
K21 1
K22 2
+ K22 2
K23 7
4 21 5 4 21 5 4 5
2 2 3 2 2 3
0 0 0 0 K32 K33 K31 K32 K33 + K33

page 6 of 11
SCHOOL OF CIVIL ENGINEERING
CIVL3340 L8
Direct Stiffness Method: Truss Elements I

This gives a final global stiffness matrix of:

u1 , v1 u2 , v2 u 3 , v3
2 3
1 3 1 3
K11 + K11 K12 K13
KS = 6
6 1 2 2
7
7
4 K22 + K22 K23 5
2 3
Sym. K33 + K33

Stiffness Equation Solution


The system applied load vector R, nodal displacement vector r, and equivalent applied fixed
end action vector P can be assembled in a similar way to the global stiffness matrix, that is
by summing contributions from each element to each appropriate system DOF. For example,
the figure below shows the previous three element truss system with applied loads and support
reactions. There are two DOFs for each of the three nodes, so R and r are each 6 1 vectors.

50N 8 9 8 9 8 9 8 9
3 100N > u1 >
>
>
>
>
>
>
>
>
>
>
0> >
>
>
>
>
R x,1 >
>
>
>
>
>
R x,1 >
>
>
>
> v1 > > 0> > >
> R >
> >
> R >
y,1 >
< = < >
> > > y,1 > > >
= < = < =
u2 u2 Rx,2 0
3

{r} = = {R} = =
2

>
> v2 >> >
> 0> > >
> Ry,2 >> >
> Ry,2 >>
>
> >
> >
> >
> >
> >
> >
> >
>
>
> u > > u > > R > > 100 >
1 : ; : >
3 > > 3
; >
: x,3 >
; : > >
;
1 2 v3 v3 Ry,3 50

The system stiffness equation is given by {R} = [KS ]{r} + {P }. From the above example, it
can be seen that for free DOFs, reaction forces are zero and displacements are unknown. Con-
versely, for supported DOFs, displacements are typically zero and reaction forces are unknown.
The stiffness equation can be therefore be partitioned into free and supported displacement
components:


Rf Kf f Kf s rf Pf
= +
Rs Ksf Kss rs Ps

If support displacements are all zero, this gives the following solution for free nodal displace-
ments.

} + {P }
[Kf s
{Rf } = [Kf f ]{rf } + ]{r s f
1
{rf } = [Kf f ] ({Rf } {Pf })
The above examples do not show applied loads necessitating the use of equivalent applied fixed
end action vector P . The next lecture will discuss truss problems in which {rs } =
6 0 and {P } =
6 0.

page 7 of 11
SCHOOL OF CIVIL ENGINEERING
CIVL3340 L8
Direct Stiffness Method: Truss Elements I

Once free node displacements are known, support reactions are obtained with:

} + {P }
[Kss
{Rs } = [Ksf ]{rf } + ]{r s s
{Rs } = [Ksf ]{rf } + {Ps }
Member design is based on basic member forces, which are obtained with transformations as:
{S} = [k]{v}
= [k][T ]{r0 }
= [k][T ][LD ]{r}

For a truss element, this simplifies to {S e } = AE


L
< c, s, c, s > {re } where re is a 4 1 vector
containing global nodal displacements of element e.

Example 8.2: Truss Element Stiffness Solution

Solve the nodal displacements, reaction forces, and member forces of truss system shown in
Example 8.1.

Element global stiffness matrices are as follows.


2 3
4 0 4 0
6 0 0 0 7
[K 1 ] = [K 2 ] = 105 6
4
7
2 3
4 0 5
0 0 0 0
Sym. 0 6
5 56 3.46 0 3.46 7
7
2 3 [K ] = 10 4 0 0 5
0.75 1.30 0.75 1.30
6 Sym. 3.46
2.25 1.30 2.25 7
[K 3 ] = [K 4 ] = 105 6
4
7
0.75 1.30 5
Sym. 2.25

The global stiffness matrix has 4 2 = 8 DOFs so has an order of 8. [K 1 ] gives a stiffness
contribution to nodes 1 and 2.

u1 v1 u2 v2 u3 v3 u4 v4
24 0 4 0 0 0 0 03
60 0 0 0 0 0 0 07
6 7
6 4 0 4 0 0 0 0 07
6 7
KS1 = 1056 0 0 0 0 0 0 0 07
6 7
60 0 0 0 0 0 0 07
6 7
60 0 0 0 0 0 0 07
4 5
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0

page 8 of 11
SCHOOL OF CIVIL ENGINEERING
CIVL3340 L8
Direct Stiffness Method: Truss Elements I

[K 2 ] gives a stiffness contribution to nodes 3 and 4.

u1 v1 u2 v2 u3 v3 u4 v4
24 0 4 0 0 0 0 03
60 0 0 0 0 0 0 07
6 7
6 4 0 4 0 0 0 0 07
6 7
KS1+2 = 1056 0 0 0 0 0 0 0 07
6 7
60 0 0 0 4 0 4 07
6 7
60 0 0 0 0 0 0 07
4 5
0 0 0 0 4 0 4 0
0 0 0 0 0 0 0 0

[K 3 ] gives a stiffness contribution to nodes 1 and 3.

u1 v1 u2 v2 u3 v3 u4 v4
2 4.75 1.30 4 0 0.75 1.30 0 03
6 1.30 2.25 0 0 1.30 2.25 0 07
6 7
6 4 0 4 0 0 0 0 07
6 7
KS1+2+3 = 1056 0 0 0 0 0 0 0 07
6 7
6 0.75 1.30 0 0 4.75 1.30 4 07
6 7
6 1.30 2.25 0 0 1.30 2.25 0 07
4 5
0 0 0 0 4 0 4 0
0 0 0 0 0 0 0 0

[K 4 ] gives a stiffness contribution to nodes 2 and 4 and [K 5 ] gives a stiffness contribution to


nodes 2 and 3.

u1 v1 u2 v2 u3 v3 u4 v4
2 4.75 1.30 4 0 0.75 1.30 0 0 3
6 1.30 2.25 0 0 1.30 2.25 0 0 7
6 7
6 4 0 4.75 1.30 0 0 0.75 1.307
6 7
KS1+2+3+4+5 = KS = 1056 0 0 1.30 5.71 0 3.46 1.30 2.257
6 7
6 0.75 1.30 0 0 4.75 1.30 4 0 7
6 7
6 1.30 2.25 0 3.46 1.30 5.71 0 0 7
4 5
0 0 0.75 1.30 4 0 4.75 1.30
0 0 1.30 2.25 0 0 1.30 2.25

Node load and displacement vectors are assembled from system information.

page 9 of 11
SCHOOL OF CIVIL ENGINEERING
CIVL3340 L8
Direct Stiffness Method: Truss Elements I

8 9 8 9 8 9 8 9 8 9
>
> u 1 >
> >
> 0 >
> >
> R x,1 >
> >
> R x,1 >
> >
> 0>>
>
> >
> >
> >
> >
> >
> >
> >
> >
> >
>
> v 1>> >
> 0 >
> >
> R >
y,1 > >
> R y,1 >
> >
> 0>>
>
>
> >
> >
> >
> >
> >
> >
> >
> >
> >
>
>
> u >
> >
> u >
> >
> R >
> >
> 0 >
> >
> 0 >
< >
2 2 x,2
< = < = < = < = =
v2 0 Ry,2 Ry,2 0
{r} = = {R} = = {P } =
>
> u3 >> >
> u3 >> >
> Rx,3 >> >
> 0 >
> >
> 0>>
>
> >
> >
> >
> >
> >
> >
> >
> >
> >
>
>
> v 3 >
> >
> v 3 >
> >
> R y,3 >
> >
> 0 >
> >
> 0 >
>
>
> >
> >
> >
> >
> >
> >
> 5 >
> >
> >
>
>
> u 4>> >
> u 4>> >
> R >
x,4 > >
> 2.82 10 >
> >
> 0 >
: ; : ; : ; : 5; : > ;
v4 v4 Ry,4 2.82 10 0

The stiffness equation is partitioned into free nodal displacements (u2 , u3 , v3 , u4 , v4 ) and fixed
nodal displacements (u1 , v1 , v2 ).


} + {P }
[Kf s
{Rf } = [Kf f ]{rf } + ]{r s f
8 9 8 9
>
> 0 >
> >
> u2 >
>
>
> >
> >
> >
< 0 = < u3 >=
0 = Kf f v 3
>
> > > >
>
> 2.82 105 >>
>
>
>
> u4 >
>
>
: ; : ;
2.82 105 v4

u2 u3 v3 u4 v4
2 4.75 0 0 0.75 1.303
6 0 4.75 1.30 4 0 7
56 7
where Kf f = 10 6 0 1.30 5.71 0 0 7
4 5
0.75 4 0 4.75 1.30
1.30 0 0 1.30 2.25

Solve free nodal displacements.


8 9
>
> 0.41 >
>
>
> >
>
< 9.8 =
1
{rf } = [Kf f ] {Rf } = 2.2
>
> >
>
> 10.9 >>
>
: ;
7.8

Solve support reactions.



} + {P }
[Kss
{Rs } = [Ksf ]{rf } + ]{r s s
8 9
8 9 u2 u3 v3 u4 v4 >
> 0.4 >
> 8 9
" # >
> >
<Rx,1 = 4 0.75 1.30 0 0 < 9.8 >= < 0.28=
Ry,1 = 105 0 1.30 2.25 0 0 2.2 = 106 0.77
: ; >
> >
> : ;
Ry,2 1.30 0 3.46 1.30 2.25 >> 10.9 >
> 1.05
: ;
7.8

page 10 of 11
SCHOOL OF CIVIL ENGINEERING
CIVL3340 L8
Direct Stiffness Method: Truss Elements I

Solve basic member forces for each element.

AE
Se = < c, s, c, s > {re }
L 8 9
>
> 0 >
>
< =
0
S1 5
= 4 10 < 1, 0, 1, 0 > = 1.63 105
>
> 0.4 >
>
: ;
0
8 9
>
> 9.8 >>
< =
2.2
S2 5
= 4 10 < 1, 0, 1, 0 > = 4.46 105
>
> 10.9 >
>
: ;
7.8
8 9
>
> 0 >
>
< =
0
S3 5
= 3 10 < 0.5, 0.866, 0.5, 0.866 > = 8.92 105
>
> 9.8 >
>
: ;
2.2
8 9
>
> 0.4>>
< =
0
S4 5
= 3 10 < 0.5, 0.866, 0.5, 0.866 > = 3.27 105
>
> 10.9 >
>
: ;
7.8
8 9
>
> 0.4 >
>
< =
0
S5 5
= 3.46 10 < 0, 1, 0, 1 > = 7.73 105
>
> 9.8 >
>
: ;
2.2

9.8mm 10.9mm
2.2mm 7.8mm 446kN (T)
C)
(T)

773kN (C)

(
kN
kN

327
892

0.4mm 163kN (C)


282kN 772kN 1056kN

page 11 of 11
SCHOOL OF CIVIL ENGINEERING
CIVL3340 L9
Direct Stiffness Method: Truss Elements II

CIVL3340 L9: Direct Stiffness Method:


Truss Elements II
BY JOE GATTAS, FARIS ALBERMANI

Introduction
The first part of this lecture will examine software implementations of the direct stiffness method.
An implementation of a truss solver in MATLAB is presented along with a review of commercially-
available structural analysis software.

The second part of this lecture will extend the direct stiffness method for truss elements described
in the previous lecture. Three extensions are developed:

1. Use of non-zero support displacements rs to allow for the solution of support settlement
problems.

2. Use of equivalent applied fixed end action vector P to allow for the solution of thermal
change and fabrication error (lack-of-fit) problems.

3. Adjustment of the local-global transformation matrix to allow for the solution of truss sys-
tems with inclined supports.

MATLAB Direct Stiffness Implementation


A MATLAB implementation of a direct stiffness truss solver is available for download from the
course website. Run the script A runTrussAnalysis.m to run the solver. The script loads an input
question (three examples are given) and then sequentially executes three functions to solve the
input truss system: B initialTrussCalcs.m, C assembleStiffnessMatrix.m, and D solveTruss.m.
A fifth function E displayTrussResults.m is also called to display the calculated results. The ex-
ecution script, an example input, functions, and outputs are printed below.

page 1 of 14
SCHOOL OF CIVIL ENGINEERING
CIVL3340 L9
Direct Stiffness Method: Truss Elements II
%Written 2014-05-23 by JMG. Contact j.gattas@uq.edu.au with bugs.
%Updated 2015-05-09.
%Copyright 2015, The Univerersity of Queensland.

%reset + setup
clear; clc; close all;

%Question Inputs: createss trussNodes and trussMembers variables


inputs_Tutorial7;

%Calculate truss lengths, member inclinations, and basic member stiffnesses


[trussMembers,trussPlot] = B_initialTrussCalcs(trussNodes, trussMembers);

%Assemble global stiffness matix


globalStiffness = C_assembleStiffnessMatrix(trussNodes, trussMembers);

%Solve nodal displacements + basic member forces


[trussNodes, trussMembers] = D_solveTruss(trussNodes, trussMembers,globalStiffness);

PublishedwithMATLABR2014b

%Assignment 4 Direct Stiffness - Question 2

P=25e3; %N
E=150e03; %MPa
A=4e3; %mm^2

%elementID, startNode, endNode, youngs, area


trussMembers= [1 1 2 E A
2 2 3 E A
3 4 3 E A/2
4 1 4 E A
5 1 3 E A
6 4 2 E A];

%nodeID , nodeX, nodeY, restraintX, restraintY, loadX, loadY


trussNodes=[1 0 0 1 1 0 0
2 0 4000 1 1 0 0
3 3000 4000 1 0 0 0
4 3000 0 1 0 0 -P];

PublishedwithMATLABR2014b

page 2 of 14
SCHOOL OF CIVIL ENGINEERING
CIVL3340 L9
Direct Stiffness Method: Truss Elements II
function [trussMembers,trussPlot] = B_initialTrussCalcs(trussNodes, trussMembers)
%[trussMembers,trussPlot] = B_initialTrussCalcs(trussNodes, trussElements) appends element lengths,
%alphas, and basic stiffnesses k=EA/L to trussMembers. It also gives back
%trussPlot = [xTruss,yTruss] while is the truss geometry for plotting.
%
%Written 2014-05-23 by Joe Gattas. Contact j.gattas@uq.edu.au with bugs.
%Copyright 2014, The Univerersity of Queensland.

%set up empty data storage


elementCount=size(trussMembers,1);
nodeCount=size(trussNodes,1);
[elementLengths,alphas, basicStiffnesses]=deal(zeros(elementCount,1));
[xTruss,yTruss] = deal(elementCount*3,1);

%calculate data for each element


for counter=1:elementCount
%get element start node
startNode = trussMembers(counter,2);
startNodeLocation = find(trussNodes(:,1)==startNode);
startNodeXY=[trussNodes(startNodeLocation,2),trussNodes(startNodeLocation,3)];
%get element end node
endNode = trussMembers(counter,3);
endNodeLocation = find(trussNodes(:,1)==endNode);
endNodeXY=[trussNodes(endNodeLocation,2),trussNodes(endNodeLocation,3)];

%add truss elements to truss plot


curTrussPlotRow = (counter-1)*3+1;
xTruss(curTrussPlotRow:curTrussPlotRow+2)=[startNodeXY(1);endNodeXY(1);nan]; %nan stops successive elements from being joined
yTruss(curTrussPlotRow:curTrussPlotRow+2)=[startNodeXY(2);endNodeXY(2);nan];

%calculate element attributes


elementLengths(counter) = sqrt((endNodeXY(2)-startNodeXY(2))^2+(endNodeXY(1)-startNodeXY(1))^2);
alphas(counter) = atan2((endNodeXY(2)-startNodeXY(2)) , (endNodeXY(1)-startNodeXY(1)));
basicStiffnesses(counter) = trussMembers(counter,4)*trussMembers(counter,5)/elementLengths(counter);
end

%place into outputs


trussMembers=[trussMembers,elementLengths,alphas, basicStiffnesses];
trussPlot=[xTruss',yTruss'];

end

function [globalStiffness] = C_assembleStiffnessMatrix(trussNodes, trussMembers)


%[globalStiffness] = C_assembleStiffnessMatrix(trussNodes, trussMembers) assembles the global
%stiffness matrix.
%
%Written 2014-05-23 by Joe Gattas. Contact j.gattas@uq.edu.au with bugs.
%Copyright 2014, The Univerersity of Queensland.

%set up empty data storage


elementCount=size(trussMembers,1);
nodeCount=size(trussNodes,1);
globalStiffness=zeros(2*nodeCount,2*nodeCount);
T=[-1 0 1 0];

%calculate and insert element global stiffnesses


for counter=1:elementCount
%convert into local coordinates k^m = T' k T
memberStiffnesLocal=T'*trussMembers(counter,8)*T;
alpha = trussMembers(counter,7);
%convert into global coordinates K^m = Ld' k^m Ld;
L=[cos(alpha) sin(alpha);
-sin(alpha) cos(alpha) ];
Ld = [L L.*0;
L.*0 L ];
memberStiffnessGlobal = Ld'* memberStiffnesLocal * Ld;

%place member stiffness values in global stiffness matrix


%KLoc1 = global stiffness location startNode x and y

KLoc1 = 2*(trussMembers(counter,2)-1)+[1,2];
KLoc2 = 2*(trussMembers(counter,3)-1) +[1,2];
globalStiffness(KLoc1,KLoc1)=globalStiffness(KLoc1,KLoc1)+memberStiffnessGlobal(1:2,1:2);
globalStiffness(KLoc1,KLoc2)=globalStiffness(KLoc1,KLoc2)+memberStiffnessGlobal(1:2,3:4);
globalStiffness(KLoc2,KLoc1)=globalStiffness(KLoc2,KLoc1)+memberStiffnessGlobal(3:4,1:2);
globalStiffness(KLoc2,KLoc2)=globalStiffness(KLoc2,KLoc2)+memberStiffnessGlobal(3:4,3:4);
end

end
page 3 of 14

PublishedwithMATLABR2014b
SCHOOL OF CIVIL ENGINEERING
CIVL3340 L9
Direct Stiffness Method: Truss Elements II
function [trussNodes,trussMembers] = D_solveTruss(trussNodes, trussMembers,globalStiffness)
%[trussNodes,trussMembers] = D_solveTrussCalcs(trussNodes, trussMembers) appends nodal displacements x and y
%to trussNodes. Also replaces trussNodes restraint boolean with support reaction.
%Appends basic member forces S to trussMembers.
%
%Written 2014-05-23 by Joe Gattas. Contact j.gattas@uq.edu.au with bugs.
%Copyright 2014, The Univerersity of Queensland.

%set up empty data storage


elementCount=size(trussMembers,1);
nodeCount=size(trussNodes,1);
nodalDisplacements = zeros(nodeCount*2,1);
basicForces=zeros(elementCount,1);
T=[-1 0 1 0];

%put node data in vector format


restraint=reshape(trussNodes(:,4:5)',[],1);
%supportReactions
supportReactions = zeros(nodeCount*2,1);
%appliedLoads=R
appliedLoads =reshape(trussNodes(:,6:7)',[],1);
%fixedEndActions=P
fixedEndActions = zeros(nodeCount*2,1);

%solve free node displacements rf


freeNodeLocations = find(~restraint);
supportNodeLocations = find(restraint); %restrained
Rf = appliedLoads(freeNodeLocations);
Pf = fixedEndActions(freeNodeLocations);
Kff = globalStiffness(freeNodeLocations,freeNodeLocations);
%rf = Kff^-1 * (Rf-Pf);
rf = Kff\(Rf-Pf);
%insert free nodal displacements into all nodal displacements
nodalDisplacements(freeNodeLocations) = rf;

Ksf = globalStiffness(supportNodeLocations,freeNodeLocations);
Rs = Ksf * rf;
supportReactions(supportNodeLocations) = Rs;

%solve basic member forces for each element


for counter=1:elementCount
%set up coordinate conversions matrices
startNode = trussMembers(counter,2);
endNode = trussMembers(counter,3);

KLoc1 = 2*(startNode-1)+[1,2];
KLoc2 = 2*(endNode-1) +[1,2];
alpha = trussMembers(counter,7);
L=[ cos(alpha) sin(alpha);
-sin(alpha) cos(alpha) ];
Ld = [L L.*0;
L.*0 L ];

basicForces(counter) = trussMembers(counter,8)*T*Ld*nodalDisplacements([KLoc1,KLoc2]);
end

%place into outputs


trussMembers=[trussMembers,basicForces];
trussNodes(:,4:5) = reshape(supportReactions,2,[])';
trussNodes = [trussNodes,reshape(nodalDisplacements,2,[])'];

end

PublishedwithMATLABR2014b

page 4 of 14
SCHOOL OF CIVIL ENGINEERING
CIVL3340 L9
Direct Stiffness Method: Truss Elements II
A - Define problem:

trussMembers =

1.0e+05 *

Columns 1 through 7

0.0000 0.0000 0.0000 1.5000 0.0400 0.0400 0.0000


0.0000 0.0000 0.0000 1.5000 0.0400 0.0300 0
0.0000 0.0000 0.0000 1.5000 0.0200 0.0400 0.0000
0.0000 0.0000 0.0000 1.5000 0.0400 0.0300 0
0.0001 0.0000 0.0000 1.5000 0.0400 0.0500 0.0000
0.0001 0.0000 0.0000 1.5000 0.0400 0.0500 0.0000

Columns 8 through 9

1.5000 0
2.0000 0
0.7500 0.0827
2.0000 0
1.2000 -0.1033
1.2000 0.2092

trussNodes =

1.0e+04 *

Columns 1 through 7

0.0001 0 0 0.6200 0.8267 0 0


0.0002 0 0.4000 -1.2550 1.6733 0 0
0.0003 0.3000 0.4000 -0.6200 0 0 0
0.0004 0.3000 0 1.2550 0 0 -2.5000

Columns 8 through 9

0 0
0 0
0 -0.0000
0 -0.0000

E =

150000

A =

4000

B - Calculate basic member properties:

lenghths =

4000
3000
4000
3000
5000
5000

alpha =

90.0000
0
90.0000
0
53.1301
126.8699

k =

150000
200000
75000
200000
120000
120000
page 5 of 14
C - Assemble global stiffness matrix:

globalStiffness =
SCHOOL OF CIVIL ENGINEERING
CIVL3340 L9
Columns 1 through 7
Direct Stiffness Method: Truss Elements II
2.4320 0.5760 -0.0000 -0.0000 -0.4320 -0.5760 -2.0000
0.5760 2.2680 -0.0000 -1.5000 -0.5760 -0.7680 0
-0.0000 -0.0000 2.4320 -0.5760 -2.0000 0 -0.4320
-0.0000 -1.5000 -0.5760 2.2680 0 0 0.5760
-0.4320 -0.5760 -2.0000 0 2.4320 0.5760 -0.0000
-0.5760 -0.7680 0 0 0.5760 1.5180 -0.0000
-2.0000 0 -0.4320 0.5760 -0.0000 -0.0000 2.4320
0 0 0.5760 -0.7680 -0.0000 -0.7500 -0.5760

Column 8

0
0
0.5760
-0.7680
-0.0000
-0.7500
-0.5760
1.5180

D - Solve truss:

memberForces =

1.0e+04 *

0
0
0.8267
0
-1.0334
2.0916

supportReactions =

1.0e+04 *

0.6200 0.8267
-1.2550 1.6733
-0.6200 0
1.2550 0

displacement =

0 0
0 0
0 -0.1076
0 -0.2179

page 6 of 14
PublishedwithMATLABR2014b
SCHOOL OF CIVIL ENGINEERING
CIVL3340 L9
Direct Stiffness Method: Truss Elements II

Commercial Structural Analysis Software


MATLAB and structural analysis software (SpaceGass and Strand7) are available in EAIT com-
puter labs. Problems with any of the computer lab installations should be reported to:
mailto:student-helpdesk@eait.uq.edu.au. Personal student software installations are also
available but technical support is not provided by the university for these installations.

Matlab

The University of Queensland has a license for undergraduates to use MATLAB for study or re-
search but not for use in commercial applications. Installation instructions are here: https://
www.its.uq.edu.au/student-matlab?pid=883. Numerous MATLAB toolboxes (including struc-
tural analysis toolboxes) are available for free from File Exchange http://au.mathworks.com/
matlabcentral/fileexchange/.

Space Gass

Space Gass is a common analysis software http://www.spacegass.com/. The link for this years
student version is www.spacegass.com/exes/electron/student. The student version has no
size restrictions and is therefore suitable for any sized student projects. It will expire at the end
of March next year. Most first time users find that they can become productive with the program
in just a few hours. It is very intuitive and comes with a comprehensive (600+ page) electronic
reference manual. A suite of training videos at http://www.spacegass.com/training will get
you up to speed with SPACE GASS very quickly. If you get an expiry message when you run
Spacegass new version, refer to www.spacegass.com/reset.

Miscellaneous

Instant Structural Analysis (iSA): Structural analysis software available to civil staff and
research students.

Microstran: An analysis software available in the EAIT computer labs but no longer com-
mercially distributed.

Oasys GSA: In-house analysis software of Arup and available commercially.

Strand7 : Finite element analysis software available in EAIT computer labs.

Abaqus: Finite element analysis software available to civil staff and research students.

page 7 of 14
SCHOOL OF CIVIL ENGINEERING
CIVL3340 L9
Direct Stiffness Method: Truss Elements II

Extended Truss Analysis: Support Settlement


Support settlements are non-zero boundary displacements. For a truss element, these may be
introduced directly into the nodal displacement vector r. Once partitioned, the supported node
displacements rs are therefore non-zero. The stiffness solution then becomes:

{Rf } = [Kf f ]{rf } + [Kf s ]{rs } + {Pf }


{rf } = [Kf f ] 1 ({Rf } [Kf s ]{rs } {Pf })

where ({Rf } [Kf s ]{rs } {Pf }) is the effective nodal forces. The supported node displacements
rs are similarly retained in the support reaction equation:

{Rs } = [Ksf ]{rf } + [Kss ]{rs } + {Ps }

Extended Truss Analysis: Thermal Changes


Thermal changes in a truss element induce a change in length. For a truss element with length
L, coefficient of thermal expansion , cross section area A, and temperature change T , this
length change is equal to:
T = L T

In a statically-indeterminate truss, the thermally-induced length change is restrained so addi-


tional system forces are induced. This is equal to:

AE
PT = T = EA T
L

Note the negative sign as this is the force required to oppose a thermal change in length. This is
a force exhibited in the basic system. It can be expressed in the global system through transfor-
mations described in the previous lecture. This gives:
8 0 9 2 38 9 8 9
>
> Px,i >
> c s 0 0 > > 1>
> >
> c >
< 0 = 6 < = < > =
Py,i s c 0 07 0 s
{P } = = LTD T T S = 6
4
7 PT = EA
>
> P 0
>
> 0 0 c s5 >
> 1>>
T
>
> c>
: x,j
0 ; : ; : > ;
Py,j 0 0 s c 0 s

Once expressed in the global system, the thermally-induced forces can be introduced into the
stiffness matrix equation within the an equivalent applied fixed end action vector P . This is par-
titioned into free and supported vectors to solve for rf and Rs using the above equations. Basic
member force can still be calculated directly from nodal displacements but must also include the
basic thermally-induced load:
{S} = [k][T ][LD ]{r} + PT

page 8 of 14
SCHOOL OF CIVIL ENGINEERING
CIVL3340 L9
Direct Stiffness Method: Truss Elements II

Extended Truss Analysis: Fabrication Errors


Fabrication errors in trusses systems induce a similar effect to themally-induced changes, i.e. a
change in length is restrained so additional system forces are induced. The fabrication error
change can be incorporated directly in to the above system, with element over-size positive and
under-size negative.

8 0 9 8 9
>
> P > > >
> c >
< x,i
0 = AE < > =
Py,i s
{P } = 0 =
> P
> x,j >> L > c>
> >
: 0 ; : ;
Py,j s

Example 9.1: Truss Support Settlement and Thermal Change

Shown below is a truss structure with three elements and four nodes. It is subject to a horizontal
load, a vertical load, a thermal change, and a support settlement as shown. Use the direct
stiffness method to calculate free node displacements, reaction forces, and member forces. All
elements have A =80mm2 , E =200GPa and =1.2 10 5 / C.

E=200GPa 6kN
A=80mm2
o
=1.2x10-5/ C 5kN
All elements AE
0 Co

4m
+2

2.5mm

3m

Tabulate a definition of the system. Assign coordinate system, node numbers, element numbers,
and element directions.

page 9 of 14
SCHOOL OF CIVIL ENGINEERING
CIVL3340 L9
Direct Stiffness Method: Truss Elements II

2 1 1

3
2
3 4

EID i j E A L AE/L c s cs
1 1 2 2 10 5
80 3 10 3
5.33 10 3
-1 0 0
2 1 3 2 105 80 5 103 2.21 3.2 103 -0.6 -0.8 0.48
3 1 4 2 105 80 4 103 /2 4 103 0 -1 0

Element global stiffness matrices are as follows.


2 3
5.33 0 5.33 0
6 0 0 0 7
[K 1 ] = 103 6
4
7
2 3
5.33 0 5
0 0 0 0
Sym. 0 6 4 0 4 7
2 3 [K 3 ] = 103 6
4
7
0 0 5
1.15 1.54 1.15 1.54
6 Sym. 4
2.05 1.54 2.05 7
[K 2 ] = 103 6
4
7
1.15 1.54 5
Sym. 2.05

Assemble global stiffness matrix.

u1 v1 u2 v2 u3 v3 u4 v4
2 6.45 1.54 5.33 0 1.15 1.55 0 03 u1
6 6.05 0 0 1.54 2.05 0 47 v1
6 7
6 5.33 0 0 0 0 07 u2
6 7
KS = 1036 0 0 0 0 07 v2
6 7
6 1.15 1.54 0 07 u3
6 7
6 2.05 0 07 v3
4 5
0 0 u4
Sym. 4 v4

page 10 of 14
SCHOOL OF CIVIL ENGINEERING
CIVL3340 L9
Direct Stiffness Method: Truss Elements II

The basic thermally-induced load in element two is given by:

PT2 = EA T = 3840

which is expressed in the global system as:

8 9 2 2.303 u1
>
> c >
< > = 6 3.077 v1
s
{P } = EA T = 1034 2.30
5
u3
> c>
> >
: ; 3.07 v3
s

Node load and displacement vectors are assembled from system information. Displacement
vector includes support settlement.
8 9 8 9 8 9 8 9 8 9 8 9
>
> u 1 >
> >
> u 1 >
> >
> R x,1 >
> >
> 5000 >
> >
> P x,1 >
> >
> 2.30 >
>
>
> >
> >
> >
> >
> >
> >
> >
> >
> >
> >
> >
>
>
> v 1 >
> >
> v 1 >
> >
> R y,1 >
> >
> 6000 >
> >
> P y,1 >
> >
> 3.07 >
>
> >
> > > > >
> >
> > >
> > >
> >
> >
> >
> >
>
>
> u 2>> >
> 0 >
> >
> R >
x,2 > >
> R >
x,2 > >
> P >
x,2 > >
> 0 >
>
< = < = < = < = < = < =
v2 0 Ry,2 Ry,2 Py,2 3 0
{r} = = {R} = = {P } = = 10
>
> u3 >> >
> 0 > > >
> Rx,3 >> >
> Rx,3 >> >
> Px,3 >> >
> 2.30 >>
>
> >
> >
> >
> >
> >
> >
> >
> >
> >
> >
> >
>
>
> v 3 >
> >
> 2.5 >
> >
> R y,3 >
> >
> R y,3 >
> >
> P y,3 >
> >
> 3.07 >
>
>
> >
> >
> >
> >
> >
> >
> >
> >
> >
> >
> >
>
>
> u > > 0 > > R > > R > > P > > 0 >
: > 4
; > : >
; >
: x,4 >
; > : x,4 >
; >
: x,4 >
; >
: >
;
v4 0 Ry,4 Ry,4 Py,4 0

The stiffness equation is partitioned into free nodal displacements (u1 , v1 ) and fixed nodal dis-
placements (u2 , v2 , u3 , v3 , u4 , v4 ). Solve for free nodal displacements.

{Rf } = [Kf f ]{rf } + [Kf s ]{rs } + {Pf }


{rf } = [Kf f ] 1 ({Rf } [Kf s ]{rs } {Pf })
0 8 9 1
>
> 0 >
>
B >
> >
> C
B > 0 >
0 < 0 >
> C
1
6.45 1.54 B 5.33 0 1.15 1.54 0 =
u1 B 5000 2300 C
C
= 103 1.54 6.05 B 103 0 0 1.54 2.05 0 4
v1 B 6000 >
> 2.5>
> 3070 C
C
@ >
> >
> A
>
> 0 >
>
: ;
0

.74
=
1.14

page 11 of 14
SCHOOL OF CIVIL ENGINEERING
CIVL3340 L9
Direct Stiffness Method: Truss Elements II

Solve support reactions.

{Rs } = [Ksf ]{rf } + [Kss ]{rs } + {Ps }


8 9 2 5.33 0 3 2 5.33 0 0 0 0 038 9 8 9
>
> R >
> > 0 > > 0 >
07> >
> > >
x,2
>
> > 6 0 0 7 6 0 0 0 0 > > >
>
> Ry,2 >>
> 6 7 6 7>> 0 >> >
> 0 >
>
<
Rx,3
= 6 1.15 1.547 .74 6 1.15 1.54 0 07 >
<
0
>
= < >
2300
>
=
= 1036
6 1.54 2.05
7
7 + 1036
6 2.05 0
7
07 +
>
> Ry,3 >> 4 5 1.14 4 5> 2.5> >3070>
>
>
> R
>
>
> 0 0 0 0 >>
>
> 0 >
>
> >
>
>
>
> 0 >
>
>
>
>
: x,4 > ; 0 4 Sym. 4 >: >
; : > >
;
R y,4 0 0
8 9
>
> 3.93>>
>
> >
>
>
> 0 >
>
< =
3 1.07
= 10
>
> 1.43>>
>
> >
> 0 >
> >
>
: ;
4.57

Solve basic member forces for each element.

AE
Se = < c, s, c, s > {re } + {PTe }
L 8 9
>
> .74 >
>
< =
1 3 1.14
S = 5.33 10 < 1, 0, 1, 0 > + 0 = 3.93 103
>
> 0 >
>
: ;
0
8 9
>
> .74 >
>
< =
2 3 1.14
S = 3.2 10 < 0.6, 0.8, 0.6, 0.8 > 3840 = 1.78 103
>
> 0 >
>
: ;
2.5
8 9
>
> .74 >
>
< =
3 3 1.14
S = 4 10 < 0, 1, 0, 1 > + 0 = 4.57 103
>
> 0 >
>
: ;
0

page 12 of 14
SCHOOL OF CIVIL ENGINEERING
CIVL3340 L9
Direct Stiffness Method: Truss Elements II

0.74mm 3.93kN 3.93kN (C)


1.44mm

4.57kN (C)
)
(C
N
8k
1.7
2.5mm
1.07kN 4.57kN
1.43kN

Extended Truss Analysis: Inclined Supports


Certain structural systems have have support restraint that is not aligned with the global co-
ordinate system. So called inclined supports can be accounted for in the stiffness equation by
adjusting the member stiffness of all elements connected to the inclined support to give aligned
stiffness values. Stiffness values can be expressed in a nodal coordinate system x00 y 00 where
x00 is aligned with the free displacement direction in the inclined roller. An inclined roller condition
can then be the implemented in the stiffness matrix as a zero displacement in the y 00 direction.

To formulate stiffness in this coordinate system, an inclined nodal rotation matrix L0B is used with
inclination angle 0 between
x00 and the element axis. The element global transformation
0 matrix
LB 0 LB 0
then becomes LD = if the inclined support occurs at element node j, or for
0 L0B 0 LB
node i. Element global stiffness is then derived as follows.
[K] = LTD k 0 LD
y x 2 3
c2 cs cc0 cs0
j
y [K] =
AE 6
6 s2 c0 s ss0 77
L 4 c02 c 0 s0 5
x Sym. s02
i
where c0 = cos 0 and s0 = sin 0 .

Example 9.2: Inclined Support Element Stiffness formulation

Shown below is a truss system with an inclined roller support at node one. Calculate the inclined
nodal stiffness K11 . Assume AE for all members.

page 13 of 14
SCHOOL OF CIVIL ENGINEERING
CIVL3340 L9
Direct Stiffness Method: Truss Elements II

3 4m

1 2 2 3
o 1 4
30

4m 4m

Element one
L = 4m
i0 = /6, c0 = 0.866, s0 = 0.5, c0 s0 = 0.433
y y j = 0, c = 1, s = 0, cs = 0
x 2 3
0.187 0.108 0.217 0
i j 6 0.125 0 7
x [K 1 ] = AE 64
0.063 7
0.25 0 5
Sym. 0

Element two
y L = 5.66m
x i0 = 5/12, c0 = 0.259, s0 = 0.966, c0 s0 = 0.25
j j = /4, c = 0.707, s = 0.707, cs = 0.5
2 3
0.012 0.044 0.032 0.032
y 6 0.165 0.121 0.121 7
[K 2 ] = AE 6
4
7
0.088 0.088 5
i x
Sym. 0.088


1 2 0.199 0.152
K11 = K11 + K11 = AE
0.152 0.228

page 14 of 14
SCHOOL OF CIVIL ENGINEERING

CIVL3340 L10
Direct Stiffness Method: Beam Elements

CIVL3340 L10
Direct Stiffness Method: Beam Elements
by Joe Gattas, Faris Albermani

Introduction
The direct stiffness method can be applied to beam elements. Beam elements are taken here to
mean elements with a rotational and vertical translational nodal degrees of freedom, an orientation
restricted to alignment with the global x axis, and no axial effects.

Beam Element Force Transformations


Basic
I J
Mi
Mi Mj {S} =
Mj

Local = Global
Y Z S T
_
_ Fy,i _
_ 1/L 1/L
_
]M _ W 1
^
W 0 XX
{F } = {F } = i
=W X {S} = T T S
_
_
_F _
y,j _
_
U1/L 1/L V
[ \
Fy,i Fy,j Mj 0 1
C D
Mi 1/L 1 1/L 0
Mj where T =
1/L 0 1/L 1
and LD = [I]

q
Fy,i = Mi /L + Mj /L can be shown from M@j = Mi +
q
Mj Fy,i L and Fy,i = Fy,j can be shown from Fy = 0.

page 1 of 9
SCHOOL OF CIVIL ENGINEERING

CIVL3340 L10
Direct Stiffness Method: Beam Elements

Beam Element Displacement Transformations


Basic
I J
i
i j {v} =
j

Local = Global
Y Z
_ vi _
_
_ _
] _ ^
j {r} = {r } = i

i _
_
_vj _
_
[ _ \
vj j
vi C D
1/L 1 1/L 0
and {v} = {r } = T r
1/L 0 1/L 1

Beam Element Stiffness Transformation


Basic
C D
k ii k ij 2EI 2 1
k jj [k] =
1 2
k jj L

Local=Global
S 12EI 6EI 12EI 6EI T
L3 L2 L3 L2
W X
Kij W
W
4EI 6EI
L2
2EI X
X
Kii Kjj [K] = [k ] = T T kT = W L L X
Kji W
W
U
12EI
L3
6EI
L2
X
X
V
4EI
Sym. L

Member Loads / Fixed End Actions


Member loads, i.e. loads that dont occur at joint (node) locations, are common in beam systems.
The stiffness matrix is expressed in terms of nodal forces and displacements, so equivalent fixed end
action vector P must be used to account for non-nodal loads.

If a beam element is assumed restrained against all displacements, i.e. fully fixed, an applied member
load will generate a fixed end action. Fixed end moments from common member loads are listed
in handout L0 - fixed end moments. Fixed end vertical forces can be calculated from equilibrium
equations. Reversed fixed end actions can be used to replace an applied member force with nodal
forces that generate equivalent displacements. From linear superposition, multiple equivalent actions
generated at any given node may be summed to assemble the system equivalent fixed end action

page 2 of 9
SCHOOL OF CIVIL ENGINEERING

CIVL3340 L10
Direct Stiffness Method: Beam Elements

vector.

Point load P at element mid-span.

PL/8 P PL/8
Y
P/2 Z
_ _
_
] _
P L/8^
{P } = _
P
[ P/2 _
_ _
\
P/2 P/2 P L/8
L/2 L/2
Uniformly distributed load w.

2
wL/12 w 2
wL/12 Y
wL/2 Z
_ _
_ _
wL2 /12^
]
{P w } = _
[ wL/2 _
_ _
\
2
wL/2 wL/2 wL /12
L/2 L/2

Member Forces
Element member forces can be formulated in the basic or local (= global) system. Formulation in
the local system will include member bending and shear forces and is given by:
Y Z
_ Fy,i _
_
_ _
]M _ ^
{F e } = i
= [K e ]{re } + {P e }
_
_
_Fy,j _
_
_
[ \
Mj

The direct stiffness method gives element forces in terms of the joint convention for positive force
direction. Beam system bending moment and shear force diagrams are typically expressed in terms
of the beam convention. A comparison between the two is shown below. It can be seen that Mi and
Fy,j should have their signs reversed when converting from a joint to a beam convention.

Joint Convention Positive Beam Convention Positive


Fy,i Fy,j Fy,i Fy,j
Mi Mj Mi Mj

page 3 of 9
SCHOOL OF CIVIL ENGINEERING

CIVL3340 L10
Direct Stiffness Method: Beam Elements

Example 10.1: Beam Element Stiffness Method

Solve the below structure consisting of beam elements. Assume L=4m, P=3kN, E=210GPa, and
I=2.5108 mm4 .

All EI 2P PL P P

4@L/2

Tabulate a definition of the system.

1 1 2 2 3

EID i j E I L
1 1 2 2.1105 2.5108 4000
2 2 3 2.1105 2.5108 4000

Element global stiffness matrices are as follows.

v1 1 v2 2 v2 2 v3 3
S 9.819.7e3 9.8 19.7e3 T S 9.8 19.7e3 9.8 19.7e3 T
W
[K 1 ] = 103W 52.5e6 19.7e3 26.3e6 X W
X [K 2 ] = 103W 52.5e6 19.7e3 26.3e6 XX
U 9.8 19.7e3V U 9.8 19.7e3V
Sym. 52.5e6 Sym. 52.5e6

Assemble the global stiffness matrix.


v1
1 v2 2 v3 3
S
9.8
19.73 9.8 19.7e3 0 0 T v1
S T W
1
K11 1
K12 0 W 52.5e6 19.7e3 26.3e6 0 0 X X 1
1+2
[KS ] = 103
U K22 2 V W
K23 = W 19.7 0 9.8 19.7e3 XX v2
W X
Sym. 3
K22 W
W 105e6 19.7e3 26.3e6 X
X 2
U 9.8 19.7e3V v3
Sym. 52.5e6 3

page 4 of 9
SCHOOL OF CIVIL ENGINEERING

CIVL3340 L10
Direct Stiffness Method: Beam Elements

Convert member (non-node) loads to equivalent applied node loads.

Element 1: Point load 2P at element mid-span. Element 2: Point load P at element mid-span.
Y
_ P Z_ v1 Y
3 _
Z Y
_ P/2 Z
_ v2 Y Z
1.5 _
_
] _
^ _
_ _ _
] _
^ _
_ _
P L/4 1 _
] 3000 _
^ P L/8 2 _
] 1500 _
^
1 3 1 3
[P ] = _ P _ v = 10 _ [P ] = _ P/2 _ v = 10 _
_
[ _
\ 2
_
_ 3 __
_
_
[ _
\ 3
_
_ 1.5 _
_
_
P L/4 2 [
3000
\ P L/8 3 [
1500
\

Assemble applied node load, equivalent node load, and node displacement vectors.
Y Z Y Z Y Z Y Z Y Z Y Z
_v_ _ 0_ _Fy,1 _ _ Fy,1 _ _ Py,1 _ _ 3 _
_ 1_
_ _ _
_ __ _
_ _
_ _
_ _
_ _
_ _
_ _
_ _
_
_0_ 3000 _
_
_ _
_ _
_ _
_ _
_ _
_ _
_ _
_ _
_ _
_ _
_ _
_ 1 _
_
_ _ _ _ _
_ M 1 _
_ _
_ M1 _
_ _
_P M,1 _
_ _
_ _
_
]v _ ^ _
]0_^ _
]F _ ^ _
] F
_
^ _
]P _ ^ _
] 4.5
_
^
{r} = _ 2 _ = {R} = y,2
= y,2
{P } = y,2
= 103
_
_ 2 _
_
_
_
_2 _
_
_
_
_
_ M2 _ _
_
_
_
_ 12 106 _ _
_
_
_
_PM,2 _ _
_
_
_
_1500__
_
_ _ _ _ _ _ _ _ _ _ _ _
_
_
_
_
v 3
_
_
_
_
_
_
_
_
0 _
_
_
_
_
_F y,3
_
_
_
_
_
_Fy,3 + 3000_
_
_
_
_
_ P y,3
_
_
_
_
_
_ 1.5 _
_
_
[ \ [ _ \ _
[ _
\ _
[ _
\ _
[ _
\ _
[ _
\
3 3 M3 0 PM,3 1500

Solve free node displacements 2 and 3 .


} + {P }
{Rf } = [Kf f ]{rf } +
[Kf s
]{r s f
{rf } = [Kf f ] ({Rf } {Pf })
1
I J C D1 AI J I JB
2 1.05e11 0.26e11 12 106 1.5 106
=
3 0.26e11 0.53e11 0 1.5 106
I J
0.139
= 103
0.041

Solve support reactions.


} + {P }
{Rs } = [Ksf ]{rf } +
[Kss
]{r s s
Y Z S T Y Z
_
_ Fy,1 _
_ 19.7 0 I J _
_ 3 __
_ _ _ _
6 W26.23e3 0 X 3 0.139 3 3000
] M1 ^ W X ] ^
= 10 W X 10 + 10
_
_
_ Fy,2 _
_
_
U 0 19.7 V 0.041 _
_
_ 4.5 _
_
_
[ \ [ \
Fy,3 + 3000 19.7 19.7 1.5
Y Z
5.73 _
_
_ _
_ _
3 6640
] ^
= 10 , where Fy,3 + 3000 = 0.42e3, so Fy,3 = 3420
_
_
_ 3.70 _
_
_
[ \
0.42

page 5 of 9
SCHOOL OF CIVIL ENGINEERING

CIVL3340 L10
Direct Stiffness Method: Beam Elements

13.9e-5 -4.1e-5

6.64kNm

5.73kN 3.70kN 3.42kN

Solve member forces in the local system.

Y Z
_
_ Fy,i _
_
_
] _
M ^
{F e } = _ i _ = [K e ]{re } + {P e }
_
_Fy,j _
_
[ \
Mj
Y Z 19.7e3
S 9.8
9.8 19.7e3 T Y 0
Z Y
3 _
Z
_Fy,1 _
_ _ _ _
_
]M _
_
^ W 52.5e6 19.7e3 26.3e6 X
X]
_
_
0
_
_
^
_
_ _
] 3000 _
^
1 3W 3
{F } =
1
= 10 U 9.8 V
19.7e3 _ + 10
_
_Fy,2 _
_ _ 0 _
_ _
_ 3 _ _
_
[
M2
_
\ Sym. 52.5e6 _
[
13.9 10
_
5 \
_
[
3000
_
\

Y Z
_
_ 5.73 _ _
_
]6.64 103 _
^
= 103 _
_
_ 0.27 _ _
_
[ 3\
4.29 10
Y Z
Fy,2 _
S 9.8
19.7e3 9.8 19.7e3 T Y 0
Z Y Z
1.5 _
_ _ _ _
_
_
]M _
_
^ W
W 52.5e6 19.7e3 26.3e6 X
X
_
_ _
] 13.9 105 _
^
_
_ _
] 1500 _
^
2
{F 2 } = = 103U 9.8 19.7e3V + 103
_
_Fy,3 _
_ _
_ 0 _
_ _
_ 1.5 _
_
_
[
M3
_
\ Sym. 52.5e6 _
[
4.1 10
_
5 \
_
[
1500
_
\

Y Z
_
_ 3.43 _ _
_
]7.71 103 _
^
= 103
_
_
_ 0.43 _
_
_
[ \
0

page 6 of 9
SCHOOL OF CIVIL ENGINEERING

CIVL3340 L10
Direct Stiffness Method: Beam Elements

Bending -6.64kNm -7.71kNm

-0.86kNm
0kNm

4.82kNm 4.29kNm

Shear -0.27kN
0.43kN
3.43kN
5.73kN

Beam Support Settlement


Beam support settlement can be incorporated into the stiffness solution in the same manner as
described for truss elements, i.e. with rs = 0. Alternatively, support settlement can be incorporated
as equivalent fixed end actions.

Vertical displacement support settlement at element node j.

6EI/L2 6EI/L2 Y
12EI /L3 Z
_
_ _
_
]6EI /L2 ^
{P } = _
_ 12EI /L3 _
[ _
\
3 3 2
6EI /L
12EI/L 12EI/L
L/2 L/2

Example 10.2: Beam Element Support Settlement

Assemble the system equivalent fixed end action vector for the below beam structure. Incorporate
both support settlements and applied member loads into the fixed end action vector. Assume EI
for all elements.

page 7 of 9
SCHOOL OF CIVIL ENGINEERING

CIVL3340 L10
Direct Stiffness Method: Beam Elements

A B

LA LB LC

From left to right, nodes are numbered 1,2,3,4 and elements are numbered 1,2,3.

Element 1 has ith node 1 and j th node 2. There is a support settlement A at the j th node. The
equivalent fixed end action for this is as follows.

Y Z Y Z
_
_Fy,1 _
_ _
_12 A /L3A _
_
_
]M _ _ _
1
^ ] 6 /L2 ^
{P 1 } = = {P ,j
} = EI A A
_
_
_Fy,2 _
_
_
_
_
_ 12 3
A /LA _
_
_
[ \ [ 2 \
M2 6 A /LA

Element 3 has ith node 3 and j th node 4. There is a support settlement B at the ith node. The
equivalent fixed end action for this is as follows. Note that the signs are reversed as in a fixed
end beam, a downwards ith node displacement generates the same effect as an upwards j th node
displacement.

Y Z Y Z
_
_Fy,3 _
_ 12 B /L3C _
_ _
_
_
]M _ _ _
3 3
^ 6 B /L2C ^ ]
{P } = = {P } = EI
,i
3_
Fy,4 _ _12 B /LC _
_
_ _ _
_
_
[ _
\ [ _
\
M4 6 B /L2C

Element 2 has ith node 2 and j th node 3. There is a support settlement A at the ith node, a
support settlement B at the j th node, and an applied distributed member load w. The equivalent
fixed end action for this is as follows.

page 8 of 9
SCHOOL OF CIVIL ENGINEERING

CIVL3340 L10
Direct Stiffness Method: Beam Elements

Y Z
_
_Fy,2 _
_
_
]M _ ^
{P 2 } = _ 2 _ = {P ,i
} + {P ,j
} + {P w }
_
_Fy,3 _
_
[ \
M3
Y Z Y 3Z Y Z
_
_ 12 A /L3B _
_ _
_12 B /LB _
_ _
_ wLB /(2EI) _
_
_ _ _ 2 _ _ _
] 6 A /L2B ^ ] 6
B /LB
^ ]wL2 /(12EI)^
= EI + EI + EI B
_
_
_12 A /L3B _
_
_
_
_
_ 12 3 _
B /LB __
_
_
_ wLB /(2EI) _
_
_
[ 2 \ [ 2 \ [ \
6 A /LB 6 B /LB
2
wLB /(12EI)

The system equivalent fixed end action vector is the sum of member fixed end action vectors.

Y Z QY Z Y Z Y ZR
_
_
_
F y,1 _
_
_
_
_
_
12 3
A /LA __
_
_
_
_
0 _
_
_
_
_
_
0 _
_
_
_
_
_
_ M 1
_
_
_
_
c_
_
_ 6
c_ 2 _
A /LA _
_
_
_
_
_
_ 0 _
_
_
_
_
_
_
_ 0 _
_
_
_
d
d
_ _ c_ 3 _ _ _ _ _d
_ 12 12 A /L3B 12 B /L3B wLB /(2EI) _ 0
_
_ _ c_ _ _ _ _
_ y,2 _
_F _
_
_
c_ A /LA _ _
_
_
_
_
_
_
_
_
_
_
_
_
_
d
d
_
]M _ c_ 2 _ _ _ _ _
2
^ ] 6
A /LA
^ 6 A /LB 6 B /LB wLB /(12EI)
] 2 2 2 ^ ] 0 ^d
{P } = = EI c
c + + 3 _d
d
_
_
_Fy,3 __
_
c_
c_
_ 0 _
_
_
_
_
_12 A /LB + 12 B /LB wLB /(2EI)_
3 3 _
_
_
_
_ 12 B /LC _ _
d
d
_ _ _ _ _ _ _ _
_
_
_
_
M 3
_
_
_
_
c_
c_
_
_
0 _
_
_
_
_
_
_
_
6 A /L 2
B 6 B /L 2
B + wL 2
B /(12EI) _
_
_
_ _
_
_
_
_
6 B /L 2
C
_
_
_
_
d
d
_ _ c_ _ _ _ 3 _d
_
_
_
_
_
F y,4
_
_
_
_
a_
_
_
_
0 _
_
_
_
_
_
_ 0 _
_
_
_
_
_12 B /L C__b
\ _ _
\ _ _
[
M4 \ [
0 [
0 [
6 B /L2C \

page 9 of 9
SCHOOL OF CIVIL ENGINEERING
CIVL3340 L11
Direct Stiffness Method: Frame Elements

CIVL3340 L11
Direct Stiffness Method: Frame Elements
BY JOE GATTAS, FARIS ALBERMANI

Introduction
The direct stiffness method can be extended to frame elements by combining the axial load
derivations of truss elements with the bending load derivations of beam elements. Frame ele-
ments therefore have horizontal translational, vertical translational, and rotational nodal degrees
of freedom.

Frame Element Force Transformations


Basic
8 9
< Mi =
Mi Mj {S} = Mj
P : ;
P

Local
8 0 9 2 3
>
> Fx,i >> 0 0 1
>
> 0 > > 6
Fy,j >
> F > 6 1/L 1/L 07
< y,i > = 6 7

Fx,j Mi 1 0 07
{F 0 } = =66
7 {S} = T T S
>
> F 0
>
x,j > 6 0 0 17 7
>
> 0 > >

Fx,i Mj >
> F > 4 1/L
: y,j > ;
1/L 05
Fy,i Mj
2
0 1 0
3
0 1/L 1 0 1/L 0
Mi where [T ] = 4 0 1/L 0 0 1/L 1 5
1 0 0 1 0 0

Global

page 1 of 10
SCHOOL OF CIVIL ENGINEERING
CIVL3340 L11
Direct Stiffness Method: Frame Elements
8 9 2 3
>
> F x,i >
> c s 0 0
0 0
>
> > 6
>
> F > s c 0 0 07
0
Fy,j >
<
Mi
y,i >
= 6 60 0 1 0 07
0
7
Fx,j {F } = =6 7 {F 0 } = LTD F 0
>Fx,j >
> > 6 60 0 0 cs 07
7
Fy,i >
> >
>
Mj >
> F > 40 0 0 c 05
s
: y,j > ;
Mj 0 0 0 0
0 1
Mi Fx,i
2
c s 0
3
L 0
where LD = B and [LB ] = 4 s c 0 5
0 LB
0 0 1

Frame Element Displacement Transformations


Basic
8 9
i j < i=
{v} = j
: ;

Local
8 09
> u>
j vj > 0i >
>
> v>
>
>
> >
< i> =
0 i
{r } =
>u0j >
> >
i >
> 0>
>
>
> v >
uj : j> ;
j
2 3
0 1/L 1 0 1/L 0
vi and {v} = 4 0 1/L 0 0 1/L 1 5 {r0 } = T r0
ui 1 0 0 1 0 0

Global
8 9
>
> ui >>
>
> >
>
>
> v >
< >
i
j =
i
{r} =
>
> uj >>
vj >
>
> vj >
>
>
>
: > ;
i j
2 3
c s 0 0 0 0
uj 6s 07
vi 6
60
c 0 0 0 7
0 1 0 0 07
and {r} = 6 60
7 {r0 } = LTD r0
ui 6 0 0 c s 077
40 0 0 s c 05
0 0 0 0 0 1

page 2 of 10
SCHOOL OF CIVIL ENGINEERING
CIVL3340 L11
Direct Stiffness Method: Frame Elements

Frame Element Stiffness Transformation


Basic
2 3
4EI 2EI
0
k ij k jj 6 L L 7
k ii 6
[k] = 6 2EI 4EI 7
0 7
k jj 4 L L
AE
5
0 0 L

Local
2 3
AE AE
0 0 0 0
6 L L 7
6 12EI 6EI 12EI 6EI 7
6 L3 L2
0 L3 L2
7
6 7
kij kjj 6
6 4EI
0 6EI 2EI 7
7
[k ] = T kT = 6
0 T L L2 L 7
kii kji
6
6 AE
0 0
7
7
6 L 7
6 12EI 6EI 7
6 L3 L2
7
4 5
4EI
Sym. L

Global

Kjj
Kij
K ji
Kii

2 3
AE 2 12EI 2 AE 12EI 6EI AE 2 12EI 2 AE 12EI 6EI
c + L3
s cs L3
cs L2
s c L3
s cs + L3
cs L2
s
6 L L L L 7
6 AE 2 12EI 2 6EI AE 12EI AE 2 12EI 2 6EI 7
6 s + L3
c L2
c cs + L3
cs s L3
c L2
c 7
6 L L L 7
6 4EI 6EI 6EI 2EI 7
6 s c 7
[K] = LTD k 0 LD = 6
6
L L2 L2 L 7
7
6 AE 2 12EI 2 AE 12EI 6EI
c + s cs cs s 7
6 L L3 L L3 L2 7
6 AE 2 12EI 2 6EI 7
6 s + L3
c L2
c 7
4 L 5
4EI
Sym. L

page 3 of 10
SCHOOL OF CIVIL ENGINEERING
CIVL3340 L11
Direct Stiffness Method: Frame Elements

Member Loads and Fixed End Actions


Member loads in the local system can be formulated as described previously for beam elements.
They must then be transformed into the global system prior to summation into the global fixed
end action vector P .

{P e } = LTD {P 0 }

Member Forces
Element member forces can be formulated in the local system to include bending, shear, and
axial forces. Caution should be taken for sign conventions with shear and bending loads, as
described previously for beam member forces.

Example 11.1: Frame Element Direct Stiffness Example

A frame structure is shown below. For all members E=104 MPa, I=103 mm4 , and A=10mm2 .
Assume L=100mm, P=10N, and w=0.24N/mm. Using the DIRECT STIFFNESS METHOD, cal-
culate member forces, support reactions, and draw the bending moment diagram showing all
important values.

All A,E,I w
PL

P 2P
0.75L

L L/2 L/2

Define element and node numbers. Tabulate the basic member properties. Units N-mm-MPa.

page 4 of 10
SCHOOL OF CIVIL ENGINEERING
CIVL3340 L11
Direct Stiffness Method: Frame Elements

1 1
2

EID i j E I A L c s cs c2 s2
1 2 1 104 103 102 100 0 1 0 0 1 0
2 1 3 104 103 102 125 -0.644 0.8 -0.6 -0.48 0.64 0.36

Tabulate element stiffness components.

EID EA/L 12EI/L3 6EI/L2 4EI/L 2EI/L


1 1000 120 6x103 4x105 2x105
2 800 61.44 3.84x103 3.2x105 0.6x105

Assemble element global stiffness matrices. Frame elements have two nodes and three nodal
displacements per node, so total DOF is 6.

For element 1, stiffness components are between nodes 2 and 1:

u2 v2 2 u1 v1 1
21000 0 0 1000 0 0 3 u2
6 120 6000 0 120 6000 7 v2
6 7
[K 1 ] = 6 4 105 0 6000 2 105 7 2
6 7
6 1000 0 0 7 u1
4 5
120 6000 v1
Sym. 4 105 1

page 5 of 10
SCHOOL OF CIVIL ENGINEERING
CIVL3340 L11
Direct Stiffness Method: Frame Elements

For element 2, stiffness components are between nodes 1 and 3:

u1 v1 1 u3 v3 3
2 534 354.5 2.3 103 534.1 354.5 2.3 103 3 u1
6 327.3 3.1 103 354.5 327.3 3.1 103 7 v1
6 7
[K 2 ] = 6 320 103 2.3 103 3.1 103 160 103 7 1
6 7
6 534.1 354.5 2.3 103 7 u3
4 5
327.3 3.1 103 v3
Sym. 3.1 103 320 103 3

Assemble the global stiffness matrix. The global stiffness matrix has 3 3 = 9 DOF so has an
order of 9.

"K 1+2 1
K12 2 #
K13
11
1
[KS ] = 103 K22 0
3
Sym. K33

u1 v1 1 u2 v2 2 u3 v3 3
21534.1 354.5 2304 1000 0 0 534.1 354.5 2304 3 u1
6 447.3 2928 0 120 6000 354.5 327.3 3072 7 v1
6 7
6 7.2 105 0 6000 2 105 2304 3072 1.6 105 7 1
6 7
6 1000 0 0 0 0 0 7 u2
=6
6 120 6000 0 0 0
7
7 v2
6 7
6 4 105 0 0 0 7 2
6 7
6 534.1 354.5 2304 7 u3
4 5
327.3 3072 v3
Sym. 3.2 105 3

Convert member (non-node) loads to equivalent applied node loads.

Element 1: Uniformly distributed load w downwards (negative).


8 9 8 9
> 0 > u2 0 >
>
> > >
> >
>
> wL/2 >>
> v2 >
> 12
>
>
< 2 = >
> >
>
wL /12 2 < =
1 01 200
[P ] = [P ] => 0 > u1 =
>
> >
> >
> 0 > >
>
> wL/2 >
> v >
> >
>
: ; 1
>
> 12 >
>
2
wL /12 1 : ;
200

page 6 of 10
SCHOOL OF CIVIL ENGINEERING
CIVL3340 L11
Direct Stiffness Method: Frame Elements

Element 2: Downwards vertical (global system) point load P at element mid-span. Can be
reformulated into local system as Py0 = P cos = 16 and Px0 = P sin = 12.
8 Px0 /2 9 u1 8 9
>
> >
> >
> 6 >>
>
> Py /2 >
0
> v1 >
> >
>
>
< 0
>
= >
> 8 >
>
Py L/8 1 < =
250
{P 02 } => 0
Px /2 > u3 =
>
> >
> >
> 6 >>
> Py0 /2 > > >
>
: ; v3
> >
>
> 8 >
>
>
0
Py L/8 3 : ;
250

Global system equivalent applied loads calculated from {P e } = LTD {P 0 }.

2 3
0.8 0.6 0 0 0 0
6 0.6 0.8 0 0 0 0 7
6 7
6 0 0 1 0 0 0 7
[L2D ] = 6
6
7
7
6 0 0 0 0.8 0.6 0 7
4 0 0 0 0.6 0.8 0 5
0 0 0 0 0 1
8 9
>
> 0 > >
>
> >
>
>
> 10 >
>
< =
2 T 02 250
{P } = LD {P } =
>
> 0 > >
>
> >
>
> 10 > >
>
: ;
250

Assemble applied node load, equivalent node load, and node displacement vectors.
8 9 8 9 8 9 8 9 8 9 8 9
>
> u 1 >
> >
> u 1 >
> >
> F x,1 >
> >
> 0 >
> >
> P x1 >
> >
> 0 >
>
>
> >
> >
> >
> >
> >
> >
> >
> >
> >
> >
> >
>
>
> v 1>> >
> v 1>> >
> F y,1 >
> >
> 10 >
> >
> P y,1 >
> >
> 22 >
>
>
> >
> >
> >
> >
> >
> >
> >
> >
> >
> >
> >
>
>
> 1 >
> >
> 1 >
> >
> M 1 >
> >
> 1000 >
> >
> P M,1 >
> >
> 50 >
>
>
> >
> >
> >
> >
> >
> >
> >
> >
> > > >
< u2 = < 0 = <Fx,2 = < Fx,2 = < Px,2 = < 0 >
> > =
{r} = v2 = 0 {R} = Fy,2 = Fy,2 {P } = Py,2 = 12
>
> > > > > > > > > > > >
>
> 2 >>
>
>
>
> 0> >
>
>
>
> M2 > >
>
>
>
> M2 > >
>
>
>
> PM,2 >>
>
>
>
> 200 >>
>
>
> >
> >
> >
> >
> >
> >
> >
> >
> >
> >
> >
>
>
> u 3>> >
> 0 >
> >
> F >
x,3 > >
> F x,3 >> >
> P >
x,3 > >
> 0 >
>
>
> >
> >
> >
> >
> >
> >
> >
> >
> >
> >
> >
>
>
> v 3 >
> >
> 0 >
> >
> F y,3 >
> >
> F y,3 >
> >
> P y,3 >
> >
> 10 >
>
: ; : ; : ; : ; : ; : ;
3 0 M3 M3 PM,3 250

Solve free node displacements u1 , v1 , and 1 .

page 7 of 10
SCHOOL OF CIVIL ENGINEERING
CIVL3340 L11
Direct Stiffness Method: Frame Elements


} + {P }
[Kf s
{Rf } = [Kf f ]{rf } + ]{r s f
1
{rf } = [Kf f ] ({Rf } {Pf })
8 9 2 3 1 08 9 8 91 8 9
< u1 = 1534.1 354.5 2304 < 0 = <0= < 0.0203=
v1 = 4 447.3 2928 5 @ 10 22 A = 0.0994
: ; : ; : ; : ;
1 7.2 105 1000 50 0.0018

Solve support reactions.


} + {P }
[Kss
{Rs } = [Ksf ]{rf } + ]{r s s
8 9 2 3 8 9 8 9
>
> Fx,2 >> 1000 0 0 >
> 0 > > > 20.26 >
>
> >
> 6 0 78 9 >> > > > >
>
>
> F >
> 120 6000 7 < 0.0203= > 12 >> >
> 13.14 >>
= 6 > >
= > >
y,2
< 6 0 5 7 < < =
M2 6000 2 10 200 436.5
=6
6 534.1 354.5
7 0.0994 + =
>
> Fx,3 >> 6 2304 7 7 : 0.0018; > > 0 > > >
> 20.26>>
>
> >
> >
> >
> >
> >
>
> F >
>
4 354.5 327.3 3072 5 >
> 10 >> > 40.86 >>
: y,3
; 5 : ; > : >
;
M3 2304 3072 1.6 10 250 889.5

0.020mm
0.099mm
0.0018

436Nmm
20.3N
13.1N

890Nmm

20.3N
40.9N

page 8 of 10
SCHOOL OF CIVIL ENGINEERING
CIVL3340 L11
Direct Stiffness Method: Frame Elements

Solve member forces in the local system.

8 0 9
>
> F > >
> x,i
> 0 > >
>
> Fy,i >
< 0> =
0e Mi
{F } = 0 = LeD F e = LeD ([K e ]{re } + {P e })
>
> F >
x,j >
>
> 0 > >
>
> F y,j >
: 0> ;
Mj

for Element 1, LD = [I] so {F 01 } = {F 1 }.

8 0 9 2 38 9 8 9
>
> Fx,2 >
> 1000 0 0 1000 0 0 >
> 0 >
> >
> 0 > >
>
> 0 >> 6 7>> >
> >
> >
>
> F > 120 6000 0 120 6000 > 0 > > 12 > >
= 6
< y,20 > 6
7>
7 < >
= >
< >
=
M2 4 105 0 6000 2 105 0 200
01
{F } = =6 7
7 > 0.0203> + >
>
0
>Fx,1 >> 6 6 1000 0 0 7> > > 0 > >
>
> 0 >> 5>> >
> >
> >
>
> F > 4 120 6000 > 0.0994 > > 12 > >
: y,10 >
; >
: >
; >: >
;
M Sym. 4 105 0.0018 200
8 1 9
>
> 20.3 > >
>
> >
>
>
> 13.1 >
>
< =
436.4
=
>
> 20.3 >
>
>
> >
>
>
> 10.9 >
>
: ;
323.6

For Element 2, LD 6= [I] so {F 02 } = LD {F 2 }.

8 9 2 38 9 8 9
>
> Fx,1 >> 534 354.5 2.3e3 534.1 354.5 2.3e3 > > 0.0203>> > > 0 > >
>
> >
> 6 > > > >
>
> Fy,1 >> 327.3 3.1e3 354.5 327.3 3.1e3 7 >
> 0.0994 >
> >
> 10 >
>
< = 66
7>
7 < >
= >
< >
=
M1 320e3 2.3e3 3.1e3 160e3 7 0.0018 250
{F 2 } = =6
6 +
>
> F >
x,3 > 6 534.1 354.5 2.3e37
7>> 0 >
> >
> 0 > >
>
> >
> 4 5 >
> >
> >
> >
>
>
> F y,3 >
> 327.3 3.1e3 >> 0 >
> >
> 10 >
>
: ; : ; : ;
M3 Sym. 3.1e3 320e3 0 250
8 9
>
> 28.7 > >
>
> >
>
>
> 4.5 >
>
< =
02 2 678.1
{F } = LD {F } =
>
> 40.7 >>
>
> >
>
>
> 20.5 >
>
: ;
890.1

page 9 of 10
SCHOOL OF CIVIL ENGINEERING
CIVL3340 L11
Direct Stiffness Method: Frame Elements

-436Nmm
Bending
-323Nmm

79.5Nmm
678Nmm -890Nmm

396Nmm
-10.9N
Shear -4.5N

13.1N -20.5N

Axial 20.3N (C)


28
.7N
(C
)
40
.7N
(C
)

page 10 of 10
SCHOOL OF CIVIL ENGINEERING
CIVL3340 L12
Structural Symmetry

CIVL3340 L12 Structural Symmetry


BY JOE GATTAS, FARIS ALBERMANI

A 2D structure is symmetric with respect to an axis if the reflection of the structure about the
axis is identical in terms of geometry, section properties, material properties, supports, and the
structure itself.

Symmetry and Anti-Symmetry


Symmetric structures can be subjected to symmetric and anti-symmetric loading. Symmetric
loads are equal when reflected about the symmetric structure centreline. Anti-symmetric loads
are the opposite when reflected about the symmetric structure centreline, i.e. an anti-symmetric
load is a symmetric load times negative one.

Symmetric Loading Anti-Symmetric Loading


P P P

CL CL P
M M M
CL CL M
w w w

CL CL
w

page 1 of 9
SCHOOL OF CIVIL ENGINEERING
CIVL3340 L12
Structural Symmetry

Any general load can be decomposed into symmetric and anti-symmetric components.

2P P P P
= +
CL CL CL P

Symmetric Structures Under Symmetric Loading


A symmetric structure under symmetric loading has a response that is symmetric. This means
the structure will neither rotate nor deflect perpendicular to the axis of symmetry. Analysis can
therefore be conducted on one half of the structure, with a fixed roller boundary condition im-
posed at the axis of symmetry.

CL
m m = m

This system reduction is of significant practical benefit for large structures, as computation time
can be significantly reduced. It also allows boundary conditions to be introduced into systems,
which reduced the kinematic redundancy and thus solver time.

CL
CL
w = =

Elements or applied loads that are coincident with axis of symmetry must be halved in the equiv-
alent half-system.

page 2 of 9
SCHOOL OF CIVIL ENGINEERING
CIVL3340 L12
Structural Symmetry

CL
w w w

E,A,I E,A,I E,A,I

E,A/2,I/2
=
E,A,I

E,A,I

E,A,I

E,A,I
P P P

L L L

Symmetric Structures Under Anti-Symmetric Loading


A symmetric structure under anti-symmetric loading has a response that is anti-symmetric. This
means the structure will not deflect along the axis of symmetry. Analysis can therefore be con-
ducted on one half of the structure, with a pinned roller boundary condition imposed at the axis
of symmetry.

CL
m m = m

CL

P E,A,I P

E,A,I E,A,I
P
E,A/2,I/2

=
E,A,I

E,A,I

E,A,I

E,A,I

P P P

L L L

page 3 of 9
SCHOOL OF CIVIL ENGINEERING
CIVL3340 L12
Structural Symmetry

Example 12.1: Symmetric Truss Structure

A truss structure composed of six nodes and eleven elements is shown below. Assume P =50kN,
E=150 GPa, and A=0.004m2 . Using the DIRECT STIFFNESS METHOD, calculate member
forces, support reactions, and nodal displacements.

A,E A,E
A,

A,
E

E
E

E
A,

A,
A,E

A,E

A,E
4m

A,E A,E

P
3m 3m

The structure is symmetric and so the following half-system will possess an equivalent structural
response. Note that pinned rollers and not fixed rollers are used as the symmetric boundary
conditions, as truss elements transmit zero bending moments.

A,E
A,

E
E

A,
A,E

0.5A,E

4m

A,E

P/2
3m

page 4 of 9
SCHOOL OF CIVIL ENGINEERING
CIVL3340 L12
Structural Symmetry

This is the same structure that was solved in Tutorial 7. The half-system solution is shown below
on the left. The full structure has a symmetric response, shown on the right.

Deflections

0.11mm

0.22mm

Reaction and member forces

12.5 6.2kN 12.5 12.5


kN 16.7kN kN 16.7kN 16.7kN kN
)

10
(C

(C

.3k
kN

kN

N
16.6kN (T)
.3

.3

=
8.3kN (T)

(C
10

10

)
20

20

)
(T
.9k

.9k

kN
N

.9

6.2kN 6.2kN 6.2kN


(T

(T

20
)

8.3kN 12.5kN 8.3kN 8.3kN

page 5 of 9
SCHOOL OF CIVIL ENGINEERING
CIVL3340 L12
Structural Symmetry

Example 12.2: Double-Symmetric Frame Structure

Shown below is a four-element frame structure. Use structural symmetry and the direct stiffness
method to simplify and solve the system. Assume w=5kN/m, all the members have E=210GPa,
I=4000cm4 , and A=0.5cm2 .

w w
3m

3m
w
w

4m 4m

Through double-symmetry, the problem is equivalent to a quarter-system with one element and
two nodes.

2
w w
3m 1

4m
Element one has ith node 1 and j th node 2. Element information is as follows.

L c s cs c2 s2 EA/L 12EI/L3 6EI/L2 4EI/L 2EI/L


5000 0.644 0.8 0.6 0.48 0.64 0.36 2100 806.4 2.02e6 6.72e9 3.36e9

page 6 of 9
SCHOOL OF CIVIL ENGINEERING
CIVL3340 L12
Structural Symmetry

For a single element system, the global stiffness matrix is equal to the element global stiffness
matrix.
u1 v1 1 u2 v2 2
21.63e3 6210 1.21e6 1.63e3 621 1.21e63 u1
6 1.27e3 1.61e6 621 1.27e3 1.61e6 7 v1
6 7
[KS ] = [K ] = 6
1 6.72e9 1.21e6 1.61e6 3.36e9 7 1
6 7
6 1.63e3 621 1.21e6 7 u2
4 5
1.27e3 1.61e6 v2
Sym. 6.72e9 2

The uniformly distributed load w downwards (negative) can be converted to an equivalent applied
nodal load in the local system.
8 9 0 8 9
> 0 > u1 0
>
> > >
> >
>
>
> wL/2 >>
> v10 >
> 12.5e3
>
>
< 2 = >
> >
>
wL /12 1 < =
01 10.4e6
[P ] => 0 > u20 =
>
> >
> >
> 0 > >
>
> wL/2 >
> v20 >
> >
>
: ; >
> 12.5e3 >
>
2
wL /12 2 : ;
10.4e6

Global system equivalent applied loads calculated from {P e } = LTD {P 0 }.

2 3
0.8 0.6 0 0 0 0
6 0.6 0.8 0 0 0 0 7
6 7
6 0 0 1 0 0 0 7
[LD ] = 6
6 0
7
7
6 0 0 0.8 0.6 0 7
4 0 0 0 0.6 0.8 0 5
0 0 0 0 0 1
8 9
>
> 7.5e3 >
>
>
> >
>
>
> 10e3 >
>
< =
1 T 01 10.4e6
{P } = LD {P } =
>
> 7.5e3 >
>
>
> 10e3 > >
>
> >
>
: ;
10.4e6

Assemble applied node load, equivalent node load, and node displacement vectors.

page 7 of 9
SCHOOL OF CIVIL ENGINEERING
CIVL3340 L12
Structural Symmetry

8 9 8 9 8 9 8 9 8 9 8 9
>
> u 1 >
> >
> u 1 >
> >
> F x,1 >
> >
> 0 >
> >
> P x1 >
> >
> 7.5e3 >
>
>
> >
> >
> >
> >
> >
> >
> >
> >
> >
> >
> >
>
> v 1>> >
> 0 >
> >
> F >
y,1 > >
> F y,1 >
> >
> P >
y,1 > > 10e3 > >
< = < = < = < = < = > < >
=
1 0 M1 M1 PM,1 10.4e6
{r} = = {R} = = {P } = =
> u2 >
>
> > >
> >0>
> >
>
>
>
>
Fx,2 >>
>
>
>
>
Fx,2 >>
> > Px,2 >
>
> > >
> >
>
7.5e3 >
>
>
>
> v2 >> >
> v2 >> >
> Fy,2 >> >
> 0 > > >
> Py,2 >> >
> 10e3 > >
> >
: ; : ; > > >
: >
; : > >
; >
: >
; > : >
;
2 0 M2 M2 PM,2 10.4e6

Solve free node displacements u1 and v2 .


} + {P }
[Kf s
{Rf } = [Kf f ]{rf } + ]{r s f
1
{rf } = [Kf f ] ({Rf } {Pf })
1
u1 1.63e3 621 0 7.5e3 1.97
= =
v2 621 1.27e3 0 10e3 6.90

Solve support reactions.


} + {P }
[Kss
{Rs } = [Ksf ]{rf } + ]{r s s
8 9 2 3 8 9 8 9
>
> F >
> 621 1.27e3 >
> 10.0e3 >
> > 20.0e3 >
= > >
y,1
< = 6 7 < < =
M1 1.21e6 1.61e67 1.97 10.4e6 19.2e6
=6
4 1.63e3 + =
>
> Fx,2 >> 621 5 6.90 >
> 7.5e3 >
> > 15.0e3>
: ; : ; > : >
;
M2 1.21e6 1.61e6 10.4e6 1.67e6

Solve member forces in the local system.

8 0 9 8 9
>
> Fx,i >> >
> 12e3 > >
>
> 0 > > >
> >
>
> F y,i >
> >
> 16e3 > >
>
< 0= < =
0e M i 1 1 1 1 19.2e6
{F } = 0 = L D {F } = L D ([K ]{r } + {P }) =
>
> Fx,j >
> >
> 12e3 >>
>
> 0 > > >
> >
>
> F y,j >
> >
> 9e3 > >
>
: 0; : ;
Mj 1.67e6

page 8 of 9
SCHOOL OF CIVIL ENGINEERING
CIVL3340 L12
Structural Symmetry

Displacements Reactions & Axial 1.67kNm


15kN
6.90mm )
(C
kN
12

1.97mm
19.2kNm
20kN
Bending Shear -9kN
-1.67kNm
-19.2kNm

16kN
Full System Response
Displacements Bending

page 9 of 9