Anda di halaman 1dari 677

# REPORT

STRUCTURAL ENGINEERING

UCB/SEMM

## CE 220 - STRUCTURAL ANALYSIS,

THEORY AND APPLICATIONS

COURSE NOTES

by

FILIP C. FILIPPOU

## DEPARTMENT OF CIVIL ENGINEERING

UNIVERSITY OF CALIFORNIA
BERKELEY, CALIFORNIA

Notation
General:

Upper case letters for matrices and vectors refer to variables of the entire
structure, e.g. collection of forces, displacements, etc.
Lower case letters for matrices and vectors refer to element variables.
A bold face font is used for matrices, a bold face italic font is used for vectors. An
italic font is used for scalars.
All variables refer to a global (structural) reference system under otherwise
indicated
General notation:
Static variables

P
p

stress tensor

## element end forces

Kinematic variables

## element end node displacements

Element deformations

## collection of all element deformations for structural model

section deformations

strain tensor

## element basic stiffness matrix

Page 1

Subscripts
Subscripts are used to specialize the variables on the preceding page often denoting
a subset or subarray of the original variable. They have the following meaning:
Single
subscript

Interpretation

Boolean

## refers to the incipient collapse state for scalars and vectors

denotes constraint for arrays

elastic

global

hinge

## refers to the particular solution of a system of equations;

denotes plastic in arrays or when used as second subscript

## refers to rotation for arrays

denotes resisting when used with force vectors
denotes residual when used with deformations in CE221

Double
subscript

Interpretation

pl

plastic capacity

ce

cp

Page 2

B


A
f

U f

Scalar variables

axial force

bending moment

shear force

## rotation of element chord

curvature

Other variables or symbols

increment of

X, Y, Z

x, y, z

## local (element) coordinates

Page 3

Variables by section
Statics or Equilibrium
P

Pf

Pd = R

Pfw

stress tensor

axial force

bending moment

shear force

br

bg

Bf

Bd

Bi

Bx

Bi

Bx

Qp

Page 4

Qi

Qx

## redundant basic forces

Qpl

plastic capacities for basic forces; superscript + for positive, - for negative

Pref

Qc

Qce

Qcp

Be

Bp

Qpe

Bxe

## force influence matrix of primary structure under redundant basic forces

at incipient partial collapse
Kinematics or Compatibility

Uf

Ud

## element end displacements in local (element) reference system

element deformations

## collection of all element deformations for structural model

section deformations

strain tensor

## kinematic transformation matrix for extraction of rigid body modes from

element end displacements in local reference system

ar

ag

Page 5

## kinematic (compatibility) matrix relating the element deformations with the

displacements at all dofs of the structure

Af

## submatrix of A relating the element deformations with the displacements

at the free dofs of structure

## submatrix of A relating the element deformations with the displacements

at the restrained dofs of structure

Vd

curvature

vh

Vh

Ac

U f


A
f

Vi

structure

Vx

Ve

Ai

Ax

Ae

Acp

## kinematic matrix relating unconstrained dofs with single independent dof

of the collapse mechanism

Afp

## kinematic (compatibility) matrix relating the element deformations with

the single free independent dof of the collapse mechanism

W p

Page 6

Force method

## element flexibility matrix

modulus of elasticity

## cross section area

moment of inertia

Fs

v0

V0

element length

BV

## force influence matrix of structure under initial deformations

Displacement method

Ks

q0

Q0

Pf

P0

## initial nodal force vector

Page 7

CE220-Theory of Structures

Equilibrium

## Objective: systematic description of structural model; ingredients; sign convention;

Page 8

CE220-Theory of Structures

Equilibrium

## Introduction; structural model

The structural model is an idealization of the real structure. It consists of nodes in space connected by
elements. While the structure is a continuum, the structural model is discrete. The analyst has make
sure to represent the actual structure as accurately as warranted by the demands of the analysis, and then
translate the results of the discrete structural model back to the actual structure for its design and detailing.
We distinguish one-dimensional, two-dimensional and three-dimensional elements in a structural model.
The dimension refers to the number of variables for describing the element force-deformation properties.
Thus, a truss element belongs in the one-dimensional element category, a plate element in the two
dimensional element category, and a solid or brick element in the three-dimensional element category.
Truss elements used in a 3d (three-dimensional) structural model are called 3d truss elements.
In this course we limit ourselves to one-dimensional elements, whose properties depend on a single
variable x. Moreover, we limit ourselves to illustrating the key concepts with straight, prismatic 2d truss
and frame elements, but state these in general form, so as to allow the extension to any type of onedimensional element (e.g. a circular frame element).
Limiting ourselves to straight, prismatic 2d elements means that the geometry of curvilinear structures
needs to be approximated with as many elements as the accuracy of the results demands. We show
two approximation examples below: one is a non-prismatic girder and the other a circular arch.
structural model

structure

Another example of the approximation involved in the idealization of the actual structure are the structural
joints: members of frame structures intersect at joints of finite size. In a structural model the nodes are
points in space. It is not entirely clear how to represent the joint region with one-dimensional elements.
We will mention this point in the latter part of the course.

Page 9

CE220-Theory of Structures

Equilibrium

## The geometry of the structural model is described by the

location of the nodes in an orthogonal right-handed coordinate
system. We call this the global or structural coordinate system
and identify its axes by upper case letters. If the global X and Y
axis are in the plane of the paper or board, then the Z-axis
points toward the viewer.
A connectivity array is also required for the elements of the
model indicating which nodes each element connects.

In a discrete structural model the response of the model is completely described by structural variables
associated with the nodes. These are of two kinds: generalized forces and generalized displacements.
We use the word "generalized" to indicate forces, in the conventional sense, and moments. "Generalized"
displacements refers to translations and rotations of a node.
Since a node is a point in space, we can decompose its translation into 3 components along the global X,
Y and Z-axes; we can also decompose the rotation into 3 components, i.e. a rotation about the X-axis, a
rotation about the Y-axis, and a rotation about the Z-axis. Note, however, that the decomposition of the
rotation into 3 components is only possible for very small (actually infinitesimal) rotations. In this course
we limit ourselves to such very small rotations, but, moreover, plan to study mostly planar structures for
which only the rotation about the Z-axis is relevant. With the right-handed coordinate system we use
the right hand grip rule to define positive rotations: with the Z-axis pointing toward the viewer in the above
figure a counter clockwise rotation (CCW) is positive, and a clockwise (CW) rotation is negative.
This is also the consistent convention for moments: a moment acting CCW is positive, and a moment
acting CW is negative.
Each node of the structural model thus experiences, in general, a translation and a rotation: these
are described by 3 components each. Each component is called a degree of freedom (dof) of the node.
By decomposing the translation and rotation into components relative to the global coordinate system, we
ensure that the degrees of freedom (dofs) are independent.
Thus, each node of a 3d structural model has 6 degrees of freedom. In a 2d or planar structural model,
there are only two translation components and one rotation in the plane for each node. Thus, each node
has only 3 degrees of freedom in a planar structural model.
We represent each node with a small black square in this course. This allows us to
illustrate its rotation, which a point does not allow us to do. We depict translation
dofs with a single arrowhead and rotation dofs with a double arrowhead. The same
is true for forces and moments, respectively. In the plane the rotation dof is
depicted the same way as the moment, as shown in the figure on the right.
Node dofs may be restrained by devices. We depict
such devices with special symbols. Nodes with at
least one dof restrained are known as the supports
of the structural model. In the following figure of
typical node restraint (support) symbols the
restrained dofs are shown in gray, and the free dofs
are shown in black; to each restrained dof there
corresponds a restraining force, which is commonly
known as support reaction.

Page 10

CE220-Theory of Structures

Equilibrium

## Structural model: Partition of global degrees of freedom

We collect the displacement values of all dofs of the structural model in a vector U. Vectors are
understood in this course in the general sense as mathematical objects endowed with the operations
of addition and multiplication by a scalar and not as geometric objects. Vectors are shown in bold, italic
typeface in this course.
We partition the degrees of freedom (dofs) of the structural model into two groups: the free dofs
(subscript f), and the restrained dofs (subscript d). We reorder the entries of the displacement vector U,
so that the free dofs appear in sequence as the first partition of the vector followed by the restrained dofs.
In the structural model we achieve this by numbering the free dofs in sequence first followed by the
restrained dofs. We show this in the following example.
dof numbering
Structural model with global coordinate system
5
and node numbering in arbitrary order
6
4
3
8
2

10

13
X

14

11

15

12

## Number degrees of freedom in sequence (automatic)

with translation in X, then Y, then Z (3d), then
rotation about X (3d), Y (3d) and Z
2. Number restrained dofs in the same fashion

we use the abbreviated notation nf for the number of free dofs and nr for the number of restrained dofs;
the total number of dofs then, nt, is equal to the sum of nf and nr, i.e. nt = nf + nr

U f
U d

Uf

## is the free dof displacement vector

Ud

is the restrained dof displacement vector (note that restrained displacements are not necessarily zero;
instead restrained displacements are of specific value at the start of the analysis with zero a special
case; given support settlements thus fall into this category

Page 11

CE220-Theory of Structures

Equilibrium

## Structural model: Generalized forces

Structural models are subjected to generalized forces at the nodes. We collect the values of the applied
generalized forces in a vector P. It is logical to use the same numbering for the generalized forces as for
the generalized displacements, so that we can easily determine the external work by the inner product
of the two vectors. The applied force vector is thus partitioned into the vector of the applied forces at the
free dofs of the structural model, and the vector of the applied forces at the restrained dofs. The latter are
commonly known as support reactions. The following example illustrates the applied force vector for a
particular load case. The applied force numbering is the same as the dof numbering on the preceding page.

10

0
0

0 10
20

Pf =
0

0
15

200
0

20
6

15
200 3

10

13

14

11
12

15

P
P
P = f or P = f
Pd
R

Pf

## is the vector of the applied forces at the free dofs

is the vector of the applied forces at the restrained dofs, commonly known as support reactions

Page 12

CE220-Theory of Structures

Equilibrium

## Prof. Filip C. Filippou, 2000

1. applied forces or moments at nodes grouped in generalized force vector Pf
2. imposed translations or rotations at nodes grouped in support displacement
vector Ud
a. applied forces or moments along element axis
b. initial deformations (thermal, shrinkage, creep)

distributed transverse forces and uniform initial deformations over the entire element span
Distinction between nodal and element forces is a question of discretization

## suitable for computer solution if element library

does not include concentrated element forces
(more equations and dofs than solution to the right)

## this model has fewer nodes and elements

and thus a smaller number of dofs and equations;
it is thus suitable for hand solution, but requires

Approximation

Actual model

but more computational effort

Page 13

CE220-Theory of Structures

Equilibrium

## Prof. Filip C. Filippou, 2000

EQUILIBRIUM (STATICS)

Objective: static variables for structure, element and section and their interrelationship
through free body equilibrium equations; static matrix of structural model and
its properties; degree of redundancy; basic force influence matrix; solution of
equilibrium equations

Page 14

CE220-Theory of Structures

Equilibrium

## Structural model: Free bodies and element variables

Generalized displacements and generalized forces are related by Newton's first law which states that
an object at rest remains at rest if it is acted upon by a set of balanced forces (the case of uniform
velocity is not of interest in this course). To formulate this law we isolate first the nodes of the structural
model by fictitious cuts into free bodies. These free bodies also isolate the elements of the model and
reveal another important set of force and displacement variables, those belonging to each element.

(b)

## node and element free bodies; node numbering

as before; element numbering in arbitrary order
denoted with lower case letters

p(c)

3
b

Because we deal exclusively with two node elements in this course, i.e. elements that connect to only
two nodes, the fictitious cuts separate each element from the structural model at its two ends.
The cut reveals element force variables, i.e. a force and a moment at each cut. We decompose these
into components relative to the global coordinate system and collect them in a generalized element force
vector p. We use the convention in this course that lower case letters refer to element variables
and upper case letters to structural variables. We identify the end points of each element with the letters
i and j, with i referring to the end point at the node with lower number and j to that with higher number.
The end points of the element undergo generalized displacements, i.e. a translation and rotation at each
end. We decompose these into components relative to the global coordinate system and collect them
in a generalized element displacement vector u. We number the components of the element force and
displacement vector in sequence starting with the translation (or force) components in X, Y and Z at node i,
continuing with the rotation (or moment) components about X, Y and Z at node i and then proceeding in
the same fashion with the translation (or force), and then rotation (or moment) components at node j. For
a two node element we end up with 6 generalized displacement (or force) components in a 2d model,
and 12 components in a 3d model.
5
p1 generalized displacement and
u1
6
force vector for 2d element b;

u2
p2

4
j
p the little white square are there
u
(b )
(b )
3
3 to indicate that the element

p
=
u =
p4 free body extends from node
u4
element b
2
p to node, i.e. the full element
u
5 length
5
p
u
3
6
1
6
i
Page 15

CE220-Theory of Structures

Equilibrium

## Structural model: Node equilibrium equations

We are now in a position to apply Newton's first law to the node free bodies of the structural model.
Instead of writing these equations in vectorial form, we write them in component form, i.e. we write one
equation in the direction of each dof. These are the node equilibrium equations.

3
b

Structural model

2
c

a
Y

## global coordinate system

d
10

13

14

11

15

12

Write equilibrium equations at free dofs in terms of the applied forces P and the element forces p

p (b) 0 0
(a)
P1 p4 1

0
(b) 0
0

(a)

0
p
P2 p5 2 0
0
P (a) p (b)

0
3 p6 3 p (c) 0
P4 0 p (b) 1
0
4 (c)
0
P
p

5
(c)

f
fr
P6

p
0

## 0 p6(b) 3(c) p (d)

P7 0
p4 1 0 where Pfr is the resisting force vector at the free dofs

0
P

(c) p2(d) 0 of the structural model; we see that the resisting force

8
0

## vector for all dofs is the sum of the element forces

0 p5
(d)
0
P9 0

p
0 p (c) 3 and we write symbolically
P
6
(d) 0
10 0

p
Pr = p (el ) with the understanding that each
0 0 6
el

## element force term is assigned to

the appropriate dof equilibrium equation

The equilibrium equations for the restrained dofs result insimilar fashion R Pdr = 0
We can combine these two sets of equations in the expression of Newton's first law for the structural model

Pf Pfr 0

=
R
P 0
dr

or, shorter

P Pr = 0

## if the applied and resisting forces are not in equilibrium, then

we are dealing with Newton's second law which states that
where U

P Pr = M U t

is the dof acceleration vector and M is the mass matrix of the structural model (see CE225)
Page 16

CE220-Theory of Structures

Equilibrium

## Structural model: Element equilibrium equations

After writing the equilibrium equations for the node free bodies we investigate the element free bodies, which
are also separated by the fictitious cuts from the structural model. We note that there are again as many
equilibrium equations as dofs for the element free body: 3 for an element in a planar structural model, and 6 for
an element in a 3d model. We write these equations for an element with general orientation in a planar model
under the assumption that there are no loads acting along the element span. The presence of element loading
complicates the equations without any benefit to the argument of comparing the number of available equations
to the number of force unknowns of the problem.
5

## the element equilibrium

equations are

6
j

p2 + p5 = 0

p3 + p6 + p5 X p4 Y = 0

Y = Y j Yi

2
1

p1 + p4 = 0

3
i

X = X j X i

In a structural problem the applied forces at the free dofs of the structural model are given. Similarly, the
displacements of the restrained dofs are also given. It is our task to determine the displacements at the
free dofs and the forces at the restrained dofs (support reactions). We write this in compact form
Structural Analysis Problem
Given:

Pf

Determine:

U f and

and U d

## Structural model: Degree of redundancy or static indeterminacy

Since the support reactions are unknown at the start of the analysis, we cannot make any use of the
equilibrium equations at the restrained dofs of the structural model. We therefore focus our attention on
the equilibrium equations at the free dofs only. There are nf available equations in 6 x ne unknowns where
ne is the number of elements. However, the element equilibrium provides another 3 equations for each
element, i.e. a total of 3 x ne equations without increasing the number of unknowns. Thus, in summary we
have nf + 3 x ne equations in 6 x ne unknowns. The difference between number of force (or static)
unknowns of the problem and number of available equations is known as the degree of redundancy or
degree of static indeterminacy of the structural model. We use the shorthand NOS to denote the degree of
redundancy of the model.
NOS = (6 x ne) - (nf + 3 x ne)

NOS = (3 x ne) - nf

Note: instead of adding 3 x ne element equilibrium equations to the nf node equlibrium equations it is much
more efficient to use the element equilibrium equations to express the element forces in terms of only three
independent or basic element forces. This is what the boxed equation reflects: there are only 3 x ne
unknown element forces and nf available node equilibrium equations. This assumes that none of the basic
element forces are set to zero through special devices (releases). We will address this issue later on.
Note: nothing changes to the above discussion by adding the nr equilibrium equations at the restrained
dofs since these equations involve an additional nr unknown support reactions. Thus, it is convenient to
leave the support reactions and the corresponding equilibrium equations out of consideration.
Page 17

CE220-Theory of Structures

Equilibrium

## Element variables: global, local and basic reference system

Instead of adding the element equations of equilibrium to the nodal equations of equilibrium it is more
efficient and insightful to use the number of element equilibrium equations to reduce the number of unknown
element forces*. For a 2-node, 2d element we have 6 element forces and 3 equilibrium equations. Thus, we
have just 3 independent or basic element forces. We can use the element equilibrium equations to express
the other element forces in terms of the basic forces. We denote the basic element forces by q.

*Note that adding the element equilibrium equations to the node equilibrium equations results in a very
large system of equations with many 0 terms, since each element equilibrium equation involves only the
forces of the particular element.
In working out the relation between dependent and independent element forces it is convenient to work
with an element specific right handed coordinate system. This system is shown in the following figure. It
is called local or element coordinate system, and we use lower case letters to denote its axes.
element coordinate system (e.g. for b)

y
b

j
Definition of element specific or local coordinate system
1. Local x-axis points from lower to higher numbered
node (we denote the former node i and latter node j)
2. In 2d local y-axis lies in the plane and is normal to x;
in 3d local y-axis is specified by user (e.g. along
principal axis of cross section)
3. Local z-axis is normal to the plane formed by x-y

The force vectors at the end points of the element can be expressed relative to the global or to the local
coordinate system. The former decomposition is shown on the left and the latter on the right of the
following figure. We introduce a new symbol for denoting the components of the element force vector in
the local coordinate system.
element force vector in local coordinates
5

j

2
3

3
X = X j X i

4
j

Y = Y j Yi

5
6

## In the local coordinate system the element equilibrium equations in

L = X 2 + Y 2

p1 + p4 = 0
p2 + p5 = 0
p3 + p6 + p5 L = 0

Page 18

p1

p2
p
p = 3
p4
p
5
p
6

CE220-Theory of Structures

Equilibrium

p1 + p4 = 0

## We restate the element equilibrium equations

p2 + p5 = 0
p3 + p6 + p5 L = 0

There are some obvious choices for the basic element forces (note that we cannot pick any three!)
One common choice is this group

p1 p2

p3

## Another choice is this group

p4

p6

p3

p1 = p4

In this course we pick the second choice for the basic forces.
We use then the element equilibrium equations to express the
other three element forces in terms of the basic.

p5 =

p3 + p6
L

p 2 = p5 =
Because of their importance we introduce a new
symbol for the basic element forces: q

p4 = q1

p4

q1 q2

1 0
p1
1
0
L
p2
p 0
1
p = 3=
0
p4 1
p
5 0 1
p
L
6
0
0

p6 = q 3
p1 = q1

p2 =

p6

## or, in compact form

p3 = q 2

p5 =

p3

p3 + p 6

q 2 + q3

L
q 2 + q3
L

q3

1
L
q
0 1
q = bq
0 2
q
1 3

L
1

with b the force transformation matrix from the basic to the local coordinate system. We call q1 the
longitudinal basic force, q2 and q3 the flexural basic forces of the element. q2 acts at node i and q3 at node j

Summary: the relation between local components of the element force vector and basic element forces is

p = bq

with

Page 19

1 0

1
0

L
0
1
b=
1
0

0 1

L
0
0

1
L
0

L
1

CE220-Theory of Structures

Equilibrium

pj

global

pj

local

q1

q3

pi

q2

(b)

basic

## 3 basic element end forces and

3 dependent end forces

q 2 + q3
L

pi

(a)

## 6 element end forces in global reference

q1

q 2 + q3
L

(c)

After having established a relation between the local and basic element forces, we need to relate the global
element force components to the local. This is rather straightforward, if we note that the two coordinate
systems are related by a rotation in the plane of the model. We use the direction cosines of the element
orientation in the undeformed (original) position in lieu of trigonometric functions of the orientation angle.

p5

p5

p4

p5

p4

p5

p4

p4
X

X
Y
p5
L
L
Y
X
p5 = p4 sin + p5 cos = p4
+ p5
L
L
p4 = p4 cos p5 sin = p4

## The transformation for the forces at end i

is identical. Note that the moments do not
transform during the rotation. Thus, we
can write for the relation between global
components and local components of the
element end forces

or, compactly

X
L
p1 Y

p2 L
p 0
p = 3 =
p4
p 0
5
p
6 0

0
Page 20

X
p
4 L
=
p5 Y
L

Y
L
X
L
0
0

0
X
L
Y
L
0

Y
L p4

X p5
L

0
0
p
1
0
0 p
2

0
0 p3

p = br p
Y
0 4

L
p5
p
X
0 6
L

0
1

CE220-Theory of Structures

Equilibrium

## Element equilibrium: from basic forces to global element force components

combining

with

p = br p

p = bq

with

X
L

Y
L

0
b g = b r b =
0

Y
L
X
L
0
0

p = br b q = bg q

gives

0
X
L
Y
L
0

0
Y

L
X
L
0

0
1 0

0 0

0 0
1

1
0
0
1

0 L
0
0
0

X
L
0

1 Y

L L
0 0
=
0 X

1 L

L Y

1 L

Y
2

L
X
L2
1
Y

L2
X
L2
0

Thus, finally the relation between element force components in the global coordinate system
and the basic forces is

X
L

p1 Y

p2 L
p 0
p = 3=
p4 X
p L
5
p Y
6
L

L2
X
L2
1
Y

L2
X
L2
0

L2
X

L2
q
0 1
q = bg q
Y 2
q3
L2

X
2
L

with bg the force transformation matrix from the basic to the globall coordinate system;
this matrix can also be regarded as the equilibrium or static matrix of the element.

Page 21

Y
2
L
X

L2
0

Y
L2

X
2
L

CE220-Theory of Structures

Equilibrium

## Element equilibrium: from basic forces to global element force components

The end element forces in the global coordinate
system can be expressed in terms of these

## The basic forces of a 2d frame element are:

the axial force q1 and the end moments q2 and q3

Y
q1
L

q1

X
q1
L

Y
q1
L

q1

X
q1
L

X
q2
L2

Y
q2
L2

q2
L
X
q2
L2

q2

q2

q2
L

Y
q2
L2

q3

X
q3
L2

q3
Y
q3
L2

q3
L
X
q3
L2

q3
L

## The figures on the left show each basic force in turn

along with the dependent element force components
in the local reference system satisfying equilibrium.

Page 22

Y
q3
L2

## The figures on the right show the element force

components in the global reference system for
each basic force in turn; each group of force
components corresponds to a column of the
static matrix bg and satisfies element equilibrium

CE220-Theory of Structures

Equilibrium

## Special cases of basic element forces for 2d frame elements

We deal at first only with devices that release one or more of the element basic forces. We will return
later to deal with more general internal force releases.

end i

end j

## truss element: both flexural basic

forces released; only one basic force

q1

q2

## 2d frame element; one flexural basic

force released; two basic forces only

## 2d frame element; one flexural basic

force released; two basic forces only

q1

q2

q1

q1
2d frame element; longitudinall basic
force released; two basic forces only

Page 23

q2

CE220-Theory of Structures

Equilibrium

## Relation between element and section static variables

It is very important to distinguish between element forces and internal forces. The latter arise at a fictitious
cut through the element at a distance x from end i, as shown in the following figure. The cut separates the
element into two parts, each of which needs to satisfy the equations of equilibrium. For the 3 additional
equilibrium equations there are 3 additional unknowns, the internal element forces at the cut at a distance
x from end i. These internal forces are the resultants of the normal and shear stresses acting at the cut and
are, therefore, known as stress resultants. They are also known as section forces, since they are the static
variables of an infinitesimal slice of the frame element.
y

q1

q1

q3

frame element

q 2 + q3
L

q2

q 2 + q3
end i L

end j

q1

N ( x)
M ( x)

q2

q 2 + q3
L

q 2 + q3
L

V ( x)

q3

M ( x)

N ( x)

slice of length x

V ( x)

We collect the section forces in a vector s(x), which for the 2d element in the figure includes the normal
force N(x), the shear force V(x) and the bending moment M(x). Note that the section or internal forces N,
V, and M (there is another shear force, another bending moment, and a torsional moment in 3d) are
continuous functions of x and not discrete variables as the basic element forces. As continous functions of
x the internal forces can be differentiated with respect to x. Moreover, the sign convention for the internal
forces needs to follow the sign convention for continuous functions: the forces at the face of the cut
(section) closest to end i follow the axes orientation of the local coordinate system, while those at the
opposite section act in the opposite direction. By contrast, the basic element forces are discrete static
variables and follow the sign convention adopted for all structural and element variables.
We can now introduce releases of the internal forces at any section inside the element. These result in
one constaint equation between the basic element forces for each release. Each release, therefore,
reduces the number of basic element forces by one. Three common cases follow

q2

q1
2d frame element with normal force release

q2

## 2d frame element with shear force release

i
q2

q2
2d frame element with moment release at x

i
Page 24

Lx
x

j
x

L-x

q1

q1

CE220-Theory of Structures

Equilibrium

## Example 1: Equilibrium equations for gable frame, properties of static matrix

After establishing the relation between basic element forces and element force components in the global
coordinate system we return to the equilibrium equations of the node free bodies in the direction of the
free dofs. Setting up these equilibrium equations in the undeformed configuration establishes a linear
relation between applied forces and basic element forces. The coefficients of the basic element force
can be collected in the static matrix of the structural model. We use example 1 to illustrate. The following
provides a brief overview of process. More details are available in the example description.
p (b) 0 0
(a)
P1 p4 1

P (a) p (b) 0 0

p
2
2
5

0 0
P3 (a) p (b)

p
3

(c)
6

(b) p1 0
P

p
4
0
4 p (c) 0
P

5
0

+ p5(b) + 2 +

=
0

(c)
P6 0 (b) p3
(d)
p6
P
(c) p1

7
0

0 4 (d)
p
(c)
P8 0

0 p5 2(d)
P

9 0 0 p (c) p3

6
P
10 0 0 0 p6(d)

3
b

Structural model

2
c
4

a
Y

## global coordinate system

d
10

13

12

b
b (a) b (a) b (a)
g.11
g.42
g.43
P1 g.41

b (b)

(a)
(a)
(a)
g.21
P
b
b
b
g.52
g.53
2 g.51
b (b)
P3 (a)
(a)
(a)
g.31
b
b
b

g.61
g.62
g.63
(b)
P4
q (a) bg.41
0
0
0
P
1
(b)
5 = 0
0
0 q 2 + bg.51
P6
(b)
0
0 q 3
P 0

bg.61
7

0
0
0

P8

0
0
0
0
P

0
9 0
0
0

10
0
0
0
0

(b)

(b)

bg.12

(b)
bg.22
(b)

bg.32

(b)
bg.42
(b)

bg.52

(b)
bg.62

0
0
0
0

14

11

15

(b)
0
0
0
bg.13
0
0
0

0
0
0

(b)

0
0
0
bg.23

0
0
0
0
0
0
(b)
(c)

(c)
(c)
bg.33

## bg.11 bg.12 bg.13

0
0
0

(b)
bg.43 q (b) b (c) b (c) b (c) q (c) 0
0
0 q (d)
g.21
g.22
g.23
1
1

(b)
0
0 q
bg.53 q 2 + b (c) b (c) b (c) q 2 + 0
2
g.32
g.33
(d)
(d)
(d)

g.31
q
b
b
b
q
q
(b)
g.12
g.13 3
g.11
bg.63 3
b (c) b (c) b (c) 3
(d)
g.42
g.43
(d)
(d)

g.41

## bg.21 bg.22 bg.23

0
(c)
(c)
(c)
b
bg.52 bg.53
(d)
(d)
(d)
g.51

0
bg.31 bg.32 bg.33

(c)
(c)
(c)

b
bg.62 bg.63
(d)

0
(d)
(d)
g.61

bg.61 bg.62
bg.63

0
0
0
0

## Now, collect all basic element forces into a

single vector Q for compact notation. We have:

Page 25

q (a)
1 Q
q2 1
Q2
q3 Q

(b) 3
q1 Q4
q

2 Q5

q 3 Q6

=
=Q
(c)
q Q7
1 Q
q 2 8
q Q9
3 Q
(d) 10
q1 Q11
q 2 Q
12
q3

CE220-Theory of Structures

Equilibrium

## b (a) b (a) b (a) b (b) b (b)

g.42
g.43
g.11
g.12
g.41
(a)
(a)
(a)
(b)
(b)
b
bg.52 bg.53 bg.21 bg.22
P1 g.51

(a)
(a)
(a)
(b)
( b)
P2 bg.61 bg.62 bg.63 bg.31 bg.32
P
(b)
(b)
0
0
bg.41
bg.42
3 0
P

4
(b)
(b)
P 0
0
0
bg.51
bg.52
5

=
(b)
(b)
P6 0
0
0
bg.61
bg.62

P7
0
0
0
0
P 0
8

0
0
0
0
P9 0
P
10 0
0
0
0
0

0
0
0
0
0

Pf = B f Q

## or, in compact form

(b)
bg.13

(b)
bg.23

(b)
bg.33

(b)
(c)
(c)
(c)
bg.43
bg.11
bg.12
bg.13

(b)
bg.53

(c)
bg.21

(c)
bg.22

(c)
bg.23

(b)
bg.63

(c)
bg.31

(c)
bg.32

(c)
bg.33

(c)
bg.41

(c)
bg.42

(c)
(d)
(d)
bg.43
bg.11
bg.12

(c)
bg.51

(c)
bg.52

(c)
bg.53

(d)
bg.21

(d)
bg.22

(c)
bg.61

(c)
bg.62

(c)
bg.63

(d)
bg.31

(d)
bg.32

(d)
bg.61

(d)
bg.62

Q1
0
Q
2
0 Q3
Q
0 4
Q5
0 Q
6

0 Q7
Q
(d) 8
bg.13
Q
9
(d)
Q10
bg.23

(d) Q11
bg.33
Q12

(d)
bg.63

where Bf is the static matrix of the structural model for the free dofs

## Compare these with the equations set up one at a time in Example 1.

P1

Q2 + Q3
12

Q4 0.8

P2

Q1 0.6 Q4 +

P3

Q3 + Q5

P4

0.8 Q4 +

P5

0.6 Q4

P6

Q6 + Q8

P7

0.8 Q7

10
Q5 + Q6
10

Q8 + Q9

0.6 Q7

P9

Q9 + Q11

P10

Q12

Q5 + Q6

Q5 + Q6

P8

Q5 + Q6

10

10

0.6

0.8

0.6 0.8 Q7 +
0.8 + 0.6 Q7 +

0.6 +

Q8 + Q9
10

10

Q8 + Q9
10
Q8 + Q9
10

0.6
0.8

Q11 + Q12
12

0.8 + Q10

Bf

0
0

1
12

0.6
0.6
1
0.8

10
12
10

0.6

0.8

0.6

0
0

Page 26

0.6

0.6

10

10

0.6

0.8
10

0.8
10

0.8

12

12

0.6

0.8
0.8

1
10
10

0.8

0.8

10

10

0.6

0.6

10

10

0.8
0.8

10
10

0.8

0.6
10

0.6
10

CE220-Theory of Structures

Equilibrium

## Static matrix- Stability and degree of redundancy (static indeterminacy) of structure

The equilibrium equations at the free dofs of the structural model

Pf = B f Q + Pfw

on the left and the unknown basic element forces on the right.

Pf Pfw = Bf Q

The solution of this linear system of equations depends on the properties of the static matrix Bf. In a stable
structural model the number of linearly independent rows of static matrix Bf should be equal to to the
number of free dofs. The number of linearly independent rows of a matrix is known as its rank. Thus, for a
stable structural model the rank of the static matrix should be equal to the number of free dofs.
The degree of redundancy (static indeterminacy) of the structural model is given by the difference between
the number of basic element forces and the number of linearly independent equations of equilibrium at the
free dofs. For a stable structural model the degree of redundancy or static indeterminacy NOS is the
difference between the number of columns and the number of rows of matrix Bf.

## Examples of statically indeterminate structures

Degree of redundancy (static indeterminacy) NOS

STRUCTURE A

STRUCTURE B

STRUCTURE C

NOS = 18-12=6

NOS = 15-11=4

NOS = 15-11=4

NOS = 10-7=3
a

NOS = 10 - 8 = 2

Page 27

## Example 1 - Equilibrium Equations for Gable Frame

Objectives:
(a) set up the equilibrium equations for a frame structure with general orientation members
(b) assess stability and degree of static indeterminacy of structural model
(c) automate process of setting up equilibrium equations

3
b

Structural model

2
3

a
Y

## global coordinate system

12

10

13

14

11

15

12

We isolate node free bodies and number the equations of equilibrium (or, degrees of freedom dofs,
according to Newton's second law). We number the free dofs first starting from the lowest numbered node,
and number the support or restrained dof's after completing the numbering of the free dof's in the same way.
The equilibrium of the element free bodies is satisfied by selecting 3 basic forces as independent or basic
forces and then expressing the element end forces in the global reference system in terms of them, so as to
satisfy the 3 equilibrium equations of the element. We obtain the relation
If we write the equilibrium in the undeformed configuration (first order or linear equilibrium)
then the array bg depends only on the geometry of the element (length and direction cosines)

p = b g q

the element equilibrium transformation matrix to global coordinates b g has the form
pj
pj

q1
q3

pi

q2 + q3
L

pi

(a)

q2

(b)

q1

X
L
p1 Y

p2 L
p 0
p= 3=
p 4 X
p5 L
Y
p6
L

Y
L2
X
L2
1

Y
L2
X
2
L
0

Y
L2
X
L2
0

q1
q = b q
2
g
Y
q

L2 3
X
2
L

## where X/L and Y/L are the direction cosines

of the element and L is the element length

q 2 + q3
L

(c)

Page 28

## Prof. Filip C. Filippou, 2000

When writing the equilibrium equations we proceed equation by equation and limit ourselves to the
equations not involving support reactions, i.e. the equilibrium equations for the free dofs of the structural
model. We note in the following figure that the basic forces Q are numbered in sequence starting from
element a through element d. The node i and node j correspondence for the elements of the model is
shown next to the figure.

Q5

Q4

Q6

Q8

Q9

Q7

6
4

Q1

element

Q11

Q3

Q12
10
13

12

Q10

11

Q2 + Q3

14
15

12

P1 =

node j

Q2

node i

Q4 0.8

P2 = Q1 0.6 Q4 +

Q5 + Q6

Q5 + Q6
10

10

0.6

0.8

P3 = Q3 + Q5
P4 = 0.8 Q4 +
P5 = 0.6 Q4

Q5 + Q6
10
Q5 + Q6
10

0.6 0.8 Q7 +
0.8 + 0.6 Q7 +

Q8 + Q9
10
Q8 + Q9
10

0.6
0.8

P6 = Q6 + Q8

P7 = 0.8 Q7

Q8 + Q9

P8 = 0.6 Q7

10

0.6 +

Q8 + Q9
10

Q11 + Q12
12

0.8 + Q10

P9 = Q9 + Q11
P10 = Q12

Page 29

## we can write this system of

equations in compact form

Pf = Bf Q

## Prof. Filip C. Filippou, 2000

Observations:
1. the basic longitudinal force is always assumed at node j
2. we can use the appropriate terms of the element equilibrium matrix b g; the signs will be correct as long as
we remember that X is measured by subtracting the X-coordinate of node i from that of node j and the
same is true for Y. Thus, for element c in the gable frame of the example, Y is negative because node j is
located lower than node i.

## The static matrix Bf for the free

dofs of this structural model is

8 6 6
10
2
2
10
10

6
8
8
10
2
2
10
10

0
1
0
bgc :=

6
6
8

10 102 102

6
8
8

2
2
10
10
10

0
1
0
0

Bf := 0

0
0

0.8
0.6
0
bgc =
0.8
0.6
0

1
12

0.6
0.6
1

0.8
10
12
10

0.6

0.8

0.8

10

10

0.8

0.6
10

0.6
10

0.8

0.6
10

0.6

0.8

0.6

0.8
10

0.8
10

0.6

0.8
10
1

0.6
10
0.8
10

0.08 0.08
0
1

0.06 0.06

0.08 0.08
1
0
0.06

0.06

0
0 0
0

0
0 0
0

0.6
0 0
0
10

0.8
0 0
0
10

0
0 0
0

0.6
1
1

0
10
12 12

0.8

1 0
0
10

1
0 1
0

0
0 0
1
0

In the structure equilibrium matrix Bf we see the contribution of element c in columns 7-9. The terms of the
equilibrium matrix bg for element c appear in rows 4 through 9. Before discussing the automatic assembly
of the equilibrium equations let us write down the equilibrium equations for the support reactions.

Page 30

Q5

Q4

Q6

Q8

Q9

Q7

6
4

Q1

P11 =

10

Q11

P13 = Q2

Q12

P14 =

Q10

Q11 + Q12
12

P15 = Q10

14

11
15

12

## we can write these equations in compact form as

with

P12 = Q1

Q3

13

12

8
9

Q2

Q2 + Q3

P11

P12
R = P13

P14
P
15

and

R = Bd Q

0 1 1 0 0 0 0
12
12

1 0
0
0 0 0 0

1
0
0 0 0 0
Bd := 0

0 0
0
0 0 0 0

0 0
0
0 0 0 0

0 0
0 0
0 0
0 0
0 0

0
0
0

0
0
0

1
1

0
12
12

0
1 0
0

we can see that this matrix contains a lot of zeros, since only one element connects to a support. Thus,
the determination of the support reaction by the operation Bd Q is not very efficient. Instead, each
support reaction should be evaluated from the corresponding equation.
we can combine the equilibrium equations for the free and restrained dofs in a single
set by stacking the corresponding vector and matrices on top of each other. We get
the matrix

B=

Bf

Bd

Pf
=
R

Bf
Q
Bd

## is the static matrix of the structural model for all dofs

Matrix B can be readily assembled automatically by considering the contribution of one element after
another. The contribution of each element goes into 3 separate columns, so that the contribution of element
a goes into columns 1 to 3, element b into columns 4 to 6, and so on. The rows of each element equilibrium
matrix bg go to the rows of matrix B according to the incidence relation of the dofs of this element. This
incidence relation expresses the relation between element dof and global dof numbers. Since the 2-node, 2d
frame element has 6 dofs, the incidence (id) array for this element has 6 rows. Each row contains the global
dof number that corresponds to the element dof number for that row. We illustrate this for the example

Page 31

element a

11
12
13

1
2
3

element b

element c

1
2
3

4
5
6

element d

4
5
6

7
8
9

## Node free bodies

7
8
9

14
15
10

2
3

10

13

14

11
15

12

this means that the first row of the equilibrium matrix of element c goes to row 4 of the structure matrix B,
the fourth row to row 7, etc. In Matlab this reassignment of rows can be easily accomplished with array
indexing as the FEDEASLab function B_matrix.m illustrates.
B := stack ( Bf , Bd)

0 0.083 0.083
1
0
0

1
0
0
0
0
0

0
0
0
0
0
0
0
0
0

0
0
B= 0
0
0
0

0
0
0
0 0.083 0.083

0
0
1
0
1
0
0
0
0

0
0
0

0.6

0.08

0.08

0.8

0.06

0.06

0.8

0.06

0.06

0.6

0.08 0.08

0.6

0.08

0.08

0.8

## 0.6 0.08 0.08

0.06 0.06

0
0
0

0
0
0
0
0
0

0
0
0
0
0
0

0 0.083 0.083

0
0
1
0
1
0

1
0
0
0
0
0

0
0
0

0
0
0
0 0.083 0.083

0
0
1
0

Even though the function B_matrix.m assembles the static matrix B for all dofs of the structural model we
use only the static matrix Bf for the free dofs of the model for discussions of stability and static
indeterminacy. This is so because the addition of the support dofs does not change stability or static
indeterminacy considerations. In the case of static indeterminacy this is easy to see: there are as many
equilibrium equations at the restrained dofs as unknown support reactions.

Page 32

Pf
=
R

Bf
Q
Bd

## is not very useful

since it contains the unknown support reactions on the left hand side of the equations. We always work
only with the top portion of these equations, and determine the support reactions only after having
determined the basic element forces Q, as subsequent examples will illustrate.
We return now to deal with the equilibrium equations at the free dofs of the structure

Pf = Bf Q

It is the properties of the static matrix Bf for the free dofs of the structural model that determine whether a
solution exists, and whether it is unique, or whether there are multiple solutions. Note that the specification
of a loading is not necessary for the task, except for the case of an unstable structure being stable for a
specific load, which is of no interest to us. Let us look at one important property of static matrix Bf :
the rank of the matrix, i.e. the number of linearly independent rows
A necessary and sufficient condition for a structural model to be stable is that the rank of Bf be equal to
the number of rows, i.e. to the number of free dofs; such a matrix is known to have full rank
Let us check the present example:

rank ( Bf) = 10

## which is equal to the number of rows

rows ( Bf) = 10

A structure is called statically determinate, if it is stable and its static matrix Bf has the same number of
rows as columns (i.e. it is a square matrix). In such case the inverse of the structure equilibrium matrix
exists and is called the force influence matrix. We give it the symbol Bbar.
The equilibrium equations have a unique solution for a stable, statically determinate structure. This is an
important class of structures, since the internal stress state does not depend on material properties.
A structure is called statically indeterminate, if it is stable and its structure equilibrium matrix has more
columns than rows (i.e. more unknowns than available equations). The difference between number of
columns or unknowns and number of rows or available equations is called the degree of static indeterminacy
and we use the shorthand NOS for this number.
In a stable, statically indeterminate structure the equilibrium equations have multiple solutions. These
solutions can be expressed as the sum of a primary basic force field (called primary or particular solution),
and NOS self-stress basic force fields with NOS redundant basic forces as parameters (consult Strang, 3rd
edition, pp 71-77). The selection of these redundant basic forces can be done automatically with the
Gauss-Jordan form of the structure equilibrium matrix. We will illustrate this solution process with examples.
The structure in this example has 12 unknown basic forces and 10 equations of equilibrium, i.e. NOS = 2.
In the above system of equilibrium equations, there is one that involves only one unknown basic force, which
can be therefore determined immediately and independently from the rest, i.e.
P10 = Q12

given the value for P10 at the beginning of the analysis we can immediately calculate Q12.
Quite often the value for P10 is zero, resulting in a basic force with zero value and the final
result 0 = 0 for the corresponding equilibrium equation. If the value of P10 is not zero, we
can still calculate Q12 and account for its effect on the remaining equilibrium equations (this
would be equation 7 for this structure). To economize on the number of equations and
basic forces, it is advisable to identify such equations and basic forces at the beginning of
the analysis and avoid numbering the corresponding dof and basic force. We should make
sure to include the effect of a non-zero value for the corresponding basic force on the
remaining equilibrium equations.

Page 33

## Prof. Filip C. Filippou, 2000

An interesting case results with the insertion of a moment release at node j of element b, i.e. by releasing
the basic force Q6 . Since Q6 = 0, equation 6 now involves a single unknown
Thus, for this structure we should only set up 8 equations (i.e. eliminate #6 and #10 above)
and then use only 9 unknown basic forces, because Q8 and Q12 can be determined
independently at the start of the analysis from the corresponding equilibrium equation.
Note that NOS = 1 in this case, since we have 8 equilibrium equations for 9 basic forces.

P6 = Q8

12

Q4

Q8

Q5
6

Q9

Q7

Q1

8
1

Q11

Q3
Q2

Q12
10

13

Q10
14

11
12

15

Page 34

Page 35

% 2d frame element

## 0 = free) (specify only restrained dof's)

Model = Create_SimpleModel(XYZ,CON,BOUN,ElemName);

## % specify element type

[ElemName{1:4}] = deal('2dFrm');

## % boundary conditions (1 = restrained,

BOUN(1,:) = [1 1 1];
BOUN(5,:) = [1 1 0];

% connectivity array
CON {1} = [ 1
2];
CON {2} = [ 2
3];
CON {3} = [ 3
4];
CON {4} = [ 4
5];

## % specify node coordinates (could only specify non-zero terms)

XYZ(1,:) = [ 0
0]; % first node
XYZ(2,:) = [ 0
12]; % second node, etc
XYZ(3,:) = [ 8
18]; %
XYZ(4,:) = [ 16
12]; %
XYZ(5,:) = [ 16
0]; %

Create model

% Automatic assembly of equilibrium equations for gable frame with FEDEASLab function B_matrix
% Clear workspace memory and initialize global variables
CleanStart

Page 36

the
the
the
the

0.0833
0
0
0
0
0
0
0
0
0

0.0833
0
1.0000
0
0
0
0
0
0
0

-0.8000
-0.6000
0
0.8000
0.6000
0
0
0
0
0

-0.0600
0.0800
1.0000
0.0600
-0.0800
0
0
0
0
0

-0.0600
0.0800
0
0.0600
-0.0800
1.0000
0
0
0
0

0
0
0
-0.8000
0.6000
0
0.8000
-0.6000
0
0

## rank of the structure equilibrium matrix is 10

no of columns of the structure equilibrium matrix is 12
no of rows of the structure equilibrium matrix is 10
degree of static indeterminacy of the model is 2

0
1.0000
0
0
0
0
0
0
0
0

0
0
0
0.0600
0.0800
1.0000
-0.0600
-0.0800
0
0

0
0
0
0.0600
0.0800
0
-0.0600
-0.0800
1.0000
0

## % determine NOS by difference of no of columns and rows (use size command)

ncol = size(Bf,2);
disp(['the no of columns of the structure equilibrium matrix is ' num2str(ncol)])
nrow = size(Bf,1);
disp(['the no of rows of the structure equilibrium matrix is ' num2str(nrow)])
NOS = ncol-nrow;
disp(['the degree of static indeterminacy of the model is ' num2str(NOS)])

## % check rank of matrix Bf

disp(['the rank of the structure equilibrium matrix is ' num2str(rank(Bf))])

disp(Bf)

## % extract rows corresponding to free dof's to form matrix Bf

Bf = B(1:Model.nf,:);

## % set up equilibrium equations for all dof's

B = B_matrix(Model);

Equilibrium equations

0
0
0
0
0
0
0
1.0000
0
0

0
0
0
0
0
0
0.0833
0
1.0000
0

0
0
0
0
0
0
0.0833
0
0
1.0000

CE220-Theory of Structures

Equilibrium

## Special case for equilibrium equations - Statically determinate structures

When the structural model is stable and its static matrix Bf is square, the structure is statically determinate
and a unique solution for the basic forces exists for any applied loading. This solution does not depend on
the element properties. We can write this solution in compact form

Q = Bf1 Pf Pfw

Q = B Pf Pfw

## B is the basic force influence matrix of the structural model

In a statically determinate model the basic force influence matrix is the inverse of the static matrix for
the free dofs. The coefficient (i,j) of the basic force influence matrix expresses the effect of a unit force
at dof j on the basic force i of the structural model.
Once the basic forces are determined in a statically determinate structure, the support reactions can be
obtained one by one from the equation of equilibrium of the corresponding restrained dof. Finally, the
analyst should check global equilibrium between applied forces and support reactions for the free body
of the entire structural model.
Consult examples 2, 3 and 4 for applications of the equilibrium equations to statically determinate
structures.

Page 37

## Example 2(r) - Equilibrium equations for statically determinate 2d truss

Objectives:
(a) set up and solution of the equilibrium equations for a statically determinate truss
(b) determination of force influence matrix; physical interpretation
(c) determination of support reactions and check of global equilibrium
In this example we will set up the equilibrium equations at the nodes of a statically determinate truss.
The truss is given in Figure 1. The global coordinate system X-Y is also shown.
4

Y
1

a
X

2
8

## Fig. 1: Statically determinate truss

We number the nodes in arbitrary numerical sequence and identify the elements with lower case roman
letters (could have also used numbers). The element numbering is also in arbitrary sequence.
Before embarking on the equilibrium equations we note the following: a truss is a structure made up
exclusively of truss elements. These are straight elements (see Remark below) with a moment
release at each end. Thus, each element has only one basic force q1 . The following figure displays
all moment releases for the truss model.

q1
truss element

q1

It is quite clear from the above figure that no moments can be applied at the nodes of the truss. With this
assumption the moment equilibrium at the nodes is satisfied automatically, i.e. 0 = 0. Strictly speaking,
however, this results in an unstable node. Thus, it is better to represent the model as shown in the
following figure and then postulate that the applied moments at the nodes are zero (this is what makes
sense in computer analysis).

Page 38

## Prof. Filip C. Filippou, 2000

in this case there is one element with a rigid (moment) connection at each node so that the stability of the
nodes against rotation is ensured. If no moments act at the nodes, there are no end moments in the
elements. For convenience we simplify the display of these construction details with a single circle at the
node, as shown in Fig. 1. This indicates a node without any applied or resisting moments.
Remark: The longitudinal basic force q1 in each element should not be confused with the axial force N(x),
which is the internal force acting parallel to the element axis at a section located a distance x
from end i of the element. While N(x) is equal to q1 in the absence of longitudinal element loads,
this is not the case in their presence. q1 and N(x) are also not equal if the "truss element" is
curved. It should then be considered as a frame element with end moment releases.
Based on the preceding discussion, there are no moment equilibrium equations at the nodes of a truss
structure. Starting with the first node we number the equilibrium equations at the node free bodies in the
following order: equilibrium equations without support reactions are numbered first, in the X-direction and
then Y-direction following the node sequence (we call these equilibrium equations for the free degrees of
freedom or dofs). After we finish with the equations without support reactions, we number in the same
fashion the equations with support reactions (we call these equilibrium equations for restrained dofs). The
numbering in Figure 2 results.

2
6

Page 39

## CE 220 - Theory of Structures

Length of elements

La := 8

La = 8

Lb := 8

Lb = 8
2

Lc :=

6 +8

Lc = 10

Ld := 6

Ld = 6
2

Le :=

## Prof. Filip C. Filippou, 2000

6 +8

Le = 10

We now set up the equilibrium equations at the free bodies of the nodes after separating these with
mental cuts from the elements. Each truss element has a single basic force. Note that we keep the
loading general, i.e. we assume that forces may be present at any degree of freedom. We have:
5

P1 Q 1 + Q 2 = 0
4

Q3
7

P2 + Q 4 = 0
P3 Q2 0.8 Q5 = 0

Q4

Q5

P4 0.8 Q3 + 0.8 Q5 = 0
8

2
6

Q1

Q2

P5 0.6 Q3 Q4 0.6 Q5 = 0

moving the unknown basic forces to the right hand side of the equations gives the following equations
5

P1 = Q 1 Q 2

P2 = Q 4

P4 = 0.8 Q3 0.8 Q5
P5 = 0.6 Q3 + Q4 + 0.6 Q5

Q4

Q3

P3 = Q2 + 0.8 Q5
7

Q1

Q5

Q2

8
3

Conclusion: To determine the signs of the element forces Q directly on the right hand side of the
above equilibrium equations we can use the element force orientation at the element side of the cut of
the corresponding node free body.

Page 40

## Prof. Filip C. Filippou, 2000

The coefficients of the element forces Q (note that they range in absolute value from 0 to 1, since they
represent direction cosines) can be collected in static or equilibrium matrix of the structure for the free dofs.
We can then write the above equations in compact form: after denoting the applied forces at the free dofs
with Pf the system of equilibrium equations for the free dofs of the structure becomes Pf = Bf * Q

Pf = Bf Q

with

P1

P2

Pf = P3

P4

P5

1
0

Bf := 0
0

0.8

0.8 0

0.8

0.6 1

0.6

and

Q1

Q2

Q = Q3

Q4

Q5

Bf

1
0

= 0
0

1 0 0 0.8
0 0.8 0 0.8

0 0.6 1 0.6

## Equation for dof 3

Equation for dof 4
Equation for dof 5

In the static matrix for the free dofs of a truss structure rows correspond to equilibrium
equations and columns to the basic force of one element
Note that the static matrix for the free dofs Bf only depends on the geometry of the structural model; it is
independent of the loading. Thus, it can be set up for a given model geometry, without specification of the
applied forces, exactly as we have done in this example.
If Bf is a square and nonsingular matrix, we talk of a statically determinate, stable structure.
In such case we can invert the matrix to obtain the (basic) force influence matrix Bbar.

1
Bbar := Bf

Bbar

1
0

= 0
0

0.667 1

0.5

0.667

0.667 1

0.5

0.667

1
0
0
0

## 0.833 0 0.625 0.833

The rows of the basic force influence matrix correspond to the longitudinal basic force in a particular
element (e.g. the coefficients in row 3 correspond to element c), and the columns correspond to a
particular dof (e.g. the second column corresponds to the effect of a force at dof 2). Thus the term (i,j) of
the basic force influence matrix shows the effect of a unit force at dof j on the basic force i of the structure.
This basic force influence matrix coefficient is very useful in design optimization problems, since it shows
Remark: the static matrix at the free dofs Bf and the basic force influence matrix Bbar depend only on the
model geometry for linear statics, in which case the equilibrium equations are formulated in the undeformed
(original) configuration of the structural model. When the deformed shape deviates appreciably from the
undeformed configuration, the equilibrium equations should be established in the deformed configuration.
This is covered in Nonlinear Structural Analysis.

Page 41

## Determination of basic forces for specific load case

For a specific load case the applied forces at the free dofs are given. It is then possible to solve the system
of equilibrium equations for the unknown element forces Q. In a stable, statically determinate structure for
which Bf is square and nonsingular there is a unique set of element forces Q that equilibrate the given
loading (unique solution of equilibrium equations). Note that the solution does not depend on element
properties, which means that the member sizes do not need to be known beforehand.
10

0
5

Pf := 0
10

0

5
8

solve for unknown element forces by Gauss elimination (function lsolve in Mathcad, \ in Matlab)

Q := lsolve ( Bf , Pf)

8.33
8.33

= 2.08
5

10.42

## basic forces in truss elements

(+ : tension, -: compression)

Note that if we have spent the effort to determine the basic force influence matrix (getting the inverse of a
matrix is more work than performing Gauss elimination!), then we can obtain the element forces also by
multiplying the second column of Bbar by (-5) and the fourth column by 10 and adding up the results.

Q := Bbar 2 ( 5) + Bbar 4 10

8.33
8.33

= 2.08
5

10.42

Thus, the end forces result from the linear combination of the 2nd and 5th column of the basic force
influence matrix after these are factored by the values of the force acting at the corresponding dof.

Page 42

## Support reactions and global equilibrium

We can now determine the support reactions from the equilibrium equations at the restrained dofs
5
4

## Equilibrium equations at restrained dofs

Q4

Q3

P6 = Q1 0.8 Q3

Q5

P7 = 0.6 Q3
7

Q1

P8 = 0.6 Q5

Q2

We do this directly for each support reaction (for convenience we can use the symbol R to denote the
support reactions; in such case we number these independently).

R1 = P6 = Q1 0.8 Q3

R1 := Q 0.8 Q

R2 = P7 = 0.6 Q3

R2 := 0.6 Q

R2 = 1.25

R3 = P8 = 0.6 Q5

R3 := 0.6 Q

R3 = 6.25

R1 = 10

and with these we can check the global equilibrium (a very important check indeed!)
10

10
1.25

6.25

5
8

In addition to the trivial sum of the forces in X and sum of the forces in Y (which are satisfied by inspection!)
we check the sum of the moments about the left and right support (only one of the two is really necessary)
sum of moments about left support (CCW is +ve)

10 6 5 8 + R3 16 = 0

## sum of moments about right support (CCW is +ve)

10 6 + 5 8 R2 16 = 0

Page 43

Ok!

## Prof. Filip C. Filippou, 2000

If we are interested in the support reaction influence matrix, then we set up the static matrix for the support
dofs consisting of the coefficients of the basic forces in the equilibrium equations for the restrained dofs of
the structure. We have from the earlier equations

R1 = P6 = Q1 0.8 Q3
R2 = P7 = 0.6 Q3

## thus the complete static

matrix for the support dofs is

R3 = P8 = 0.6 Q5

1 0 0.8 0 0
Bd := 0 0 0.6 0
0
0 0 0 0 0.6

eq for dof 6
eq for dof 7
eq for dof 8

The support reaction influence matrix is the product of Bd and Bbar and contains the coefficients for the
effect of the applied forces at the free dofs on the support reactions.

Bd Bbar

0
1 0 1 1

## = 0 0.5 0 0.375 0.5

0 0.5 0 0.375 0.5

## e.g. a unit force at dof 4 produces R1 = -1, R2 = -0.375

and R3 = 0.375

Note: if we had bothered setting up the matrix Bd , we could determine the support reactions from the basic
element forces with the following expression

support reactions

R := Bd Q

10
= 1.25
6.25

## but the direct determination earlier is faster for hand calculations.

CONCLUSIONS:
1. In a stable, statically determinate structure there are as many equilibrium equations for the free dofs of
the structural model as there are unknown basic element forces. The static matrix for the free dofs Bf is,
therefore, square and invertible. Note that the inclusion of the support reactions does not change anything
to this discussion, since there are as many equilibrium equations at the support dofs as unknown support
reactions. Thus, it is better to work with the static matrix for the free dofs only.
2. The static matrix for the free dofs of the structure only depends on the geometry of the structural model
in its original (undeformed) configuration (linear equilibrium).
3. The inverse of the static equilibrium matrix for the free dofs Bf gives the basic force influence matrix
Bbar. This matrix is useful in many applications, such as design optimization, system identification, damage
assessment.
4. For a particular loading, the equilibrium equations give a unique solution for the basic forces of the
structural model. The element properties are not required, thus the element sizes need not be available.
5. The support reactions are calculated after the determination of basic forces.

Page 44

## Matlab script for Example 2 in CE220 class notes

% Solution for statically determinate truss

## OPTION A: perform each step with Matlab functions

% clear memory
clear all
% specify static (equilibrium) matrix Bf
Bf = [1 -1
0
0
0;
0
0
0
-1
0;
0
1
0
0
0.8;
0
0
0.8
0
-0.8;
0
0
0.6
1
0.6];
% determine and display force influence matrix Bbar
Bbar = inv(Bf);
disp('the force influence matrix Bbar is');
disp(Bbar);
the force influence matrix Bbar is
1.0000
-0.6667
1.0000
0.5000
-0.6667
0
-0.6667
1.0000
0.5000
-0.6667
0
0.8333
0
0.6250
0.8333
0
-1.0000
0
0
0
0
0.8333
0
-0.6250
0.8333

## specify applied force vector

Pf = [ 0; -5; 0; 10; 0];
% solve for basic forces Q (Note the use of the backslash or left matrix
divide operator which computes the solution for a linear system of
equations by Gauss elimination)
Q = Bf\Pf;
% display result
format short
disp('the basic forces are');
disp(Q);
the basic forces are
8.3333
8.3333
2.0833
5.0000
-10.4167

## OPTION B: use FEDEASLab functions

% clear memory; close any open windows
CleanStart;
% define
XYZ(1,:)
XYZ(2,:)
XYZ(3,:)

model geometry
= [ 0
0]; % first node
= [ 8
0]; % second node, etc
= [ 16
0]; %

Page 45

XYZ(4,:) = [

6];

## % element connectivity array

CON { 1} = [ 1
2];
CON { 2} = [ 2
3];
CON { 3} = [ 1
4];
CON { 4} = [ 2
4];
CON { 5} = [ 3
4];
% boundary conditions (1 = restrained,
dof's)
BOUN(1,:) = [ 1 1];
BOUN(3,:) = [ 0 1];
% specify element type
ne = length(CON);
[ElemName{1:ne}] = deal('Truss');

## 0 = free) (specify only restrained

% number of elements
% truss element

create Model
Model = Create_SimpleModel (XYZ,CON,BOUN,ElemName);
% plot and label model for checking (optional)
Create_Window (0.80,0.80);
% open figure window
Plot_Model (Model);
% plot model
Label_Model (Model);
% label model

## form static (equilibrium) matrix B

B = B_matrix(Model);
Bf = B(1:Model.nf,:);

Pe(2,2) = -5;
Pe(4,1) = 10;

## % force at node 2 in direction Y

% force at node 4 in direction X

% extract applied force vector Pf at free dofs from Loading field Pref

Page 46

## solution for basic forces

solve for basic forces and display the result
Q = Bf\Pf;
disp('the basic forces are');
disp(Q);
the basic forces are
8.3333
8.3333
2.0833
5.0000
-10.4167

## determination of support reactions

% the product B*Q delivers all forces at the global dofs
% the upper 5 should be equal to the applied forces, the lower 3 are the
support reactions
disp('B*Q gives');
disp(B*Q);
B*Q gives
0
-5.0000
0
10.0000
0.0000
-10.0000
-1.2500
6.2500

post-processing of results
% plot axial force distribution
Create_Window(0.80,0.80);
Plot_Model(Model);
Plot_AxialForces(Model,Q);

Page 47

## Example 3(r) - Equilibrium equations for statically determinate 2d beam

Objectives:
(a) set up of equilibrium equations for a statically determinate beam
(b) systematic reduction of equilibrium equations to exclude longitudinal basic forces for specific loading
(c) systematic reduction of equilibrium equations involving a single unknown basic force
(d) relation between basic forces and internal forces; bending moment and shear force diagrams
(e) influence lines for moving loads
Geometry of structural model

10

10

3

Q3

Q2

6
9

Q1

Q5

Q6 Q
4
b

Q8

Q9
c

Q7

X-direction

Y-direction

P1 = Q 2
P2 = Q 1 Q 4

P3 =

Q2 + Q3
10

Q5 + Q6
10

P5 = Q 4 Q 7
P7 = Q 7

P4 = Q 3 + Q 5

P6 = Q 6 + Q 8
P8 =

Q8 + Q9

P9 = Q 9

Page 48

## We distinguish 3 horizontal force equilibrium equations (equations 2, 5 and 7) involving 3 longitudinal

basic forces. We note that the longitudinal basic forces Q 1 , Q4 and Q7 do not appear in the other
equations. We can therefore uncouple these three equations from the rest and solve them
independently. We could have concluded this independence of equations with longitudinal basic forces
by inspection at the start of the analysis. If we are not interested in the longitudinal basic forces, we can
set up only the equilibrium equations involving the flexural basic element forces. This is shown next
Case B: Complete set of equilibrium equations for flexural basic element forces

10

10

Q1

Q2
Q3

Q4
b

Q5

Q6
c

Y-direction

P1 = Q 1
P2 =

Q1 + Q2
10

Q3 + Q4
10

P3 = Q 2 + Q 3
P4 = Q 4 + Q 5

P5 =

Q5 + Q6

P6 = Q 6

Looking at these 6 equations and the unknown 6 basic element forces we conclude that equations 1 and 6
involve a single unknown basic force each. We can therefore solve for the corresponding unknown basic
force independently from the rest. Assuming that the applied force at this degree of freedom is zero in most
cases, we can proceed to remove the two equations and the corresponding basic forces from the system of
equations. This process can be done by inspection at the start of the analysis once the loading is given. If
the applied forces at dofs 1 and 6 are not equal to zero, the corresponding basic forces will not be zero and
we should be careful to include the effect of the non-zero basic force on the remaining equilibrium
equations. We will see later in this example how this is done.

Page 49

## We renumber the equations and basic forces.

Case C: Reduced set of equilibrium equations for flexural basic element forces
1

10

10

Q1
Q2

Q3
b

Q4
c

Y-direction

P1 =

P4 =

Q1
10

Q2 + Q3
10

P2 = Q 1 + Q 2
P3 = Q 3 + Q 4

Q4
5

We note that equation 4 now involves only one unknown, which can be, therefore, determined
independently from the other basic element forces. However, it is quite likely that a concentrated
transverse force acts at the tip of the cantilever, so that this basic force will not be zero in most cases. For
this reason we defer further simplification until we determine the solution for a specific load case.

Page 50

## Determination of basic forces for specific load case

15
1

5
b

10

10

We start with the 6 equilibrium equations not involving axial forces, since the latter are zero by inspection
for the given loading. We note that the applied forces are zero at dofs 1 and 6, so that the corresponding
basic forces are also zero. We can, therefore, set up the equilibrium equations in terms of the reduced set
of 4 dofs with 4 basic forces corresponding to case C above. We restate the equilibrium equations
1

P1 =

Q1
10

Q2 + Q3
10

P2 = Q 1 + Q 2

Q1
Q2

Q3

P3 = Q 3 + Q 4

P4 =

Q4

Q4
5

P1 = 15

P2 = 0

P3 = 0

P4 = 5

and it is very straightforward to solve the equilibrium equations for the unknown basic forces. We get

Q4 = 25

from equation 4

Q3 = 25

from equation 3

and then need to solve equation 1 realizing that Q1 = -Q 2 from equation 2. We get
and thus,

Q1 = 62.5

and

Q2 = 62.5

Page 51

15 =

Q1
5

2.5

## Prof. Filip C. Filippou, 2000

We can also use Gauss elimination of the system of equilibrium equations. This approach is useful for larger
structures, which we do not wish to solve by hand.

15

Pf :=
0

## The static or equilibrium matrix of the structure consists of the coefficients

of the basic forces Q in the equilibrium equations, namely

Q := lsolve ( Bf , Pf)

## We use Gauss elimination to solve for Q

Bending moment diagram

1 1 1 0
10 10 10

1 1 0 0
Bf :=

0
0
1
1

1
0
0
0

62.5

62.5

Q =
25

25

Before determining and drawing the bending moment diagram we need to establish the relation between
basic forces and internal forces at a section located a distance x from end i of the frame element. The
following figure is limited to the effect of the flexural basic forces. The corresponding internal forces are the
bending moment M(x) and the shear force V(x) at a section x from the end i of the frame element.
y

q2

frame element

q 2 + q3
L

q 2 + q3
L

end i

end j

q3

M ( x)

q2
q 2 + q3
L

q2

q3

q 2 + q3
L

V ( x)

x
x

M ( x) = q 2 1 + q3
L
L

q3

M ( x)
V ( x)

q 2 + q3
L

## the bending moment is positive when acting

CCW at the face of the cut closest to the origin.
Its reaction acts in the opposite direction at the
opposite face of the cut; the shear force is
positive when acting in the positive y-direction at
the face of the cut closest to the origin; its
reaction acts in the opposite direction at the
opposite face of the cut
we draw the bending moment "upside down" or
on the tension side of the reference line, but this
is really a matter of taste; it is important to draw
a happy or sad face so as to unambiguously
define the sense of flexure
we draw the shear normally, i.e. positive in
positive y. With this sign convention for the
shear and moment diagram the slope of the
moment diagram corresponds to the sign of the
shear force in the graph, even though
numerically it is equal to the opposite

Page 52

## With the above convention the bending moment diagram becomes

62.5

62.5

25

6.25

6.25

25

8.75

8.75

25
62.5

Once the basic forces are known we use element equilibrium to determine all dependent forces
(in this case there are only shear forces). We then use the nodal equilibrium to determine the support
reactions. Finally, we check global equilibrium. This process is illustrated in the following figures.
(1) Element equilibrium: determine shear forces
62.5
a
6.25

6.25

62.5

25
b
8.75

8.75

25
c
5

(2) node equilibrium: determine support reactions and confirm correctness of solution at applied forces

15
6.25

8.75

6.25

8.75

6.25

13.75

15

6.25

13.75

Page 53

## Prof. Filip C. Filippou, 2000

It is instructive to display this 3-step process in a single figure of element, node and structure equilibrium
62.5
a
6.25

62.5

6.25

25
b
8.75

8.75

25
c

6.25

6.25

15
8.75

8.75

6.25

13.75
15

6.25

13.75

Page 54

## Force influence matrix and influence line for moving loads

The inverse of the 4x4 static matrix for the free dofs of the structural model yields the basic force influence

Bbar := Bf

Bbar

5
=
0

2.5

0.5 0.5

## 0.5 0.5 2.5

0

The rows of the force influence matrix correspond to a particular basic force, e.g. the second row
corresponds to Q2 . The columns correspond to particular dofs. The terms of the force influence matrix
are force influence coefficients that show the effect of a unit force at a certain dof on the particular
basic force. For example, a unit force at dof 1 gives rise to Q2 = 5, while a unit force at dof 4 gives rise
to Q2 = -2.5 (recall that a positive force is directed upwards). Thinking that the unit vertical force may
be acting anywhere along the beam leads to the idea of influence line for Q2 The influence line for a
particular force is the graphical representation of the effect of a moving unit force on the basic force.
The value of the diagram at a particular location represents the value of the basic force when a unit
force acts at that particular location of the structure.
moving unit force
1

+
-

2.5

## Q2 under vertical force

CONCLUSIONS:

1. In beams the longitudinal basic forces and corresponding equilibrium equations are uncoupled from the
other basic forces and the equilibrium equations. In the absence of applied longitudinal forces the
longitudinal basic forces are all zero and do not need to be considered.
2. The inverse of the static matrix of a statically determinate structure is called the force influence matrix.
Rows of this matrix represent the effect of a unit force at any free dof on a particular basic force. The
corresponding values can be used to construct influence lines for each basic force of interest. The
influence lines consist of straight line segments for statically determinate structures.

Page 55

## We return to the earlier set of equilibrium equations for case C.

1

P1 =

Q1
10

Q2 + Q3
10

P2 = Q 1 + Q 2

Q1
Q2

Q3

P3 = Q 3 + Q 4

P4 =

Q4

Q4
5

We note that equation 4 only involves one unknown basic force, Q4 , and can be solved independently.
For the general case we obtain

Q4 = 5 P4

which says that the basic force at the base of the cantilever it equal to the force acting at
the tip times the lever arm.

P3 = Q3 5 P4

## after inserting this result into equation 3 we get

P3 + 5 P4 = Q3

after moving the applied force to the left hand side of the equation we get

this is now another trivial equilibrium equation that can be solved for the basic force Q3 independently of
the other equations.
The above equations simplify the number of equilibrium equations and basic forces for the given load case
to the following
5

15

25
1

P1 =

10

10

Q1
10

Q2 25
10

1
2

P2 = Q 1 + Q 2

Q1
a

Q2

25
b

Page 56

## Conclusion: as far as equilibrium is

concerned we can replace the nodal force
at the tip of the cantilever by a force and a
moment at the root of the cantilever. This
reduces the total number of equations and
basic forces by two.

## Prof. Filip C. Filippou, 2000

This is an example of determining basic forces independently, one at a time, from as many equilibrium
equations. We did this in this case first for Q4 from equation 4, and then for Q3 from equation 3. In each
case we have accounted for the effect of the basic force on the remaining equilibrium equations. The effect
of Q4 was accounted for in equation 3 where it appears. Then, the effect of Q3 was accounted for in
equation 1 where it appears. The end result is the inclusion of Q3 = -25 in equation 1 leaving us with 2
coupled equilibrium equations in two unknowns. The solution is very straightforward.

Page 57

## Matlab script for Example 3 in CE220 class notes

% Solution for statically determinate beam with overhang

## use FEDEASLab functions

% clear memory and close any open windows
CleanStart;
% define model geometry
XYZ(1,:) = [ 0
0]; % first node
XYZ(2,:) = [ 10
0]; % second node, etc
XYZ(3,:) = [ 20
0]; %
XYZ(4,:) = [ 25
0]; %
% element connectivity array
CON { 1} = [ 1
2];
CON { 2} = [ 2
3];
CON { 3} = [ 3
4];
% boundary conditions (1 = restrained,
BOUN(1,:) = [ 1 1];
BOUN(3,:) = [ 0 1];
% specify element type
ne = length(CON);
[ElemName{1:ne}] = deal('2dFrm');

0 = free)

% number of elements
% 2d frame element

create Model
Model = Create_SimpleModel (XYZ,CON,BOUN,ElemName);
% plot and label model for checking (optional)
Create_Window (0.80,0.80);
% open figure window
Plot_Model (Model);
% plot model
Label_Model (Model);
% label model

## form static (equilibrium) matrix B

B = B_matrix(Model);
Bf = B(1:Model.nf,:);

Pe(2,2) = -15;
Pe(4,2) = -5;

## % force at node 2 in direction Y

% force at node 4 in direction Y

Page 58

% extract applied force vector Pf at free dofs from Loading field Pref

## solve for basic forces

Q = Bf\Pf;
% display the result
disp('the basic forces are');
disp(Q);
the basic forces are
0
0
62.5000
0
-62.5000
-25.0000
0
25.0000
0

## determine support reactions

% the product B*Q delivers all forces at the global dofs the upper 9 should be
equal to the applied forces, the lower 3 are the support reactions
disp('B*Q gives');
disp(B*Q);
B*Q gives
0
0
-15.0000
0
0
0
0
-5.0000
0
0
6.2500
13.7500

plotting
% open window and plot moment diagram
Create_Window(0.80,0.80);
Plot_Model (Model);
% observe that the second argument is empty [] in the following function call
Plot_2dMomntDistr (Model,[],Q);

Page 59

## Example 4(r) - Equilibrium equations for statically determinate frame

Objectives:
(a) set up reduced set of equilibrium equations for three-hinge frame
(b) uncouple equilibrium equations for the longitudinal basic forces
(c) solution for basic forces of primary importance, i.e. flexural basic forces of elements
(d) determination of longitudinal basic forces one at a time from node equilibrium

12

10

5
1
8

## Reduced set of equilibrium equations and basic element forces

The inspection of the structural model reveals that the moment equilibrium equations at nodes 1, 3 and 5
involve only one basic force each. Assuming that there are no applied forces at these dofs the
corresponding basic forces will be zero. We, therefore, leave out these equilibrium equations and
corresponding basic forces and write directly the reduced set
Q3

Q4
2

Q5
7

5
3

Q1

Q6

Q2

Q8

d
a

Q7

Page 60

## Prof. Filip C. Filippou, 2000

Equilibrium equations:
X-direction

P1 =

Q2
12

Y-direction

Q3

Q4

P2 = Q 1 +

P4 = Q 3 Q 5
P6 = Q 5 +

P5 =

Q8
P7 =

10

Q4
8
Q6
8

P3 = Q 2 + Q 4

8
+

Q6
8

+ Q7

P8 = Q 6 + Q 8

there are 8 equations in 8 unknown basic element forces and the structure is statically determinate
Suppose that we like to separate the equilibrium equations that involve the 4 longitudinal basic forces in
the frame elements, Q 1 , Q3 , Q5 and Q7 . To do so, we need to isolate 4 equations from the above 8 in
such a way that we are left with 4 equations that do not include the longitudinal basic forces.
This is easy to do for Q1 and Q7 , since each appear in only one equilibrium equation, namely 2 and 7
respectively.
We also note from the above equations that Q3 , Q5 appear in only three equations, namely 1, 4 and 6.
In order to isolate these two longitudinal basic forces from the remainder, we create a new equation by
summing up the three equations in the X-direction. We obtain:

P1 + P 4 + P6 =

Q2
12

Q8
10

(*)

We note that the longitudinal basic forces do not appear in this equation. We can therefore set aside the
three equilibrium equations in the two longitudinal basic forces that we wish to isolate, as long as we insert
the sum of these 3 equations (*) in their place. We are left with the following two sets of equations:
Set A: equilibrium equations without longitudinal basic element forces
X-direction

P1 + P 4 + P6 =

Y-direction

Q2
12

Q8

P3 = Q 2 + Q 4

10
P5 =

Q4
8

Q6
8
P8 = Q 6 + Q 8

Page 61

## Set B: equilibrium equations with longitudinal basic element forces

X-direction

P1 =

Q2
12

Y-direction

Q3

P6 = Q 5 +

P2 = Q 1 +

Q8
P7 =

10

Q6
8

Q4
8

+ Q7

Thus, by isolating the four longitudinal basic forces and an equal number of equilibrium equations from
the four flexural basic forces, we have split the original set of 8 equations in 8 unknowns into two sets
of 4 equations. The first set of 4 equations only involves 4 unknown flexural basic forces and can be
solved independently. The second set, however, can only be solved after determining the value of the
flexural basic forces Q 2 , Q4 , Q6 and Q8 from the solution of the first set.
Reduced set of equilibrium equations without longitudinal basic element forces
We can simplify this process by numbering only the first set of equations and corresponding unknowns.
This is the fastest of tackling the problem by hand (the preceding discussion serves only as explanation of
how to get to this point systematically!). Basic forces and relevant dofs are shown in the following figure.
Q3

Q2

c
3

2
1

Q4

Q1

d
a

Page 62

## Prof. Filip C. Filippou, 2000

The corresponding equilibrium equations without longitudinal basic element forces are

P1 =

Q1
12

Q4
10

P2 = Q 1 + Q 2
P3 =

Q2
8

Q3
8

P4 = Q 3 + Q 4
It is worth noting that the first equilibrium equation now physically corresponds to the force equilibrium
in the global X-direction for the free body consisting of nodes 2, 3 and 4 and elements b and c, as
shown in the following figure.

Q1

Q1
12

Q4
10

Q4

d
a

The process of setting up these equations directly results in a significant reduction of problem size
and in better insight into the system response.

The static matrix of the frame without the longitudinal basic element forces is

Bbar := Bf

Page 63

Bbar

5.45

5.45
=
5.45

5.45

1 0 0
12
1 1 0
Bf :=
0 1 1
8 8

0 0 1

0.55

0.55

4.36

0.45

4.36 0.55
3.64 0.55

0.45

10
0

## Prof. Filip C. Filippou, 2000

We wish to solve for the basic forces under the given loading
5

5
2

12

10

5
1

## The nodal force vector is straightforward. It is

How are we supposed to include the effect of the distributed element load?

5

0
Pf :=
0

0

q1

q3

q2
q 2 + q 3 wy L
+
L
2

q1

q1

q 2 + q 3 wy L
+
2
L

q3

q2
q 2 + q3
L

wy

q1

q 2 + q3
L

wy
0

wy L

wy L

Page 64

## homogeneous solution that

satisfies the element free body
equilibrium equations with 3
unknown "parameters", the basic
element forces

## particular solution for which

the basic element forces are zero

## Prof. Filip C. Filippou, 2000

We note that the equilibrium solution of a typical element consists of two parts:
(a) the homogeneous solution, i.e. the relation between basic and dependent end forces so as to satisfy
the element equilibrium equations, and
(b) the particular solution, i.e. the values of the dependent forces that satisfy the element equilibrium under
We have already accounted for the homogeneous solution when writing the equilibrium equations in terms
of the basic forces. Now it remains to include the particular solution for the element carrying a distributed
load. This is element c in our case and the shear forces of the particular solution affect dof 5 and 7 of the
original equilibrium equations. We show this particular solution effect separately in the following figure.
5
c

20

20

5
3

X-direction

5=

Q2
12

Y-direction

Q3

0 = Q3 Q5
0 = Q5 +

0 = Q1 +
0=

Q8
10

0=

Q4
8
Q6
8

Q4

0 = Q2 + Q4

8
+

Q6
8

+ 20

+ Q7 + 20

Page 65

0 = Q6 + Q8

## Prof. Filip C. Filippou, 2000

and after separating the equations involving longitudinal basic element forces we get
Equilibrium equations without longitudinal basic forces
X-direction

5=

Q2

Q8

12

Y-direction

0 = Q2 + Q4

10
0=

Q4
8

Q6
8

+ 20
0 = Q6 + Q8

## Equilibrium equations with longitudinal basic forces

X-direction

Q2

P1 =

12

Y-direction

Q3

P2 = Q 1 +

Q8

P6 = Q 5 +

P7 =

10

Q6
8

Q4
8

+ Q7 + 20

After renumbering basic forces and equations, as before, to focus only on the effect of the flexural basic
element forces we get

5=

Q1
12

Q4
10

0 = Q1 + Q2
0=

Q2
8

Q3
8

+ 20

0 = Q3 + Q4
For hand calculations the solution of this problem can be simplified by realizing that equations 2 and 4
essentially amount to Q2 = -Q 1 and Q4 =-Q3 . This leaves us with two equations in two unknowns, an easy

Page 66

Pf = Bf Q + Pfw

## We can write the above equilibrium equations compactly, as

with Pf the vector of the forces applied directly at the nodes, and Pfw the vector of the equivalent nodal
forces due to element loading. To solve this system we move all given terms to the left hand side, and solve
for the unknowns on the right hand side noting that we have as many unknowns as available equations.
Pf Pfw = Bf Q

## Thus, we have to solve the following system of equations:

For solving the equations we set up the vectors and matrices in Mathcad or Matlab and get

Pf

5

0
=
0

0

## and equivalent nodal forces

and with the static matrix for the free dofs defined earlier, i.e.

## we solve for the unknown element forces by Gauss elimination

1 0 0
12
1 1 0
Bf :=
0 1 1
8 8

0 0 1

Pfw

0

0
:=
20

0

10
0

Q := lsolve ( Bf , Pf Pfw )

As the equations reveal the element loading amounts to an equivalent nodal force vector of -Pfw

60

60

=
100

100

20

20

5
2

## equivalent nodal forces due to w = 5

d
a

5
1

Thus, it is possible to treat the element loading as an equivalent nodal force vector for the determination of
the basic forces. For the later determination of the shear forces and bending moment distribution in element
c, however, we should not neglect to include the particular solution.

Page 67

## Prof. Filip C. Filippou, 2000

With these results we return to the remaining equilibrium equations to obtain the longitudinal basic forces.
Instead of doing this analytically with the equations we set up earlier, it is better to use the element and
node equilibrium directly to get the longitudinal basic element forces and dependent element end forces.
This avoids the numbering of the longitudinal basic element forces and the corresponding equations.
The following figure provides all details. It is an excellent way for the analyst to check equilibrium
and display applied and resisting forces. Note that we have selected to include the effect of element load in
element c as equivalent nodal forces. This results in the right values for all internal forces except for the
shear forces and bending moments in element c for which the particular solution due to the element

7.5
10

10
b

60
7.5

10

10
12.5

7.5

10

7.5

10

12.5

20

20
10

7.5
60

100

10

12.5

32.5
10

12.5

10

100
32.5

7.5

Node 2

Node 3

Node 4
d

Node 5
32.5

Node 1

10

7.5

10
32.5

10

7.5

32.5

5
7.5

## The steps in the figure above are:

1. Show the flexural basic element forces Q1 through Q4 with actual values and orientation.
2. Use element equilibrium to get the shear forces in elements a through d; note that the shear forces in
element c correspond to the homogeneous solution of element equilibrium only. The correct values
result only after including the particular solution under element loading, as will be shown subsequently.
3. Use horizontal and vertical force equilibrium at nodes 2 and 4 to get the longitudinal basic forces (only
4 equations are needed; we can use the vertical and horizontal force equilibrium at node 3 to check)
4. Use the vertical and horizontal force equilibrium at nodes 1 and 5 to obtain the support reactions.
Remark: in an actual problem only the four flexural basic element forces would be numbered and the
corresponding equilibrium equations not involving longitudinal basic forces would be set up. Thus, there is
no need to number the longitudinal basic element forces and corresponding equations. A computer
program on the other hand sets up all equations and then solves them, since it is more work to consider
special cases than to solve a system of equations, however large the size of it may be.

Page 68

## Bending moment diagram

For determining and drawing the bending moment distribution in all elements of the structural model we need
to include the particular solution for element c under element loading. This is shown in the following figure.
homogeneous solution

10

100
12.5

12.5

0
20

10

particular solution

20
100

60

wy L2
8

60

100

w := 5

2

7.5
Mmax :=
2 w

## use the shear force value at the right end

(just for practice)

Mmax := 100 +

Mmax = 5.625
2

Page 69

32.5
2 w

Mmax = 5.625

## Check of global equilibrium

Finally, it is very important to check global equilibrium for the free body of the entire structural model.
This is shown in the following figure.
20

20

10

12

10
5

32.5
7.5
8

Sum of the forces in X and Y is satisfied by inspection. Sum of the moments about the right support yields:

5 2 5 10 7.5 16 + 40 4 = 0

ok

Remark
Basic forces and support reactions are the same under the distributed element load or the equivalent nodal
forces due to the element load (this is where the name equivalent comes from). The particular solution only
plays a role in the determination of the shear force and bending moment distribution of the element
CONCLUSIONS:
1. In frame analysis longitudinal basic forces are of less significance than the flexural basic forces of the
elements. Thus, we try to set up only the equilibrium equations involving the latter and set aside the
equilibrium equations involving the longitudinal basic forces.
2. After solving for the basic forces of primary interest, we use the equilibrium equations that were set
aside in the first place to determine the longitudinal basic forces. This is usually done with free body
diagrams of the elements and nodes.
3. In determining the shear force and bending moment distribution of elements carrying the element
loads we should remember to include the particular solution of the element equilibrium equations under

Page 70

## use FEDEASLab functions

% clear memory and close any open windows
CleanStart;
% define
XYZ(1,:)
XYZ(2,:)
XYZ(3,:)
XYZ(4,:)
XYZ(5,:)

model geometry
= [ 0
0]; % first node
= [ 0 12]; % second node, etc
= [ 8 12]; %
= [ 16 12]; %
= [ 16
2]; %

## % element connectivity array

CON { 1} = [ 1
2];
CON { 2} = [ 2
3];
CON { 3} = [ 3
4];
CON { 4} = [ 4
5];
% boundary conditions (1 = restrained,
BOUN(1,:) = [ 1 1 0];
BOUN(5,:) = [ 1 1 0];
% specify element type
ne = length(CON);
[ElemName{1:ne}] = deal('2dFrm');

0 = free)

% number of elements
% 2d frame element

create Model
Model = Create_SimpleModel (XYZ,CON,BOUN,ElemName);
% plot and label model for checking (optional)
Create_Window (0.80,0.80);
% open figure window
Plot_Model (Model);
% plot model
Label_Model (Model);
% label model
2

## form static (equilibrium) matrix B

B = B_matrix(Model);
Bf = B(1:Model.nf,:);

Page 71

## % insert hinge at left end of element c by removing corresponding column of Bf

iq = setdiff(1:12,8);
Bf = Bf(:,iq);

Pe(2,1) =
5;
% force at node
class notes
Pe(3,2) = -20;
% force at node
Pe(4,2) = -20;
% force at node

2 in direction X
nodal forces as determined in pp. 53-54 of
2 in direction Y
4 in direction Y

% extract applied force vector Pf at free dofs from Loading field Pref

## solve for basic forces

% make sure to re-insert zero at moment release
Q
= zeros(12,1);
Q(iq) = Bf\Pf;
% display the result for the basic forces
disp('the basic forces are');
disp(Q);
the basic forces are
-7.5000
0
-60.0000
-10.0000
60.0000
0
-10.0000
0
-100.0000
-32.5000
100.0000
0

## determine support reactions

% the product B*Q delivers all forces at the global dofs; the upper 11 should
be equal to the applied forces, the lower 4 are the support reactions

disp('B*Q gives');
disp(B*Q);
B*Q gives
0
5.0000
0
0
0
-20.0000
0
0
-20.0000
0

Page 72

0
5.0000
7.5000
-10.0000
32.5000

plotting
% open window and plot moment diagram first w/o distributed element load w
Create_Window(0.80,0.80);
Plot_Model (Model);
% observe that the second argument is empty [] in the following function call
% use scale factor of 2 for plot as last argument
Plot_2dMomntDistr (Model,[],Q,2);

## % to include the effect of the distributed load we need to specify it as part of

the ElemData object, so that the element "knows" that it is carrying the load
and plots the correct M-diagram
% specify distributed load for element 3
ElemData{3}.w = [0;-5];
% open new window and plot new moment diagram with same scale factor
Create_Window(0.80,0.80);
Plot_Model (Model);
Plot_2dMomntDistr (Model,ElemData,Q,2);

Page 73

CE220-Theory of Structures

Equilibrium

2

NOS=2

## NQ = no of basic element forces

NF = no of equilibrium equations at
relevant free dofs

1
4

complete dofs

7

4
2

Q5

10

Q6

Q1

Q4
Q7

Q3

Q11
Q9

NQ = 12

NF = 10
Q2

Q8

non-trivial dofs

Q4

Q1

Q8

Q7

NQ = 8

## dofs not involving longitudinal basic forces

Q2

Q3
Q6

Q2

NF = 6

Q5

Q1

Q4

NQ = 5

NF = 3

Page 74

Q5

Q3

Q12

Q10

CE220-Theory of Structures

Equilibrium

## General solution for redundant (statically indeterminate) structures

The following is the general solution of the equilibrium equations for statically indeterminate structures.
For hand calculations the process is shown in Examples 5 and 6.

Pf = B f Q + Pfw

## start from equilibrium equations at free dofs

select NOS redundant basic forces and collect them in vector Qx call remaining basic forces Qi
the static matrix is partitioned accordingly into two submatrices Bi

and B x

Bi is a square matrix that should not be singular; it corresponds to the static matrix of the primary structure

(i.e. the statically determinate structure that results when the redundant basic force values are set to zero)

## with this split the equilibrium equations become Pf Pfw = Bi Qi + B xQx

solve for the basic forces of the primary structure in terms of the applied forces (and element loading,
if present) and the redundant basic forces according to

Qi = Bi1 ( Pf Pfw ) B x Qx
Qx = Qx

add the identity to recover the complete set of basic forces on the left hand side
combine

B 1B
Qi B 1
i
P
P
=

+
f
i x Q x

fw
Q
0

I
x

## arrange vector of basic forces in original order

Q = Bi Pf Pfw + B x Qx

where

Bi , B x

## are basic force influence matrices for the applied forces

and for the redundant basic forces, respectively

In actual problems we are usually interested in the basic forces under a specific loading and thus
determine the basic forces of the primary structure under the given loading directly without first
setting up the force influence matrix Bbari We denote these basic forces with Qp
we write

Qp = Bi Pf Pfw

Q = Qp + B x Q x

How do we select the redundant basic forces at the beginning of the solution process?
(a) "by hand" we select them so that the primary structure is stable;
we assess stability of structural models by kinematic criteria in the lectures on compatibility
(b) automatically we can select the redundant basic forces by a linear algebra procedure known as row-echelon
form of the equilibrium matrix Bf (see Strang, 3rd edition, pp. 71-77). This is a built-in function in Mathcad and
Matlab and is used in the FEDEASLab function ForceInfl_matrix to establish the force influence matrices. To
select specific basic forces as redundants, one needs to re-order the columns of Bf and place the selected
redundants last. If you are interested in this, consult the addendum to Example 6 and Matlab file Example_6.m.

Page 75

## Example 5(r) - Equilibrium equations for statically indeterminate truss

Objectives:
(a) set up equilibrium equations for statically indeterminate truss
(b) primary structure, basic force redundants, force influence matrices for primary structure
(c) general solution of problem, superposition of homogeneous and particular solution

15

Geometry:
6

3

Q2

Q4

Q5

Q6

Q3

Q1

Page 76

La := 8

Lb := 6

Lc := 6

Ld := 8

Le := 10

Lf := 10

P1 = Q1 + 0.8 Q5

## corresponding equilibrium matrix

P2 = Q4 0.8 Q5

1
0

Bf := 0
0

P3 = Q2 + 0.6 Q5
P4 = Q4 + 0.8 Q6
P5 = Q3 + 0.6 Q6

0 0 0

0.8

0 0 1 0.8

1 0 0

0.6

0 0 1

0.8

0 1 0

0.6

There are 6 truss element forces and 5 independent equations of equilibrium at the free degrees of
freedom. The structural model has a degree of static indeterminacy NOS of 6-5=1 (i.e. NOS=1).
How do we know that the 5 equilibrium equations are independent? The question we need to answer is
whether the structure is stable or not. For this structure this is easy to. For more complex structures with few
elements the best way is by the kinematic method, as we will discuss later in the course. Linear algebra,
however, provides the standard method for any size structure. It has to do with the rank of the matrix, which
is equal to the number of linearly independent rows. Thus, when the rank of the static matrix is equal to the
number of rows (which, in turn, are equal to the number of free dofs), then the structure is stable. Let us
check this for the truss using two built-in functions of Mathcad (the corresponding Matlab functions are rank
and size)

rank ( Bf) = 5

rows ( Bf) = 5

## Step 2: Selection of redundant(s), primary structure

Select NOS basic forces as free parameters of the equilibrium equations (linear algebra terminology).
These are known in structural analysis as redundant basic forces or simply redundants. Make sure that
the structure without the NOS redundants is statically determinate and stable (we will learn later how to
do this with kinematic methods). In the case at hand we select the force in member f Q 6 as redundant.
The structure that remains when the redundant is set equal to zero (or "removed") is known in structural
analysis as primary structure.

Page 77

## Prof. Filip C. Filippou, 2000

Review of Linear Algebra (Linear Algebra and Its Applications by G. Strang, pp. 71-77 of 3rd edition)
The general solution of a system of equations

M x = b

can be obtained as the superposition of the particular solution which satisfies the system of equations
for the given right hand side vector, and the homogeneous solution which satisfies the system of
equations M x = 0
denoting the homogeneous solution with xh and the particular
solution with xp we have the following conditions
and we can see clearly that

M xp = b

and

M xh = 0

M ( xp + xh) = b

If the matrix M is square and invertible, then the only homogeneous solution is the so-called trivial solution
xh = 0. However, a matrix M with more columns than rows, has as many non-trivial homogeneous solutions
as the difference between the number of columns and the rank of the matrix M. These non-trivial
homogeneous solutions span the nullspace of matrix M.
Translated to the structural problem where M is the static matrix Bf of the structural model this means: there
are NOS non-trivial homogeneous solutions of the equilibrium equations for a stable structure with degree of
static indeterminacy of NOS.
What is the systematic way of finding the particular solution and the NOS homogeneous solutions?
In Linear Algebra we select the NOS free variables by a procedure known as row-echelon form. In Mathcad
and Matlab there is a built-in function called rref for Reduced Row-Echelon Form, which goes even further
by transforming the matrix M through row operations into a diagonal unit matrix and unreduced columns for
the free variables. Note that the diagonal unit matrix may not be contiguous as the following example shows

1 2 3 1 1 0 1 0
rref 0 1 1 0 = 0 1 1 0
1 2 3 2 0 0 0 1

here the free variable is the third, since the row operations
result in a diagonal unit matrix with columns 1, 2 and 4. If this
were a static matrix, then Q3 would be the redundant that the
program would select, because the primary structure with Q 1 , Q2
and Q4 is stable (look at the rank of columns 1, 2 and 4). By
contrast, the selection of Q 4 as redundant results in an unstable
primary structure (the rank of columns 1, 2 and 3 is only 2).

In structural analysis we select the free variables (i.e. the redundants) by inspection or by the kinematic
method.
Once the free variables (i.e. redundants) are selected we set their value equal to 0 (primary structure)
and solve the governing equations (equilibrium equations) for the remaining variables (basic forces). This
gives the particular solution for the given vector (applied nodal forces) b.
To obtain linearly independent homogeneous solutions we set each free variable in turn equal to 1 (all other
free variables are zero) and solve the system of equations M xh = 0 . In structural analysis these solutions
are called self-stress states, since the structure is stressed without external forces. Such self-stress states
only arise in statically indeterminate structures, since a square matrix M has only trivial homogeneous
solutions, as we have already stated.

Page 78

## Prof. Filip C. Filippou, 2000

Step 3: Determine basic forces Q for given loading with redundants equal to zero
Set redundant equal to zero. Solve the equilibrium equations for the applied nodal force vector. This is the
particular solution of the equilibrium equations for the given load case; we denote the basic forces with Qp
Set redundant equal to zero, i.e. Q 6 = 0
We equilibrium equations for the
given applied force vector become

0 = Q1 + 0.8 Q5

Q1 = 15

0 = Q4 0.8 Q5

Q5 = 18.75

0 = Q2 + 0.6 Q5

Q2 = 11.25

15 = Q4

Q4 = 15

0 = Q3

Q3 = 0

15

11.25

0
Qp :=

15

18.75

## The particular solution therefore is:

We can also solve these equations in matrix form, but we leave this for Matlab (see Example_5.m).
With the basic forces we can obtain the support reactions from node equilibrium at the restrained dofs.

## The final result for the basic

forces and support reactions of
the primary structure under the
applied force vector is

15

Q6 = 0

e
b

15

11.25

a
8

Page 79

11.25

## Prof. Filip C. Filippou, 2000

Step 4: Determine the basic forces Q for a unit value of each redundant from the homogeneous
equilibrium equations, i.e. without any applied force vector
This is a force influence vector and is denoted by
Bbar x. Because of the absence of applied forces this
represents a self-stress state

## We solve the following equations:

0 = Q1 + 0.8 Q5

Q1 = 0.8

0 = Q4 0.8 Q5

Q5 = 1

0 = Q2 + 0.6 Q5

Q2 = 0.6

0 = Q4 + 0.8 1

Q4 = 0.8

0 = Q3 + 0.6 1

Q3 = 0.6

We can also do this in matrix form, but it is easier to demonstrate in Matlab (see Example_5.m).
We can then obtain the support reactions from the equations at the restrained dofs.
The final result for the basic forces and support reactions becomes

Q6 = 1

e
b

Bbarx
f

Page 80

0.8

0.6
0.6
:=

0.8

## Prof. Filip C. Filippou, 2000

In reality, of course, the redundant basic force can assume any value (not just the value 1!). Consequently,
the general solution of the equilibrium equations is a one parameter expression of the form

15 0.8

11.25

0.6

0 0.6
Q=
+
Q6
15

0.8

18.75 1

0 1
in the more general case of a structural model with degree of static indeterminacy NOS, there are exactly
NOS redundant basic forces and we generalize the above expression as follows: the force influence vectors
for each redundant get collected into a force influence matrix Bbarx and the redundant basic forces into a
vector of redundant basic forces Qx .
Q = Qp + Bbarx Qx
We can see that the matrix Bbarx has NOS columns, one for each redundant basic force. We therefore say
that the final stress state is the linear superposition of a particular solution Qp for the given applied forces,
and NOS self-stress states, each of which is expressed by a column of matrix Bbarx
The columns of matrix are linearly independent because we selected a unit value for each redundant in turn.
Solution with Linear Algebra functions (optional)
It is interesting to note that we can obtain the above solutions directly with the reduced row-echelon form
function in Mathcad and Matlab. Let us see
The reduced row-echelon form of the static matrix Bf is

1
0

rref ( Bf) = 0
0

0 0 0 0 0.8

0 1 0 0 0.6
0 0 1 0 0.8

0 0 0 1 1
1 0 0 0 0.6

the program selects the first 5 variables that give a unit matrix; in this case the first 5 do the job and, thus,
the last variable, i.e. Q6 , is selected as the free variable or redundant, exactly as we did above. We note
that the numerical values in the sixth column of the reduced row-echelon form of Bf are the first five values
of the force influence matrix Bbarx with opposite sign. Recall that the sixth value for the redundant is 1.

Page 81

## Prof. Filip C. Filippou, 2000

If we wish to obtain the particular solution automatically, then we need to perform the reduced row-echelon
operation on the augmented matrix consisting of the static matrix and the applied force vector. We
demonstrate it below

force vector

0
0

Pf := 0
15

0

we get

1
0

## rref ( augment ( Bf , Pf) ) = 0

0

0 0 0 0 0.8
1 0 0 0 0.6
0 1 0 0 0.6
0 0 1 0 0.8
0 0 0 1 1

11.25

0
15

18.75
15

Now, the last column contains the first 5 values of the particular solution. Recall that the sixth value is 0
in this case.
CONCLUSIONS:
1. The general solution of the equilibrium equations for any stable structure is made up of the particular
solution for the given applied force vector (including element loading, if present) and NOS independent
self-stress states, where NOS is the degree of static indeterminacy of the structure.
2. The final stress state of the structure under the given loading is then the linear superposition of the
particular solution with NOS independent self-stress states with free parameters. The independence of the
self-stress states is achieved by selecting each redundant in turn equal to 1, with the other redundants
equal to zero. Other ways of selecting linearly independent self-stress states are possible, indeed they are
ideal for solution that take advantage of the symmetry of the structure. This will be discussed later in the
course.

Page 82

## Script for Example 5 in CE220 class notes

% Equilibrium equations for statically indeterminate truss
%
% specify each step of the process with Matlab functions
clear all
Bf=[ 1
0
0
0
0.8
0 ;
0
0
0
-1
-0.8
0 ;
0
1
0
0
0.6
0 ;
0
0
0
1
0
0.8;
0
0
1
0
0
0.6];
% select the redundant basic force Qx (index ix)
ix = 6;
% define basic forces of primary structure Qi (index ii)
ii = 1:5;
% extract matrix Bi (equilibrium matrix of primary structure)
Bi = Bf(:,ii);
% check if primary structure is stable
disp(['the rank of the equilibrium matrix of the primary structure is '
num2str(rank(Bi))])
the rank of the equilibrium matrix of the primary structure is 5
Pf = [0 ; 0 ; 0 ; 15 ; 0];
solution with subscript p
Qp(ii,1) = Bi\Pf;
Qp(ix,1) = 0;
% extract matrix Bx
Bx = Bf(:,ix);
% determine force influence matrix for redundant basic forces
% set up only one column since NOS=1
Bbarx(ii,1) = -Bi\Bx(:,1);
Bbarx(ix,1) = 1;

Page 83

## % display Qp, Bxbar

Qp
Bbarx
Qp =
15.0000
11.2500
0
15.0000
-18.7500
0
Bbarx =
-0.8000
-0.6000
-0.6000
-0.8000
1.0000
1.0000
% use FEDEASLab functions
% after defining equilibrium matrix Bf use it as first argument to the
function ForceInfl_matrix to obtain the force influence matrices of the
primary structure for the applied forces and redundants
[Bbari Bbarx] = ForceInfl_matrix (Bf);
Qp = Bbari*Pf
Bbarx
Qp =
15.0000
11.2500
0
15.0000
-18.7500
0
Bbarx =
-0.8000
-0.6000
-0.6000
-0.8000
1.0000
1.0000

Page 84

## Example 6(r) - Equilibrium equations for statically indeterminate braced frame

Structural Model Geometry
c

La := 6
Lb := 4
Lc := 4
Ld :=

8 +6

## Step 1: Equilibrium equations- degree of static indeterminacy

Dof and basic force numbering without axial forces and corresponding equations
dof 3

dof 2

dof 4
c

dof 1

P1 =
6

+ 0.8 Q6

P2 = Q 2 + Q 3
Q3 + Q4 Q5
P3 =
+
4
4
4

Q2

Q1 + Q2

Q3

P4 = Q 4 + Q 5

Q4

static matrix Bf

Q5

1
6
0
Bf :=
0

Q6

Q1

Page 85

1
6

0 0.8

0
0

1 1
1

4 4
4

## Prof. Filip C. Filippou, 2000

There are 6 basic element forces and 4 equations of equilibrium at free degrees of freedom.
The structural model has a degree of static indeterminacy of 2 (NOS=2).
Step 2: Selection of redundant(s), primary structure
Select NOS basic forces as unknowns of the problem. These are known as redundant basic forces or
simply redundants. Make sure that the structure is statically determinate and stable without the NOS
redundants. In the case at hand we select the basic forces Q1 and Q4 as redundants. The structure that
remains when the redundants are set equal to zero is known as primary structure.
20

30

Step 3: Determine basic forces Q for given loading with redundant forces equal to zero
set

Q1 = 0

Q4 = 0

30 =

Q2
6

30
80
Q6 =
+
0.8 4.8

+ 0.8 Q6

0 = Q2 + Q3
Q3 Q5
20 =
+
4
4
0 = Q5

Q2 = 80
Q3 = 80
Q5 = 0

check solution

30

Bf Qp =
20

ok!

Page 86

80
80

Qp :=
0

30 80

0.8 4.8

## Prof. Filip C. Filippou, 2000

Step 4: Determine basic forces Q for a unit value of each redundant without any applied forces.

Q1 = 1

set

Q4 = 0

0=

1 + Q2
6

1
Q6 =
4.8

+ 0.8 Q6

0 = Q2 + Q3
0=

Q3
4

Q2 = 0

Q5

Q3 = 0

0 = Q5

Q5 = 0

Q1 = 0

set

Q4 = 1

0=

Q2
6

Q6 =

+ 0.8 Q6

0 = Q2 + Q3
0=

Q3 + 1
4

0 = 1 + Q5

Bbarx 1 := 0

0
5

24

Q2 = 2
+

Q5

Q 3 = 2

4
Q 5 = 1

## check homogeneous solution

Bf Bbarx

0
=
0

2
4.8

Bbarx 2 := 1

1
5

12

0
0

thus, we have found two independent homogeneous solutions (self-stress) states which span what is known
in linear algebra as the nullspace of the static matrix Bf
In reality, of course, the redundants are free parameters that can assume any value (not just the value 1!).
Consequently, the general solution of the equilibrium equations is a two parameter expression of the form

0 1
0

80 0
2
80 0
2

Q=
+ 0 Q1 + 1 Q4
0

0 0
1
260 5
5

4.8 24
12

## or, in compact form

Page 87

Q = Qp + Bbarx Qx

## Prof. Filip C. Filippou, 2000

We can see that the matrix Bbarx has NOS columns, one for each redundant. We therefore state that the
final stress state is the linear superposition of a particular solution Qp for the given loading, and NOS
self-stress states, each of which is expressed by a column of matrix Bbarx
It is important to be able to establish the particular and the homogeneous solutions of the equilibrium
equations of a statically indeterminate structure by inspection. This is a much faster approach for most
small structures and yields significant insight into the behavior of the structure.
Consider first the applied loading on the primary structure. In the following figure we have inserted moment
releases at the locations of the redundants to form the primary structure. We have also replaced the
element loading by equivalent nodal forces, which give the same basic forces Q (see Example 3). We
decompose the loading into the horizontal force and the vertical force, as shown.
20

30

20

30

Page 88

80

20

30
c

80

80

80/6

30/0.8=37.5

80/6/0.8=16.67

80/6

## no bending moments arise under horizontal force!

Why? The bending moment diagram is piecewise
slope ("kink") only when the shear force changes,
which in turn requires that a concentrated force acts
normal to the beam axis. Looking at elements b and
c no moment diagram is possible with a zero value
at the moment release. Thus, the moments are zero.
If so, then the moments in column element a are also
zero and the solution is obtained.
Equilibrium solution for unit value of first redundant

## there can be no shear transfer in element c

because of zero moment at each end; thus,
the applied force of 20 gets transferred to
element b producing a moment of 80 units at
the girder-column connection. The shear force
in the column element is equilibrated by a
tensile force in the brace.

Q4 = 1
2

a
2/(6x0.8)=5/12

1/(6x0.8)=5/24

Q1 = 1

## gray circle = location with known basic force value

the shear force needs to remain constant across
girder elements b and c, since no concentrated
force acts anywhere on the girder; this leads to a
value of 2 at the girder-column connection if the
value at girder midspan is 1. The shear force in
column element a is resisted by a compressive
force in the brace element d

## no bending moments in elements b and c for

the same reason as for particular solution; the
shear force in column element a is resisted by
a compressive force in the brace element d

Page 89

## Prof. Filip C. Filippou, 2000

We can now use the remaining 3 equilibrium equations involving the axial forces in elements a, b and c
to determine the axial forces in terms of the basic forces Q (i.e. eventually in terms of the applied loading
and the two redundant basic forces)
Basic axial force in element a (call it Q 7 )
Q3

Q2

Q4

0 = Q7 +

Q5

i.e.

Q3 + Q4
4

Q7 =

Q3 + Q4

Q6

Q1

30 =
i.e.

Q1 + Q2
6

Q9 = Q8

R4

Q8

Q8 = 30 +

P7 = Q 8 Q 9

20
b

## Support reactions and global equilibrium

30

Q1 + Q2

R3
R1

R2

Using the equilibrium equations at the restrained dof's we can determine the support reactions in terms
of the basic forces Q (i.e. eventually in terms of the applied loading and the two redundant basic forces)
for ease of identification we call the support reactions by R and number them in sequence starting with 1

R1 =
R2 =

Q1 + Q2
6

Q3 + Q4
4

0.8 Q6

0.6 Q6

## bypassing the axial force in the column

and using the shear force in element b

R3 = Q 1
R4 =

Q5
4

+ 0.6 Q6

Page 90

## Prof. Filip C. Filippou, 2000

Remark: We can use the static matrix Bd for the restrained dofs to set up the direct relation between the

1 1 0 0 0 0.8

6
6

1 1

0
0
0

0.6

4 4
Bd :=

1 0 0 0 0 0

1
0 0 0 0 4 0.6

the support reactions of the primary structure due to the applied loading are

30

12.5

Rp =
0

32.5

Rp := Bd Qp

Rx = Bd Bbarx Qx

thus, with

Bd Bbarx

0.125
=
1

0.125

0
0

we get

30 0

12.5
0.125
+
Q
R=
0 1 1

32.5 0.125

## and it is easy to check global equilibrium

horizontal force equilibrium

R1 + 30 = 0

ok

## vertical force equilibrium

R2 + R4 20 = 0

ok

R3 30 6 20 4 + R4 8 = 0

ok, because

30 6 20 4 + 32.5 8 = 0

Remarks:
(a) this solution demonstrates the utility of matrix notation in establishing direct relationships between
variables; in this example the relation between the support reactions and the redundants of the structure
(b) it is interesting that there are no support reactions due to the redundant Q4 ; can you explain why?

Page 91

## Script for Example 6 in CE220 class notes

% Equilibrium equations for statically indeterminate braced frame

## specify each step of the process with Matlab functions

clear all
% equilibrium matrix for non-trivial free dof's w/o axial forces in a-c
Bf=[1/6 1/6
0
0
0 0.8;
0
1
1
0
0
0 ;
0
0 -1/4 -1/4 1/4 0 ;
0
0
0
1
1
0];
% select redundant basic forces Qx (index ix)
ix=[1 4];
% define basic forces of primary structure Qi (index ii)
ii=setdiff(1:6,ix);
% extract matrix Bi (equilibrium matrix of primary structure)
Bi=Bf(:,ii);
% check if primary structure is stable
disp(['the rank of the equilibrium matrix of the primary structure is '
num2str(rank(Bi))])
the rank of the equilibrium matrix of the primary structure is 4

Pf=[30 ; 0 ; -20 ; 0];
% determine basic element forces of primary structure under the applied loading
Qp(ii,1) = Bi\Pf;
Qp(ix,1) = [0; 0];
% extract matrix Bx
Bx=Bf(:,ix);
% determine force influence matrix for redundant basic forces
% set up 1st column
Bbarx(ii,1) = -Bi\Bx(:,1);
Bbarx(ix,1) = [1;0];
% set up 2nd column
Bbarx(ii,2) =-Bi\Bx(:,2);
Bbarx(ix,2) = [0;1];

Page 92

Qp
Bbarx
Qp =
0
-80.0000
80.0000
0
0
54.1667
Bbarx =
1.0000
0
0
2.0000
0
-2.0000
0
1.0000
0
-1.0000
-0.2083
-0.4167

## use FEDEASLab functions

% after defining equilibrium matrix Bf use it as first argument to the function
ForceInfl_matrix to obtain the force influence matrices of the primary structure
for the applied forces and redundants; in order to use specific basic forces as
redundants, these need to be last among the columns of the equilibrium matrix;
the order is the second argument of ForceInfl_matrix (optional)
[Bbari Bbarx] = ForceInfl_matrix (Bf,[ip ii]);
Qp = Bbari*Pf
Bbarx
Qp =
0
-80.0000
80.0000
0
0
54.1667
Bbarx =
1.0000
0
0
2.0000
0
-2.0000
0
1.0000
0
-1.0000
-0.2083
-0.4167

Page 93

CE220-Theory of Structures

Equilibrium

## Collapse load factor of perfectly plastic structures

Lower bound theorem of plastic analysis: any equilibrium solution that satisfies the plastic condition
results in a load factor which is a lower bound of the collapse load factor c
Mathematically this is expressed as follows: the collapse load factor is the maximum load factor that
satisfies the equilibrium equations and the plastic condition. This is a linear programming problem for
which algorithms exist in numerical analysis toolboxes, like Matlab (optimization toolbox) and Mathcad.

c = max

## for Pref = Bf Q + Pfu

and

Q Qpl

Note that Pref, contains the applied forces to be factored and Pfu the applied forces that remain
constant in the equilibrium equations.
We write the above statement in a single set of equations for the unknowns and Q.

max 1 0
Q

Pref Bf = Pfu
Q
+
0 I Qpl

0 I Q Qpl

with solution

c
where c stands for collapse
Qc

FEDEASLab function LowerBound_PLAnalysis takes the static matrix for the free dofs, the plastic
factor and the basic element forces at collapse.
[lamdac,Qc] = LowerBound_PLAnalysis(Bf,Qpl,Pref,Pfu)

Examples 7, 8 and 9 discuss plastic analysis from different standpoints, including the case of partial
collapse.

Page 94

CE220-Theory of Structures

Equilibrium

## Complete or partial collapse mode for structure

write the equilibrium equations at collapse in the form cPref = BeQce + B pQcp
isolating the contribution of the elastic and plastic basic forces on the right hand side, with subscript e
denoting the elastic basic forces and subscript p the plastic. The static matrix is split into corresponding
submatrices.
For perfectly plastic behavior of the structural elements the plastic basic forces are known, as is the
collapse load factor (trial and error or linear programming solution for locating the plastic hinges and
determining the collapse load factor). We can then determine the elastic basic forces to satisfy
the equilibrium equations

## cPref B pQcp = BeQce

The properties of the static matrix Be determine whether a unique solution for the elastic basic forces is
possible or not from the above system of equilibrium equations. It is useful to recall that the static matrix
Bf has NOS more columns than rows. Thus, if NOS+1 plastic hinges form, meaning that we remove
NOS+1 columns in Bp from Bf, then the remaining static matrix Be has a number of rows one greater than
the number of columns. The rank of the matrix is now one less than the number of rows indicating that the
structure with NOS+1 plastic hinges is unstable. We say that the structure has turned into a mechanism
with a single independent dof . However, a unique solution for the elastic basic forces is possible,
because the vector on the left hand side of the above equilibrium equations lies in the column space of
the static matrix Be, i.e. it is a linear combination of the columns of Be with Qce being the combination
factors (see Strang, 3rd edition, pp. 65-66). This case represents a complete collapse mode.
If plastic hinges form at less than NOS+1 locations, then the static matrix Be has more unknowns than
available linearly independent equations (recall that the rank of the matrix is one less than the number of
rows). In such case there are multiple solutions for the elastic basic forces and these can be obtained in
systematic fashion as we did for statically indeterminate structures in Examples 5 and 6. We demonstrate
this in Example 9. We speak of a partial collapse mode, for which there is no unique solution of the elastic
basic forces.

Page 95

## Example 7(r) - Plastic analysis of simple truss

Objectives:
(a) use equilibrium equations to determine collapse load factor of simple truss by trial and error
In the following example we illustrate the application of the equilibrium equations to the plastic analysis
and collapse load determination of a simple truss. The process is the same for any structure.
(10)
(10)
a

The axial capacity in tension or compression of the truss elements of the structural model in the figure is
given. It is equal to 10 units of force.
The loading here is specified more generally than what we have seen so far. The actual forces applied on
the structure consist of reference force values, which define the load pattern. These are arranged in a
reference force vector Pref. This force vector is then multiplied by a load factor to give the applied force
vector Pf.
For the example at hand this means that

Pref :=

10

10

and

Pf = Pref

Note that the load factor is assumed to be greater than zero, i.e. load reversal is not allowed.
The equilibrium equations are straightforward in this case:

P1 = Q1 + 0.8Q2

10 = Q1 + 0.8Q2

P2 = 0.6 Q2 + Q3

10 = 0.6 Q2 + Q3

There are two equilibrium equations and 3 unknown basic element forces. Thus, the degree of static
indeterminacy is NOS=1. With the load factor on the left hand side of the equations unknown that
there are 4 unknowns for two available equations (the excess number of unknowns is thus NOS+1, i.e.
the number of redundants of the structural model + the load factor).
We now ask the following question: what is the largest load factor that the structure can resist? Looking
at the above equilibrium equations it is easy to conclude that the largest load factor results when the
basic forces Q 1 through Q3 are as large as possible. These basic forces cannot exceed, however, the axial
capacity of the element. Thus, there is a limit to how large can become.

Page 96

## Prof. Filip C. Filippou, 2000

In fact, from the sign of the applied forces and the sign of the basic forces we conclude that the largest l will
be attained for positive (tensile) basic forces Q1 through Q3
Since there are 2 equilibrium equations in 4 unknowns we need to "guess" which two basic forces reach the
axial capacity. We can do this with insight, or, we can simply apply trial and error. Since there are only 3
alternatives for the case at hand, we apply the latter method which yields some interesting information.
Our first guess is that the largest collapse load factor results when truss elements a and b reach the
axial capacity. With this assumption we get
set

Q1 = 10

Q2 = 10

= 1.8

Q3 = 12

## substituting these into the second equation we obtain

Since no basic force can exceed the axial capacity, this is not a feasible solution.
The second guess is that the largest collapse load factor results when truss elements a and c reach the
axial capacity. With this assumption we get
set

Q1 = 10

Q3 = 10

10 = 10 + 0.8Q2
10 = 0.6 Q2 + 10
= 1.0

## by inspection we conclude that the solution is

Q2 = 0

The third and final guess is that that the largest collapse load factor results when truss elements b and c
reach the axial capacity. With this assumption we get
set

Q2 = 10

Q3 = 10

= 1.6

Q1 = 8

## which is smaller than the axial capacity

Definition:
(a) the plastic condition expresses the fact that the basic forces cannot exceed the axial capacity
(b) a feasible solution is any and set of Q's that satisfies the equilibrium equations and the plastic condition
Conclusion: There are two feasible solutions for the problem at hand. The largest load factor
corresponds to the case when truss elements b and c reach the axial capacity. We call this value the
collapse load factor c of the structure for the given loading. For this example it is equal to 1.6.
the corresponding axial forces are

Q1 = 8

Page 97

Q2 = 10

Q3 = 10

for

c := 1.6

## Prof. Filip C. Filippou, 2000

We denote the basic forces at collapse with Qc and can confirm once more the equilibrium equations

8
Qc := 10
10

Bf :=

1 0.8 0

0 0.6 1

Bf Qc =

16

16

16

16

c Pref =

good!

In this problem we were able to check all possible solutions and then select the solution with the largest
collapse load factor among the feasible solutions. Thus, we are sure to have found the solution. In more
complex structures it is not possible to check all feasible solutions. Thus, an additional condition becomes
necessary to ensure that we have reached the unique solution of the problem. We will discuss this in due
time. For now, we wish to formulate the problem that we solved in a mathematical way, so that we can use
matrix methods to solve it for structural models of any size.
Problem formulation: determine the largest load factor and the corresponding set of basic forces Q that
satisfy the equilibrium equations and the plastic condition. We realize that the problem involves the
maximization of a function (the collapse load factor), under equality (equilibrium) and inequality constraints
(plastic condition). The function and the constraints are linear in the unknowns of the problem. This
constitutes a linear programming problem for the solution of which there exist powerful algorithms. Mathcad
and Matlab have such algorithms and we will demonstrate these in the following example.
For now, we give a name to the problem of finding the largest load factor that satisfies the equilibrium
equations and the plastic condition: it is called the lower bound theorem of plastic analysis. The name stems
from the fact that any that satisfies the equilibrium equations and the plastic condition is a lower bound of
the collapse load factor c. Thus, the collapse load factor c is the maximum that satisfies the equilibrium
equations and the plastic condition, as we have already stated.
Note: we have not used any information about cross section or material properties for the solution of the
problem. In reality, the axial capacity is area * yield strength, so that both geometric and material
properties are involved in its determination. Thus, the design of the structure is required before its

Page 98

## Example 8 - Plastic Analysis of Portal Frame

Objectives:
(a) use equilibrium equations to determine collapse load factor of portal frame by hand calculations
(b) determine plastic flexural hinge location at collapse
(c) formulate the problem as linear programming problem to obtain solution by computer
(d) consider the effect of factored or unfactored distributed element load (optional)
50
30
b

Given:
(b) plastic flexural capacity of girder, i.e.
elements b, and c is 120 units
(c) plastic flexural capacity of columns,
i.e. elements a and c is 150 units
(d) axial capacity of all elements is large
(e) effect of axial force on flexural
capacity is negligible

We avoid writing the equations of equilibrium involving longitudinal basic forces, so as to reduce the
problem size. We note that the collapse load factor is not affected, because of (d). Without the longitudinal
basic forces there are 8 basic forces (2 for each element) and 5 corresponding equilibrium equations.
2
1

Q4

Q3

3
4

Q6

Q5

Q2

Q7

P1 =
5

Q8

Q1

Q1 + Q2

Page 99

Q7 + Q8

5
5
P2 = Q 2 + Q 3
Q3 + Q4 Q5 + Q6
P3 =
+
4
4
P4 = Q 4 + Q 5
P5 = Q 6 + Q 7

30
0

Pref := 50
0

## The following flexural capacities are given

under the assumption that the positive and
negative capacity is the same.

## Prof. Filip C. Filippou, 2000

120

120

a 150

150 d

We plan to solve this problem in trial and error fashion before using linear programming functions to get
the solution by computer. We note first that there are 5 equilibrium equations for 8 unknown basic forces,
meaning that the degree of static indeterminacy NOS is three, i.e. NOS=3. We also note that there are 5
possible plastic flexural hinge locations (we denote the locations by the corresponding subscript of the
basic force): at the base of each column, i.e. at 1 and 8, at the girder ends at the girder-column
connection, i.e. at 3 and 6, and at the girder midspan, i.e. either at 4 or 5. Note that no plastic flexural
hinge is possible at the top of the columns, since their flexural capacity is larger than that of the girder
("strong column" design). For each of these locations a positive or negative value is possible, i.e. there are
5x2 = 10 possible outcomes, at least as long as we do not use structural insight to eliminate unlikely
outcomes. For a complete collapse (more in the following example) we need NOS+1 = 4 plastic flexural
hinges for getting a solution to the problem, and so there are 210 possible combinations!!

combin ( 10 , 4) = 210

this is indeed a very large number for such a small problem, imagine what would
happen in a multi-story frame!

We can now use the signs of the terms in the equilibrium equations to reduce the number of possible
outcomes to an extremely small number (many people call this process "insight into structural behavior").
we first specialize the equilibrium

30 =

Q1 + Q2
5

Q7 + Q8
5

0 = Q2 + Q3
( 50) =

(1)
(2)

Q3 + Q4
4

Q5 + Q6
4

(3)

0 = Q4 + Q5

(4)

0 = Q6 + Q7

(5)

and then take advantage of the fact that plastic hinges can occur at 1, 3, 4, 6 and 8 to retain only the basic
forces at these locations in equations (1) and (2) after making use of moment equations (2), (4) and (5).
We get:

30 =

Q1 Q3

50 =

Q3 + Q4
4

Q 6 + Q 8
5
+

Q 4 + Q 6
4

(1*)

## for largest Q1 , and Q8 should be positive,

Q3 and Q6 should be negative

(3*)

## for largest Q3 , and Q4 should be positive,

Q6 should be negative

Page 100

## Prof. Filip C. Filippou, 2000

Thus, we have reached some very specific conclusions regarding the signs of the basic forces at the likely
plastic hinge locations. The only contradiction regards Q3 which according to (1*) should be negative, and
according to (3*) should be positive. This is a strong indication that no plastic flexural hinge is likely to
occur at 3, as long as neither applied force in the above equations dominates. Why? Because the
preceding discussion indicates the opposite effect that the horizontal force has on Q3 relative to the
vertical force. Only when the horizontal force is very large a hinge will form at 3 with negative value. Only
when the vertical force at girder midspan is very large, a hinge will form at 3 with positive value. For the
problem at hand, we will assume first than neither force is very "large" (note that we have no criterion what
this means, so we need to be cautious). Then, we will check the other possibilities just to be sure.
Note: studying the deformed shape of the structure gives good insight of what happens, but not as good
as the equilibrium equations. Let us see why. Here are the bending moments under each applied force
separately (draw an approximate deformed shape for each load case)

We see that the moments at locations 6 and 8 act in the same sense under these two load cases. Thus,
plastic hinges are a sure bet at these two locations with the indicated signs (-ve for 6 and +ve for 8). The
next likely hinge location is at 4 and then it is not clear whether 1 or 3 is the most critical. This depends on
the relative magnitude of the horizontal and vertical force, as we have already discussed.
After this preliminary discussion we have one very strong candidate for the collapse load factor (instead of
210!). It is the following case
plastic hinges at 1, 4, 6 and 8

Q1 = 150

Q4 = 120

Q6 = 120

Q8 = 150

## We substitute these values into the equilibrium equations and obtain

30 =

150 Q3

50 =

120 + 150
+
5

Q3 + 120
4

30 =

120 120
4

50 =

We use the Given Block in Mathcad to solve the two simultaneous equations

Page 101

Q3
5

Q3
4

420
5

360
4

:= 0 Q3 := 0

Given
30 =
50 =

Q3
5

Q3
4

## Prof. Filip C. Filippou, 2000

420
5

360
4

:= Find( , Q3)
Q3

= 2.229

Q3 = 85.714

we have determined a feasible solution, since Q3 is smaller than the flexural capacity at that location. Is this
Let us see what happens if we assume that a plastic hinge arises at 3 either because the horizontal force is
"large", i.e. using eq (1*), or because the vertical force is "large", i.e. using eq (3*).

Q1 := 150

## With eq (1*) we assume

:=

Q3 := 120

Q6 := 120

1 Q 1 Q 3 Q 6 + Q 8

5
5
30

Q8 := 150

= 3.6

Q4 := 2 50

Q3 := 120

:=

Q3
4

Q6

Q4 := 120

## Q4 = 360 not feasible since larger than 120!

Q6 := 120

1 Q 3 + Q 4 Q 4 + Q 6

+

50
4
4

= 2.4

## the load factor is again larger; is this a feasible solution?

we substitute in equation (1*) to obtain

30 =

Q1 Q3
5

Q 6 + Q 8

Q1 + Q8 = 150 + Q3 + Q6

i.e.

Q1 + Q8 = 360

it is clear from the last equation that the solution is not feasible, since there is no way to select values for Q1
and Q8 that satisfy the horizontal force equilibrium without exceeding the flexural capacity of the column.
Thus, it is clear that there can be no plastic hinge at 3. Is there another solution? It does not seem possible
in this case, since we do not seem to have further equilibrium solutions. Nonetheless, we will be able to
answer this definitively, once we look at the collapse mechanism later in the course.

Page 102

## Automatic solution with linear programming

Let us now look at a computer solution. For this we need to write the static matrix of the structural model

0.2
0

Bf := 0
0

0.2

0.2 0.2

0
0

## so that the equilibrium equations become

Pf = Bf Q
with

Pf = Pref

We specify the plastic moment capacities of the elements in a vector with the same numbering as the basic
forces vector. This way we can write the inequality in very compact form.
plastic moment capacities

T
Qpl := ( 150 150 120 120 120 120 150 150 )

The determination of the collapse load factor of any structure can be formulated as a linear
programming problem. To this end we define the function to maximize subject to given equality and
inequality constraints. In a structural problem the unknowns are the load factor and the basic forces.
The function to maximize is the load factor . The equality constraint are the equilibrium equations, and
the inequality constraints are the yield conditions stating that the basic forces cannot exceed the plastic
capacity of the member (positive or negative).
Mathcad has a built-in linear programming function called Maximize (there is also Minimize). We define
the function for our purposes and supply guess values for the start of the search.
function to maximize

g ( , Q) :=

:= 0

Q := 0
8

## note that this statement sets to zero the entire array

We then specify the equality and inequality constraints in a "Given" block, as follows

Given
Pref = Bf Q
Q Qpl
Q Qpl

## equality constraint (equilibrium equations)

inequality constraints (plastic condition)

## Note that we need to specify both negative and positive capacities,

which affords the possibility of specifying different capacity values
We invoke the Maximize function with the name of
the function and the variables. Mathcad returns
the solution in a nested array, here called Sol.

Sol := Maximize ( g , , Q)

Page 103

2.229
150

85.714
85.714

Sol = 120
120

120

120

150

## Prof. Filip C. Filippou, 2000

We can extract the collapse load factor as the first element of the nested array Sol.

c := Sol1

c = 2.229

and the basic forces at collapse as the second element of the nested array Sol.
Qc := Sol2
T
Qc = ( 150 85.714 85.714 120 120 120 120 150 )
We confirm that the plastic hinges have formed at 1, 4(5), 6 and 8. Substituting Q into the equilibrium
equations we should be able to confirm the collapse load factor.

66.857
0

c Pref = 111.429
0

Bf Qc

66.857
0

= 111.429
0

confirmed

We will show later that the collapse mechanism of this structure under the given loading is
2.229*50
2.229*30

Note: the plastic hinge can be either at 4 or 5; this creates an ambiguity that is, however, not relevant

Page 104

## Prof. Filip C. Filippou, 2000

After determining the flexural basic element forces we use element equilibrium to determine the
transverse (shear) forces and then use node equilibrium at the free dofs to determine the axial forces.
It is important to recall that the applied forces should be multiplied by load factor .
The following figure illustrates the determination of the shear forces.
2.229*30
54

12.86

2.229*50
60

51.43
85.71
12.86

120
51.43

51.43

120

60

60

54

12.86

54
150

150

We conclude that the axial force in the left column is 51.43 (C), and in the right column it is 60 (C).
The axial force in the girder is 54 (C).
The following figure shows the support reactions
Check of global equilibrium

2.229*50
2.229*30

sum of forces in X
5

## 51.43 2.229 50 + 60 = 0.02

sum of forces in Y

150
12.86
51.43

150
54
4

60

Page 105

## Load Case: Factored distributed load in left half of girder (optional)

We change the loading to a distributed load in the left half of the girder. The magnitude of the distributed
load is such that the equivalent vertical force at node 3 remains equal to 50. Consequently, the distributed
element load value is 50/2 = 25 units of load/per unit length. The force vectors in the equilibrium equations
change, but the end effect is the same, as long as it assumed that both the applied nodal force and the
distributed element load are factored. Consequently, the collapse load factor does not change, as the
following calculations reveal.

30 0
0 0

Pref := 0 50
0 0

0 0

## distributed load effect moved from right hand side

of equilibrium equations

Given
Pref = Bf Q

equality constraint

Q Qpl

Q Qpl

inequality constraints

We invoke the Maximize function with the name of the function and the variables. Mathcad returns
the solution in a nested array, here called Sol.

Sol := Maximize ( f , , Q)

2.229
150

85.714
85.714

Sol = 120
120

120

120

150

We can extract the collapse load factor as the first element of the nested array Sol.
Upper bound load factor is: u := Sol1

u = 2.229

Page 106

## Prof. Filip C. Filippou, 2000

We show the flexural basic forces in element free bodies and determine the shear forces.

2.229*25=55.725

2.229*30

54

12.86
60

60

85.71

120
162.88

12.86

60

120

60

60

54

12.86

54
150

150

## We determine the maximum moment at the left girder element. It is

2

60

+ 120 = 152.308

2 u 25

This clearly exceeds the plastic moment capacity. Thus, the collapse load factor is not correct. If we scale
down, the left and the right hand side of the equilibrium equations, so that the maximum moment just
reaches the plastic moment capacity we have a lower bound that satisfies equilibrium and the plastic
condition. It is

l := u

120
152.308

l = 1.756

From this we can only conclude that the actual collapse load factor c is between 1.756 and 2.229. Since
the difference between the two values is significant, we need to repeat the analysis by inserting another
node at the expected location of the maximum moment. Instead of the exact location of maximum moment
(which will change after inserting the node!), we place the extra node at midspan of element b.
We perform this analysis in Matlab (see Example_8.m)

Page 107

## Load Case: Constant distributed load in left half of girder (optional)

How does the above result change if the distributed element load is not factored? In this case the
system of equilibrium equations becomes

30
0

Pref := 0
0

0

Pfw

0
0

:= 50
0

0

Given
Pref = Bf Q + Pfw

equality constraint

Q Qpl
inequality constraints

Q Qpl

We invoke the Maximize function with the name of the function and the variables. Mathcad returns
the solution in a nested array, here called Sol.

Sol := Maximize ( g , , Q)

3.6
150

120
120

Sol = 100
100

120

120

150

We can extract the collapse load factor as the first element of the nested array Sol.
Upper bound for load factor is:

u := Sol1

u = 3.6

The result is now very different, of course and the plastic hinge locations have changed.

Page 108

## Prof. Filip C. Filippou, 2000

We show the flexural basic forces in element free bodies and determine the shear forces.

25

3.6*30

54

54
55

55

120
54

120
55

45

100

55

55

54

54

54
150

150

## We determine the maximum moment at the left girder element. It is

2

55
+ 100 = 160.5
2 25
This exceeds again the plastic moment capacity. Can you obtain an estimate of the lower bound?
A more exact analysis is obtained with Matlab, see Example_8.m

Page 109

## Script for Example 8a in CE220 class notes

% Plastic analysis of one story portal frame (consult pp. 84-94) solution with
Matlab functions and FEDEASLab function LowerBound_PLAnalysis
% Clear workspace memory and initialize global variables
CleanStart

## set up equilibrium matrix w/o axial forces in frame members

Bf = [0.2
0
0
0
0

0.2
1
0
0
0

0
1
-0.25
0
0

0
0
-0.25
1
0

0
0
0.25
1
0

0
0
0.25
0
1

0.2
0
0
0
1

0.2;
0 ;
0 ;
0 ;
0 ];

specify applied force vector at free dof's for load case of nodal forces
Pref = [ 30;
0;
-50;
0;
0];

define plastic flexural capacity of elements in a column vector (2 entries per element)
Qpl = [ 150 150 120 120 120 120 150 150]';

## call function for lower bound plastic analysis in FEDEASLab

[lambdac Qc] = LowerBound_PLAnalysis(Bf,Qpl,Pref);
disp(' The collapse load factor for nodal force at girder midspan is');
disp(lambdac);
disp(' The basic forces Q at collapse are');
disp(Qc);
Optimization terminated.
The collapse load factor for nodal force at girder midspan is
2.2286
The basic forces Q at collapse are
150.0000
-85.7143
85.7143
120.0000
-120.0000
-120.0000
120.0000
150.0000

Page 110

## load case of distributed element load in left half of girder (factored)

% consult pp. 91-92 in class notes: assume that a plastic hinge may form at
midspan of element b
% redefine equilibrium matrix, applied force vector, and plastic capacity vector
Bf = [0.2 0.2
0
0
0
0
0
0
0.2
0.2;
0
1
1
0
0
0
0
0
0
0;
0
0
-0.5 -0.5
0.5
0.5
0
0
0
0;
0
0
0
1
1
0
0
0
0
0;
0
0
0
0
-0.5 -0.5 0.25 0.25
0
0;
0
0
0
0
0
1
1
0
0
0;
0
0
0
0
0
0
0
1
1
0];
Pref = [ 30;
0;
-50;
0;
-25;
0;
0];
Qpl = [ 150 150 120 120 120 120 120 120 150 150]';

## call function for lower bound plastic analysis in FEDEASLab

[lambdac Qc] = LowerBound_PLAnalysis(Bf,Qpl,Pref);
disp(lambdac);
disp(' The basic forces Q at collapse are');
disp(Qc);
Optimization terminated.
2.1882
The basic forces Q at collapse are
150.0000
-91.7647
91.7647
120.0000
-120.0000
112.9412
-112.9412
-120.0000
120.0000
150.0000

Page 111

load case of distributed element load in left half of girder (not factored)
% redefine applied force vector only
Pref = [ 30;
0;
0;
0;
0;
0;
0];
Pfw =[

0;
0;
50;
0;
25;
0;
0];

## call function for lower bound plastic analysis in FEDEASLab

[lambdac Qc] = LowerBound_PLAnalysis(Bf,Qpl,Pref,Pfw);
disp(lambdac);
disp(' The basic forces Q at collapse are');
disp(Qc);
Optimization terminated.
3.2444
The basic forces Q at collapse are
150.0000
66.6667
-66.6667
120.0000
-120.0000
73.3333
-73.3333
-120.0000
120.0000
150.0000

Page 112

## Script for Example 8b in CE220 class notes

% Plastic analysis of one story portal frame (consult pp. 84-94) solution
entirely with FEDEASLab functions

## Clear workspace memory and initialize global variables

CleanStart
% define
XYZ(1,:)
XYZ(2,:)
XYZ(3,:)
XYZ(4,:)
XYZ(5,:)

model geometry
= [ 0
0]; % first node
= [ 0
5]; % second node, etc
= [ 4
5]; %
= [ 8
5]; %
= [ 8
0]; %

## % element connectivity array

CON { 1} = [ 1
2];
CON { 2} = [ 2
3];
CON { 3} = [ 3
4];
CON { 4} = [ 4
5];
% boundary conditions (1 = restrained,
BOUN(1,:) = [ 1 1 1];
BOUN(5,:) = [ 1 1 1];
% specify element type
ne = length(CON);
[ElemName{1:ne}] = deal('2dFrm');

0 = free)

% number of elements
% 2d frame element

create Model
Model = Create_SimpleModel (XYZ,CON,BOUN,ElemName);
% plot and label model for checking (optional)
Create_Window (0.80,0.80);
% open figure window
Plot_Model (Model);
% plot model
Label_Model (Model);
% label model
2

define plastic flexural capacity of elements in a column vector (3 entries per element)
% axial force capacity is "very large"
Qpl = [1e5 150 150 1e5 120 120 1e5 120 120 1e5 150 150]';

Page 113

## form static (equilibrium) matrix B

B = B_matrix(Model);
Bf = B(1:Model.nf,:);

Pe(2,1) = 30;
Pe(3,2) = -50;

## % force at node 2 in direction X

% force at node 3 in direction Y

% extract applied force vector Pf at free dofs from Loading field Pref

## call function for lower bound plastic analysis in FEDEASLab

[lambdac Qc] = LowerBound_PLAnalysis(Bf,Qpl,Pref);
disp(' The collapse load factor for nodal force at girder midspan is');
disp(lambdac);
disp(' The basic forces Q at collapse are');
disp(Qc);
% open window and plot moment diagram
Create_Window(0.80,0.80);
Plot_Model (Model);
Plot_2dMomntDistr (Model,[],Qc);

## % open window and show plastic hinge locations

Create_Window(0.80,0.80);
Plot_Model (Model);
Plot_PlasticHinges (Model,Qpl,Qc);

Page 114

% we can also show the plastic hinge locations in the same window as the moment
diagram
Create_Window(0.80,0.80);
Plot_Model (Model);
Plot_2dMomntDistr (Model,[],Qc);
Plot_PlasticHinges (Model,Qpl,Qc);
Optimization terminated.
The collapse load factor for nodal force at girder midspan is
2.2286
The basic forces Q at collapse are
-51.4286
150.0000
-85.7143
-54.0000
85.7143
120.0000
-54.0000
-120.0000
-120.0000
-60.0000
120.0000
150.0000

Page 115

## Example 9 - Plastic Analysis of Braced Frame with Partial Collapse

Objectives:
(a) use equilibrium equations to determine collapse load factor of portal frame by linear programming
(b) study basic force distribution for partial collapse
40

Given:

30
4

2
1

(b) plastic flexural capacity of horizontal
elements a, b, d and e is 100 units
(c) plastic flexural capacity of vertical
element c is 150 units
(d) axial capacity of brace element f is 20
units
(e) elements a through e have very large
axial capacity
(f) effect of axial force on flexural capacity
of any element is negligible

1
3

Q7

Q6
Q5

Q8

Q4

Q1

Q2

Q3

Global dof numbering (eq equations) without those affected by longitudinal basic forces in elements a
through e. The basic forces are also numbered accordingly.
The equilibrium equations are:

P1 =

Q1 + Q2
6

Q3
6

P2 = Q 2 + Q 3 + Q 4
P3 =

Q4 + Q5
8

0.6 Q8

P4 = Q 5 + Q 6 + Q 7

Page 116

Q6
6

Q7
6

+ 0.8 Q8

1
6
0
Bf :=
0

1 1
1 1
0 0
6 6
6 6

1 1 0

1 1
8 8

0 0 1

Pf = Bf Q

with

0.8

0 0

0 0.6

1 0

## the applied force vector Pf results

from a reference force vector Pref

40

Pref :=
30

## plastic moment capacities

100

100
100

150
Qpl :=
150

100
100

20

The determination of the collapse load factor of any structure can be formulated as a linear programming
problem. To this end we define the function to maximize subject to given equality and inequality constraints.
In a structural problem the unknowns are the load factor and the basic forces. The equality constraint is
the set of equilibrium equations, and the inequality constraints are the so-called plastic conditions,
which state that the basic forces should not exceed the plastic capacity of the member (positive or negative).
Mathcad has a built-in linear programming function called Maximize (there is also Minimize). We define
the function for our purposes and supply guess values for the start of the search.
function to maximize

g ( , Q) :=

:= 0
Q := 0
8

## note that this statement

sets to zero the entire array

We then specify the equality and inequality constraints in a "Given" block, as follows

Given
Pref = Bf Q

equality constraint

Q Qpl

Q Qpl

inequality constraints

Page 117

## Prof. Filip C. Filippou, 2000

We invoke the Maximize function with the name of the function and the variables. Mathcad returns
the solution in a nested array, here called Sol.

Sol := Maximize ( g , , Q)

1.442
100

0
100

Sol = 100
150

50

100

20

We can extract the collapse load factor as the first element of the nested array Sol.

c := Sol1

c = 1.442

and the basic forces at collapse as the second element of the nested array Sol.
Qc := Sol2
T
Qc = ( 100 0 100 100 150 50 100 20 )
Interestingly, Matlab's linear programming function returns a different set of basic forces for the solution.
In both cases, however, the collapse load factor c is the same. The collapse load factor is unique
while the solution for the basic forces is not! Why is this happening?
T
Qc.matlab := ( 100 50 100 150 100 0 100 20 )

40
30
4

2
1

Page 118

## Prof. Filip C. Filippou, 2000

We note that both solutions agree at 1, 3, 7 and 8, and that the plastic capacities are reached at these
locations. We conclude, therefore, that these plastic hinge locations are unique. The rest of the basic
forces is not unique. What does this mean?
(a) for a unique solution of the basic forces we require plastic hinges to form at NOS+1 locations,
converting the equilibrium problem to a unique solution (NOS basic forces more than available equations +
collapse load factor c require NOS+1 values among the unknowns to be given; these values are the
basic forces at the plastic hinge locations).
(b) if plastic hinges form at less than NOS+1 locations, we speak of a partial collapse. In the case of the
example we have NOS=4 and 4 plastic hinges at collapse. We are therefore left with 5 unknowns, i.e. the
other 4 basic forces + the collapse load factor. Since the values for these 5 unknowns are unique at
collapse, we are actually left with 3 independent equilibrium equations in 4 unknown basic forces (recall
that the structure becomes unstable at collapse). This is a statically indeterminate problem and its general
solution has one parameter (one redundant basic force). We have studied such problems earlier.
How do we identify this static indeterminacy? By studying the rank of the equilibrium matrix without
the columns corresponding to the plastic hinges. We call this matrix Be

1
6
1
Be :=
0

1
0 0
6
1 0
1 1
8 8
0 1

rank ( Be) = 3

## we note that the rank of the equilibrium matrix for the

elastic portion of the structure is 3 and not 4.
This means that only 3 columns of the matrix are
linearly independent. The mathematicians speak
of the column space of matrix Be having dimension 3.

## Solving for the remaining elastic basic forces at incipient collapse

c Pref = B eQ ce + B pQ cp

since the collapse load factor c and the basic forces at the plastic hinge
locations are known at this point from the linear programming problem
we solve the equilibrium equations for the remaining basic forces

c Pref B pQ cp = B eQ ce

Because matrix Be has rank 3 and not 4, such a system of equations does not generally have a solution
except for the very special case of the left hand side vector lying in the column space of the matrix Be . This
is indeed the case at incipient collapse of a structure in a partial collapse mode. To see this we determine
the rank of the matrix that consists of the left hand side "load vector" next to the elastic equilibrium matrix Be
let us first form the left hand side in the above equation

1
6

Bp := 0
0

1 1
6 6

0.8

1 0

0 0 0.6
0 1

100

100

Qcp :=
100

20

Page 119

8.333

100

LHS =
31.25

100

## Prof. Filip C. Filippou, 2000

Here is the rank of the matrix that results from placing the left hand side load vector next to Be

## rank ( augment ( Be , LHS) ) = 3

indeed, the rank is still 3, which means that the column of the applied
load vector lies in the space spanned by the columns of Be , i.e. it a
linear combination of these columns

In such case where the load vector lies in the space spanned by the columns of the equilibrium matrix, even
though the rank of the matrix is less than the number of rows, and the matrix is thus singular, there is a m-n
parameter solution for the elastic basic forces at incipient collapse Qce, with m being the number of unknown
elastic basic forces and n the dimension of the column space or rank of matrix Be . In our example, m=4, n=3
and there is a one parameter general solution which we now seek.
We use the method of Examples 5 and 6.
We select the last basic force in vector Qce (i.e. Q6 ) equal to zero and solve for the values of the other 3
under the given left hand side load vector. We obtain the following particular solution (recall that we have
used the subscript p for the particular solution in Examples 5 and 6). In the following we drop the subscript c
to avoid having to deal with 3 subscripts. It is clear from the context that we are referring to forces at collapse

50

150

Qep :=
100

Be Qep

8.333

100

=
31.25

100

## is indeed equal to the

Then we set the last basic force in vector Qce (i.e. Q6 ) equal to 1 and determine the values of the other 3
forces from the 4 equilibrium equations (this solution is known as the nullspace of Be ).

We obtain

1

1
Bbarxe :=
1

1

## The general solution for the elastic basic forces

at incipient collapse is

0

0
Be Bbarxe =
0

0

Q6 := 50

100

## Qep + Bbarxe ( 50) =

150

50

Q6 := 0

50

150

Qep + Bbarxe ( 0) =
100

Page 120

## Script for Example 9a in CE220 class notes

% Plastic analysis with partial collapse mechanism
% solution with Matlab functions and FEDEASLab function LowerBound_PLAnalysis
% Clear workspace memory and initialize global variables
CleanStart

## set up equilibrium matrix w/o axial forces in frame members

Bf = [-1/6
0
0
0

-1/6
1
0
0

1/6
1
0
0

0
1
1/8
0

0
0
1/8
1

-1/6
0
0
1

1/6
0
0
1

0.8
0
-0.6
0

;
;
;
];

specify applied force vector at free dof's for load case of nodal forces
Pref = [-40;
0;
30;
0];

define plastic flexural capacity of elements in a column vector (2 entries per element)
Qpl = [ 100 100 100 150 150 100 100 20]';

## call function for lower bound plastic analysis in FEDEASLab

[lambdac Qc] = LowerBound_PLAnalysis(Bf,Qpl,Pref);
disp(' The collapse load factor for nodal force at girder midspan is');
disp(lambdac);
disp(' The basic forces Q at collapse are');
disp(Qc);
Optimization terminated.
The collapse load factor for nodal force at girder midspan is
1.4417
The basic forces Q at collapse are
100
-50
-100
150
100
0
-100
-20

rank of equilibrium matrix for structure with plastic hinges at incipient collapse
% basic force index at plastic hinge locations
ip = [1 3 7 8];
% basic force index at non-plastic locations (subscript e for elastic)
ie = setdiff(1:8,ip);
% left hand side of equilibrium equations (consult pp. 101 in class notes)
LHS = lambdac*Pref - Bf(:,ip)*Qc(ip);

Page 121

## % remainder of equilibrium matrix (elastic part)

Be = Bf(:,ie);
disp('number of rows of elastic part of equilibrium matrix');
disp(size(Be,1))
disp('rank of elastic part of equilibrium matrix');
disp(rank(Be))
% check that the load vector lies in the column space of elastic equilibrium
matrix
disp('rank of elastic part of equilibrium matrix with load vector placed
alongside')
disp(rank([Be LHS]))
number of rows of elastic part of equilibrium matrix
4
rank of elastic part of equilibrium matrix
3
rank of elastic part of equilibrium matrix with load vector placed alongside
3

## general solution for elastic basic forces

% particular solution for given left hand side (last elastic basic force = 0)
Qep
= zeros(4,1);
Qep(1:3) = Be(1:3,1:3)\LHS(1:3);
disp('the particular solution for the elastic basic forces is');
disp(Qep);
% determine the homogeneous solution using the nullspace command of Matlab
Bbarxe = null(Be,'r');
disp('the homogeneous solution for the elastic basic forces is');
disp(Bbarxe);
the particular solution for the elastic basic forces is
-50.0000
150.0000
100.0000
0
the homogeneous solution for the elastic basic forces is
-1
1
-1
1

Page 122

## Script for Example 9b in CE220 class notes

% Plastic analysis with partial collapse mechanism
% solution entirely with FEDEASLab functions
% Clear workspace memory and initialize global variables
CleanStart
% define
XYZ(1,:)
XYZ(2,:)
XYZ(3,:)
XYZ(4,:)
XYZ(5,:)
XYZ(6,:)

model geometry
= [ 0
0]; % first node
= [ 6
0]; % second node, etc
= [ 12
0]; %
= [ 0
8]; %
= [ 6
8]; %
= [ 12
8]; %

## % element connectivity array

CON { 1} = [ 1
2];
CON { 2} = [ 2
3];
CON { 3} = [ 2
5];
CON { 4} = [ 4
5];
CON { 5} = [ 5
6];
CON { 6} = [ 3
5];
% boundary conditions (1 = restrained,
dof's)
BOUN(1,:) = [ 1 1 1];
BOUN(3,:) = [ 0 1 0];
BOUN(4,:) = [ 0 1 0];
BOUN(6,:) = [ 0 1 0];

## % specify element type

[ElemName{1:5}] = deal('2dFrm');
ElemName{6} = 'Truss';

% 2d frame element
%
truss element

create Model
Model = Create_SimpleModel (XYZ,CON,BOUN,ElemName);
% plot and label model for checking (optional)
Create_Window (0.80,0.80);
% open figure window
Plot_Model (Model);
% plot model
Label_Model (Model);
% label model
4

Page 123

define plastic flexural capacity of elements in a column vector (3 entries per element)
% axial force capacity is "very large" except for brace (truss) element
Qpl = [ 1e5 100 100 1e5 100 100 1e5 150 150 1e5 100 100 1e5 100 100 20]';

## form static (equilibrium) matrix B

B = B_matrix(Model);
Bf = B(1:Model.nf,:);

Pe(4,1) = 30;
Pe(5,2) = -40;

## % force at node 4 in direction X

% force at node 5 in direction Y

% extract applied force vector Pf at free dofs from Loading field Pref

## call function for lower bound plastic analysis in FEDEASLab

[lambdac Qc] = LowerBound_PLAnalysis(Bf,Qpl,Pref);
disp(' The collapse load factor for nodal force at girder midspan is');
disp(lambdac);
disp(' The basic forces Q at collapse are');
disp(Qc);
Optimization terminated.
The collapse load factor for nodal force at girder midspan is
1.4417
The basic forces Q at collapse are
43.2500
100.0000
-50.0000
12.0000
-100.0000
0
-25.0000
150.0000
100.0000
-43.2500
0
-0.0000
0
-100.0000
0
-20.0000
% open window and plot moment diagram
Create_Window(0.80,0.80);
Plot_Model (Model);
Plot_2dMomntDistr (Model,[],Qc);

Page 124

## % open window and show plastic hinge locations

Create_Window(0.80,0.80);
Plot_Model (Model);
Plot_PlasticHinges (Model,Qpl,Qc);

Page 125

% we can also show the plastic hinge locations in the same window as the moment
diagram
Create_Window(0.80,0.80);
Plot_Model (Model);
Plot_2dMomntDistr (Model,[],Qc);
Plot_PlasticHinges (Model,Qpl,Qc);

Page 126

CE220-Theory of Structures

Equilibrium

## Prof. Filip C. Filippou, 2000

Equilibrium Summary
static variables

## applied forces at free dofs

element end forces

Pf

support reactions

Qx

Bf

Pf = Bf Q + Pfw

Bi

Bx

## superposition principle since Bf does

not depend on Q or P for equilibrium
in the original (undeformed)
configuration of the structure

if

Pf (1) = B f Q (1)

Q = B ( Pf Pfw )

then

## for stable, statically indeterminate structures ( Pf Pfw ) = B i Q i + B x Q x

B = B f 1

Q = Bi ( Pf Pfw ) + B x Qx

c = max

and Q Qpl

## ( c Pref Pfu ) B pQcp = BeQce

if the rank of matrix Be is equal to the number of columns a complete collapse mode exists accompanied by a
unique set of elastic basic forces Qce. If the rank is smaller than the number of columns, a partial collapse
mode arises and difference between the number of columns and the rank of the matrix defines the number of
free basic force parameters of the general solution.

Page 127

CE220-Theory of Structures

Kinematics

## Prof. Filip C. Filippou, 2000

KINEMATICS (COMPATIBILITY)

Objective: kinematic variables for structure, element and section and their interrelationship
through compatibility equations; kinematic matrix of structural model and its
properties; stability of structural model

Page 128

CE220-Theory of Structures

Kinematics

## Relation between structural and element displacements

Recall also the numbering of the element dofs for a
typical 2 node element in a 2d model (here we use
element b for reference). The following figure shows
the corresponding displacement components in the
global reference

## Recall the numbering of the global dofs for the

structural model in the following figure.
5
6

2
3

u (b )

10

13

14
1

15

5
6
j

element b

11
12

u1

u2
u
= 3
u4
u
5
u
6

3
i

There is a one to one correspondence between element displacement dofs in the global reference and
structural displacement dofs. The following figure shows an example for the dofs at the middle node of the
gable frame.
We have
u6

u4

U6

u5

u3

u1

U4 u2

U5
b

c
c

u 4(b) =U 4

u1(c) = U 4

u5(b) =U 5

u 2(c) = U 5

u 6(b) =U 6

u3(c) = U 6

## and completing these one-to-one

relations for all elements and dofs
(including the restrained dofs) we get
d

u1(a) = U11

u1(b) =U1

u1(c) = U 4

u1(d) =U 7

u 2(a) = U12

u 2(b) =U 2

u 2(c) = U 5

u 2(d) =U 8

u 3(a) = U13

u3(b) =U 3

u3(c) = U 6

u3(d) =U 9

u 4(a) = U1

u 4(b) =U 4

u 4(c) = U 7

u 4(d) =U14

u 5(a) = U 2

u 5(b) =U 5

u 5(c) = U 8

u 5(d) =U15

u 6(a) = U 3

u 6(b) =U 6

u 6(c) = U 9

u 6(d) =U10

11

12
13
id (a) = id
1
2
With this array as index the correspondence of element

and structural displacements can be compactly written
3

(el)
u =U (el)
We introduce the incidence or id array of each
element which provides the correspondence
between element and structural dofs. We list this
array for each of the elements in the gable frame.

id

Page 129

1

2
3
(b)
= id
4
5

6

4

5
6
(c)
= id
7
8

9

7

8
9
(d)
=
14
15

10

CE220-Theory of Structures

Kinematics

## Prof. Filip C. Filippou, 2000

the relation between element and structural displacement dofs can also be written in terms of a matrix-vector
multiplication by a Boolean compatibility matrix (Boolean is a matrix with terms of 1 and 0); this is not used in
computing but furnishes a convenient way of writing the displacement correspondence relations

u (el) =U

(el)
id

can be written as

0
0
(el)
where A b = reorder columns
0
0

(el)

(el)

= Ab U

0 0 0 0 0 0 0 0 0 0 0 0 0 0

1 0 0 0 0 0 0 0 0 0 0 0 0 0
0 1 0 0 0 0 0 0 0 0 0 0 0 0
(el)
according to id
0 0 1 0 0 0 0 0 0 0 0 0 0 0
0 0 0 1 0 0 0 0 0 0 0 0 0 0

0 0 0 0 1 0 0 0 0 0 0 0 0 0

the size of the Boolean compatibility matrix is 6 x nt for a planar model with nt total degrees of freedom and
for the example it becomes 6 x 15 as shown.

0
0
(a)
for element a the Boolean compatibility matrix is A b =
1
0

0 0 0 0 0 0 0 0 0 1 0 0 0 0

0 0 0 0 0 0 0 0 0 0 1 0 0 0
0 0 0 0 0 0 0 0 0 0 0 1 0 0

0 0 0 0 0 0 0 0 0 0 0 0 0 0
1 0 0 0 0 0 0 0 0 0 0 0 0 0

0 1 0 0 0 0 0 0 0 0 0 0 0 0

0
0

0
0

0
note that the transpose of the Boolean compatibility matrix arises from
(a)T
reordering the rows instead of the columns; we write here explicitly the A b = 0

## transpose of the Boolean compatibility matrix for element a

0
0

0
0

0
0

Page 130

0
0
0
0
0
0
0
0
0
0
0
1
0
0
0

0
0
0
0
0
0
0
0
0
0
0
0
1
0
0

1
0
0
0
0
0
0
0
0
0
0
0
0
0
0

0
1
0
0
0
0
0
0
0
0
0
0
0
0
0

0
1

0
0

0
0

0
0

0
0

0
0

CE220-Theory of Structures

Kinematics

## Remark: Note that the equilibrium equations at the

node free bodies can be written in compact form
with the help of the id array or Boolean compatibility
matrix. Recall the following equilibrium equations
from Part I

## we include now also the equations at the restrained

dofs (support reactions in the force vector)

## with the Boolean compatibility matrix for all

elements of the structure the above equations
can be written in compact form

p (b) 0 0
(a)
P1 p4 1

(b) 0
0

(a)

P
2 p5
2 0 0
P (a) p (b)

3 p6 3 p (c) 0
P4 0 p (b) 1
4 (c)
0
P
p2

(b)
5 = 0 + p +

5
(c) + 0

P6

P7 0
p4 1

0
P

(c) p2(d)

8
0

0 p5

P9 0
(c) p3(d)

P
0 p6 (d)
10 0
p

0 0 6

p (a)
0
1
P11 (a) 0 0 0

p2
P
12 (a) 0 0 0

P = p3 + 0 + 0 +
p (d)
13
P14 0 0 0 4(d)
P 0 0 0 p5

15

0
0

(a)T

P = Ab
P=

or, simply

(a)

(b)T

+ Ab

(b)

(c)T

+ Ab

(c)

el =1

u (b) = A (b)
b U

## then the corresponding forces obey the

following relation

u (a )

u (b)

= AbU
u (c)

u (d)

(d)

(el)
p
A(el)T
b

u (a) = A (a)
b U

ne

u (a)

u (b)

= A bU
u (c)

u (d)

(d)T

+ Ab

A (a)
b
A (b)
where A b = b
A (c)
b
A (d)

b
P = A (a)T
b

p (a)

p (b)
T

P = Ab
p (c)

p (d)

Page 131

u (c) = A (c)
b U
u (d) = A (d)
b U

A (b)T
b

A (c)T
b

p (a)
p (a)

p (b)
p (b)

= A bT

A (d)T
b
p (c)
p (c)

p (d)
p (d)

## are known as contragradient transformations.

They will appear over and over in the next
pages and are the direct result of the principle
of virtual work, as will be shown later.

CE220-Theory of Structures

Kinematics

## Element displacements from global to local reference system

Similar to the transformation of the generalized element forces from the local to the global coordinate
system in Part I, we transform the components of the displacement vector from the global to the local
reference. The following figure shows the details for end node j; the same relations hold for node i; the
rotation at node i and node j does not change during the transformation. We note again that the matrix
relating the components is a rotation matrix

u5

u4
u4

j
Y

u5

u
5
u5

Y
L

u4

u4

X
Y
+ u5
L
L
Y
X
u 5 = u4 sin + u5 cos = u4
+ u5
L
L
u 4 = u4 cos + u5 sin = u4

or, compactly

X
u4 L
=
u5 Y
L

Y
L
X
L

u
4
u 5

X
L
u1 Y

u2 L
u 0
u = 3 =
u4
u 0
5
u
6 0

Y
L
X
L
0
0
0
0

0
X
0
L
Y
0
L
0
0

0
Y
L
X
L
0

0
u
1
0 u
2

0 u3

u = ar u
0 4
u5

0 u6

## and we note that the transformation

of the displacement components is
the transpose of the corresponding
transformation of the force components
T

br = ar

It remains now to relate the element end displacement components in the local reference system to the
relative element displacements or element deformations. We derive this relation on the following page.
Second instance of a contradient transformation
The relation between local and global components of the element displacement vectors is u = a r u
then the corresponding forces obey the following relation
Page 132

p = aTr p

CE220-Theory of Structures

Kinematics

## From element end displacements in local coordinates to element deformations

The following figure (a) shows two nodes i and j that will be connected by an element of any geometry. In
any case the straight line connecting the nodes will be the element chord. This is the name we plan to use
for this line from now on. Because the actual element geometry between nodes i and j is not important, the
straight line connecting nodes i and j is dashed. The original distance between the nodes is L. The figure
also shows the nodes in the displaced position involving translation and rotation at each end. The rotation is
depicted by drawing a line emanating from the node that originally coincides with the element chord. We call
this line the node tangent for the particular element chord. The angle of this line relative to the original
orientation of the element chord is the end rotation of the element. Figures (b) and (c) decompose the
displaced state of the nodes in two parts: (a) a rigid body translation in figure (b); we note that the node
tangents rotate so as to continue coinciding with the element chord which rotates through the angle
relative to the original position in the process; (b) end rotations relative to the chord in figure (c). It is clear
from figure (b) that the change in distance L between the nodes depends only on the relative translation
components between nodes i and j.

u6

u y = u 5 u 2

u x = u 4 u1

u5

Ln

u3

Ln

u y

u4

L
y

u2
i

u1

x
X

u x

(a)

v2
(c)

u6

u3

v3

u x

## We have the following relations under large displacements.

change in distance between nodes i and j

v1 = L = Ln L

## angle between node tangent and chord in displaced position at node i

v2 = u3

at node j

v3 = u 6

the change in distance between nodes i and j and the angle between node tangent and chord in
the displaced position at node i and j make up the components of the element deformation vector v
under large displacements we have the following relations
for the change of distance L and the chord rotation angle

L =

( L + u x )

= arctan
Page 133

( )

+ u y

u y
L + u x

u y

CE220-Theory of Structures

Kinematics

## Element deformations under linear and nonlinear kinematics

We transform the expressions for the change in distance and the chord rotation angle using an expansion
in power series that allows us to assess the relative magnitude of individual terms.
change of distance

L =

( L + u x )

( )

+ u y

L
2

2
u x u y
L
L = L 1 +
+

L
L

2
u x u y
L = L 1 + 2
+
+
L
L 0 L

u x

u x 1 u x
1 u y

L = L 1 +
+
+

L
2 L
2 L

## where we made use of

1+ x =1+

1 2u x 2

+ higher order terms L

8 L

1
1
x x 2 + higher order terms for
2
8

x 1

## finally, we obtain for a moderate

relative transverse displacement ratio

u x 1 u y
L L 1 +
+

L
2 L

## and for a small relative transverse

displacement ratio

u x
L L 1 +
L = u x = u 4 u1
L

u x

u y

u y

## and a moderate relative transverse displacement ratio is

u y
L = L u x + 1

L
2 L

5 103
5 103
5 102

We can show that the relative transverse displacement ratio is approximately equal to the chord rotation
angle. To this end we expand the trigonometric arctan function into a power series

= arctan

u y
L + u x

u y
= arctan
1+

L
u x
L

u y u
u x
x

1
higher
order
terms
+

L
L
L

## noting that in structural engineering practice, typically

u x
L

5 103

it follows that

u y
L

We conclude that the chord rotation angle is approximately equal to the relative transverse displacement
ratio. This is known as tranverse "drift" in professional engineering practice, or, as lateral drift or interstory
drift for vertical members.
Page 134

CE220-Theory of Structures

Kinematics

## Element deformations for linear kinematics

As long as

u x
L

5 10

and

u y
L

v1 = u x = u 4 u1

v 2 = u3
v3 = u 6

u y
L
u y

5 103

## the element deformations become

1
v1

v = v2 = 0

v
3
0

0
1
L
1
L

0 1

0
1
1 0
L
1
0 0
L

u
1
0 u 2

u

0 3 = au
u
4
1 u5
u
6

we note again that the relation between element deformations and the end displacement
components in the local reference system is the transpose of the transformation of the
element force components from the local to the basic reference system

b = aT

## Third instance of a contradient transformation

The relation between local components of the element displacement
vector and the element deformations is

v = au

then the relation between basic forces and local components of the
element force vector is

p = aTq

We note that the relation between relative element displacements and end displacement components in
the local reference system is linear under the small displacement assumption. We speak of linear
kinematics. The matrix a in the above relation is known as the rigid body kinematic matrix, since it
removes the three (3) rigid body components from the set of six (6) element end displacements leaving
only three (3) relative displacements for the 2 node element in a planar model.
It is worth pointing out at this stage that the rigid body kinematic matrix reveals
the uncoupled nature between the relative translation in the direction of the
chord, and the chord rotation angles at the element ends; this means that
transverse translations and rotation do not cause a change of distance
between the nodes, and that translations in the direction of the chord do not
cause the chord to rotate under linear kinematic considerations..

0
1
L
1
L

0 1

1
L
1
0 0
L

1 0

combining

v = a u with

u = ar u

gives

( )

## Fourth instance of a contradient transformation

The relation between global components of the element displacement
vector and the element deformations is

v = a gu

## then the relation between basic forces and global components of

the element force vector is

p = ag q

Page 135

= aTg

CE220-Theory of Structures

Kinematics

## The relation between global components

of the element displacement vector and
the element deformations is

L = X 2 + Y 2

Y
u2

## Prof. Filip C. Filippou, 2000

L
Y
v = agu with ag = 2
L
Y
u5
2
L
u4
j

L2
X
L2

0
1
0

X
L
Y
L2
Y
L2

Y
L
X
2
L
X
2
L

## note that the angle is measured from the chord

in the displaced position to the node tangent
(note that CCW is positive and CW negative)

u 2 = 1 deformations are

L
X
2
L
X
2
L

u1 = 1

L
Y
2
L
Y
2
L

L
X
u5 = 1 deformations are 2
L
X
2
L

L
Y
2
L
Y
2
L

Y
L

X
L

Y
L

X
L

Y
L

Y
L

deformations are

j
1

X
L

Y =Y j Yi

X =X j X i

u1 i

Y
L
X

j
X
L

u 4 = 1 deformations are

i
Page 136

CE220-Theory of Structures

Kinematics

5
6

2
3

A (a)
u (a)
b

(b)
A (b)

## for all elements of the structural u

b U

U
=
A
=
model and then combine it with
b
(c)
A (c)
u
b

7
u (d)
A (d)

b
we write v = agu

10

13

14

11

to obtain

15

12

## (a) (a) (a) (a)

v (a) ag u ag A b

## (b) (b) (b) (b)

v (b) ag u ag A b

=
=
U
v (c) a(c) u (c) a(c) A (c)
g
g
b

## v (d) (d) (d) (d) (d)

a g u a g A b

We collect the element deformations into the deformation vector V for the elements of the entire structure.
Similarly, the compatibility matrices on the right hand side which are stacked one on top of the other are
collected to the kinematic or compatibility matrix A for the entire structure. We get

V = AU

with

v (a)

v (b)

V =
v (c)

v (d)

and

a(a) A (a)
g b
a(b) A (b)
b
g
A=
(c) (c)
ag A b
(d) (d)
a g A b

We partition the displacement vector into free and restrained dofs, as we have already discussed. The
kinematic or compatibility matrix of the structure gets partitioned accordingly into a set of columns that
correspond to the free dofs and another set that corresponds to the restrained dofs. We write
where Vd = A d U d the element deformations due to displacements
at the restrained dofs (e.g. support settlements)
are known at the start of the analysis
We express the equilibrium equations in terms of the basic forces of the structure and get

V = A f U f + A d U d = A f U f +Vd

p (a)

(b)
T p
= A (a)T
P = Ab
b
(c)
p

p (d)

(b)T

Ab

(c)T

Ab

a(a)Tq (a)
g

(b)T (b)
a
q
(a)T (a)T
(d)T g
= A a
A b
a(c)Tq (c) b g
g

a(d)T
q (d)
g

(b)T (b)T
ag

Ab

(c)T (c)T

A b ag

q (a)

(b)
(d)T (d)T q

A b ag
q (c)

q (d)

or, after introducing the structure kinematic matrix on the right hand side and
T
P=A Q
collecting the basic forces into a vector Q for the entire structure we get
We partition the applied force vector into free and restrained dofs, as we have already discussed. The
transpose of the kinematic or compatibility matrix of the structure gets partitioned accordingly into a set of
that correspond to the free dofs and another set that corresponds to the restrained dofs. We write
T
T
Pf A f we have encountered the first equation already in the form Pf = Bf Q we note that Bf = A f

= T Q
R A d we note that R are the forces at the restrained dofs or support reactions
Page 137

CE220-Theory of Structures

Kinematics

## Fifth instance of a contradient transformation

The relation between global dof displacement components and the
element deformations of the entire structure is

V = Af U f + Ad U d

Pf

## then the relation between basic forces and global components of

the applied force vector is

T
Af
= T Q
A d

Limiting ourselves to the free dofs only by assuming that the displacements at the restrained dofs are all
zero, we set aside the support reactions and get the following important pair of relations
kinematic or compatibility relation for structure

V = Af U f

## static or equilibrium relations for struct ure

Pf = B f Q

or Pf = A f Q

The properties of the static matrix Bf that we have discussed in Part I are also properties of the transpose
of the kinematic matrix. In particular, a statically determinate structure has a square kinematic matrix with
as many element deformations as global dof displacements. Thus, any set of element deformations is
compatible with a unique set of global dof displacement values, as we can see in Examples 10, 11, 12
A statically indeterminate structure has more element deformations than global dof displacements. This
means that an arbitrary set of deformations will, in general, not be compatible with a set of global dof
displacement values, since the compatibility relations have more equations than unknowns. The only way
that such a system will have a unique solution is, if the deformation vector V lies in the column space of
the kinematic matrix Af (Strang, pp. 66). For this to be the case, the deformation vector V needs to be
orthogonal to the nullspace of the transpose of the kinematic matrix (Strang, pp. 135-139). Since the latter
is equal to the static matrix, we have already determined the nullspace of the static matrix in Part I as the
force influence matrix for the redundant basic forces (see Examples 5 and 6). Thus, the necessary and
sufficient condition for a set of given element deformations to be compatible with a unique set of global
dof displacement values, is that

BTx V = 0

## We use this condition in Examples 13 and 14

Page 138

CE220-Theory of Structures

## Example 10(r) - Compatibility relations for statically determinate 2d truss

Objectives:
(a) set up of the compatibility relations between the displacements at the free dofs of a statically
determinate truss and the element deformations
(b) determination of deformed shape for given element deformations
The truss is shown in Figure 1. The global coordinate system X-Y is also shown.
4

Y
1

2
8

## Figure 1: Statically determinate truss with global coordinate system

We focus on the number of independent ways that the nodes of the structure can displace. Since rotations
are of no interest in this case, there are two independent translations at each node, except for the
translations restrained by supports. We call each independent translation a degree of freedom of the
structure. We number these in sequence starting with the node with lowest number exactly as we did for the
equilibrium equations of Example 1. The one to one correspondence between degree of freedom (dof) and
equilibrium equation is established by Newton's second law. The numbering is, therefore, the same for both.

5
4

2
a

## Figure 2: Free dof numbering

Page 139

CE220-Theory of Structures

## Prof. Filip C. Filippou, 2000

If rotations at the nodes are of no significance, then the only "deformation" between nodes of interest here
is the change in the original distance. In the following we wish to establish a relation between this change of
distance between nodes and the deformed element length. If there are no gaps in the structure after
deformation, then the element deformation must be equal to the change in node distance. For a truss
element the only element deformation is the change of its length denoted by v1 .
To set up the compatibility relation between free dof displacements and element deformations we proceed
in the following systematic way: (1) set each dof in turn to a unit value, while holding the other dofs equal
to zero, (2) determine the change in distance between the nodes in the deformed configuration assuming
small displacements and deformations, (3) record this change of distance in a column vector with each row
number corresponding to the number of the element that connects the corresponding nodes (recall that
there is only one "deformation" of interest for each element, the change in distance of the nodes). The
column number corresponds to the number of the dof we "activate". The corresponding array or matrix is
known as compatibility or kinematic matrix Af
Preliminary geometric calculation: original distance between nodes numbered according to the
corresponding element number.

La := 8

La = 8

Lb := 8

Lb = 8

Lc :=

6 +8

Lc = 10

Ld := 6
Le :=

Ld = 6
2

6 +8

Le = 10

## Unit value for degree of freedom (dof) 1.

for unit displacement at dof 1 (translation)

dof 1

1
1

Af 1 := 0
0

0

Page 140

## dist change btw 1 and 2

dist change btw 2 and 3
why??
very small displacements

CE220-Theory of Structures

## for unit displacement at dof 2 (translation)

dof 2

0
0

Af 2 := 0
1

0

why??
very small displacements

dof 3

0

1
0

Af 3 :=

0
8
L
e

Page 141

## dist change btw 3 and 4

CE220-Theory of Structures

dof 4

0
0

Af 4 := Lc

8

Le

dist change
btw 1 and 4

dist change
btw 3 and 4

dof 5

0
0

6

Af 5 := Lc

1
6

Le

Page 142

## dist change btw 1 and 4

dist change btw 2 and 4
dist change btw 3 and 4

CE220-Theory of Structures

## Prof. Filip C. Filippou, 2000

The change in node distances when all dof's are "activated" is the linear combination of the individual dof
effects. Since the dof translation values are parameters to be determined, we collect them into the
free dof displacement vector Uf and write for the change in node distances the following general relation.
We restate that the change in distance between the nodes is the linear combination of the columns of
the kinematic matrix for the free dofs Af with the free dof displacement values serving as parameters.

Af Uf with

Af

1
1

=0
0

0.8

0.6

## 0.8 0.8 0.6

we note that matrix Af is the transpose of the equilibrium matrix Bf for the same truss structure in Example 2.
This is a consequence of the principle of virtual work, as we prove later.
Now let us look at the elements that are supposed to connect the nodes of the truss structure.
In general, elements may have different lengths than those resulting on the basis of the original
(undeformed) configuration of the structure. One reason is that the elements are fabricated longer or
shorter than specified. This happens in prefabricated structural systems like most steel and timber
structures where the elements are fabricated in a shop or plant and delivered to the site for installation.
Elements may be longer or shorter either intentionally (we will see why), or unintentionally due to
unavoidable fabrication errors (fabrication tolerances are usually prescribed for a structure). Even if the
element length can be assumed as "perfect", another reason that it may not match the actual distance
between the corresponding nodes during installation is a temperature change between fabrication and
installation time, particularly in severe climate sites like underwater, arctic, desert etc. Finally, it is known
from earlier courses that elements change length due to stress (forces cause stress at every material point
which gives rise to strain which results in change of the element length). For now we will limit ourselves to
the first two causes for change of element length, the so called non-mechanical causes: intentional or
unintentional fabrication "error", and temperature.
We denote the difference between the actual and the ideal or original element length the element
deformation and denote it by the lower case letter v. A truss element has only this one deformation. We will
see in the following example that beam elements have two and frame elements have 3 deformation
measures. It is, therefore, justified to use already a vector to contain the element deformations.
Exactly as we have done for the basic forces of the element we collect the element deformations for the
entire structure into a single vector which we denote with the upper case letter V. It contains the
deformations of all elements in the structure numbered in element sequence, i.e. deformations of element a
stacked on top of deformations of element b and so on.

Page 143

CE220-Theory of Structures

## Prof. Filip C. Filippou, 2000

Compatibility states that in order for the elements to fit perfectly in the space between the displaced nodes
the element deformations V need to be equal to the change in the distance between nodes. We write this
equality relation as follows:
V = Af Uf
let us write it out in full to appreciate it
better for this small structure

V1 = U1
V 2 = U 1 + U 3
V3 = 0.8 U4 + 0.6 U5
V 4 = U 2 + U 5
V5 = 0.8 U3 0.8 U4 + 0.6 U5

Let us look at these compatibility relation in some more detail. First, we reiterate that the coefficients
multiplying the displacements at the free dof's are the same as those of the equilibrium equations for the
same structure but in transpose form, i.e. the rows of the equilibrium matrix have now become columns.
We will see that this relation holds for every structure in this course and we will prove it by the principle of
virtual work in a later lecture. Secondly, we note that if the element deformations V are given on the left
hand side of the compatibility equations, then we have exactly as many unknown global dof displacement
values on the right hand side as equations of compatibility. In such case if the matrix Af is non-singular
there is a unique solution. This is the case for a stable structure and we can confirm this by checking the
rank of the kinematic matrix Af. (recall a similar argument for the static matrix Bf, which is the transpose of
the kinematic matrix).

rank ( Af) = 5

## this means that all equations are independent

Let us then solve an example. Let us assume that elements c, d and e are fabricated longer or shorter than
required by the specified geometry such that c is longer by 0.02 units, d is shorter by -0.006 units and e is
longer by 0.01 units of length. We assume that elements a and b have ideal length according to the
undeformed geometry of the structure. For this scenario the element deformation vector becomes

0
0

V := 0.02
0.006

0.01

## We can now solve for the displacements

that are compatible with these deformations
from the compatibility equations

Uf := lsolve ( Af , V)

Uf

0
0.031

= 0
0.006

0.025

We can easily solve the 5 compatibility equations by hand and gain more insight into how the nodes
displace due to the element deformations, e.g.
from the first equation we conclude that U1 is zero, and then from the second that U3 is zero, if V1 =V 2 =0.
Then, we can use the third and fifth equation to determine U4 and U5 and locate the displaced position of
node 4. In fact, because elements c and e have the same direction cosine values the solution is easy.
By addition of eq. (3) and (5) we get

V3 + V5 = 1.2U5

and by subtraction

V3 V5 = 1.6U4

Page 144

CE220-Theory of Structures

## Prof. Filip C. Filippou, 2000

U2 = U5 V4

The resulting deformed shape of the truss structure looks as follows (magnification factor is 50)
The geometrical relations we noted are clear in the figure (i.e. node 4 "at the intersection of elements c
and e each pivoting about the supports that do not move; vertical translation of node 2 is the difference
between vertical translation of node 4 and the deformation of element d)

CONCLUSIONS
In a statically determinate structure there are as many element deformations (rows of Af) as there are free
global dof displacements (columns of Af). Consequently, Af is a square matrix. In a stable structure the
rank of the matrix is equal to the number of columns (or rows for a determinate structure). This means
that it is always possible to find a deformed configuration of the structure that matches any given element
deformations. It also means that the only way to match the original length of the elements, i.e. a zero
deformation vector on the left hand side of the compatibility equations, is with zero displacement values at
all free dof's, i.e. only the undeformed configuration results in no-element deformations. We will see later
that the kinematic matrix of an unstable structure is "rank deficient", meaning that the rank is smaller than
the number of columns. In such case it is possible to find deformed positions of the structure without
deforming any of the elements at least under the assumption of small displacements. This is clearly not
desirable for structures, unless we plan to "deploy a folded structure" in which case these considerations
need to be extended to large displacements.
Corollary
In a statically determinate structure it is possible to have any element deformations (and thus element
lengths) and "fit them together" without "forcing" the elements. This is not possible in a statically
indeterminate structure, as later examples will demonstrate.
The above structure is not subjected to any forces at the free global dof's. This means that there are no
basic element forces and, of course, no support reactions.
The nodes displace due to the non-mechanical element deformations while the elements are stress-free!

Page 145

## Matlab script for Example 10 in CE220 class notes

% Deformations and deformed shape for statically determinate 2d truss

## OPTION A: perform each step with Matlab functions

% clear memory
clear all
% specify kinematic matrix Af (consult page 144 in Part I Notes)
Af = [ 1
0
0
0
0;
-1
0
1
0
0;
0
0
0
0.8
0.6;
0 -1
0
0
1;
0
0
0.8 -0.8
0.6];
% specify the element deformations
V = [ 0; 0; 0.02; -0.006; 0.01];
Uf = Af\V;
% display result
format short
disp('the free global dof displacements are');
disp(Uf);
the free global dof displacements are
0
0.0310
0
0.0063
0.0250

## OPTION B: use FEDEASLab functions

% clear memory; close any open windows
CleanStart

Create model
% specify node coordinates
XYZ(1,:) = [ 0
0]; % first node
XYZ(2,:) = [ 8
0]; % second node, etc
XYZ(3,:) = [ 16
0]; %
XYZ(4,:) = [ 8
6]; %
% connectivity array
CON { 1} = [ 1
2];
CON { 2} = [ 2
3];
CON { 3} = [ 1
4];
CON { 4} = [ 2
4];
CON { 5} = [ 3
4];
% boundary conditions (1 = restrained,
BOUN(1,:) = [ 1 1];
BOUN(3,:) = [ 0 1];
% specify element type
ne = length(CON);

0 = free)

% number of elements

Page 146

[ElemName{1:ne}] = deal('Truss');
% truss element
Model = Create_SimpleModel (XYZ,CON,BOUN,ElemName);

## Post-processing functions on Model (optional)

Create_Window (0.80,0.80);
Plot_Model (Model);
Label_Model (Model);

## % open figure window

% plot model (optional)
% label model (optional)

## specify element deformations

V
V(3)
V(4)
V(5)

= zeros(Model.ne,1);
= 0.02;
= -0.006;
= 0.01;

## Kinematic (compatibility) relations

% set up kinematic matrix for all dof's
A = A_matrix(Model);
% extract columns corresponding to free dof's to form matrix Af
Af = A(:,1:Model.nf);

Uf = Af\V;
% put free dof displacement values in complete displacement vector
U = zeros(Model.nt,1);
U(1:Model.nf) = Uf;

## plot deformed shape of structural model

MAGF = 50;
% magnification factor for deformed configuration
Create_Window(0.80,0.80);
Plot_Model(Model);
Plot_DeformedStructure(Model,[],U,V);

Page 147

CE220-Theory of Structures

Kinematics

## Section kinematics and non-mechanical effects

Under the assumption that plane sections normal to the reference axis remain plane after deformation
and normal to the deforrmed reference axis, there are two kinematic variables at a section x: the axial
strain at the reference axis and the curvature. We call these the section deformations e(x).

section deformations

( x)
e ( x) = a
( x)
( x)dx

reference axis h

a ( x) dx

dx

section x

section x+ dx

section deformations may be caused by mechanical and non-mechanical effects; section forces, such
as the normal force, shear and bending moment, cause mechanical effects; we can quantify these only
after studying the material response in Part IV. For now we limit ourselves to non-mechanical effects.
These effects arise from environmental causes, or from intentional camber or lack-of-fit considerations.
As an example, we look at the effect of differential temperature in the following.
Assume a temperature difference between the time of
fabrication of the element and the time of installation.
Then, the axial strain at the reference axis is
If there is a different temperature difference at the
top than at the bottom of the cross section, then
there is not only an axial strain at the reference
axis, but also a curvature. The latter is given by
the following expression

( Tb Tt )
h

( T )

a = Ta

## where is the thermal expansion

coefficient of the material and Ta
is the temperature difference

Tt

Tt
h

Ta
reference axis

Tb
x

Tb
temperature increment

Shrinkage of a material produces similar effects to temperature. On the other hand, it is common to
fabricate or build members with intentional camber or different length then specified so as to induce a
desired level of prestressing in the structure. We will investigate this in later lectures.
In order to distinguish non-mechanical deformations from mechanical deformations later in the course we
denote the former with a subscript 0. We leave this out for the moment, since we focus exclusively on
non-mechanical deformations and there is no danger of confusion.

Page 148

CE220-Theory of Structures

Kinematics

## Element deformations and section kinematics

The change of element length is equal to the integral of the distribution of the axial strain at the reference
axis, as long as the element does not contain axial force release devices.
L

v1

we write

a ( x)

v1 = a ( x)dx
0

## and for uniform axial reference strain

x

v1 = a L

The axial deformation of a force release device needs to be added to the above deformation. We will
investigate this later, after first discussing the effect of the curvature on the deformations.
The following figure shows the element chord connecting nodes i and j and the deformed reference axis of
the element. In determining the angle between the element chord and the tangent to the deformed axis of
the element at the end nodes we make use of the height of the highlighted triangle and the total distance at
node i and node j that it covers as x increases from 0 to L. For small deformations we have

j
( x)dx

v3

element chord

v2
L

x ( x)dx

L x ) ( x)dx

Lx

## for the deformation at node j

L
L

1
x

v 2 = ( L x ) ( x) dx = 1 ( x) dx
L
L

0
0

L
L
1
x
v3 = x ( x) dx =
( x) dx
L
L

0
0

Note: the deformed axis has a positive curvature, since the angle of the tangent to the horizontal
increases with increasing x. For this case the deformation at node i is negative and that at node j is
positive, as shown. Recall that the deformation angle is measured from the chord of the element to
the tangent of the deformed reference axis at the end node.
Page 149

CE220-Theory of Structures

Kinematics

## Prof. Filip C. Filippou, 2000

Element deformations
The expressions for the deformations v2 and v3
involve integrals of the type

x ( x) dx

which is equal to

x A

where A

## is the distance of the centroid of the area

under the curvature diagram from node i

Because of this interpretation of the integral and the fact that curvatures are proportional to bending
moments for linear elastic material response, this geometric method for determining beam deformations is
known in the literature as "moment area method". Unfortunately, this is not the most appropriate name;
curvature-area method would be a lot better and completely general for small deformations. With this
definition the deformation at node i and node j becomes
for the deformation at node i

v2 =

v3 =

L x
L

x
L

A =

x
L

with

## the distance of the centroid of

the area under the curvature
diagram from node j

For the case of a constant curvature with value the deformations become
i

( x) = const=

v2 =

1
( L )
2

v2

v3 =

v3

1
( L )
2

For the case of a linear curvature with value i at node i the deformations become
i

i
21
1

v2 = i L = i L
32
3

v3

v2

v3 =

11
1
i L = i L
3 2
6

and we note that the angle at node j is one half the value of the angle at node i, but of opposite sign

Page 150

CE220-Theory of Structures

Kinematics

## Element deformations (cont'd)

For the case of a linear curvature with value j at node j the deformations become
i

11
1

v2 = j L = j L
3 2
6

v2

v3 =

v3

21
1
j L = i L
32
3

For the case of a parabolic curvature with value m at midspan the deformations become
i

12
1

v2 = m L = m L
23
3

v2

v3

v3 =

12
1
mL = m L
23
3

Other cases can be obtained with the help of integration tables, or numerical integration

Page 151

## Example 11(r) - Compatibility relations for statically determinate 2d beam

Objectives:
(a) set up of the compatibility relations between the displacements at the free dofs of a statically
determinate beam and the element deformations
(b) determination of deformed shape for given element deformations
(c) reduced set of degrees of freedom
In this example we will set up the compatibility relations between the displacements at the free dofs of a
statically determinate beam with overhang and the deformations of each element in the model. The beam
with overhang is shown in Figure 1. It is clear from the figure that the horizontal translations and
corresponding deformations are independent from the transverse translations and rotations. We will not
bother with the longitudinal translations of the nodes of the structural model and the corresponding change
of length in this problem, and instead concentrate on the transverse translations and node rotations.
1

10

10

## Figure 1: Statically determinate beam

Each node of the structural model has 3 independent ways of displacing in the plane. We call these the
degrees of freedom of a node. They are: translation in the global X-direction, translation in the global
Y-direction, and rotation about the Z-axis or rotation in the plane of the structural model). As already stated,
we limit our attention in this example to the node translations in Y and the rotations. The unrestrained dofs
are numbered in sequence starting with the lowest number node. The free dofs are shown in Figure 2.
2

4
6

## Figure 2: Free dof numbering

Length of elements

La := 10

Lb := 10

Lc := 5

We want to set up a relation between the displacements (i.e. translations and rotations) of the nodes
and the angle that forms between the node tangent and the node connector line for nodes connected by
elements (this will be called a node connector line in the course). To display this angle without ambiguity
we make use of the following figure

node i

node j

## the figure shows a line connecting node i and j implying

that these nodes are connected in the structural model
(note that the element connecting the nodes need not be
a straight element!). It also shows a line emanating from
the face of the square symbol for the node. This line
points originally in the direction from node i to node j and
follows the node in its rotation. The angle is measured
from the line connecting the nodes to the line attached to
the square symbol for the node and is positive in the
counterclockwise (CCW) direction.

Page 152

## Dof displacements and corresponding deformations (angles)

To set up the relation between the free dof displacements and the angles between the node tangents and
the node connector lines in the structural model we proceed as follows: we activate each dof in turn and
give it a unit value; during activation of a particular dof the others remain "locked". We measure the angle
between the node tangents and the node connector lines in the structural model. We number the angles
systematically starting with end i of element a, to end j of element a, end i of element b, etc. as shown in the
following figure for dof 1. We record the values of these angles for a unit displacement of the particular dof
in a column of the kinematic matrix Af (one column for each dof with corresponding number). The following
figure shows the concept and the angle numbering

2
3

dof 1

dof 2

dof 3

dof 4

dof 5

dof 6

Page 153

dof 1

## for unit displacement at dof 2 (translation)

1

0
0

1
Af :=
0
0

0
1
La
1

La
1

2
Af :=
L
b
1
Lb

0
0

dof 2

Note: we limit ourselves to small displacements in this course (linear geometry). In such case the arctan of
the angle is a very close approximation of the angle itself.

0

1
1

Af 3 :=
0
0

0

dof 3

0

0
0

Af 4 :=
1
1

0

dof 4

Page 154

Af 5 :=
1
L
c
1
Lc

dof 5

0

0
0

Af 6 :=
0
0

1

## for unit displacement at dof 6 (rotation)

dof 6

After establishing the individual relations we can conclude that the combined effect of all free dof
displacements on the angles between node tangents and node connector lines can be written in the form

Af Uf

with

Af

0
0
=
0
0

0.1 0 0

0.1 1 0

0.1

1 0

0.1

0 1

0 1 0.2 0

0 0 0.2 1

we note that matrix Af is the transpose of the equilibrium matrix Bf for the same beam structure in Example 3
(case B without longitudinal basic forces).

Page 155

## Prof. Filip C. Filippou, 2000

Element deformations
Now we look at the elements connecting the nodes. Elements that are supposed to be straight in ideal
conditions may end up curved either by intentional or unintentional fabrication, or by thermal effects.
The following figure shows the effect of curvature on the element deformation. Note that curvature means
the change of angle of the tangent to the deformed shape of the element at two infinitesimally adjacent
sections ((x) dx in the figure). We see that the element curvature results in an angle between the tangent
to the deformed shape of the element at each end and the line connecting the ends of the element. The
latter is known as the element chord. These angles can be expressed by curvature integrals as shown in
the figure.

j
( x)dx

v3

element chord

v2
L

x ( x)dx

L x ) ( x)dx

Lx

Recalling that the change of length of the element is counted as the first element deformation v1 , the angle
between tangent and chord at end i represents element deformation v2 , and the angle between tangent and
chord at end j represents element deformation v3 . Noting that the angle is measured from the chord to the
tangent, as shown in the figure and that CCW is positive we have
L

1
v2 = ( L x) ( x) dx
L 0

and

1
v3 = x ( x) dx
L 0

after bringing the length L of the element into the integral we can write
L

x
v2 = 1 ( x) dx

L
0

and

x
v3 =
( x) dx
L
0

Page 156

## Prof. Filip C. Filippou, 2000

We note that the above integrals represent the "moment" of the area under the curvature function about
end i (for v2 ) and about end j (for v3 ) divided by the element length. This interpretation of the geometric
facts is, therefore, known in the history of structural analysis as "moment area" method.
for the case of constant curvature, which we denote with 0 , we have

0 L
2

0 L
2

0 ( x) = const=0

A constant curvature arises from a temperature field with a difference in the change of temperature between
the bottom and top fiber of the section as the following figure shows

thermal field

beam element

L
in this case

Tt

Tt
h

Ta
reference axis

Tb
x

Tb
temperature increment

Page 157

0 =

Tb Tt
h

## Prof. Filip C. Filippou, 2000

Continuity requirement
Assuming now that the elements are not straight but deformed we state that the continuity of tangents at
nodes with rigid or continuous connections requires that, when the element chord is placed so as to line up
with the line connecting the corresponding nodes, each element deformation should match the
corresponding angle between the node tangent and the node connector line in the structural model. We
show this state of continuity in the following figure for each dof separately.

3
1

2
a

6
b

dof 1

dof 2

dof 3

dof 4

dof 5

dof 6

We can see from the above figure that the final deformed shape of the structural model will be the linear
combination of the deformed shapes for each dof scaled by the displacement value of the corresponding dof

Page 158

## Prof. Filip C. Filippou, 2000

Compatibility relations
To write the compatibility statement of angle equality in compact form we put the element deformations in a
single vector V starting with the deformation at end i for element a, then deformation at end j for element a
and so forth, so that there is perfect agreement in numbering between the complete set of element
deformations and the angles between node tangents and node connector lines in the structural model.
The compatibility or geometric continuity statement then reads

V = Af Uf

## where Uf is the vector of free dof displacements

and where the deformation vector V is

v( a )

b)
(
V =v
(c)
v

or,

V1

V2
V
3
V=
V4

V5
V
6

## deformation at end i of element a

deformation at end j of element a
deformation at end i of element b
deformation at end j of element b
deformation at end i of element c
deformation at end j of element c

## We write the compatibility relations for the example explicitly

V1 = U1
V2 =
V3 =
V4 =
V5 =
V6 =

U2
10

U2

+ U3
10
U2
+ U3
10
U2
+ U4
10
U5
U4
5
U5

+ U6
5

We note that there are as many compatibility equations as variables on the right hand
side of the equations V = Af Uf.

Page 159

## Prof. Filip C. Filippou, 2000

Numerical results
Let us assume that element a is deformed due to a uniform curvature field of

0 := 1.2 10

while elements b and c are in their ideal condition, i.e. perfectly straight. What is the resulting deformed
shape of the structure that ensures tangent continuity at all nodes?

0.006

0.006

0
V :=

Given

note

La
2

= 0.006

we obtain Uf := lsolve ( Af , V)

Uf

0.009

0.03

0.003
=

0.003

0.015

0.003

it is worth noting that the translation values are roughly an order of magnitude greater than the rotations.
The system of compatibility equations can be readily solved by hand allowing insight into the deformation
behavior of the beam. Since V 3 through V6 are zero we conclude that

U6 =
U4 =

U5
5
U5

and thus

5
U2
U4 =
10
U2
U3 =
10

and thus

U4 = U6

U3 = U4

thus, in the absence of any deformations in elements b and c the rotations U3 , U4 and U6 are equal.

U2 = 5 V2

finally,

U1 = V1 +

and

U2
10

The deformed shape of the structure under a magnification factor of 50 is shown below. The geometric
interpretation of the above equations is clear from the figure.

U2

U1

V1 +

5V2

U2
10

10

10

Page 160

## We repeat the conclusions and corollary of Example 10.

CONCLUSIONS
In a statically determinate structure there are as many element deformations (rows of Af) as there are free
global dof displacements (columns of Af). Consequently, Af is a square matrix. In a stable structure the rank
of the matrix is equal to the number of columns (or rows for a determinate structure). This means that it is
always possible to find a deformed configuration of the structure that matches any given element
deformations. It also means that the only way to match the undeformed ("ideal") state of all elements is by
zero displacement values at all free dof's, i.e. by the undeformed configuration. We will see later that the
kinematic matrix of an unstable structure is "rank deficient", meaning that the rank is smaller than the
number of columns. In such case it is possible to find deformed positions of the structure without deforming
any of the elements. This is the key criterion for judging the stability of a structural model.
There is a clear geometric interpretation of the compatibility relations. The solution of the compatibility
equations "by hand" affords insight into the deformed shape of the structure and the interplay of element
deformations and global dof displacements.
Corollary
In a statically determinate structure it is possible to have any element deformations and "fit them
together" without "forcing" the elements. This is not possible in a statically indeterminate structure.
The above structure is not subjected to any forces at the free global dof's. This means that there are no
basic element forces and, of course, no support reactions. The structure deforms but is stress-free!

Page 161

## Reduced set of dofs

From the compatibility equations, which we summarize again on the
right, we can see that the displacement of dof 1 only affects the
deformation V1 and the displacement of dof 6 only affects the
deformation V6 . We say that the corresponding dof does not have to
negotiate its value with more than one element. This is reflected by a
column with a single non-zero entry in the compatibility matrix. In such
case we can set aside the equation and the corresponding dof, and
work with a smaller set of free dofs and corresponding element
deformations (smaller system of compatibility equations). If we are
interested in determining the displacement of a dof that has been set
aside, we can do so after obtaining the values of the free dof
displacements for the reduced set using the compatibility equation
that was set aside. We will demonstrate this in the following. We mark
the equations that we set aside for later use with an asterisk (*). Note
that by setting aside two equations we also set aside the
corresponding dofs for the case at hand. We emphasize again that for
this to be possible it is necessary that the dof to be set aside affects
only one compatibility relation and thus only one element deformation.

V1 = U1
V2 =
V3 =
V4 =
V5 =
V6 =

U2

(*)

10

U2

+ U3
10
U2
+ U3
10
U2
+ U4
10
U5
U4
5
U5

+ U6
5

(*)

Because we intend to use this reduced set of dofs in future problems we number the reduced set of free
dofs and the corresponding element deformations from scratch. We have
1

2
a

Page 162

La
1
L
b
Af :=
1
L
b

Af

0.1

0.1
=
0.1

1 0

1 0

1 0

0
0

1 0 0

0 1 0

1
0 1
Lc

0 1

0 1 0.2

## note that the kinematic matrix

Af is the transpose of the static
matrix Bf for case C of
example 3.

## Prof. Filip C. Filippou, 2000

It is worth noting in the preceding figure that the end nodes are free to rotate with the node connector line
emanating from them, since there is no rotation dof present at the end.
We restate that the kinematic matrix Af for the reduced set of dofs can be obtained directly from the matrix
for the full set of dofs by setting aside rows 1 and 6 and columns 1 and 6. With the renumbered dofs and
element deformations the compatibility relations become.

V1 =

## we now use the values for the element deformations to solve

for the displacements at the free dofs

U1

+ U2
10
U1
V2 =
+ U2
10
U1
V3 =
+ U3
10
U4
V4 = U3
5

0.006

V :=
0

## deformation of node j of element a

Uf := lsolve ( Af , V)

Uf

0.03

0.003

=
0.003

0.015

which, of course, match the earlier values for the same dofs. How can we calculate the rotation
at node 1 and node 4? Quite simply, using the rows of the complete kinematic matrix that we have set aside.
We renumber the corresponding deformation and dof: the rotation at node 1 is U5 and that at node 4 is U6 .
The deformation at end i of element a is V5 and that at end j of element c is now V6 . We have the following
two compatibility relations that we set up earlier (see equations with asterisk):

V5 = U5
V6 =

U4
5

U1
10
+ U6

(*)

solve for U5

(*)

solve for U6

U5 = V5 +
U6 = V6 +

U1
10
U4
5

U5 := 0.006 +
U6 := 0 +

Uf

Uf

10

U5 = 0.009
U6 = 0.003

the values are of course the same as before (compare with dofs 1 and 6 of the complete dof solution).
We can see the geometric interpretation of the above equations in the deformed shape of the structure.
The rotation of node 1 is equal to the deformation of element a at the corresponding node added to the
rotation of the chord connecting node 1 and 2. Because element c does not deform, the rotation of node 4
is equal to the rotation of the chord connecting nodes 3 and 4. Thus, for a quick determination in the
future we can simply add the element deformations to the chord rotations at the node of interest.
The deformed shape of the structure under a magnification factor of 50 is shown below.

U5

V5 +

U1

U1

10

10

10

Page 163

## Prof. Filip C. Filippou, 2000

With the reduced set of dofs the deformed shape of the structural model will be the linear combination of
the following deformed shapes for each independent dof after factoring these by the corresponding
displacement value.

2
a

Page 164

## Matlab script for Example 11 in CE220 class notes

% Deformations and deformed shape for simply supported beam with overhang

## use FEDEASLab functions

% clear memory; close any open windows
CleanStart
% define
XYZ(1,:)
XYZ(2,:)
XYZ(3,:)
XYZ(4,:)

model geometry
= [ 0
0]; % first node
= [ 10
0]; % second node, etc
= [ 20
0]; %
= [ 25
0]; %

## % element connectivity array

CON { 1} = [ 1
2];
CON { 2} = [ 2
3];
CON { 3} = [ 3
4];
% boundary conditions (1 = restrained,
BOUN(1,:) = [ 1 1];
BOUN(3,:) = [ 0 1];
% specify element type
ne = length(CON);
[ElemName{1:ne}] = deal('2dFrm');

0 = free)

% number of elements
% 2d frame element

create Model
Model = Create_SimpleModel (XYZ,CON,BOUN,ElemName);
% plot and label model for checking (optional)
Create_Window (0.80,0.80);
% open figure window
Plot_Model (Model);
% plot model
Label_Model (Model);
% label model

## specify element deformations (note that we also include the axial)

V
= zeros(3*Model.ne,1);
V(2) = -0.006;
V(3) = 0.006;

## Kinematic (compatibility) relations

% set up kinematic matrix for all dof's
A = A_matrix(Model);
% extract columns corresponding to free dof's to form matrix Af
Af = A(:,1:Model.nf);

Page 165

Uf = Af\V;
% display result
format short
disp('the free global dof displacements are');
disp(Uf);
the free global dof displacements are
-0.0090
0
-0.0300
0.0030
0
0.0030
0
0.0150
0.0030

## plot deformed shape of structural model

% put free dof displacement values in complete displacement vector
U = zeros(Model.nt,1);
U(1:Model.nf) = Uf;
MAGF = 50;
% magnification factor for deformed configuration
Create_Window(0.80,0.80);
Plot_Model(Model);
Plot_DeformedStructure(Model,[],U,V);

Page 166

CE220-Theory of Structures

Kinematics

## Force release deformations

We investigate now the effect of force release devices on the element deformations. The devices can be
of three types, as we have already mentioned in Part I, and can be located anywhere inside the element.
Normal force release or axial translation device

vah

v1h
we see that v1h = v ah

## Note: the presence of an axial device implies that the axial

force is zero only if the device "slips" under zero axial force.
More typical are devices that "slip" at a certain axial force level
Bending moment release or rotational device

i
v 2h

v3h

we see that v 2h =

v 3h =

v fh

x
v
L fh

## we obtain these formulas either directly from the figure

or by using the Dirac delta function for the curvature (x)
in the earlier integrals for the element deformations

L-x

Lx
v fh
L

If the moment release is located at node i or node j we obtain two special cases:

at node i

v2h = v fh

v 3h = 0

at node j

v2h = 0

v3h = v fh

v 2h

v fh

i
v fh v3h

It is important to recall at this point that the element deformations are measured from the chord to the
tangent at the node, which is shown in the above figures as a short line.
Shear force release or transverse translation device
we see that

vth

v3h

v 2h

vth
L

## Note that no relative rotation is allowed by the

transverse translation device, so that the two parts
of the element are supposed to remain parallel.
Thus, the end deformation angles are equal.

L-x

v2h = v3h =

L
Page 167

CE220-Theory of Structures

Kinematics

## Prof. Filip C. Filippou, 2000

Element deformations
We generalize the relations on the preceding page by stating that the total element deformations v are
made up of two contributions: the deformations resulting from the integration of continuous section
deformations (we call these strain-dependent deformations in the following), and the deformations
resulting from the effect of concentrated relative translations or rotations due to the presence of force
release devices. We denote the former with v and the latter with vh. With this notation we write for the
element deformations

v = v + v h

## We collect each of the above contributions into a separate vector for

all elements of the structural model and obtain

V = V +Vh

the kinematic or compatibility relation for the structure then becomes V =V +Vh = A f U f
here is an example with a moment release at end j

v2

v 2

v3

v 3

v h3

In a statically determinate structure there are as many free dof displacements on the right hand side of
the
above kinematic relations, as there are strain-dependent element deformations and concentrated hinge
deformations. Examples 10 and 11 provide good examples without a release, and Example 12 provides a
good example with a release. In the absence of releases we use V instead of V for the strain-dependent
element deformations, since Vh = 0.
In a statically indeterminate structure there are more element deformations on the left hand side than there
are free global dof displacements on the right hand side of the above kinematic relations. The element
deformations will be compatible if they satisfy the compatibility constraint we have encountered earlier, i.e.

BTx V = 0

## compatibility condition for statically indeterminate structure

or, else NOS axial or rotational devices need to be introduced in the redundant elements of the structure,
so as to increase the number of unknown hinge deformations on the left hand side of the above equations
for a unique solution. Example 13 is a good case in point illustrating both cases.

Page 168

## Example 12 - Compatibility relations for statically determinate 2d portal frame

Objectives:
(a) set up of the compatibility relations between the displacements at the reduced set of free dofs of a
statically determinate portal frame (three hinge frame) and the element deformations
(b) determination of deformed shape for given element deformations
(c) determination of hinge rotation at girder midspan of portal frame
We make the following assumption: the nodes of the frame model do not displace relative to each other in
the longitudinal (axial) direction of the element connecting two nodes, which also amounts to saying that the
longitudinal deformation of the frame elements (change of length) is negligibly small. We call such elements
inextensible. The statically determinate frame model is shown below.
2

12

10

5
1

We make the following observations: the vertical translation of dofs 2 and 4 is zero (or restrained) on
account of the assumption that elements a and d are inextensible. Similarly, the horizontal translation of
nodes 2, 3 and 4 is equal on account of the assumption about elements b and c being inextensible. After
these observations we realize that there are seven independent global dofs, as shown in the following figure
4
3
b

5
c

d
a

7
1

Page 169

## Prof. Filip C. Filippou, 2000

Length of elements

La := 12

Lb := 8

Lc := 8

Ld := 10

Before setting up the relation between the free dof displacements and the angles that form between the
node tangents and the node connector lines in the structural model we note that dofs 1 and 7 affect only
one angle at the corresponding node. We have already encountered this case in the preceding example for
the statically determinate beam. The same is also true for dof 5, because the angle at the left end of
element c is of no interest for the lack of continuity at that location due to the rotational hinge. We will return
to this issue subsequently to determine the hinge rotation at the left end of element c. We, therefore, set
aside these dofs and plan to determine their values separately at the end, just in case their are of interest.
The new set of reduced dofs is shown in the following figure
3

1
b

d
a

We proceed as follows: we activate each dof in turn and give it a unit value; during activation of a particular
dof the others remain "locked". We measure the angle between the node tangents and the node connector
lines in the structural model. We number the angles systematically starting with end i of element a, to end j
of element a, end i of element b, etc. as shown in the following figure for dof 1. We skip angles at locations
where continuity will not be enforced or is of no interest, as is the case with the hinge and the supports. We
record the angle values for a unit displacement of the particular dof in a column of the kinematic matrix Af
(one column for each dof with corresponding number). The following figures show the concept and the
angle numbering
1

dof 1
3

2
1

Page 170

1

La
0

Af 1 :=

0
1
L
d

dof 2

1
2

1

1

2
Af :=
0

0

1
2
1

dof 3

1
Lb

Af 3 :=

L
c

3
1

2
1

dof 4

Page 171

0

0

Af 4 :=
1

1

## Prof. Filip C. Filippou, 2000

After establishing the individual relations we can conclude that the combined effect of all free dof
displacements on the angles between node tangents and node connector lines can be written in the form

Af Uf

with

Af

1
12

=
0

10

1
8

1
8

we note that matrix Af is the transpose of the static matrix Bf for the same frame model after setting aside
the equilibrium equations that involve axial forces in Example 4. In fact, we observe that it may be a little
easier to set up the kinematic matrix under the assumption that the elements are inextensible than to
combine the equilibrium equations so as to eliminate the axial forces. We will make ample use of
this fact through the principle of virtual displacements later on in the course.
To write the compatibility statement of angle equality in compact form we put the element deformations in a
single vector V starting with the deformation at end i for element a, then deformation at end j for element a
and so forth, so that there is perfect agreement in numbering between the set of element deformations
and the angles between nodes and lines connecting nodes in the structural model. We note again that in
this example we do not include in vector V the deformations at the element ends that are of no interest
(like end i of element a, or end j or element d, and at the element end with no continuity because of the
presence of a rotational hinge, i.e. end i of element c
The compatibility or geometric continuity equations then read

V = Af Uf

## where Uf is the vector of free dof displacements

and where the deformation vector V is

V1
V2
V=

V
3

V4

## deformation at end j of element a

deformation at end i of element b
deformation at end j of element c
deformation at end i of element d

V1 =

U1
12

+ U2

V2 = U2
V3 =
V4 =

U3
8
U1
10

U3
8

## We note that there are as many compatibility relations as variables

on the right hand side of the equations V = Af Uf.

+ U4
+ U4

Page 172

## Prof. Filip C. Filippou, 2000

Numerical results
Let us assume now that elements a and b are curved or cambered with uniform curvature 0 (curving
outward). The deformations are thus equal to

v = 0

L
2

0 := 6 10

La
2

= 0.0036

for element a

## leading to the following element deformation vector

Lb
2

= 0.0024

for element b

T
V := ( 0.0036 0.0024 0 0 )

where we use the transpose on the right hand side to save some space in specifying the vector!
We can now solve for the displacements at the free dofs of the model

Uf := lsolve ( Af , V)

Uf

32.73

0.87
10 3
=
26.18

3.27

## we observe that the translations (dofs 1 and 3) are an

order of magnitude larger than the rotations! This is
associated with the fact that the angle between node
tangent and element connector is equal to the transverse
translation value divided by the element length; thus, the
difference in magnitude between translations and
rotations is always on the order of the element length in
consistent units

Noting that V3 and V4 are zero, we can determine the free dof displacements easily by hand and thus gain
insight into the interplay between element deformations and global dof displacements.
from (1) and (2) we get

## from (3) and (4) we get

V1 V2 =
0=

U3
8

U1
12
U1
10

U3
8
(*)

combining we get

V1 V2 =

U1
12

U1
10

and we can solve for U1 and then substitute back to equation (*) to get U3

U3 = 0.8 U1

Finally, we can get the rotations U2 and U4 from the original equations namely:

U4 =

U1
10

U2 = V2 +
adding the last two equations up and noting the earlier relation (*) we get

U3
8

U2 + U4 = V2

Finally, the rotations at the supports can be readily determined by adding the element deformation to
the rotation of the chord at the corresponding node, as we have already remarked for the preceding
example of the statically determinate beam.

Page 173

## Prof. Filip C. Filippou, 2000

The deformed shape of the structure under a magnification factor of 50 is shown below

## observe the chords and

the deformations for
elements a and b !

The geometric interpretation of the earlier relations is left as an exercise. Note that elements c and d
displace as a unit that pivots about the right support

Page 174

## Determination of hinge rotation

We return to the compatibility equations with the intent to also include in the calculations the determination
of the hinge rotation at girder midspan.
2

12

10

5
1

## Structural system with node and element numbering

For determining the value of the hinge rotation we retain the rotation at node 3 as free dof. With this there
are five free global dofs as shown in the following figure.
3
2

4
b

d
a

Page 175

## Prof. Filip C. Filippou, 2000

The figures with the angles that result under a unit displacement of each free global dof do not change,
with the exception of dof 3 and the new rotation dof. We insert these below and pay particular attention to
the fact that we also choose to record the angle between node 3 and the node connector line 2-3 as well
as the node connector line 3-4. Thus, the angles to be monitored are now 6, as labeled in the figures.
4

3
1
1

dof 3

dof 4

We write the structure kinematic matrix, i.e. the relation between the angles at the six locations in the
above figures and the global dof displacements (you may like to consult the earlier figures about dofs 1, 2,
and 5). We obtain

Page 176

1
La

Af :=
0

Ld

1
0
Lb

0 0

1
0
1
Lb
0

1
Lc

1
Lc

## The element deformations are numbered accordingly and we have a

vector V that contains six values, as shown in the figure above.

V1

V2
V
3

V=
V4

V5
V
6

Af

0.083

0
0
=
0
0

0.1

0 0

1 0.125 0 0
0 0.125 1 0
0 0.125

0 0.125

1 0
0 1

0 1

The compatibility relations now state that the angles need to match at five locations, namely 1, 2, 3, 5 and 6.
We write these compatibility relations explicitly,

V1 =

U1
La

+ U2

V2 = U2
V3 =

U3
Lb

U3
Lb
+ U4

V4 = V4 + V4h =
V5 =
V6 =

U3
Lc
U3
Lc
U1
Ld

+ U4

(**)

+ U5
+ U5

(**) at end i of element c, i.e. at number 4 we do not have continuity; instead we can only calculate the
lack of continuity by subtracting the element deformation from the angle of the node relative to the line
connecting nodes 3 and 4. Thus, instead of

V4 =

U3
Lc

+ U4

U3
+ U4 V4
Lc

## where V4h is the hinge rotation at end i of element c.

We perform again the numerical calculations, but this time we also include a uniform curvature in element c.
We assume the same uniform curvature value as for elements a and b (curving outward).

Page 177

## Prof. Filip C. Filippou, 2000

Numerical results
Elements a, b and c are curved or cambered with uniform curvature 0 (curving outward). The
deformations are thus equal to

v = 0

L
2

0 := 6 10

La

0
0

2
Lc
2

= 0.0036

for element a

= 0.0024

for element c

Lb
2

= 0.0024

for element b

0.0036

0.0024

0.0024
:=

0.0024
0.0024

## deformation at end j of element a

deformation at end i of element b
deformation at end j of element b
deformation at end i of element c
deformation at end j of element c
deformation at end i of element d

We need to satisfy continuity or compatibility relations at 1, 2, 3, 5 and 6. We set up the coefficient matrix for
the displacements at the free dofs and the corresponding left hand side deformation vector by extracting
rows 1, 2, 3, 5 and 6 from Af and V, respectively. We have

Af

0.083

0
0
=
0
0

0.1

0 0

1 0.125 0
0 0.125 1
0 0.125

0 0.125

1
12

Coeff_Matrix := 0

0
1

10

0
0

0
1

1
0

0 0

1 0.125 0
0 0.125 1
0 0.125

0
0

3.6

2.4
2.4 3
=
10
2.4

2.4

3.6
2.4

3
LHS := 2.4 10
2.4

Page 178

## Prof. Filip C. Filippou, 2000

We can now solve for the displacements at the free dofs of the model
Uf := lsolve ( Coeff_Matrix , LHS)

3
T
Uf = ( 19.64 1.96 34.91 6.76 1.96 ) 10

With these displacement values, which represent a unique solution of the compatibility equations for the
given element deformations for the statically determinate frame we can determine the hinge rotations at all
locations of the structural model, i.e. 1 through 6. We have

Vh := Af Uf V

Vh

continuity!!

0
0 3
=
10

13.53

## discontinuity = hinge rotation at 4

i.e. inequality between Af Uf and V

hinge rotation

The figure shows that the hinge rotation is measured from the tangent of the deformed element at end i
to the line following the node rotation. Since CCW is defined as positive for rotations and moments in this
course, the rotation as shown is negative, in perfect agreement with the numerical result.
CONCLUSION
In a statically determinate structure there are as many deformation continuity conditions as independent
free global dofs. Including compatibility conditions at locations with rotational hinges permits the
determination of the hinge rotations with the equation Vh = Af Uf V where Vh are the hinge
rotations.The hinge rotations Vh are zero at locations of continuity between node and element. Thus, in
general the kinematic matrix may have more rows than columns, but continuity in a statically determinate
structure can be enforced only at as many locations as available free global dofs.

Page 179

## Matlab script for Example 12 in CE220 class notes

% Deformations and deformed shape for determinate portal frame (three hinge
portal frame)

## use FEDEASLab functions

% clear memory and close any open windows
CleanStart;
% define
XYZ(1,:)
XYZ(2,:)
XYZ(3,:)
XYZ(4,:)
XYZ(5,:)

model geometry
= [ 0
0]; % first node
= [ 0 12]; % second node, etc
= [ 8 12]; %
= [ 16 12]; %
= [ 16
2]; %

## % element connectivity array

CON { 1} = [ 1
2];
CON { 2} = [ 2
3];
CON { 3} = [ 3
4];
CON { 4} = [ 4
5];
% boundary conditions (1 = restrained,
BOUN(1,:) = [ 1 1 0];
BOUN(5,:) = [ 1 1 0];
% specify element type
ne = length(CON);
[ElemName{1:ne}] = deal('2dFrm');

0 = free)

% number of elements
% 2d frame element

create Model
Model = Create_SimpleModel (XYZ,CON,BOUN,ElemName);
% plot and label model for checking (optional)
Create_Window (0.80,0.80);
% open figure window
Plot_Model (Model);
% plot model
Label_Model (Model);
% label model
2

## specify element deformations (note that we also include the axial)

V
V(2)
V(3)
V(5)
V(6)

= zeros(3*Model.ne,1);
= 0.0036;
= -0.0036;
= 0.0024;
= -0.0024;

Page 180

V(8) = 0.0024;
V(9) = -0.0024;

## % with curvature in element c

% with curvature in element c

## Kinematic (compatibility) relations

% set up kinematic matrix for all dof's
A = A_matrix(Model);
% extract columns corresponding to free dof's to form matrix Af
Af = A(:,1:Model.nf);

## remove row of kinematic matrix that corresponds to release (i.e. row 8)

ih = 8;
ic = setdiff(1:3*Model.ne,ih);

## % indices of continuous element ends

Uf = Af(ic,:)\V(ic);
% display result
format short
disp('the free global dof displacements are');
disp(Uf);
the free global dof displacements are
0.0052
-0.0196
0
-0.0020
-0.0196
-0.0349
-0.0068
-0.0196
0
0.0020
0.0020

determine hinge rotation at left end of element c (consult pages 191-195 of reader)
Vh = Af*Uf - V;
disp('the hinge rotation is');
disp(Vh(ih));
the hinge rotation is
-0.0135

## plot deformed shape of structural model

% put free dof displacement values in complete displacement vector
U = zeros(Model.nt,1);
U(1:Model.nf) = Uf;
MAGF = 50;
% magnification factor for deformed configuration
Create_Window(0.80,0.80);
Plot_Model(Model);
% it is necessary to insert V in the argument list for the hinge discontinuity
Plot_DeformedStructure(Model,[],U,V);

Page 181

Page 182

CE220-Theory of Structures

## Example 13(r) - Compatibility relations for statically indeterminate 2d truss

Objectives:
(a) set up of the compatibility relations between the displacements at the free dofs of a statically
indeterminate truss and the element deformations
(b) determination of deformed shape for given element deformations
(c) compatibility condition; hinge deformation at "redundant" element
The truss geometry is given in the following figure.
3

We focus on the number of independent ways that the nodes of the structure can displace. Since rotations
are of no interest in this case, there are two independent translations at each node, except for the
translations that are restrained by supports. There are 5 independent free global dofs in this case.
3

Page 183

CE220-Theory of Structures

## Prof. Filip C. Filippou, 2000

To set up the compatibility relation between free dof displacements and element deformations we proceed in
the following systematic way: (1) set each dof in turn to a unit value, while holding the other dofs equal to
zero, (2) determine the change in distance between the nodes in the deformed configuration, (3) record this
change of distance in a column vector with each row number corresponding to the element number that
connects the corresponding nodes. The column number corresponds to the number of the dof we "activate".
The corresponding array or matrix is known as compatibility matrix Af
Preliminary geometric calculation: original distance between nodes numbered according to the
corresponding element number.

La := 8

Lb := 6

Lc := 6

Ld := 8

La = 8

Lb = 6

Lc = 6

Ld = 8

Le :=

6 +8

Lf :=

Le = 10

6 +8

Lf = 10

dof 2
1

dof 1
8

dof 3 1

dof 4
1

Page 184

CE220-Theory of Structures

## Prof. Filip C. Filippou, 2000

1 dof 5
d

1 0 0

0 0 1
0 0 0

0 1 0
Af :=
8
8 6
L L L
e
e
e

0 0 0

0
0

0
1

8 6
Lf Lf

The change in node distances when all dof's are "activated" is the linear combination of the individual dof
effects. Since the dof translation values are parameters to be determined, we collect them into the
free dof displacement vector Uf and write for the change in node distances the following general relation

Af Uf

with

Af

1 0

0 0
0 0
=
0 1
0.8 0.8

0 0

0
1

0.6

0
0

0.8 0.6

we note that matrix Af is the transpose of the equilibrium matrix Bf for the same truss structure in Example 5.
There are now six element deformations for the five free global dofs and the compatibility matrix is 6 x 5.
Compatibility states that for the elements to fit perfectly in the space between the displaced nodes the
element deformations V need to be equal to the change in the distance between nodes. We write this
equality relation as follows:
V = Af Uf
let us write it out in full to appreciate it
better for this small structure

V1 = U1
V2 = U3
V3 = U5
V 4 = U 2 + U 4
V5 = 0.8 U1 0.8 U2 + 0.6 U3
V6 = 0.8 U4 + 0.6 U5

Page 185

CE220-Theory of Structures

## Prof. Filip C. Filippou, 2000

There are now more compatibility relations for the global free dof displacements to satisfy, than there are
available free global dofs. Thus, if an arbitrary set of element deformations V were supplied, it is most likely
that a solution to all compatibility relations could not be found. The linear system of compatibility relations
has a unique solution only if the V's satisfy extra conditions, which we call deformation constraints or
compatibility conditions. The number of these conditions is equal to the difference between the number of
rows and the number of columns under the assumption that the structural model we are dealing with is
stable. Recall from the equilibrium discussion that this means that the rank of matrix Af is equal to the
number of columns, which amounts to saying that the rank of its transpose matrix Bf is equal to the number
of rows (recall discussion about equilibrium matrix in examples 1-6).

rank ( Af) = 5

the rank of this truss structure is indeed 5, as is the number of columns; it is, therefore,
stable and the element deformations need to satisfy a single constraint or compatibility
condition. We embark on finding this constraint. To do this we proceed as follows:
we select the first 5 compatibility relations and use them to express the free global dof
displacements U 1 through U5 in terms of element deformations V1 -V5 . Since this is a
system of five linear equations in five unknowns, it has a unique solution as long as the
rank of the coefficient matrix is equal to the number of equations. We try this and then
form the inverse symbolically.

1 0
0 0

Coeff_Matrix := 0
0
0 1

0.8 0.8

Coeff_Matrix

0 0

0 0

0 0 1
0 1 0

0.6 0 0

1 0 0 0 0
1 0.75 0 0 1.25

= 0 1 0 0
0
1 0.75 0 1 1.25

0 0 1 0 0

rank ( Coeff_Matrix) = 5

U1 = V1
i.e.

U2 = V1 + 0.75 V2 1.25 V5
U3 = V2
U4 = V1 + 0.75 V2 + V4 1.25 V5
U5 = V3

of course, we note that the original 5 compatibility relations were simple enough that we could have
obtained the same answer "by hand". Can you try?
We take now the last two equations for U4 and U5 and substitute into the 6th compatibility relation above
to obtain

## V6 = 0.8 ( V1 + 0.75 V2 + V4 1.25 V5) + 0.6 V3

this is the condition between the element deformations to make sure that all compatibility relations
can be satisfied by a unique set of global dof displacements.

Page 186

CE220-Theory of Structures

## Prof. Filip C. Filippou, 2000

Let us simplify the above condition and collect all terms on the left hand side. We get

## 0.8 V1 0.6 V2 0.6 V3 0.8 V4 + V5 + V6 = 0

We write this relation as the vector product of two vectors and make an amazing discovery!

We have:

V1

V2
V
3
( 0.8 0.6 0.6 0.8 1 1 ) = 0
V4

V5
V
6

and we note that the vector multiplying the element deformations is the transpose of the force influence
matrix Bbarx from example 5. Thus, the deformation constraint or compatibility condition that ensures that all
compatibility relations can be satisfied with a unique set of global dof displacements is
T
Bbarx V = 0
This is such a well known result in linear algebra that MIT Professor Gilbert Strang calls it the
fundamental theorem of linear algebra, Part II. You can read about all this when you read Chapter 2 from
page 62 to page 99 and Chapter 3 from pages 132 to 139 of his outstanding book "Linear Algebra and
its Applications", 3rd edition (on reserve in the Engineering Library).
We conclude our example by stating the following results:
In a statically indeterminate structure the compatibility matrix Af has more rows than columns. In fact, since
the compatibility matrix is always the transpose of the equilibrium matrix for the same structural model (to
be proven later), the difference between number of rows and number of columns of the compatibility matrix
is the degree of static indeterminacy or redundancy NOS. For a stable structure the rank of the
compatibility matrix is equal to the number of columns, which means that the rank of the equilibrium matrix
is equal to the number of rows.
Since the compatibility matrix Af has more rows than columns in a statically indeterminate structure, there are
more compatibility relations than available free global dof displacements. The latter need to satisfy all
compatibility relations so that the deformed structure is continuous without gaps and angle discrepancies. For
an arbitrary set of element deformation values V this is not possible, unless NOS "hinges" are inserted and
NOS redundant forces are released. If this is not the case, then the element deformation vector V satisfies the
T
deformation constraint or compatibility condition that Bbarx V = 0
Recall that for a degree of static indeterminacy NOS, there are NOS linearly independent self-stress states
that make up the columns of matrix Bbarx . Thus, NOS independent compatibility constraints are imposed
T
on the element deformations through the compatibility condition that Bbarx V = 0. We will see this in the
following example 14.
Linear algebra specialists (like Professor Strang) say that the column space of the compatibility matrix is
always orthogonal to the nullspace of the equilibrium matrix (which is its transpose). If the element
deformations V lie in this column space then a unique solution of the compatibility relations exists.

Page 187

CE220-Theory of Structures

## Prof. Filip C. Filippou, 2000

Let us see now what happens if an arbitrary set of element deformations is given. We assume the
following values
T
V := ( 0.02 0.05 0.02 0.05 0.02 0.02 )
We use the first 5 compatibility equations to determine the set of global dof displacement values that
satisfy these. We obtain

1 0
0 0

Ai := 0
0
0 1

0.8 0.8

0 0

0.6 0

1
0

0.02
0.05

Vi := 0.02
0.05

0.02

Uf := lsolve ( Ai , Vi)

Uf

0.02
0.033

= 0.05
0.083

0.02

The distance between nodes 1 and 4 then can be obtained from the 6th row of the kinematic matrix Af

## ( 0 0 0 0.8 0.6 ) Uf = 0.054

or, quite simply with

U1 0.02

U2 0.033
U3 := 0.05

U4 0.083
0.02
U5

## 0.8 U4 + 0.6 U5 = 0.054

since the corresponding element deformation, i.e. the deformation of element f, is only 0.02 an axial
gap or slip of an axial translation device results. It is equal to 0.054-0.02. The formal way of expressing
this is that between nodes 1 and 4 we have the following relation

so that

with

V6 := 0.02

## V6h := 0.8 U4 + 0.6 U5 V6

Page 188

V6h = 0.034

CE220-Theory of Structures

## Prof. Filip C. Filippou, 2000

The following figure provides the representation of the deformed shape of the structural model with
the gap in the in the axial translation device in element f.

0.034

Page 189

## Matlab script for Example 13 in CE220 class notes

% Deformations for statically indeterminate 2d truss

## Clear workspace memory and initialize global variables

CleanStart

Create model
% specify node coordinates
XYZ(1,:) = [ 0
0]; % first node
XYZ(2,:) = [ 8
0]; % second node, etc
XYZ(3,:) = [ 0
6]; %
XYZ(4,:) = [ 8
6]; %
% connectivity array
CON { 1} = [ 1
2];
CON { 2} = [ 1
3];
CON { 3} = [ 2
4];
CON { 4} = [ 3
4];
CON { 5} = [ 2
3];
CON { 6} = [ 1
4];
% boundary conditions (1 = restrained,
BOUN(1,:) = [ 1 1];
BOUN(2,:) = [ 0 1];
% specify element type
ne = length(CON);
[ElemName{1:ne}] = deal('Truss');

0 = free)

% number of elements
% truss element

## Post-processing functions on Model (optional)

Create_Window (0.80,0.80);
Plot_Model (Model);
Label_Model (Model);

## % open figure window

% plot model (optional)
% label model (optional)

Compatibility relations
kinematic matrix for all dofs in structural model
A = A_matrix (Model);
% extract free dofs

Page 190

Af = A(:,1:Model.nf);
% specify the element deformations
V = [0.02;0.05;-0.02;0.05;0.02;0.02];
% extract nf rows of kinematic matrix
Ai = Af(1:5,:);
% extract corresponding deformations
Vi = V(1:5);

Uf = Ai\Vi;
% display result
format short
disp('the free global dof displacements are');
disp(Uf);
the free global dof displacements are
0.0200
0.0325
0.0500
0.0825
-0.0200

## determine incompatible ("hinge") deformation at NOS redundant elements

Vh = Af*Uf - V;
disp('the incompatible deformation is');
disp(Vh(6));
the incompatible deformation is
0.0340

## plot deformed shape of structural model

% put free dof displacement values in complete displacement vector
U = zeros(Model.nt,1);
U(1:Model.nf) = Uf;
MAGF = 10;
Create_Window(0.80,0.80);
Plot_Model (Model);
Plot_Model (Model,U);

Page 191

## Example 14 - Compatibility relations for statically indeterminate braced frame

Objectives:
(a) set up of the compatibility relations between the displacements at the reduced set of free dofs of a
statically indeterminate braced frame and the element deformations
(b) derive the necessary conditions for the element deformations so that a unique solution is possible
for the displacements at the free global dofs (compatibility conditions for the deformations)
We assume that the elements of the braced frame in the figure are inextensible, so that the nodes cannot
move relative to each other in the longitudinal (axial) direction of the elements. Under this assumption the
structural model has only 4 free global dofs, as shown.
dof 3

dof 2
dof 1

dof 4
b

La := 6

Lb := 4

Lc := 4
2

Ld :=

1
4

8 +6

We are interested in the angle between node tangent and node connector line at 5 locations. These are
systematically numbered in the following figures. We are also interested in the change of distance between
node 1 and 4, since there is an axially deformable element at this location. The relation between global dof
displacements and these deformations for the translation dofs can be inferred from the following figures
dof 3

dof 1

3
4

2
6

1
4

Page 192

1
6

1
6

0
Af :=

0.8

0
1

0
0

1
4

1
0
4
0

1
4

## We recall the equilibrium equations from Example 6 and

confirm again that the compatibility matrix is the transpose of
the equilibrium matrix.

## Equilibrium equations from Example 6

P1 =

Q1 + Q2
6

+ 0.8 Q6

P2 = Q 2 + Q 3
P3 =

Q3 + Q4
4

Q5
4

P4 = Q 4 + Q 5

There are now 5 angles and one change of distance that reflect the effect of the free global displacements.
Compatibility is satisfied if the element deformations match these 5 angles and the change of distance.
We can write

V = Af Uf

V1 =
or, written out in full

V2 =

U1
6
U1
6

+ U2

V3 = U2
V4 =
V5 =

U3
4

U3
4

U3
4
+ U4

+ U4

V6 = 0.8 U1
There are now 6 equations in involving 4 variables, the free global dof displacement values. The difference
between the number of compatibility equations and the variables is NOS, the degree of static indeterminacy,
something to be expected, of course, since we noted that the kinematic matrix Af is the transpose of the
static matrix Bf, which has NOS more columns than rows. If the left hand side vector is given, such a system
of equations does not have a solution, unless the vector satisfies certain conditions. We set out to determine
these conditions now. To do so, we select four linearly independent compatibility relations and solve for the
global dof displacements in terms of the element deformations (we assume that the latter will be given). In
this example we have quite a choice of which four equations to select, but because we need to prove a
certain relation of the resulting equations with a result from Example 6, we select the compatibility equations
2, 3, 5 and 6. We solve for the free global dof displacement values by hand and get

Page 193

from eq (6)

U1 = 1.25 V6

from eq (2)

U2 = V2

from eq (3)

from eq (5)

U1

## Prof. Filip C. Filippou, 2000

5
V6
6
24
5
U3 = 4 U2 4 V3 = 4 V2 V6 4 V3
6
U4 = V5

U3
4

= V2

= V5 V2 +

5
V6 + V3
24

To ensure that the two deformation values that we did not use above are compatible with the rest, we
substitute the free global dof displacement values into the compatibility equations 1 and 4 and get
from eq (1)
from eq (4)

5
V6 = 0
24
5
5
5
V 4 = V 2 +
V6 + V3 + V5 V2 +
V6 + V3 = 2 V2 + 2 V3 + V5 +
V6
24
24
12

V1 =

i.e.

5
V6
24

I.e.

V1

2 V2 2 V3 + V4 V5

5
V6 = 0
12

V1

V2
1 0 0 0 0 5
24 V3 0

5 V4 0
0 2 2 1 1 12

V5
V
6

## or, after checking with Example 6

T
Bbarx V = 0

Thus, we conclude that in order for a solution of the compatibility equations V = Af Uf to exist for a given
deformation vector V, the element deformations V need to satisfy NOS conditions, which take the form
T
Bbarx V = 0. These conditions are known as compatibility conditions. There are no compatibility conditions
in a stable, statically determinate structure (NOS=0), which means that any given deformation vector is
compatible with a unique set of free global dof displacements.
Linear algebra deals with the solution of linear systems of the form V = Af Uf extensively. If there are more
equations than unknowns, then it is stated that a solution exists only if the vector V lies in the column space
of Af. (Strang, 3rd ed, pp. 66). To prove that a vector V lies in the column space of a matrix Af, it is often
easier to show that the vector is orthogonal to the so-called left nullspace of the matrix, i.e. the nullspace of
the transpose of the matrix. Since Bf = transpose (Af) and the vectors of Bbarx span the nullspace of Bf, this
T
results in the condition that Bbarx V = 0, as stated earlier. This is the necessary and sufficient condition
for V to lie in the column space of the matrix Af, so that a solution exists to the compatibility equations
V = Af Uf (Strang, 3rd ed, pp. 138-139).

Page 194

CE220-Theory of Structures

Kinematics

## Relation between equilibrium and compatibility

Let us show the relationship between equilibrium equations and compatibility relations.

Recall that

A f = Bf

## solve top equation since Ai square and non-singular

Pf Pfw = Bi Qi + B x Qx

## Recall also that

Qi = Bi

Vi Ai
= U f
Vx A x

P Pfw ) B xQx
( f

U f = Ai1Vi

V
0 i
Vx

or U f = Ai

Qx = Qx

U f = BiTV
B 1B
Qi B 1
x Q
= i Pf Pfw + i
x
Q
I

x 0

noting that Ai = Bi

## substitute solution into the second equation

1

A x Ai1Vi +Vx = 0

Vx = A x Ai Vi

A A 1 I V = 0
x i

Bx V = 0

V
A A 1 I i = 0
V
x i
x
T

noting that A x = B x
and

U f

Q = Bi Pf Pfw + B x Qx

Page 195

T
Bi
= T V
B x

( CD )T = DTCT

CE220-Theory of Structures

Kinematics

## Linear constraints for inextensible and inflexible elements

A significant reduction in the number of independent free dof's can be achieved by considering
approximations of the actual behavior of structural elements of the form: (a) axial deformations of frame
elements can be treated as negligible in many cases, because they contribute very little to the global dof
displacements of frame structures, and (b) certain elements of the structural model can be considered
relatively inflexible to the other elements, because they possess a rather large flexural stiffness (e.g. shear
wall elements). We impose these conditions in the form of constraint equations between the original free
dof's. Using the constraint equations we can express all original dof displacements in terms of a smaller
number of constrained dof's. Under small displacements the constraint relations are linear.
1. Case: inextensible element
recall that the axial deformation of a 2d frame element is
given by

u5

j
L = X 2 + Y 2

Y
u2

u1 i

X
v =
L

Y =Y j Yi

X
L

Y
L

X
Y
u 4 u1 +
u5 u 2
L
L

## Thus, if v=0, a linear relation between

the end translation dof's results.

X = X j X i

X
Y
u 4 u1 +
u5 u 2
L
L

0=

## recall that the end deformations of a 2d frame

element are given by

Y
L

u4
v=

## 2. Case: inflexible element

u1

u2
u
0 3
u4
u
5
u
6

v2 L2
=
v3 Y
2
L

0=
For an inflexible element both deformations are zero, i.e.

0=

X
2

L
X
L2

1
0

Y
2

L
Y
L2

X
2

L
X
L2

)
u1

u2
0
u
3
u
1 4
u5
u
6

(u 4 u1 ) X2 (u5 u 2 ) + u3

(u 4 u1 )

L
Y
L

u3 = u 6 =

## which can be rewritten in more compact form as

Y
2

L
X
2

(u5 u 2 ) + u 6

(u 4 u1 ) + X2 (u5 u 2 )
L

the constraint equations for an inflexible element show that the end rotations are equal; furthermore, the
relative end translations satisfy a specific linear relation
From the above two cases we conclude that an inextensible element introduces one constraint equation,
while an inflexible element introduces two constraint equations. In general, in a structural model constraint
equations are independent. In such case the number of indepedent free dof's is reduced by the number of
available constraint equations. We can be more specific. An inextensibility condition involves only
translation dof's. Thus, it reduces the number of independent translation dof's, but does not constrain the
rotation dof's in any way. By contrast, the inflexibility constraint involves both rotation and translation dof's.
Page 196

## Example 15 - Compatibility relations for 2d portal frame with linear constraints

Objectives:
(a) set up formally the compatibility relations for a portal frame with inextensible elements
Start with full set of free global dofs for the case that axial deformations are not negligible.
2
1

8
9

## There are 3 deformations per element

for a total of 12 deformations. The
compatibility relations are

V = Af Uf

with

## The numbering of the element

deformations is shown in the
following figure in italic font.

11

10

12

Page 197

1
5
1

5
1

0
Af :=
0

1 0 0

0 0

0 0 0

0 0

0 1 0

0 0

0 0 1

0 0

1
0 0
4

1
1 0
4

1
0 0
4

1
4

1 0

0
0

0 0 1

0 1

0 0 0

1
4

1 0

1
4

0 0 0

1
4

0 0

1
4

0 0 0

0 0

0 0 0

1
5

0 0 0

1
5

## Prof. Filip C. Filippou, 2000

We assume now that elements a, b, c and d are inextensible. This means that

V1 = 0

0 = U2

## or, from the compatibility relations

V4 = 0

0 = U 1 + U 4

U1 = U4

V7 = 0

0 = U 4 + U 7

U4 = U7

V10 = 0

0 = U8

These 4 linearly independent linear constraints establish 4 linearly independent linear relations between
the original set of 9 free global dofs. Consequently, only 5 independent free dofs remain. We select the
original dofs 1, 3, 5, 6 and 9 as the independent free global dofs and denote them with a new symbol Utild,
which stands for constrained free global dofs (we cannot insert a tilde in Mathcad, so we need to resort to
the spelled out version). We have the following relations between the original and the constrained dof set

U1 = Utild1
Uf = Ac Utildf

U2 = 0
U3 = Utild2

U4 = Utild1
U5 = Utild3
U6 = Utild4
U7 = Utild1
U8 = 0
U9 = Utild5

with

1
0

0
1

Ac := 0
0

1
0

0
Page 198

0 0 0 0

0
0

0
0

0 0 0 0
1 0 0
0 0 0
0 1 0
0 0 1
0 0 0
0 0 0
0 0 0

## Prof. Filip C. Filippou, 2000

We can now obtain the following compatibility relations in terms of the constrained free global dofs
V = Af Uf = Af Ac Utildf = Atildf Utildf

where

Atildf

1
5
1

5
0

0
=
0

1
5
1

0 0

1
0

1
4

1
1
4

1
4

1
4

Atildf := Af Ac

with

## we note, of course, that the deformations 1, 4, 7 and 10 are

identically equal to zero, as we have assumed at the beginning
deformations for dof 1
1

3
1

Page 199

## Prof. Filip C. Filippou, 2000

Since we know that the axial deformations are zero, we can write the compatibility matrix for the constrained
free global dofs with only 8 deformation entries (note that the difference between deformations and
constrained free global dofs is NOS, i.e. 3) in this case. We have

1
5

1
5

Atildf :=

1
5
1

0
1

0
0

0 0
0

1
0
4

1
1
4

1
4

1
4

## observe that this compatibility matrix is the transpose of

the equilibrium matrix of the same portal frame from Example 8

P1 =

Q1 + Q2

Q7 + Q8

5
5
P2 = Q 2 + Q 3
Q3 + Q4 Q5 + Q6
P3 =
+
4
4
P4 = Q 4 + Q 5
P5 = Q 6 + Q 7

0.2
0

Bf := 0
0

Bf

1
5

0
=
0

0.2

## 0.25 0.25 0.25 0.25

0.2 0.2
0
0

1 1
5 5

1
5

0 0

0 0 0 0

0 1 1 0

1
1 1 1

0 0
4
4 4 4

0
1 1 0 0 0

Page 200

0
0

0
0

CE220-Theory of Structures

Kinematics

## Let us look at a few examples:

1. Example: simple case of portal frame with inextensible elements
with constraints
2

0 =U 2

0 =U 4 U1

0 =U 5
becomes

## Note: only translation dofs are affected with inextensible constraints

2. Example: gable frame with inextensible elements
5
4

b
1

with constraints

8
6
U 4 U1 +
U U 2
10
10 5
8
6
U 7 U 4
U U 5
0=
10
10 8
0 =U 8
0=

0 =U 2

12

=0

U1 U 4 U 5 U 7

## Two constraint equations for 4 translation dofs. Thus,

several choices for two independent translation dof's
are possible

## Another choice is to select the

original dof's 1 and 5 as independent

## One choice is to select the original dof's

1 and 4 as independent translation dof's

Page 201

CE220-Theory of Structures

Kinematics

3

with constraints

0 =U 3

U1 = U 4 =
a

U2

H 0 = U U
5
2

rigid

0 =U 6
becomes

## 4. Example: dependent or inactive constraints

with constraints

0 =U 2

0 =U 2

2
3

becomes

with constraints

0 =U1

e
2
1

0 =U 2

d
c

0 ="
0 ="

d
c

becomes
a

Thus, the number of independent free dofs is equal to the number of unconstrained free dofs minus the
number of linearly independent constraint conditions. This number corresponds to the rank of the
constraint matrix, as we will see subsequently.

Page 202

CE220-Theory of Structures

Kinematics

## Constraint compatibility matrix

The linear constraint conditions form a set of linear homogeneous equations in terms of the original dof
displacements. We can write this system of equations symbolically

0 = A LCU

(1)

The rank of the constraint matrix ALC is equal to the number of independent constraints.
Thus, the number of indepedent free dof's is equal to the number of original free dof's of the structural
model (the number of unconstrained dof's) minus the rank of the constraint matrix.
We can use equation (1) to select a set of independent dof's and express the remainder in terms of
these. We have seen this process already in action with the equilibrium equations and the determination
of the force influence matrix for the redundant basic forces, but we repeat it here for review's sake.
We select a set of independent dof's among the global dof displacement vector U and denote them with subscript i (for
independent). The remainder are denoted with subscript c (for constrained). From (1) we get

0 = A LCi U i + A LCc U c

A LCi U i

## We supplement the last equations with the identity U i = IU i

where I is the identity matrix; this way we recover the complete set of dof's on the left hand side
1
A
U c
A LCi
LCc

U = A cU i
we get U f = reorder
= reorder

i
U i
I

for better identification we denote the independent free dof's under constraints with a new symbol U f


and write U f = A cU
f

## for the relation between the original set of dof's

and the independent free dof's under constraints

## we call Ac the constraint compatibility matrix

Naturally, in the absence of any constraints the constraint compatibility matrix is the identity matrix.
for application consult Examples 15 and 16

Page 203

CE220-Theory of Structures

Kinematics

## Geometric determination of constraint compatibility matrix

1. Step: displacement of point R lying on plane that undergoes infinitesimal rotation about point 0

U RX

R'

U RY

LR

## from similar triangles

YR
LR

U RX

U RY

X R
LR
Y

LR

LR

U RX = YR
U RY = X R

YR

LR

X R

2. Step: change of distance of two nodes rotating infinitesimally about common instantaneous center
of rotation IC

u1 = YC

u4
u5
j

u 2 = X C

)
u5 = ( X + X C )

u 4 = Y + YC

u1

u2

IC

## for relative end displacement

u 4 u1 = Y
u5 u 2 = X

YC
X X C

(u4 u1 ) X + (u5 u2 ) Y = Y X + X Y = 0

Infinitesimal rotation of the line connecting two nodes is equivalent to inextensible response; thus,
inextensible elements rotate about an instantaneous center of rotation; how to locate this center?

Page 204

CE220-Theory of Structures

Kinematics

u4

u5

## for infinitesimal rotation angle

u 4 u1
Y

u5 u 2
X

Y coordinates of IC

u1

u2

IC

YC =

u1

X C =

u2

after subtitution of

YC

YC =

X X C

u1
u 4 u1

X C =

u2
u5 u 2

## Determination of rotation angle with given instantaneous center of rotation

for infinitesimal rotation angle

or, better =

u1
YC

or,

u 4 u1

u2
X C

Y
or,

u5 u 2
X
=

u4
Y + YC

or,

u5
X + X C

i.e. with the translation at either end of the element determine the rotation angle by dividing this
translation with the distance normal to the translation direction from the point of translation to the
instantaneous center of rotation

Page 205

CE220-Theory of Structures

Kinematics

## consider 4 special cases

u5
j

u5

u4

j u4

Case b

Case a

u2

u2 = 0

IC

i u =0
1

i u =0
1
IC is located somewhere on the line parallel to X
through node i; rotation can be determined from
horizontal translation at node j

## IC is located at end i of element; rotation

can be determined with either translation

IC

u4

or

u5

u4
Y

u5
j

IC

u4

Case c

u2

i u1 = 0

u1

## IC is located somewhere on the line parallel to Y

through node i; rotation can be determined from
vertical translation at node j

u5
X

Page 206

IC

## IC is located at the intersection of the line parallel

to X through node i and the line parallel to Y
through node j; rotation can be determined
with either translation

## for application consult Example 17

u4

Case d

u2 = 0

u5 = 0

u4
Y

or

u2
X

CE220-Theory of Structures

Kinematics

## Stability of structural models

We have encounted two very important matrices of a structural model: the equilibrium matrix Bf and the
compatibility matrix Af. Since the compatibility matrix is the transpose of the equilibrium matrix the following
remarks apply to both. We have mentioned repeatedly that the rank of either matrix needs to be equal to
the number of independent free global dofs in the model for the structure to be stable. With a mathematical
toolbox we can readily check the rank of a matrix. Is there a way to do it by "inspection"?
To do this we need to consider what it means for the compatibility matrix not to have full rank, i.e. rank
equal to the number of free global dofs. It means that the system of compatibility relations

V = A fU f

## can have a non-zero solution for V=0.

Tranlated to our structural problem this means, that V=0 implies Uf = 0 in a stable structure (the
undeformed configuration), while V=0 can result in non-zero vector Uf, which constitutes a collapse
mechanism and is unacceptable. (Note that the stability of a structure at the undeformed configuration is a
property of the compatibility matrix!).
Answering this question becomes very important for statically indeterminate structures, when we select the
basic force redundants, hoping that we can solve the equilibrium equations for the primary basic forces.
The system that remains when the redundants are set equal to zero is called the primary system, and it
needs to be stable.
To apply the stability check in practice we ask the following question:
Is it possible for global dof displacements to take place without element deformations?
The answer is yes, if a set of consistent IC's of rotation for the different elements or blocks of the
structural model exist.
The answer is no, if the IC locations contradict, in which case the structure is stable.
Let us look at a few examples

## example frame with NOS=4

IC B

RC CD

NOS=4

IC D

RC BC

IC C

IC C @

IC C

Alternative A: unstable
2

Page 207

CE220-Theory of Structures

Kinematics

## example frame with NOS=4

RC BC

A
NOS=4

IC A

RC AB

IC B

IC C

IC B

IC B

Alternative B: stable

## Note the contradictory location of the instantaneous

center for element B when viewed from A or C.
Note that we set the axial deformations to zero, since
it is enough to make the argument with the flexural
deformations.

stable

stable

D
A

A
IC C

IC A

stable

unstable

Page 208

## Prof. Filip C. Filippou, 2000

Example 16 - Compatibility Relations for Gable Frame with Constraints - Analytic Method
In this example we set up the compatibility relations for a gable frame structure. We start will all free global
dofs and then constrain them by inextensibility and then inflexibility conditions.
The gable frame structure is the same as in Example 1. The following figure shows the geometry.

5
4
2
1

6
node 3

node 2

9
node 4

## there are 10 free global dof's,

as shown. Dof #10 only affects
12 the angle at the base of
element d and is put aside.

10

node 1

node 5
8

5
4
2
1

6
8

Y
X

Page 209

12

## Prof. Filip C. Filippou, 2000

To set up the compatibility matrix Af we study a pair of nodes after translation and rotation. We note that
there are the following measures of relative displacement: the change in the distance between the nodes,
and the angles between the node tangent and the node connector line. We number these in order 1, 2 and
3.

v1

u6
v3
Ln

v2

u3

u5

u4

Y
L

i
y

u2
i

u1

v1 = L n L

## and limiting ourselves to small displacements

for the angle we have
for small displacements

v2 = u3
=

v1 =
and

X
Y
( u4 u1) +
( u5 u2)
L
L
u3 = u6

1 X
Y

( u5 u2)
( u4 u1)
L L
L

Page 210

## Prof. Filip C. Filippou, 2000

collecting all these relations into a matrix relation we get the compatibility matrix that expresses the relation
between the change of distance and the angles between the node tangent and the node connector line on
the one hand and the end node displacements in the global reference on the other. We have

v = ag u

X Y 0 X Y 0
L

L
L
L

Y X 1 Y X 0
ag =

2
2
2
2
L
L
L
L

Y X

Y
X

1
0
2

2
2
2
L
L
L
L

where

We apply this relation systematically to the above frame noting the following:
element a will be placed between nodes 1 and 2

X := 0

Y := 12

L := 12

X := 8

Y := 6

L := 10

X := 8

Y := 6

L := 10

X := 0

Y := 12

L := 12

1
0
1

0
12
1
0
12

0.8 0.6
0.6 0.8
10 10

0.6 0.8
Af :=
10 10
0
0

0
0

0
0

0
0

0
0

0.8

0.6

0.6
10

0.8
0
10

0.8

0.6

0.6
10

0.8
10

0 0.8

0.6

0.6
10

0.8
10

0.6

0.8

10

10

1
12

0
0

0.8
0.6

10
10
0.6
10

0.8
10

Page 211

## there are 9 free global dof's represented by

the 9 columns of the matrix, one column
representing the effect of a single dof
there 11 relative displacement entries, i.e. either
change of distance or angle between node and
line connecting the nodes, represented by the
11 rows of the matrix, one row for each relative
displacement

## Prof. Filip C. Filippou, 2000

We observe that the compatibility matrix is the transpose of the equilibrium matrix for the same structure with
the same numbering of equilibrium equations and basic forces. For a stable structure the rank of the
compatibility matrix should be equal to the number of columns, i.e. equal to the number of independent free
global dofs. Here we have
rank ( Af) = 9

## and indeed the structure is stable

The degree of static indeterminacy NOS of the structure is equal to the difference between the number of
continuity conditions and the number of independent free dofs, assuming that the latter is equal to the rank.
Thus, if we enforce continuity in all 11 locations, as the detailing of the structural model suggests, then the
degree of static indeterminacy of this structure is NOS=11-9 = 2.
Inextensible element - Linear constraints
Let us now assume that the nodes are constrained to translate so that the distance between nodes with
elements does not change. These introduces as many constraints as elements. These constraints are linear
under small displacements. For the structure in this example we have 4 constraints
using the first two equations and simplifying we have

0 = U2
0=

8
6
( U4 U1) +
( U5 U2)
10
10

0=

6
8
U4 U1) +
U5
(
10
10

0=

8
6
( U7 U4)
( U8 U5)
10
10

0=

8
6
( U7 U4) +
U5
10
10

0 = U8
thus, we are left with 2 linear equations for 4 translation dofs. These equations constrain the 4 translation
dofs, so that only 2 are independent and the other 2 need to have values that satisfy the two equations
(recall the discussion about basic and free variables in linear algebra, or the discussion about primary
and redundant basic forces for the equilibrium equations; the situation here is entirely analogous).
Let us pick the following independent free dof's

Page 212

set

set

U1 = 1

U1 = 0

and

U4 = 0

and

U4 = 1

U5 =

U7 = 1 U1 = 1

4
4
U5 = U4 =
3
3

## and from the second

U7 = 2 U4 = 2

U1 =

We are now ready to write the linear transformation relation between the original and the constrained set
of free dof's. For the latter we use the symbol Utildf and the numbering on the right figure above. We have
4

Utild1

Utild3

U1 = Utild1

U5 =

U2 = 0

U6 = Utild4

U3 = Utild2

U7 = Utild1 + 2 Utild3

U4 = Utild3

U8 = 0

U9 = Utild5

clearly, the rotation dofs are not affected by these constraints (just renumbered), but the translation dofs are
we can write the above relation between Uf and Utildf in compact from

Uf = Ac Utildf

with

0
0
0

4
Ac :=
3
0

1
0

0 0

0 0

4
3

0
0

0
0

## this is called the constraint compatibility

matrix in this course

since we plan to work with the constrained set of dofs in the future we like to express the structure
compatibility matrix in terms of the constrained set of free dofs. We call this matrix Atildf
in other words the changes in length and angles are expressed in terms of the displacements of the
constrained set of dofs by the relation
Atildf Utildf

and since

Af Uf = Af Ac Utildf

Page 213

we conclude that

Atildf = Af Ac

## Prof. Filip C. Filippou, 2000

For the structure in this example the compatibility matrix Atildf becomes

0
0.083
0.083

0
0.167

Atildf = 0.167

0
0.167

0.167
0
0.083

Atildf := Af Ac

0 0

0.167

0.167

0 0.167 1
0 0.167 0
0

0.167

0
0

0
0

0
0

1
0

## change of length between nodes 4 and 5

we confirm from the above that the distance between nodes 1-2, 2-3, 3-4 and 4-5 does not change.
Thus, we plan to drop the corresponding rows from future uses of the structure compatibility matrix Atildf for
the constrained set of free dofs.
We will see later that the entries of the structure compatibility matrix Atildf for the constrained set of free
dofs can be established by geometry in a much more straightforward way for small structures.
Inflexible element - Linear constraint
Let us now assume that element be is not only inextensible, but quite inflexible relative to the other
elements in the model. This means that the rotations of nodes 2 and 3 are constrained to be equal to the
angle as the following figure shows for an extensible, but inflexible element

v1

u6

u3 = =

Ln

u3

u5

u4

u2
i

u1

u6 = =

X
L

X
L

( u5 u2)

( u5 u2)

Y
i

x
X

Page 214

( u4 u1)
( u4 u1)
u6 = u3

## Prof. Filip C. Filippou, 2000

To introduce the inflexibility constraint between nodes 2 and 3 after having introduced the inextensibility
constraints for the structure in this example we can proceed in one of two ways: (a) we can return to the
linear constraint conditions for inextensibility and add the inflexibility conditions, or, (b) we can introduce the
inflexibility conditions on the already constrained set of free global dofs. Let us show both methods:
Method a: introduce inextensibility and inflexibility constraints in one step
We have 4 inextensibility and 2 inflexibility conditions. We use 2 inextensibility conditions to conclude that
U2 and U8 are equal to zero, as before. We have:
remaining inextensibility conditions
0=
0=

set

(U4 U1) +
10
8
10

( U7 U4) +

U1 = 1

6
10

U5

6
10

U3 =

U5

and

inflexibility conditions

U6 =

U4 = 0

8
10 10
8
10 10

U5
U5

6
10 10
6
10 10

( U4 U1)
( U4 U1)

U1 = 0

and

U4 = 1

U5 =

U7 = 1 U1 = 1

U3 =
U6 =

set

1
6
1
6

U1 =

U1 =
U1 =

1
6
1
6

4
4
U5 = U4 =
3
3

U7 = 2 U4 = 2

1
1
U3 = U4 =
6
6
1
1
U6 = U4 =
6
6

Page 215

## Prof. Filip C. Filippou, 2000

The independent free dofs are now three, as shown in the following figure. We denote them with U'fTto
distinguish them from the Utildf in method (b) later. The above relations give
U1 = U'1

U2 = 0
U3 =

1
1
U'1 U'2
6
6

U4 = U'2
a

12

U5 =

4
4
U'1 U'2
3
3

U6 =

1
1
U'1 U'2
6
6

U7 = U'1 + 2 U'2

U8 = 0
U9 = U'3

## The constraint compatibility matrix A'c now is

1 0 0
0 0 0
1 1
6 6 0

0 1 0
4 4
A'c :=

0
3
3

1 1
6 6 0

1 2 0
0 0 0
0 0 1

this is the matrix that relates the original set of nine independent free dofs to
the constrained set of 3 independent free dofs, which displace under
consideration of 4 inextensible and 1 inflexible element

Page 216

## Prof. Filip C. Filippou, 2000

The compatibility matrix Atild'f for the three independent free dofs becomes

Atild'f := Af A'c

0
0.083
0.25

0
0
Atild'f = 0

0
0.333

0.167
0
0.083

0
0
0.167
0
0
0
0
0.333
0.167
0
0.167

0
0

0
0

0
0

1
0

## change of length between nodes 2 and 3

angle between node 2 and chord at end i of b
angle between node 3 and chord at end j of b
change of length between nodes 3 and 4

## change of length between nodes 4 and 5

We note that the change in distance between nodes 1-2, 2-3, 3-4 and 4-5 is now equal to zero, as is
the angle between nodes 2 and 3 and the chord connecting them. Thus, we plan to drop the corresponding
rows from future uses of the structure compatibility matrix Atild'f for the constrained set of free dofs.
Method b: introduce inflexibility constraints after having introduced inextensibility constraints
in this case we plan to constrain the following set of 5 independent free dofs to 3

4
b

To establish the relation between these two sets of dofs in the most direct way possible we look at the rows
of the structure compatibility matrix that correspond to the angles between nodes 2 and 3 and the chord
connecting them for the case of 5 independent free dofs (top of page 6). We have
1
1
Utild1 + Utild2 + Utild3
6
6
1
1
Utild1 + Utild3 + Utild4
6
6

for the angle between node 2 and the line connecting 2-3
for the angle between node 3 and the line connecting 2-3

Page 217

## Prof. Filip C. Filippou, 2000

For an inflexible element b these two angles need to be zero, i.e. there is no angle between the node
and the chord connecting it to the next node, because the node is forces to rotate with the chord.
Thus, we get

Utild2 =

1
1
Utild1 Utild3
6
6

## and we conclude, of course that

1
1
Utild4 = Utild1 Utild3
6
6

Utild2 = Utild4

After renumbering the new set of constrained dofs, as shown in the figure on the right and denoting them
with U'f we have:
Utild1 = U'1
Utild2 =

1
1
U'1 U'2
6
6

Utild4 =

1
1
U'1 U'2
6
6

Utild5 = U'3

Utild3 = U'2
this means that the constraint matrix from 5 to 3 dofs (call it A''c ) is

1 0 0
1 1 0
6 6

A''c := 0 1 0

1 1 0
6 6
0 0 1

and we now have for the compatibility matrix Atild'f for the three independent free dofs

0
0.083
0.25

0
0
0
Atild'f =

0
0.333

0.167
0
0.083

0
0
0.167
0
0
0
0
0.333
0.167
0
0.167

0
0

0
0

0
0

1
0

## change of length between nodes 2 and 3

angle between node 2 and chord at end i of b
angle between node 3 and chord at end j of b
change of length between nodes 3 and 4

## change of length between nodes 4 and 5

which, of course, is the same result as for method a. In the latter we went in a single step from the original 9
independent free dofs to the three constrained free dofs. In method b we went in two steps: first from 9 to 5
free dofs by invoking the inextensible element constraints, and then from 5 to 3 by invoking the inflexible
element constraints.

Page 218

## Script for Example 16 in CE220 class notes

(a) gable frame with inextensible constraints
(b) gable frame with inextensible and one inflexible constraint

## Clear workspace memory and initialize global variables

CleanStart

Create model
% specify node coordinates (could only specify non-zero terms)
XYZ(1,:) = [ 0
0]; % first node
XYZ(2,:) = [ 0
12]; % second node, etc
XYZ(3,:) = [ 8
18]; %
XYZ(4,:) = [ 16
12];
XYZ(5,:) = [ 16
0]; %
% connectivity array
CON {1} = [ 1
2];
CON {2} = [ 2
3];
CON {3} = [ 3
4];
CON {4} = [ 4
5];
% boundary conditions (1 = restrained,
dof's)
BOUN(1,:) = [1 1 1];
BOUN(5,:) = [1 1 0];
% specify element type
[ElemName{1:4}] = deal('2dFrm');

## 0 = free) (specify only restrained

% 2d beam element

## Compatibility analysis with inextensible elements

% set up linear constraint equations for inextensible elements
% (w/o specification, all elements are by default inextensible)
LC_Eqs = LinConEqs(Model);
% the size of array LC_Eqs is:
% number of rows = no of inextensible elem + 2*no of inflexible elem + number of
restrained dofs
% number of columns = no of total dofs of unconstrained model
% in this case the numbers are 9x15, the difference is the number of independent
free dofs
% form compatibility matrix Ac from linear constraint equations
% place those translation dofs you wish to retain as independent last;
% here we use the horizontal translations at node 2 and 3
pick_dof = [Model.DOF(2,1), Model.DOF(3,1)];
dof_reord = [setdiff(1:Model.nt,pick_dof) pick_dof];
Ac = Ac_matrix (LC_Eqs,dof_reord);
% display independent free dofs
magf = [2;1;2;1;1;1];
for k=1:size(Ac,2);
Create_Window (0.80,0.80);
Plot_Model (Model);

Page 219

## title('Deformed shape for each independent free dof with inextensible

elements')
% extract global dof displacements for each "mode"
U = Ac(:,k);
% specify magnification factor for each "mode"
MAGF = magf(k);
% plot model in displaced position (chords)
Plot_Model (Model,U);
% plot deformed shape of elements
Plot_DeformedStructure(Model,[],U);
% pause and wait for user feedback
%
disp('press any key to continue...'), pause
% get all figure elements and wipe them out
%
dum = get(gca,'Children');
%
delete(dum);
end
clear Ac;

Page 220

Page 221

Page 222

## Compatibility analysis with inextensible and one inflexible elements

% set up linear constraint equations for inextensible elements
% and specify inflexible element (b or #2 in this case)
LC_Eqs = LinConEqs(Model,1:4,2);
% in this case the size of LC_Eqs is 11x15 and there are 4 independent free dofs
% form compatibility matrix Ac from linear constraint equations
% place translation dofs to retain as independent last; here
% we use the horizontal translations at node 2 and 3
pick_dof = [Model.DOF(2,1), Model.DOF(3,1)];
dof_reord = [setdiff(1:Model.nt,pick_dof) pick_dof];
Ac = Ac_matrix (LC_Eqs,dof_reord);
% display independent free dofs
magf = [2;2;1;1];
% magnification factor for each deformed shape
for k=1:size(Ac,2);
Create_Window (0.80,0.80);
Plot_Model (Model);
title('Deformed shape for each independent free dof with inextensible and one
inflexible elements')
% extract global dof displacements for each "mode"
U = Ac(:,k);
% specify magnification factor for each "mode"
MAGF = magf(k);
% plot model in displaced position (chords)
Plot_Model (Model,U);
% plot deformed shape of elements
Plot_DeformedStructure(Model,[],U);
% pause and wait for user feedback
%
disp('press any key to continue...'), pause
% get all figure elements and wipe them out
%
dum = get(gca,'Children');
%
delete(dum);
end

Page 223

Page 224

## Example 17 - Compatibility for Gable Frame with Constraints - Graphical Method

The gable frame structure is the same as in Example 1 and 16. The following figure shows the geometry.
The resulting free global dof's without any constraints are:
5
4
2
1

6
8

b
3

12

Y
X

With four inextensible elements a through d there are 4 independent linear constraint conditions between
the 6 translation dofs, while the rotation dofs are not affected. It is quite obvious that the displacement
values at dofs 2 and 8 are zero. We can, therefore, select any two of the other 4 translation dofs as the
independent free global dofs for the structural model with inextensible elements.
Thus, we select the following 5 independent free dofs for the structural model with inextensible elements.
3

5
3
2

6
7

## We are interested in the element deformations at the

locations numbered in the above figure. For the rotation
dofs the compatibility matrix is straightforward.

Page 225

IC c

IC b
1.33

IC c

1.33

IC b

dof 3

IC a

ICd

IC d

## IC = instantaneous center of rotation of

corresponding element
1. Location of IC for elements a and d is obvious
2. IC for element b is identical to case d, because
the right node cannot move horizontally, since
it is an independent dof.
3. Similar consideration for IC of element c

## 1. Location of IC for element d is obvious

2. IC for element b is at the left node, because it
cannot move horizontally, since it is an
independent dof.
3. IC of element c lies on the extension of element d
axis and on the extension of element b axis.

Conclusion: The IC's of two adjoining elements and their common node lie on a straight line.
From the unit value at the particular dof determine the rotations of the element chords.
IC c

IC b

IC c

1.33

1.33

IC b

b = 1 6

b = 1 6

c = 1 6

c = 1 6
IC a

a = 0

a = 1 12

d = 1 12

d = 1 6
IC d

Page 226

IC d

## 1. From unit value of dof 1 and location of IC for

element a and b determine a and b .
2. From relative distance of node 3 from IC of
element b determine vertical translation.
3. From vertical translation and distance of IC of
element c determine c.
4. From relative distance of node 4 from IC of
element c determine horizontal translation.
5. From horizontal translation and distance of IC
of element d determine d .

## 1. From unit value of dof 3 and location of IC for

element b determine b .
2. From unit value of dof 3 and distance of IC of
element c determine c.
4. From relative distance of node 4 from IC of
element c determine horizontal translation.
5. From horizontal translation and distance of IC
of element d determine d .

The angles between the node tangent and the chord are equal to the opposite of the chord rotation, since
the angles are measured from the chord to the tangent.

 <1>
A
f

- a 1 12

- a 1 12
- b 1 6

= - b = 1 6
- 1 6
c

- c 1 6
- 1 12

 <3>
A
f

- a 0

- a 0
- b 1 6

= - b = 1 6
- 1 6
c

- c 1 6
- 1 6

The complete compatibility matrix for the 5 independent free dofs of the structural model with inextensible
elements becomes.

1
12
1
12

1
6
1
Atildf :=
6
1
6

1
6
1
12

1
6

1
6

0
0
0

0
0
1

1
1
6
1
6

1
6

0 0

0
0

1
4

2
3

4
5
1

6
7

Page 227

6
7

## Case for inflexible element b

The two rotations dofs #2 and #4 are no longer independent. As Example 16, shows the rotations can be
derived from the translation dofs at the ends of the element, if it is inflexible. We have only three
independent free global dofs, as shown in the figure on the right.
3
2

2
c

1.33

IC c

IC c

1.33

IC b

IC a

12

IC b

IC d

IC d

1.33

1.33

## rotations at node 2 and 3

constrained with translation

## rotations at node 2 and 3

constrained with translation

Page 228

## Prof. Filip C. Filippou, 2000

The figures on the preceding page show that the inflexible element b forces the nodes 2 and 3 to rotate with
the chord. This induces a rotation of the node tangent at the ends of elements a and c, as shown. The
compatibility matrix for the two dofs becomes.
Recalling

IC c

IC b

IC c

1.33

1
1.33

IC b

a = 0

a = 1 12

b = 1 6

b = 1 6

c = 1 6

c = 1 6
IC a

d = 1 6

d = 1 12

IC d

IC d

1.33

1
1.33

 <1>
A
f

1 12
- a

- a + b 1 12 + 1 6
0

= 0 =
0

- + 1 6 + 1 6
c b

16
-c
- 1 12

 < 2>
A
f

Page 229

0
- a

- a + b 1 6
0
0

= 0 =
0
- + 1 6 1
b
c

- c 1 6
-

16
d

CE220-Theory of Structures

Kinematics

## Kinematics of (plastic) collapse mechanism

Let us now study the kinematics of an unstable structure. A typical case is an originally stable structure
that turns into a mechanism when the collapse load factor is reached for the given loading. We study the
kinematics of the structure past the point of incipient collapse, i.e. just after the last hinge has formed.
Since this is an incremental motion we use the Greek letter to denote displacements and deformations.:
Past the point of incipient collapse the element deformation increments are zero, since there is no
change in the element end forces after the collapse load is reached. Consequently, we can write

Vh = A f U f

V = 0 and thus Vh = V

since

with

Vh

3

## potential plastic hinge locations

The columns of the compatibility matrix describe the independent elementary collapse mechanisms.
3

dof 3
beam mechanism

dof 1
sidesway mechanism

dof 5
joint mechanism

Page 230

## Example 18 - Full and Partial Collapse Mechanism - Analytical Method

We consider the portal frame that we investigated in example 8 in connection with the lower bound theorem
of plastic analysis. Just before the last hinge forms there are 3 plastic hinges in the structure, which is
therefore statically determinate. A similar case exists for a structure with three moment releases at the
same location. We study, therefore, either case, as the following figures show.
dof 3

dof 2

dof 1

dof 4
b

dof 5

dof 5

dof 4
b

dof 3

dof 2

dof 1

## Portal frame of Example 8 before last plastic hinge

at 1 forms. It is statically determinate (plastic hinges
are indicated with gray circles)

## Statically determinate portal frame with three

moment releases at 5, 6 and 8. Moment releases
or rotational hinges are indicated with white circles.

Assuming that all elements are inextensible there are 5 independent free global dofs, as shown.
We determine the angles between the nodes and the lines connecting the nodes at all element ends.
The compatibility matrix is then equal to the transpose of the equilibrium matrix of example 8. We have
encountered this matrix in Example 15

1
5

1
5

0
Af :=
0

1
5

1
5

0 0

1
0
0

1
4

1
1
4

1
4

1
4

Page 231

## Prof. Filip C. Filippou, 2000

With hinges at locations 5, 6 and 8 whose rotations are unknown at this stage we use the compatibility
relations at locations 1, 2, 3, 4 and 7 where no hinges are present and we are only dealing with strain
dependent element deformations. We extract the corresponding rows of the compatibility matrix and call it Ai

1
5

1
5

Ai := 0

1
5

0
1

0
0

1
0
0

0 0
0

1
0
4
1
4

1
0

## the rank of this compatibility matrix is

rank ( Ai) = 5

and this means that the structure is stable, since the rank of the matrix is
equal to the number of columns; furthermore, the number of columns is equal
to the number of rows meaning that we are dealing with a statically
determinate structure. How can we "prove" that the structure is stable, if we
We set Vi = 0 and seek to find a set of non-zero displacement that satisfy
Vi = Ai * Uf. If this is possible, the structure is unstable (instability means that
the nodes of the structural model are able to displace infinitesimally without
deforming any elements, i.e. "without resistance"). If the only solution of the
set of compatibility relation is the trivial solution Uf=0, then the structure is
stable. Linear algebra says that the nullspace of kinematic matrix Ai consists
of the null vector only.

For the example at hand we write the compatibility equations out in full. We have:
V1 =

1
U1
5

V2 =

1
U1 + U2
5

V3 = U2

1
U3
4

1
V4 = U3 + U4
4
V7 =

1
U1 + U5
5

## recall that we eliminated rows 5, 6 and 8 of the compatibility matrix Af

Setting all V's equal to zero it is easy to see that all the U's are zero as well (proceed from the first to the last
equation). Thus, the structure is stable. Of course, we have an intuitive understanding that this is indeed the
case, but what we do with our "intuition" is precisely what this algebraic process illustrates: we try to see if it
is possible to "move" the nodes without deforming the elements. If so, we call the structure unstable. We will
see soon that we can do this geometrically with the method of instantaneous centers of rotation.

Page 232

## Prof. Filip C. Filippou, 2000

Let us now assume that an additional hinge is inserted at end 1. The structure now looks like this.

The compatibility matrix for the continuous element ends now has only four rows (it lost the first row)

0
Ae :=
0

1
5

0 0

0 0
1

1 0
0
4

0 0 0 1

rank ( Ae) = 4

## the rank of this compatibility matrix is

which is to be expected since there are now only four rows. Since the rank
of the matrix is smaller than the number of free dof's, we have an unstable
structure. The question is: what are the displacement values that satisfy the
condition 0 = Ae * Uf ? We may recall that the solution of these homogeneous
linear equations is known as the nullspace of the compatibility matrix. Let us
find this solution.

Note that strain dependent deformation increments are zero for an unstable structure as well as for the
collapse mechanism of a fully plastic structure. Thus, the more accurate way of interpreting the above
equation is that 0 = Ae * Uf in such case. The reason for the deformation increments being zero past the
point at which the collapse load is reached is that the basic forces do not change for perfectly plastic
behavior.

V2 = 0 =

1
5

U1 + U2

V3 = 0 = U2

1
4

setting

U1 = 1

we get

U3

1
5

1
5

U3 = 4 U2

1
V4 = 0 = U3 + U4
4
V7 = 0 =

U2 =

U4 =

U1 + U5

1
4

U5 =

Page 233

U3
1
5

U3 =

4
5
U4 =

1
5

1

1
5
4
5 U
Uf =
1
1
5
1

5

## Thus, any vector of displacement values of the form

This displacement vector represents the collapse
mechanism of the unstable structure.

## satisfies the condition 0 = Ae * Uf

and forms the nullspace of the
compatibility matrix or, expressed
differently, is the complete
homogeneous solution of the
compatibility equations

## Note that U1 can assume any value.

We can interpret the above as follows: the free dof's are constrained so that only one independent free dof
remains during the collapse mechanism. Under this aspect the vector of relative displacement values that
multiplies U1 in the above relation represents a constraint matrix Ac . Since this constraint matrix
corresponds to the plastic collapse mechanism we add the subscript p. We can now return to the
compatibility relations in order to calculate the hinge rotations in terms of U1 . But before we do this, let us
look at the depiction of the collapse mechanism.
The above vector of displacement values represents the collapse mechanism of the structure. A graphical
representation of the collapse mechanism is shown in the following figure.
0.2

0.2

0.8

We note that the elements maintain continuity of tangents at the four locations 2, 3, 4 and 7 without
deforming. We also note that the collapse mechanism is the linear combination of the columns of the
compatibility matrix with factors 1, -1/5, -4/5, -1/5, -1/5.

Page 234

## Prof. Filip C. Filippou, 2000

We return to the compatibility relations in order to calculate the hinge rotations in terms of U 1
We have in general

Vh = Af Uf V

## for the collapse mechanism

Uf = Acp U1

with

1

1
5
4

Acp := 5

1
5
1

5

since the element deformations in our case are all zero, we have

Afp := Af Acp

## With these terms the hinge rotations become

0.2
0

0
0
Afp =

0.4
0.4
0

0.2

V := ( 0 0 0 0 0 0 0 0 )

mechanism

0.2
0

0
0
Vh =
U1
0.4

0.4
0

0.2

Page 235

## Script for Example 18a in CE220 class notes

% Collapse mechanism of one-story portal frame

## Clear workspace memory and initialize global variables

CleanStart

Create model
% specify node coordinates (could only specify non-zero terms)
XYZ(1,:) = [ 0
0]; % first node
XYZ(2,:) = [ 0
5]; % second node, etc
XYZ(3,:) = [ 4
5]; % third node, etc
XYZ(4,:) = [ 8
5]; %
XYZ(5,:) = [ 8
0]; %
% connectivity array
CON {1} = [ 1
2];
CON {2} = [ 2
3];
CON {3} = [ 3
4];
CON {4} = [ 4
5];
% boundary conditions (1 = restrained,
BOUN(1,:) = ones(1,3);
BOUN(5,:) = ones(1,3);
[ElemName{1:4}] = deal ('2dFrm');

0 = free)

% 2d beam element

## Model = Create_SimpleModel (XYZ,CON,BOUN,ElemName);

Analysis
% set up linear constraint equations for inextensible elements
LC_Eqs = LinConEqs(Model);
% form compatibility matrix Ac from linear constraint equations
% re-order horizontal translation at node 2 and vertical translation at node 3
last
pick_dof = [Model.DOF(2,1) Model.DOF(3,2)];
dof_reord = [setdiff(1:Model.nt,pick_dof) pick_dof];
Ac = Ac_matrix (LC_Eqs,dof_reord);
% set up compatibility matrix A of structural model
A = A_matrix(Model);
% compatibility matrix for constrained independent free dofs Aftild (drop tild
in the following)
Af = A*Ac;
% set up linear constraint equations from the deformations at the locations w/o
hinge
LC_Eqs = Af([3 5 6 11],:);
% derive constrained collapse mechanism: put horizontal translation last for
scaling
dof_reord = [2:5 1];
Acp(dof_reord,:) = Ac_matrix(LC_Eqs(:,dof_reord));
Acp

Page 236

## % displacement increments for collapse mechanism (horizontal translation dof

scaled to 1)
DU = Ac*Acp;
% hinge deformation increments for collapse mechanism
Afp = Af*Acp;
DVh = Afp;
DVh
% display collapse mechanism;
MAGF = 1;
Create_Window (0.80,0.80);
Plot_Model (Model);
Plot_Model (Model,DU);
Acp =
1.0000
-0.2000
-0.8000
-0.2000
-0.2000
DVh =
0
0.2000
0
0
0
0
0
-0.4000
-0.4000
0
0
0.2000

Page 237

## Partial Collapse Mechanism

We turn our attention now to the structure of Example 9.
d

2
1

Under the assumption that elements a through e are inextensible the structure has only 4 independent free
dofs, as shown in the following figure (the rotations at nodes 3, 4 and 6 are set aside). The locations for
recording the angles between nodes and the lines connecting them as well as the change of length between
nodes 3 and 5 are numbered in the figure.
dof 1
dof 4

dof 3

4
1

3
dof 2

Page 238

1
6

1
6
1

0
Af :=

6
1
6

0.8

0
1
1
1
0
0
0
0

0 0

0 0

1
0
8

1
1
8

1
0

1
0

0.6 0

## and we observe that it is the transpose of the

equilibrium matrix Bf from Example 9.

We now assume that the following releases are inserted: a circle indicates a flexural hinge or moment
release, while a telescope connection indicates an axial hinge or axial force release.
d

2
1

For this structure the continuity conditions between element deformations and angles between nodes and
lines connecting the nodes or changes of distance between nodes are:
1
V2 = U1 + U2
6
V4 = U2 +

1
8

U3

V5 =

1
8

U3 + U4

1
V6 = U1 + U4
6

## there seem to be four relations for 4 unknown free global

dofs, indicating that the structure may be stable. However,
the rank of the compatibility matrix is not 4 but 3. Let us see

Page 239

0
Ae :=
0

1
6

1 0 0
1

1
8

1
0
8
0 0

rank ( Ae) = 3

## this means that only three compatibility relations are

linearly independent and that the fourth can be derived
from them. This is easy to see with the above equations:
add V2 and V5 and subtract V4 and V6 . We get
V2 + V5 V4 V6 = 0

linear dependence!

Setting all V's equal to zero in the above equation, we can determine the vector of the displacement values
for the collapse mechanism. Setting U1 = 1 we get
1
0 = U1 + U2
6
1
0 = U2 + U3
8
0=

1
U3 + U4
8

1
1

6
4
U3 = thus the collapse mechanism is represented by Acp U1 with Acp := 4
3
3

1
U4 =
1
6
6
U2 =

1
6

1
6

0
1
3

0
with Afp =
V =
0 h

0
1
3

8
5

1
6

0
1
3

0 U
0 1

0
1
3

8
5

4/3
1

Page 240

## Script for Example 18b in CE220 class notes

% partial collapse mechanism of braced frame with two floors

## Clear workspace memory and initialize global variables

CleanStart

Create model
% specify node coordinates (could only specify non-zero terms)
XYZ(1,:) = [ 0
0]; % first node
XYZ(2,:) = [ 6
0]; % second node, etc
XYZ(3,:) = [ 12
0]; % third node, etc
XYZ(4,:) = [ 0
8]; %
XYZ(5,:) = [ 6
8]; %
XYZ(6,:) = [ 12
8]; %
% connectivity array
CON {1} = [ 1
2];
CON {2} = [ 2
3];
CON {3} = [ 2
5];
CON {4} = [ 4
5];
CON {5} = [ 5
6];
CON {6} = [ 3
5];
% boundary conditions (1 = restrained,
BOUN(1,:) = ones(1,3);
BOUN(3,:) = [0 1 0];
BOUN(4,:) = [0 1 0];
BOUN(6,:) = [0 1 0];
[ElemName{1:5}] = deal ('2dFrm');
ElemName{6} = 'Truss';

0 = free)

% 2d beam element
%
truss element

## Model = Create_SimpleModel (XYZ,CON,BOUN,ElemName);

Analysis
% set up linear constraint equations for inextensible elements
LC_Eqs = LinConEqs(Model,1:5);
% form compatibility matrix Ac from linear constraint equations
% re-order horizontal translation at node 4 and vertical translation at 5 last
pick_dof = [Model.DOF(4,1) Model.DOF(5,2)];
dof_reord = [setdiff(1:Model.nt,pick_dof) pick_dof];
Ac = Ac_matrix (LC_Eqs,dof_reord);
% set up compatibility matrix A of structural model
A = A_matrix(Model);
% compatibility matrix for constrained independent free dofs Aftild
Af = A*Ac;
% set up linear constraint equations from deformations at locations w/o hinge
LC_Eqs = Af([3 6 8 9 11 12 15],:);
% derive collapse mechanism: put vertical translation last for unit scaling
dof_reord = [1:4 6:7 5];
Acp(dof_reord,:) = Ac_matrix(LC_Eqs(:,dof_reord));
Acp

Page 241

## % displacement increments for collapse mechanism (vertical translation dof

scaled to 1)
DU = Ac*Acp;
% hinge deformation increments for collapse mechanism
Afp = Af*Acp;
DVh = Afp;
DVh
% display collapse mechanism;
MAGF = 1;
Create_Window (0.80,0.80);
Plot_Model (Model);
Plot_Model (Model,DU);
Acp =
0.1667
-0.1667
-1.3333
0.1667
1.0000
0.1667
-0.1667
DVh =
0
-0.1667
0
0
0.3333
0
0
0
0
0
0
0
0
0.3333
0
1.6000

Page 242

## Example 19 - Full and Partial Collapse Mechanism - Graphical Method

We return to the two structures that were investigated in Example 18 and present here the graphical
solution, which is much faster for hand calculations. We treat the first as a collapse mechanism and
investigate the incremental displacements past the point at which the collapse load is reached. We use the
prefix to indicate "increment of".
The following figure shows that with four hinges, 3 rigid bodies result that can rotate relative to each other
and the supports. They are denoted with upper case letters, A, B and C in the following figure. The
instantaneous centers of rotation of the three rigid bodies are shown in the figure. Using the horizontal
translation dof as the reference value (which we set equal to 1 in the figure) we have the following rigid
body rotations
ICB

A :=

B :=

CW
CCW

C :=
1

1
5

CW

5
A
C

8
ICC

ICA

The plastic hinge rotations are the deformations at 1, 5, 6 and 8. Note that V = 0, since the basic forces
do not change past the point at which the collapse load is reached.
We have:

V1 := A

V1 = 0.2

V5 := B + A

V5 = 0.4

V6 := B + C

V6 = 0.4

V8 := C

V8 = 0.2

Page 243

## Prof. Filip C. Filippou, 2000

We treat the second structure as a mechanism, i.e. we assume that the inserted hinges do not carry any
forces. There are again 3 rigid bodies that can rotate relative to each other and the supports, denoted with
A, B and C. The instantaneous centers of rotation are shown in the following figure. Selecting the vertical
translation as the reference value, we obtain the value of 4/3 for the horizontal translation, as shown.
ICB

## We obtain the following rotation

values for the rigid bodies A, B, C.

8
4/3

A :=

1
6

B :=

1
6

C :=

1
6

ICA

ICC
3

1
6

The hinge rotations are the deformations at 1, 3 and 7. Moreover, we also have a hinge with axial
deformation at 8. We denote the hinge deformations with subscript h and note that there are no strain
dependent element deformations, since the model is a mechanism that is unable to resist any loading.
Vh1 = 0.167 CW when measured from chord to node tangent

We have: Vh1 := A
Vh3 := C + A

Vh3 = 0.333

Vh7 := B + A

Vh7 = 0.333

4 V = 1.6

h8
3

## compare with values in Example 18

Page 244

CE220-Theory of Structures

Kinematics

Compatibility

Equilibrium
nf equations

Pf = BfQ + Pfw

A Tf = Bf

nf unknowns

V = A fU f +Vd

## displacement or equilibrium method

NOS unknowns

Q = Bi ( Pf Pfw ) + B x Qx

NOS conditions

B Tx (V Vd ) = 0

## force or compatibility method

Page 245

CE220-Theory of Structures

## REAL AND VIRTUAL WORK

Objective: relation between static and kinematic variables through virtual work statements;
incremental plastic work for upper bound theorem of plastic analysis

Page 246

3.1

## Principle of virtual work or virtual displacements

The principle of virtual work involves the equality between internal and external work. Work

## is performed by a set of forces on an independent set of displacements and deformations.

Because of this causal independence we denote the set of displacements and the resulting work
as virtual. Consequently, the principle is also known as principle of virtual displacements. We
denote the virtual set of displacements and corresponding deformations by preceding the lower
case letter to the variables. Limiting ourselves at first to nodal forces we can write for the
external virtual work

We = U f T Pf + U d T Pd
and the internal virtual work takes the form

Wi = V T Q
The principle of virtual work states:
If a structure is in a state of equilibrium, then the external virtual work is equal to the internal
virtual work under any set of virtual displacements that satisfy the conditions of compatibility.
This is a necessary and sufficient condition meaning that the reverse is also true, i.e. if the
external work of the applied forces is equal to the internal work of some basic element forces for
all sets of virtual displacements and deformations that satisfy the conditions of compatibility,
then the applied forces are in equilibrium with the basic element forces.
In practice we use the principle of virtual work for determining individual force values and,
later on, individual stiffness coefficients in hand calculations (Note that a stiffness coefficient
K ij is the force at dof i due to a unit displacement at free dof j only). To this end we select a
virtual displacement field with a unit displacement value at the particular dof of interest and zero
values at all other dofs. The corresponding deformations can be determined with the methods of
the preceding section. In the process we simplify the compatibility problem as much as possible
by introducing constraints among the global dofs, so as to eliminate certain element forces from
the internal work. For example, in order to eliminate the contribution of axial forces we select a
virtual displacement field with zero virtual axial deformations.

Page 247

The external work of element loads can be obtained by integration of the inner product of
element forces with corresponding virtual displacements over the element length and summation
over all elements. Alternatively, we express the element loads through equivalent end forces that
get assembled into nodal forces Pfw due to element loads. In the latter case we write for the
external virtual work

We = U f T ( Pf Pfw ) + U d T Pd
3.2

## Principle of complementary virtual work or virtual forces

The principle of complementary virtual work or virtual forces involves a set of displacements

and their compatible deformations and an independent set of applied forces and the basic element
forces in equilibrium with these. The forces represent the virtual set that has no causal relation
with the real displacement/deformation set. We call the work complementary and have for the
external complementary virtual work

We = Pf T U f + Pd T U d
and for the internal complementary virtual work

Wi = QT V
The principle of complementary virtual work states:
If a structure is in a state of compatible deformation, then the external complementary virtual
work is equal to the internal complementary virtual work under any set of virtual forces that
satisfy equilibrium. This is a necessary and sufficient condition meaning that the reverse is also
true, i.e. if the external complementary virtual work of the virtual forces is equal to the internal
complementary virtual work of the corresponding virtual basic element forces for all sets of
virtual applied forces and corresponding element forces in equilibrium, then the actual
deformations and the global dof displacements are compatible.
In practice we use the principle of virtual forces for determining individual displacement
values and, later on, individual flexibility coefficients in hand calculations (Note that a flexibility
coefficient Fij is the displacement at dof i due to a unit force at free dof j only). To this end we
select a virtual force field with an applied unit force value at the particular dof of interest and
zero values at all other dofs. We select a set of basic element forces in equilibrium with the unit

Page 248

force. The simplest set of basic element forces (i.e. with the most zero values in basic force
vector Q ) is the most convenient choice, because it involves the least amount of arithmetic
operations for determining the internal virtual work. Because of the presence of a unit applied
force at the dof of interest, the principle of virtual forces is sometimes called the dummy unit
3.3

## Plastic work increment and upper bound theorem of plastic analysis

Once the collapse load factor is reached and the structural model forms a complete or partial

collapse mechanism the plastic work increment of the external forces on the corresponding
displacement increments of the collapse mechanism is
W pe = U Tf ( Pref )
The internal work increment of the basic element forces on the plastic deformation increments is
a bit harder to express. Because Q pl represents the absolute values of the plastic capacity of the
elements, we need to distinguish between positive and negative plastic deformation increments
and change the sign of the latter. We define these as follows
Vpl + = Vpl

if

Vpl > 0

otherwise

Vpl + = 0

Vpl = Vpl

if

Vpl < 0

otherwise

Vpl = 0

## With this definition the internal plastic work increment becomes

W pi = Q pl + Vpl + + Q pl Vpl
The superscript + or - denotes the location with a positive or negative plastic deformation
increment, respectively. The equality of work requires W pe = W pi . The upper bound theorem
of plastic analysis states that the collapse load factor c is determined with the collapse
mechanism producing the smallest plastic work increment. In compact form we can write this as

c = min
Vpl + Vpl = A f U f

## for U Tf ( Pref ) = Q pl + Vpl + + Q pl Vpl

and Vpl + 0, Vpl 0

It turns out that this is the dual linear programming problem to the lower bound theorem. Thus,
both formulations produce the same answer, i.e. a unique collapse load factor for the structural
model under the given applied force pattern.

Page 249

## Example 20 - Applications of Principle of Virtual Displacements

In this example we demonstrate several uses of the principle of virtual displacements. This principle is used
for determining individual force terms, such as applied forces, and later individual stiffness coefficients.
Example a
Given is the following structure with an applied force whose magnitude is unknown. Moreover, several basic
forces are also supplied. These forces were obtained from an analysis of the structure under the applied
force. Further details (e.g. linear or nonlinear material) are not supplied, other than that the equilibrium is
satisfied in the original (undeformed) configuration. Req'd: find the magnitude of the applied force.
2

c
8

0.181

16.04

32.97

Page 250

38.02

16.04
0.18
0.18
Q :=

32.97
32.97
38.02

## Prof. Filip C. Filippou, 2000

To determine the magnitude of the applied force we select a virtual displacement field with the following
characteristics:
1. it has a unit value in the direction of the applied force (positive global Y-direction at node 3)
2. it has zero displacements at the supports in the direction of unknown support reactions
3. it does not involve axial deformations in elements a, b, and c, since the axial forces under the unknown
applied force are not given.
First choice
We select the virtual displacement field in the following figure. It meets all requirements above.

0.75

IC's as shown
Virtual chord rotations

a :=

1
8

b :=

1
8

c :=

1
8

ICa=ICb

ICc
8

V = Af Uf

## for the virtual displacement field above we get

V :=
b

c

c

0.125
0.125
0.125
V =

0.125
0.125
0.125

the principle of virtual displacements says that the external work equal the internal work
P1 U1 = P1 ( 1)
T

V Q = 15

## consequently, the applied force has magnitude of 15 units

and acts downward.

Page 251

## Prof. Filip C. Filippou, 2000

Second choice
We select the virtual displacement field in the following figure. It meets all requirements above.

0.75

IC's as shown
Virtual chord rotations

1
a :=

b :=

1
8
1
8

c :=

1
8

ICa=ICb

ICc
8

Vh = Af Uf

## since the element deformations V are equal to zero in this case

for the virtual displacement field above we get

a + b

b + b

Vh :=
b + c

c + c

1
8

0
0
Vh = 1

4
0

1
8

Note that this virtual deformation field is a lot more convenient, since it has only 3 non-zero terms.
the principle of virtual displacements says that the external work equal the internal work
P1 U1 = P1 ( 1)
T

Vh Q = 15

## consequently, the applied force has magnitude of 15 units

and acts downward, as before.

Page 252

## Prof. Filip C. Filippou, 2000

Example b
Given the same structure as above we want the vertical support reaction at node 1. It is not clear whether we
can depend or not on the magnitude of the applied force (after all we may have an error in the above
calculations) and so we choose a virtual displacement field with zero translation at node 3, so as to avoid
including the external work of the applied force of uncertain value.
2

c
8

## Virtual displacement field requirements

1. it has a unit value in the direction of the unknown support reaction (positive global Y-direction at node 1)
2. it has zero displacements at the supports in the direction of the other unknown support reactions
3. it does not involve axial deformations in elements a, b, and c, since the axial forces under the unknown
applied force are not given.
4. it has zero translation at node 3 so as to exclude the contribution of the unknown applied force to the
external work.
First choice
We select the virtual displacement field in the following figure. It meets all requirements above.
0.75

IC's as shown
Virtual chord rotations

a :=

1
8

b :=

1
8

c := 0

1
ICa=ICb

R
8

ICc
8

Page 253

V :=
b

c

c

V = Af Uf

## for the virtual displacement field above we get

0.125
0.125
0.125
V =

0.125
0
0

the principle of virtual displacements says that the external work equal the internal work,
if all forces are in equilibrium.
R U1 = R ( 1)
T

V Q = 6.126

## is the external work

is the internal work

## consequently, the vertical support reaction at node 1 is

equal to 6.126 units and acts upward.

Second choice
We select the virtual displacement field in the following figure. It meets all requirements above.

0.75

IC's as shown
Virtual chord rotations

a :=

b :=

1
8
1
8

c := 0

1
ICa=ICb

ICc
8

8
the corresponding virtual deformations are

Vh = Af Uf

## since the element deformations V are equal to zero in this case

for the virtual displacement field above we get

Page 254

a
a + b

b
b

Vh :=

0.125
0
0
Vh =

0.125
0
0

## Prof. Filip C. Filippou, 2000

Note that this virtual deformation field is a lot more convenient, since it has only 2 non-zero terms.
the principle of virtual displacements says that the external work equal the internal work
R U1 = R ( 1)
T

Vh Q = 6.126

## is the external work

is the internal work

## consequently, the vertical support reaction at node 1 is

equal to 6.126 units and acts upward, as before.

Third choice
We select the virtual displacement field in the following figure. It meets all requirements except #4 above.
This means that we have to know the magnitude of the applied force in this case.

ICc

15

8
R U1 15 ( 1) = R 15
T

V Q = 8.874

0

0
0
0
V :=
1
8
1

8

R := 15 8.874

R = 6.126

## consequently, the vertical support reaction at node 1 is

equal to 6.126 units and acts upward, as before.

Page 255

## Prof. Filip C. Filippou, 2000

Example c
Given the same structure as above under the effect of a uniformly distributed load in element a.

w=?
2

c
8

24.29

76.45

56.94

Page 256

59.68

76.45
24.29
24.29
Q :=

56.94
56.94
59.68

## Prof. Filip C. Filippou, 2000

We proceed exactly as for example a. Let us first look at the external work done by the uniformly distributed
element load. Assuming a linear virtual displacement field as in the following figure we have

external work We
L

x
u ( x) =
L

x
We = w dx

## since w is uniform, i.e constant

w 2
w L
We = x dx =
L 0
2
We can think of the following interpretation of the above result: the external work is equal to the work
of the resultant of the uniformly distributed load times the translation that its centroid undergoes (see
following figure)

wL

We = wL

0.5

8w

10 w

6w

1
8

4
c
8

Page 257

## Virtual displacement field requirements:

1. It activates external work of the distributed element load by translation of at least one end of element a.
2. it has zero displacements at the supports in the direction of unknown support reactions
3. it does not involve axial deformations in elements a, b, and c, since the axial forces under the unknown
applied force are not given.
We select the virtual displacement field in the following figure. It meets all requirements above.

0.75

IC's as shown
Virtual chord rotations

1
a :=

b :=

1
8
1
8

c :=

1
8

ICa=ICb

ICc
8

8
the corresponding virtual deformations are

Vh = Af Uf

## since the element deformations V are equal to zero in this case

for the virtual displacement field above we get

## The centroid of the distributed element load moves horizontally

and vertically

a + b

b + b

Vh :=
b + c

c + c

a 3 = 0.375
a 4 = 0.5

1
8

0
0
Vh = 1

4
0

1
8
units in negative X
units in positive Y

The components of the resultant of the uniformly distributed element load are
6w units in the positive X direction
8w units in the negative direction

Page 258

## Thus, the external work of the distributed element load is

The internal work is

Vh Q = 31.251

w :=

31.251
6.25

w=5

## Example d: determination of collapse load factor

Determine the collapse load factor for the structure in the following figure under the given loading. The
location of plastic hinges at incipient collapse is given. The plastic flexural capacities of the horizontal frame
elements a, b, d and e is 100 units. The plastic flexural capacity of frame element c is 150 units. The plastic
axial capacity of element f is 20 units.

40
30
4

2
1

Page 259

## Virtual displacement field requirements:

1. it has zero displacements at the supports in the direction of unknown support reactions
2. it does not involve axial deformations in any elements with unknown axial forces.
3. It does not involve flexural deformations in any elements with unknown end moments.
4. It involves translation under one or both applied forces, so that external work appears.

dof 1
dof 4

dof 3

4
1

3
dof 2

The inextensibility requirement for elements a through e results in the independent free dofs of the above
figure. With these dofs we write the compatibility equations (consult Example 9). Setting the deformations at
locations 2, 4, 5 and 6 equal to zero gives us four equations for the four independent dofs. However, as
explained in Example 9, only three of these equations are linearly independent and there exists a non-zero
displacement vector that satisfies these four compatibility relations. This vector is the collapse mechanism of
the structural model. We pursue first the analytical solution, which is lengthier, and tackle the faster
geometric solution subsequently.
Example 9 shows that the collapse mechanism is given by the following displacement vector.
4/3
1

Page 260

1
1

6
Uf = 4 U1
3

1
6
we use the same vector with
a unit value for U1 as the
virtual displacement vector

1
6

1
6
1
Vh = Af Uf

0
with Af :=

6
1
6

0.8

0.167
0

0.333
0
Vh =

0
0
0.333

1.6

1
1

6
Vh := Af 4
3

1
6

0
1
1
1
0
0
0
0

## Prof. Filip C. Filippou, 2000

0 0

0 0

1
0
from example 9
8

1
1
8

1
0

1
0

0.6 0

We have to assume at this point that we know the sign of the basic forces at the plastic hinge locations. We
will show in the following example how to get these from the consideration of real plastic work. The Q values
at the other locations are of no significance, since the corresponding virtual deformations are zero and no
contribution to the internal work results. We set them equal to the value 99 in the vector Q

We have:

100
99

100
99
Q :=

99
99
100

20

Uf ( Pref)
T

Vh Q = 115.333

40

Pref :=
30

with

:=

Vh Q
T

Uf Pref

Page 261

= 1.442

1
1

6
Uf := 4
3

1
6

## Prof. Filip C. Filippou, 2000

We can also derive the mechanism by geometric considerations, as shown in the following figure. We are not
worried about the scaling of the collapse mechanism and the direction.

ICC

A :=

B :=

1
3/4

3
4

ICB

ICA

2
A

B + A

Vh :=

C + A

3
1 0.6 0.8
4

0.125
0

0.25
0
Vh =

0
0
0.25

1.2

3
4

1
Uf := 8
1

1
8

:=

Vh Q
T

Uf Pref

Page 262

1 3

6 4

C := B

= 1.442

as before

B = 0.125

## Example 21 - Principle of virtual forces in lieu of compatibility relations

In this example we will demonstrate the principle of virtual forces and its use as a substitute for the
compatibility relations of a structural model.
3

a
2
8

We assume that the vector of element deformations is supplied. We take it for granted that the given
deformations are compatible and, thus, do not bother to check that they satisfy the compatibility conditions
before starting the problem. We will do so, at the end of this example.
The axial deformations are assumed negligible. Under this assumption there are 4 independent free dofs,
as shown in the following figure. The supplied element deformations are ordered as shown in italics.

dof 1
dof 3

dof 4
4

3
5

dof 2

Page 263

0.002530

0.002846
0.002846
V :=

0.002530

0.02580

0.02580

## Prof. Filip C. Filippou, 2000

The structure compatibility matrix Af for the given free dofs is (we show the deformations only for
the translation dofs 1 and 3):

1
8

0
Af :=

8
0.6

0.6

dof 1

dof 3

## written out in full the compatibility relations read

1
V1 = U1 + U2
8
1
V2 = U2 + U3
6
1
V3 = U3 + U4
6
1
V4 = U1 + U4
8

V5 = 0.6 U1 + 0.8 U3
V6 = 0.6 U1 + 0.8 U3

Page 264

1
6

1
6

0 0.8
0 0.8

## Prof. Filip C. Filippou, 2000

We make the following general observation from these equations: rotation dofs do not affect the change of
distance between nodes, or, conversely, truss element deformations only depend on translation dofs.
Thus, if we are interested in calculating the vertical translation of dof 1 under the given element
deformations, we are well advised to use the last two compatibility relations which do not involve the rotation
dofs. By subtracting equation 6 from equation 5 we get:

V5 V6 = 1.2 U1

U1 :=

and consequently

V V
5
6

1.2

U1 = 43 10

## from the addition of these two equations we can obtain

V5 + V6 = 1.6 U3

U3 :=

V +V
5
6

1.6

U3 = 0

Interestingly, under the given element deformations the horizontal translation of dof 3 is equal to zero.
if we like to determine one of the rotation dofs, we can use any of the other 4 compatibility relations, e.g.
for dof 2 we can use the first one.

U2 := V +
1

1
U1
8

U2 = 2.845 10

We can use the second compatibility relation to check that the values for dofs 2 and 3 satisfy it as well.
We have

1
6
V U 2 U 3 = 1 10
2
6

## and it is indeed satisfied except for a very small round-off error.

We can use the third compatibility equation to determine the rotation of dof 4. We have

U4 := V
3

1
U3
6

U4 = 2.846 10

and after substituting into the fourth relation we confirm that it is also satisfied

1
6
V U 1 U 4 = 1 10
4 8
Since the given six element deformations give a single solution for the global dof displacement values, they
are compatible.

Page 265

## Principle of virtual forces

We use the following statement of the principle of virtual forces: If a structure is in a state of compatible
deformation, then the external complementary virtual work is equal to the internal complementary virtual work
under any set of virtual forces that satisfy equilibrium.
it is our job now to select the most convenient virtual force system that satisfies equilibrium and at the same
time allows us to calculate the variable of interest. Let us say that we wish to determine the vertical
translation at dof 1. Then, we apply a unit virtual force in the direction of dof 1 and find the virtual basic
forces that satisfy the equilibrium equations.

2
1

P1 = 1

Since axial deformations are negligible, it is in our best interest to use the equilibrium equations that do not
include axial forces. To this end we use the transpose of the above compatibility matrix. We have

P1 =

Q1
8

Q4
8

+ 0.6 Q5 0.6 Q6

P2 = Q 1 + Q 2
Q2 + Q3

P3 =

+ 0.8 Q5 + 0.8 Q6

P4 = Q 3 + Q 4
for the given virtual force at dof 1 we have

1=

Q1
8

Q4
8

P1 = 1

+ 0.6 Q5 0.6 Q6

0 = Q1 + Q2
0=

Q2 + Q3
6

+ 0.8 Q5 + 0.8 Q6

0 = Q3 + Q4

Page 266

## and the virtual basic forces Q need to satisfy the

following equations

## Prof. Filip C. Filippou, 2000

What is the simplest choice of Q that satisfies all these four equations?

Q1 = Q2 = Q3 = Q4 = 0

We set

## We determine Q5 and Q6 to satisfy equations 1 and 3. We have:

1 = 0.6 Q5 0.6 Q6
0 = 0.8 Q5 + 0.8 Q6

## from these two equations we get

Q5 =

The vertical translation at dof 1 is obtained from the principle of virtual forces
with the choice Pf = P1 = 1

5
6

Q6 =
T

5
6

Pf Uf = Q V

we ensured that U f = U 1 is the only non-zero entry on the left hand side
U1 :=

## With the basic virtual force values we get:

5
5
V V
6 5 6 6

U1 = 0.043

the negative sign signifies that dof 1 moves in the direction opposite to the applied virtual force for the
given deformations V. Since we took care to apply the virtual force in the positive Y-direction, the
negative sign means that the translation is in the negative Y-direction, i.e. downward.
We see that the resulting equation for the translation of global dof 1 is the same as the one we obtained
by the combination of the last two compatibility relations.
Is there another choice of virtual force system in equilibrium with the virtual unit force at dof 1? Sure there
are a few. Here is another one

1=

Q1
8

Q4
8

+ 0.6 Q5 0.6 Q6

0 = Q1 + Q2
0=

Q2 + Q3
6

+ 0.8 Q5 + 0.8 Q6

0 = Q3 + Q4
We set

Q5 = Q6 = 0

Q1 = Q2
Q3 = Q4

1=

0=

Q2
8

Q4
8

Q2 Q4

from which

Q2 = Q4 = 4

Page 267

Q2 = Q4

4

4
4
:=
4
0

0
T
U1 := Q V

U1 = 0.043

## which gives, of course, the same result.

Thus, any virtual force system in equilibrium with the virtual unit force at the location and in the direction of
the translation whose value we want to determine can be used. The fewer terms are non-zero, the easier
the calculation. Thus, the first choice is superior.
The second task is to determine the rotation of node 3. To this end we apply a virtual unit moment at node 3
(dof 4) and determine the virtual basic forces that are in equilibrium with it.

P4 = 1

## We use the following equations

0=

Q1
8

Q4
8

+ 0.6 Q5 0.6 Q6

0 = Q1 + Q2
0=

Q2 + Q3
6

+ 0.8 Q5 + 0.8 Q6

1 = Q3 + Q4

Page 268

We set

Q1 = Q2 = Q3 = 0

and

Q4 = 1

## We determine Q5 and Q6 to satisfy equations 1 and 3. We have:

0=

1
+ 0.6 Q5 0.6 Q6
8

0 = 0.8 Q5 + 0.8 Q6

Q5 =

## from these two equations we get

The rotation at dof 4 can be obtained from the principle of virtual forces

## in this case we get:

U4 := 1 V
V +
V
4 9.6 5 9.6 6

1
9.6

Q6 =
T

1
9.6
T

Pf Uf = Q V

3
U4 = 2.845 10

which is the same as the result we obtained from the compatibility relations.
In conclusion, the principle of virtual forces with an applied unit virtual force at the dof whose displacement
is of interest can be used in lieu of the compatibility relations. To this end we need to find any set of virtual
basic forces that satisfy the equilibrium equations under the applied unit virtual force. The simplest choice
involves the smallest number of non-zero terms. This method is often referred to in the literature as

Page 269

## Example 22 - Upper Bound Theorem of Plastic Analysis

In this example we determine the collapse load factor of the simple portal frame that we have already
studied extensively in earlier examples from the equilibrium standpoint (Example 8), and for the
determination of the collapse mechanism by kinematics (Examples 18 and 19). Here we pretend that we
do not know the location of the plastic hinges in the portal frame and proceed in a systematic way by
combination of elementary collapse mechanisms in the determination of the collapse load factor.
The following figure shows the structural model with the plastic flexural capacities of the elements. The
plastic axial capacities are assumed very large.
50
30
b

120

120

a 150

150 d

Assuming that all elements are inextensible there are 5 independent free global dofs, as shown in the
following figure. The figure also shows the locations of the angles between node tangents and chords.
dof 3

dof 2
2

dof 5

dof 4

dof 1
3

Page 270

## Prof. Filip C. Filippou, 2000

We determine the angles between the nodes and the lines connecting the nodes at all element ends.
The compatibility matrix is then equal to the transpose of the equilibrium matrix of example 8. We have

1
5

1
5

0
Af :=
0

1
5

1
5

0
1

0 0

0
0

1
0
1
4
0
0
0

1
4

## Under the assumption that the elements do not experience deformation

increments during collapse, i.e. V=0, we have the following compatibility
relation
with

Vh = Af Uf

Uf = Ac Uref

and with Vh the plastic deformation increments (in this case only rotations)
With the above compatibility relations the columns of the compatibility matrix
represent elementary collapse mechanisms as shown in the following figures.

Page 271

1
5

1
5
0

1 0
Af =
0

0
1
5

1
5

0
0

1
4
1

3 4
Af =
1
4

1
4
0

0

## beam collapse mechanism (third column of compatibility matrix)

The upper bound theorem of plastic analysis now says: the load factor determined by the equation of the
external with the internal plastic work increment for any collapse mechanism constitutes an upper bound
of the actual collapse load factor. We are, therefore, interested in finding the collapse mechanism that
minimizes this load factor. Since the load factor is the ratio of internal to external plastic work, we seek a
collapse mechanism that minimizes the internal work (fewer hinges with as small rotations as possible),
while maximizing the external work (largest translations for applied forces).
Let us proceed systematically. We start with the determination of the collapse load factor for the elementary
collapse mechanisms. Since there are no applied moments at dofs 2, 4 and 5, the corresponding load factor
is infinitely large and a definite upper bound. We look at the sidesway mechanism
for a unit displacement value at dof 1 the external plastic work increment is
the internal plastic work increment for this mechanism is

Wpe = 30 ( 1)

Wpi = 4 150

note that the plastic deformation increments are all positive and the corresponding moments have always
the same sign
1
4 150
5
The collapse load factor for the sidesway mechanism is therefore
:=
=4
30 ( 1)

Page 272

## Prof. Filip C. Filippou, 2000

The next elementary mechanism is the beam mechanism. In this case we note that the applied force is in the
negative Y-direction. Thus, to induce positive external work (nothing else makes sense) we use a unit
displacement in the negative direction of dof 3. We take then the negative values of the angles from column
three of the compatibility matrix.
for a negative unit displacement value at dof 3 the external plastic work increment is

Wpe = ( 50) ( 1)

1 + 2 ( 120) 1

4
4

Wpi = 2 120

## the internal plastic work increment for this mechanism is

1
+ 2 ( 120)
4
4

2 120
The collapse load factor for the beam mechanism is therefore

:=

( 50) ( 1)

= 2.4

We note that the beam mechanism is much more critical in this structure under the given loading. In trying
to reduce the collapse load factor we realize that we can use the sidesway mechanism with hinges in the
beam instead of the columns, since the plastic capacity there is only 120 units. We accomplish this by the
following elementary collapse mechanism combination = sidesway - 1/5 of joint mechanism at dof 2 - 1/5
of joint mechanism at dof 5. Here are the corresponding columns of the compatibility matrix

1
5

1
5
0

1 0
Af =
0

0
1
5

1
5

0
1

1
2 0
Af =
0
0
0

0

0
0

0
5 0
Af =
0
1
1

0

thus,

1
5

0
1
5

1 1 2 1 5 0
Af Af Af =
0
5
5

1
5
0

1
5

we see that the plastic deformations now appear at locations 3 and 6, i.e. in the beam instead of the
columns.
The external work of this combined mechanism is the same as for the sidesway mechanism
the internal work is now a bit smaller

1 + 2 ( 120) 1

5
5

Wpi = 2 150

1
+ 2 ( 120)
5
5

2 150
and the collapse load factor becomes

:=

Page 273

30 ( 1)

= 3.6

## Prof. Filip C. Filippou, 2000

i.e. a bit smaller than the sidesway mechanism, but still larger than the beam mechanism.
The question now is: is there a way of combining the beam mechanism with the last sidesway+joint
mechanism so as to maximize the external work (both applied forces will do work), while minimizing the
internal work. Note that if we just added the two mechanisms without canceling any plastic hinge rotations
we would get a value between 2.4 and 3.6. Let us show this
beam mechanism in
negative dof 3 direction

0
0

1
4
1

3 4
Af =
1
4

1
4
0

0

1
5

0
1
5

0
0

1
5
0

1
5

## the internal and external work now become

Wpi := 2 150

1
1
1
+ 2 ( 120) + 2 ( 120) + 2 ( 120)
4
4

5

Wpe = 50 ( 1) + 30 ( 1)

:=

Wpi
50 ( 1) + 30 ( 1)

= 2.85

It is clear that something strange is going on at location 3, where we have inserted the plastic capacity with
a positive value for the beam mechanism and then with a negative value for the sidesway+joint mechanism.
Obviously, we need to combine the two mechanisms so that the plastic deformation cancels at that location.
For this to happen we add 4/5 x the beam mechanism to the sidesway+ joint mechanism. In this case we get

1
0 1 5
0 5
0
1 0 0
4 1
1 5 1
5
4 4 0

+
=
1
5 1 0
4 5
1 2
1 5 5
4 0
0 0
1 1
0 5
5

## the internal and external work now become

1
1
2
+ ( 120) + ( 120) + ( 120)
5
5
5
5

Wpi := 2 150
Wpe = 50

+ 30 ( 1)
5

Page 274

:=

Wpi

4
50 + 30 ( 1)
5

= 2.229

## Prof. Filip C. Filippou, 2000

and we have managed to reduce the collapse load factor a little bit. There does not seem to be much else
that we can do with this simple structure and we decide to call this the result. How can we be sure? By
determining the other basic forces and drawing the moment diagram of the structure. If the plastic flexural
capacity is not exceeded anywhere in the structure, then we have also found a lower bound, which then
implies that we have found the unique value of the collapse load factor. Fortunately, we have done this in
example 8 and we display the results one more time in the following figure
2.229*30
54

12.86
2.229*50

51.43

2.229*30

54

54
60

51.43

12.86

60
54
60

51.43
85.71
12.86

120
51.43

51.43

120

60

60

54

12.86

54
150

150
4

We have concluded that the final collapse mechanism is the following combination of elementary collapse
mechanisms
note that this combination shows a "double hinge"
1
at location 4-5. To avoid confusion we add -1/5 x joint
5
mechanism of dof 4 to get the following final result

0
0

1
5
1 1 2 4 3 1 5

Af Af Af Af =
1
5
5
5

5
2
5

0
1
5

1
5

0
0
0

1 1 2 4 3 1 4 1 5 2
Af Af Af Af Af =
5
5
5
5
5

2
5
0

1
5

Page 275

## Prof. Filip C. Filippou, 2000

We can confirm this result with geometric considerations once we know the location of the plastic hinges
(recall Example 19).
ICB

collapse displacement
increments

1

1
5
4

Uf = 5 U1

1
5
1

5

B
A
C

ICA

ICC

0.2

collapse plastic
deformation increments

50

30

0.4

0.8

0.4

Page 276

0.2

1
5

0
0
0

2
Vh = U1
5

2
5
0

1
5

## Upper bound theorem of plastic analysis as linear programming problem (optional)

from Lecture 15

c = min

T
+T
T
for Pref
U f = Q pl
Vpl+ + Q pl
Vpl

Vpl+ Vpl = A f U f

## and the applied force vector

Pref := ( 30 0 50 0 0 )

Qplp := Qpl

Qpln := Qpl

T

## define function to minimize

with initial guess values

Uf := 0
5

Vplp := 0

Vpln := 0

We then specify the equality and inequality constraints in a "Given" block, as follows
Given
T

equality constraints

Pref Uf = 1

inequality constraints

Vplp 0

and

Vplp Vpln = Af Uf
solution

Vpln 0

## Sol := Minimize ( f , Uf , Vplp , Vpln)

= 2.229

Displacement increments of collapse mechanisms (values can be scaled at will, one independent dof)
Uf := Sol1

T

Vplp := Sol2

Vpln := Sol3

Vpl := Vplp Vpln

Page 277

## Script for Example 22a in CE220 class notes

% Upper bound theorem of plastic analysis - Portal frame example solution with
Matlab functions and FEDEASLab function UpperBound_PLAnalysis

## Clear workspace memory and initialize global variables

CleanStart
Af = [1/5
0
0
0
0;
1/5
1
0
0
0;
0
1 -1/4
0
0;
0
0 -1/4
1
0;
0
0
1/4
1
0;
0
0
1/4
0
1;
1/5
0
0
0
1;
1/5
0
0
0
0];
% applied force vector Pref at free dof's
Pref = [ 30; 0; -50; 0; 0];
% specify plastic flexural capacities
Qpl = [ 150 150 120 120 120 120 150 150]';

## Upper bound theorem of plastic analysis as linear programming problem

[lambdac,DUf,DVpl] = UpperBound_PLAnalysis(Af,Qpl,Pref);
% report the collapse load factor
disp(['the collapse load factor is ',num2str(lambdac)]);
% report the collapse displacement vector scaled by dof 1
disp( 'the collapse displacement vector is');
disp(DUf./DUf(1))
% report the plastic deformation increments scaled by dof 1
disp( 'the plastic deformation increments are');
disp(DVph./DUf(1));
Optimization terminated.
the collapse load factor is 2.2286
the collapse displacement vector is
1.0000
-0.2000
-0.8000
0.2000
-0.2000
the plastic deformation increments are
0.2000
0
0
0.4000
0
-0.4000
0
0.2000

Page 278

## Script for Example 22b in CE220 class notes

% Upper bound theorem of plastic analysis - Portal frame example solution
entirely with FEDEASLab functions

## Clear workspace memory and initialize global variables

CleanStart
% define
XYZ(1,:)
XYZ(2,:)
XYZ(3,:)
XYZ(4,:)
XYZ(5,:)

model geometry
= [ 0
0]; % first node
= [ 0
5]; % second node, etc
= [ 4
5]; %
= [ 8
5]; %
= [ 8
0]; %

## % element connectivity array

CON { 1} = [ 1
2];
CON { 2} = [ 2
3];
CON { 3} = [ 3
4];
CON { 4} = [ 4
5];
% boundary conditions (1 = restrained,
dof's)
BOUN(1,:) = [ 1 1 1];
BOUN(5,:) = [ 1 1 1];

## % specify element type

ne = length(CON);
[ElemName{1:ne}] = deal('2dFrm');

% number of elements
% 2d frame element

create Model
Model = Create_SimpleModel (XYZ,CON,BOUN,ElemName);
% plot and label model for checking (optional)
Create_Window (0.80,0.80);
% open figure window
Plot_Model (Model);
% plot model
Label_Model (Model);
% label model
2

## define plastic flexural capacity of elements in a column vector

% axial force capacity is "very large"
Qpl = [1e5 150 150 1e5 120 120 1e5 120 120 1e5 150 150]';

Page 279

## form kinematic (compatibility) matrix A

A = A_matrix(Model);
Af = A(:,1:Model.nf);

Pe(2,1) = 30;
Pe(3,2) = -50;

## % force at node 2 in direction X

% force at node 3 in direction Y

## Upper bound theorem of plastic analysis as linear programming problem

[lambdac,DUf,DVph] = UpperBound_PLAnalysis(Af,Qpl,Pref);
% report the collapse load factor
disp(['the collapse load factor is ',num2str(lambdac)]);
Optimization terminated.
the collapse load factor is 2.2286

## plot collapse mode

Create_Window (0.80,0.80);
Plot_Model (Model);
% set displacemement increments to zero
DU = zeros(Model.nt,1);
% put the free dof displacement increments into the first nf components of DU
DU(1:Model.nf) = DUf;
MAGF = 50;
Plot_Model (Model,DU);
% use LowerBound_PLAnalysis function to find the basic forces at collapse
% note that the static (equilibrium) matrix is the transpose of the kinematic
matrix
[lambdac Qc] = LowerBound_PLAnalysis(Af',Qpl,Pref);
% display plastic hinge locations on collapse mechanism
Plot_PlasticHinges (Model,Qpl,Qc,DU);
Optimization terminated.

Page 280

## Example 23 - Upper Bound Theorem of Plastic Analysis with Partial Collapse

In this example we determine the collapse load factor of the structural model in Example 9 that exhibits a
partial collapse mechanism. The geometry, loading and plastic capacities are shown in the following figure.
40
30
4

d
100

La := 6

100

Lb := 6
c 150

20

Lc := 8
Ld := 6
Le := 6

100

100

Lf :=

6 +8

Lf = 10

The independent free global dofs under the assumption that elements a through e are inextensible are
shown in the following figure along with the numbering of the locations where relative displacements and
element deformations are determined for the compatibility relations.
dof 1
dof 4

dof 3

4
1

3
dof 2

Page 281

## Prof. Filip C. Filippou, 2000

We write the compatibility relations and identify the elementary collapse mechanisms.

1
La

1
La

1
Lb

Af :=
0

1
Ld
1

Le
8

Lf

Af

1
6

1
6

1
6

0
=

1
6

1
6
4

0
1
1
1
0
0
0
0

0 0

0 0

1
0
Lc

1
1
Lc

0 1

0 1

0
Lf
0

1
8

1
8

3
5

## double beam mechanism - negative dof 1 - negative column 1 of

compatibility matrix
40
30

40
30

Page 282

## elementary joint mechanisms

= dofs 2 and 4 = columns 2 and 4
of compatibility matrix

there are no applied moments at dofs 2, and 4, the corresponding load factor is infinitely large and a
definite upper bound. We look at the double beam mechanism

Wpe = ( 40) ( 1)

for a negative unit displacement at dof 1 the external plastic work increment is
the internal plastic work increment for
this mechanism is

1
1
4
Wpi := 3 100 + 2 ( 100) + ( 20)
6
6
5

note that the plastic deformation increments and the corresponding basic forces have the same sign
The collapse load factor for the double beam mechanism is

:=

Wpi
( 40) ( 1)

= 2.483

Wpe = ( 30) ( 1)

## for a unit displacement at dof 3 the external plastic work increment is

the internal plastic work increment for
this mechanism is

1
3
Wpi := 2 150 + ( 20)
8
5

note that the plastic deformation increments and the corresponding basic forces have the same sign
The collapse load factor for the sidesway mechanism is

:=

Wpi
( 30) ( 1)

= 1.65

Clearly, the sidesway mechanism is more critical. The question now is: can we find a combination of these
two elementary collapse mechanisms that will reduce the collapse load factor by minimizing the internal
plastic work increment and maximizing the external plastic work increment?

Page 283

## Prof. Filip C. Filippou, 2000

We list the columns of the compatibility matrix for the two elementary mechanisms side by side

1
6

1
6
1

6
0
Af1 =

0

1
6

1
6

4
5

0

0
0

1
8

1
Af 3 =

8
0

0
3
5

## we note that a direct combination of these two elementary

collapse mechanisms does not close any plastic hinges. We
note, however, that at node 2 there are 3 hinges at 2, 3 and
4. Thus, by including the rotation dof 2 we should be able to
close some of these. Similarly, at node 5 there are three
hinges open at 5, 6 and 7. Thus, by including the rotation of
dof 4 we should be able to close some of these. Either way
we note that we should scale the first dof by 3/4 to bring the
hinge rotation values to the same magnitude as for dof 3.

## With this insight we try the following elementary mechanism

combination: (-3/4 x dof 1) + dof 3 + (-1/8 x dof 2) + (-1/8 x dof 4)

1
8

0
1

4
3 A 1 + 1 A 2 + A 3 + 1 A 4 = 0

f
f
f
f
4
8
8
0
0

1
4
6

5

## and indeed we were successful in closing

the plastic hinges at 2 and 4, as well as at
5 and 6.

The external plastic work increment for this combined mechanism is: Wpe = ( 40)

## The internal plastic work increment is:

1
1
Wpi := 100 + 2 ( 100)
8
4

Page 284

3
+ ( 30) ( 1)
4
6
+ ( 20)
5

:=

## and the collapse load factor becomes

Wpi
3
( 40) + ( 30) ( 1)
4

## Prof. Filip C. Filippou, 2000

= 1.442

and this agrees with the answer of Example 9 obtained with the lower bound theorem of plastic analysis;
we conclude, therefore, that this is the collapse load factor of the model under the given loading.
The collapse mechanism is shown in the following figure.

ICC

1

1
8
U f = 3 U1

4
1
8

collapse mechanism

1
C

plastic deformation
increments of collapse
mechanism

3/4

3
4

displacement increments
of collapse mechanism

ICA

ICB

1
8

0
1

4
0
V h =
U1
0

0

1
4
6

5

We recall that this is a partial collapse mechanism and that there is no unique set of basic forces in
elements a, c and d when the collapse load factor is attained (consult Example 9). Can we still hope to
determine the displacements and deformations at incipient collapse? Not without a statically indeterminate
analysis with basic force Q6 as redundant (recall that we selected Q6 for the homogeneous solution in
Example 9). We will return to this after presenting the force method of analysis.

Page 285

## Script for Example 23 in CE220 class notes

% Upper bound theorem of plastic analysis with partial collapse mechanism
solution entirely with FEDEASLab functions using inextensible element
constraints

## Clear workspace memory and initialize global variables

CleanStart

Create model
% specify node coordinates (could only specify non-zero terms)
XYZ(1,:) = [
0
0]; % first node
XYZ(2,:) = [
6
0]; % second node, etc
XYZ(3,:) = [ 12
0]; %
XYZ(4,:) = [
0
8]; %
XYZ(5,:) = [
6
8]; %
XYZ(6,:) = [ 12
8]; %
% connectivity array
CON {1} = [ 1
2];
CON {2} = [ 2
3];
CON {3} = [ 2
5];
CON {4} = [ 4
5];
CON {5} = [ 5
6];
CON {6} = [ 3
5];
% boundary conditions (1 = restrained, 0 = free)
BOUN(1,:) = [1 1 1];
BOUN(3,:) = [0 1 0];
BOUN(4,:) = [0 1 0];
BOUN(6,:) = [0 1 0];
% specify element type
[ElemName{1:5}] = deal('2dFrm');
% 2d frame element
ElemName{6}
= 'Truss';
%
truss element
% create model
Model = Create_SimpleModel (XYZ,CON,BOUN,ElemName);

## Post-processing functions on Model (optional)

Create_Window (0.80,0.80);
Plot_Model (Model);
Label_Model (Model);
4

## % open figure window

% plot model (optional)
% label model (optional)
5

Page 286

## define plastic flexural capacity of elements in a column vector

% axial force capacity is "very large" except for brace element
Qpl = [ 1e5 100 100 1e5 100 100 1e5 150 150 1e5 100 100 1e5 100 100 20]';

## form kinematic (compatibility) matrix A

A = A_matrix(Model);
Af = A(:,1:Model.nf);

Pe(4,1) = 30;
Pe(5,2) = -40;

## Upper bound theorem of plastic analysis as linear programming problem

[lambdac,DUf,DVph] = UpperBound_PLAnalysis(Af,Qpl,Pref);
% report the collapse load factor
disp(['the collapse load factor is ',num2str(lambdac)]);
Optimization terminated.
the collapse load factor is 1.4417

## plot collapse mode

Create_Window (0.80,0.80);
Plot_Model (Model);
% set displacemement increments to zero
DU = zeros(Model.nt,1);
% put the free dof displacement increments into the first nf components of DU
DU(1:Model.nf) = DUf;
MAGF = 50;
Plot_Model (Model,DU);
% use LowerBound_PLAnalysis function to find the basic forces at collapse
% note that the static matrix is the transpose of the kinematic matrix
[lambdac Qc] = LowerBound_PLAnalysis(Af',Qpl,Pref);
% display plastic hinge locations on collapse mechanism
Plot_PlasticHinges (Model,Qpl,Qc,DU);
Optimization terminated.

Page 287

CE220-Theory of Structures

Deformation-Force Relations

## Prof. Filip C. Filippou, 2000

DEFORMATION-FORCE RELATIONS
FOR
MATERIAL, SECTION, ELEMENT AND STRUCTURE

Objective: cause and effect relation between static and kinematic variables for linear elastic
material response; deformation force relation for material; force-deformation for
section under Bernoulli assumption; deformation-force for basic element and
collection of elements; displacement-force relation for statically determinate
structures; force method of analysis and displacement-force relation for
indeterminate structures

Page 288

CE220-Theory of Structures

Deformation-Force Relations

## Material strain-stress and stress-strain relation

in general, the behavior at a material point is described by
a nonlinear relation between the stress and strain tensor

= (, , )

where we see that the stress tensor may depend not only on
the strain, but also on the strain rate and on internal variables
Different types of constitutive models are available for the description of the behavior of specific materials:
linear elastic, linear viscolelastic, perfectly plastic, viscoplastic, etc... Here we restrict ourselves to the
relatively simple case of linear elastic material response. Moreover, we limit ourselves to uniaxial
behavior. Thus, both stress and strain are scalars.
The most natural way of describing the linear elastic response of a material is in strain-stress form, where
we distinguish the mechanical and non-mechanical contribution. An example of the latter is the thermal
and shrinkage strain. We write

= m + 0

with

m =
0

## the mechanical strain

the non-mechanical strain
in the special case of thermal strain we have 0 = T
where

## T the change in reference temperature

(e.g. from construction to service)

E is the elastic modulus of the material and can be thought of as material stiffness
its inverse 1 E

## = (1 E ) + 0 is the flexibility relation at the material level

We can invert this relation to obtain the stiffness relation at the material level = E 0

The stiffness relation in this form shows clearly that the stress is proportional to the mechanical strain
Less clear is the following common form of the stiffness relation = E + 0 with 0 = E 0
0 is the required initial stress to compensate the non-mechanical strain before the total strain is applied.
for a summary of material relations consult chapter 5 in S. Crandall, "An introduction to the Mechanics of
Solids", 2nd edition

Page 289

CE220-Theory of Structures

Deformation-Force Relations

## Force-deformation behavior of section

What is the force-deformation behavior of the section under the combined action of axial force and
bending moment? The Euler-Bernoulli beam theory of small deformations (1750 AD) with the assumption
that plane sections remain plane (Daniel Bernoulli's contribution) results in the following pair of simple
relations under the assumption that the x-axis coincides with the centroid of the cross section and that the
y-z axes pair coincides with the principal axes of the cross section.

(
)
M = EI ( 0 )

N = EA a a 0

where A is the cross sectional area and I is the moment of inertia or second moment of area

## a is the axial strain at the reference axis (subscript a)

is the curvature of the beam which is defined as change of tangent rotation per unit length
The axial strain at the reference axis and the curvature are components of the section deformation vector
e, which in more advanced applicationsincludes shearing and torsional deformations. This notation will
be useful in CE221.
Note that we have introduced non-mechanical section deformations by analogy with the stress-strain
relation. Note also that the section force-deformation relation comes out of the Euler-Bernoulli theory in
stiffness form with EA the axial and EI the flexural section stiffness. We can invert these relations to the
flexibility form

N
+
EA a 0

a =
=

M
+ 0
EI

with 1 EA

## 1 EI the flexural section flexibility

We have now expressed the section deformations as the superposition of two effects: the mechanical
effect which is proportional to the section (internal) forces, and the non-mechanical effect which we have
already studied on page 13 of Part II. We recall the effect of a differential temperature field on the
non-mechanical section deformations and introduce now the subscript 0 for the non-mechanical effect

a 0 = Ta

0 =

( T )
h

## for the thermal curvature

Page 290

CE220-Theory of Structures

Deformation-Force Relations

## Deformation-force behavior of 2d frame element

After having established the force-deformation behavior of the section we use the equilibrium relations of
Part I between the internal forces at a section x and the basic force of the frame element (page 18 of
Part I) as well as the kinematic relations between the section and element deformations (page 14 of Part
II) to derive the relation between basic forces and corresponding deformations for the 2d frame element.
from equilibrium N ( x) = q1

x
x

M ( x) = 1 q 2 + q 3 + M p ( x)
L
L

from kinematics

v1 = a ( x) dx
0

v 2 = 1 ( x) dx
L

v3 =

## note that all element deformations on this

v
and the following pages correspond to

x
( x) dx
L
N ( x)

for linear elastic material response we use the relations on the preceding page a ( x) =
+ a 0 ( x)
EA( x)

( x) =

M ( x)
+ 0 ( x)
EI ( x)

Substitute the section deformation-force into the kinematic relations and then substitute the internal
forces in terms of the basic forces of the element and the element loading. We get
L

v1 =

N ( x)

dx
+ a 0 ( x) dx = q1
+ a 0 ( x) dx

EA( x)
EA( x)

x M ( x)

v2 = 1
+ 0 ( x) dx = q 2
L EI ( x)

v3 =

x M ( x)
+ 0 ( x) dx = q 2

L EI ( x)

L
1 L

dx q
3
EI ( x)

xx

L
L
1 L L

dx 1 x ( x) dx 1 x M p ( x) dx

EI ( x)
L 0
L EI ( x)

x
x
L
1

L
L
dx + q 3
EI ( x)

x
L
dx +
EI ( x)

x
( x) dx +
L 0

x M p ( x)
dx
L EI ( x)

These relations express the deformation-force behavior of a 2d frame element. For a tapered element
with variable section properties along its length (tapered element), the integrals need to be evaluated
numerically. We do not pursue this further but write the deformation-force relation in compact form on the
following page.
Page 291

CE220-Theory of Structures

Deformation-Force Relations

v = f q + v0

EA( x)

## with the element flexibility matrix f = 0

xx

1 L L

dx
EI ( x)

2
x

EI ( x)

1 L

EI ( x)

xx

1 L L

EI ( x)

a 0 ( x) dx

0
L
L

x

+ 1
=

v
1
(
)
x
dx
and the initial deformations 0

L 0

0
0
L
L

x
x

0 ( x) dx

L
L

0
0

x M p ( x)
dx

L EI ( x)

M p ( x)

dx
EI ( x)

non-mechanical effects
For a prismatic 2d frame element (uniform properties) under uniform non-mechanical effects and under
a uniformly distributed element load these expressions simplify to

L
EA

## element flexibility matrix f = 0

initial deformations

0
L
3EI
L

6 EI

6 EI

L
3EI
0

0
L
a 0 w L3
1
y
v0 = 0 L +
2
24 EI

1 L wy L3

2 0
24 EI

Page 292

CE220-Theory of Structures

Deformation-Force Relations

## Summary of deformation-force behavior of prismatic 2d frame element

q1

q1

end i
q1

end j

q1

v1 EA

v2 = 0
v
3
0

N ( x)

N ( x)

a ( x)

q1

q1
EA

for uniform EA

L
q
EA 1

q1

0
L
3EI
L

6 EI

q
L 1

q
6 EI 2
q
L 3
3EI
0

q1

q3

q2
q2
L

q2
L

q3
L

q3
L

q3

q2
q2
L

q2
L

M ( x)

q3
L

M ( x) = q 2 1
L

q2

q3
L

M ( x)

q3

M ( x)

M ( x) = q3

M ( x)

x
L
q3

q2

( x)

EI

( x)

q2

L
q
6 EI 3

for uniform EI

L
q
6 EI 2

L
q
3EI 2

q2
L

EI

for uniform EI

L
q
3EI 3

q3
L

q2
L

q3
L
L

Page 293

q3

CE220-Theory of Structures

Deformation-Force Relations

## uniform non-mechanical effects

v0

wy

a 0 ( x ) = const=a 0

wy L

end i

0 ( x ) = const=0
v0

M ( x)
wy L

end j

wy

v0

wy L

wy L

V ( x)

wy L2
8

M ( x)

parabola
2

wy L

( x)

v0 = a 0 L

8EI
for uniform EI

1
v0 = 0 L
2
2
1
v0 = 0 L
3
2

wy L

wy L

24 EI

24 EI

v0 = 0
1

Page 294

v0

v0

wy L3
1 wy L
L=
=
3 8EI
24 EI

wy L3
1 wy L
L=
=
3 8EI
24 EI

CE220-Theory of Structures

Deformation-Force Relations

y

q1

q1

q2 q2
L

q2
L

end i

end j

## element flexibility matrix

initial deformations

v = f q + v0

L
EA
f =

L
3EI

a0 L 0
+
3
v0 = 1
L wy L

2 0 24 EI

3
0 L wy L
L
strain dependent deformation at release (for hinge rotation determination) v =
q +
+
3
6 EI 2
2
24 EI

Page 295

CE220-Theory of Structures

Deformation-Force Relations

## Deformation-force behavior for collection of elements in structural model

Combine the deformation-force relations for all elements in the structural model v

v
v

## or, in compact form

v ( a ) f ( a )

(b)
v 0
(c) =
v 0

( ne )
v
0

0
f

( b)
0
0
0

(c)

0
0

(a )
( b)
(c)

=f
=f

(a ) (a )
q

( b) ( b)
( c) ( c)

=f

+ v0

( ne ) ( ne )
q

( b)

(c)

+ v0

( ne )

(a )
(a )
0 q v0
(b) (b)
0 q v0
( c) + (c)
0 q v0

( ne ) ( ne ) v ( ne )
f
q
0

v(a )
q (a )
f ( a )

( b)
(b)

v
q
0

## ( c ) and Q = ( c ) we get V = Fs Q +V0 where Fs =

with V =
v
q
0

( ne )
( ne )

0
f

( b)
0
0
0

(c)

0
0

block-diagonal

V = Fs Q +V0

Page 296

(a )

+ v0

=f q

( ne )

+ v0

0
0

( ne )
f

CE220-Theory of Structures

Deformation-Force Relations

## Displacement-force behavior of structures

Statically determinate structures

Pf = B f Q + Pfw

Equilibrium

## for stable, statically determinate structures solve directly for Q Q = B Pf Pfw

1
where B is the force influence matrix B = B f

Compatibility V = A fU f
T
1
for stable, statically determinate structures solve for Uf U f = A f V or U f = B V since Af = Bf
T

## Deformation-force relation for linear elastic material response

V = Fs Q +V0

Combine U f = BTV

{Fs Q +V0 }
T
= B {Fs B ( Pf Pfw ) +V0 }

=B

U f = FPf +U 0
with

F = B Fs B

## the structure flexibility matrix, and

U 0 = FPfw + BTV0

U f = BT Fs B Pf BT Fs B Pfw + BTV0

Page 297

## Example 24 - Force-displacement relations for two beams with overhang

A - Simply supported beam with cantilever
We consider a relatively simple structural model. The model is subjected to a concentrated force of 15 units
at the tip of the cantilever.

15
1

2
15

The structure is statically determinate: there are 2 free global dofs (or equilibrium equations) and 2
unknown basic forces, as shown in the following figure.

dof 2

dof 1

Q2

Q1

P1 = Q 1 + Q 2

## The equilibrium equations are relatively simple:

P2 =
We solve with ease and obtain

Q2 := 75

with

Q2

P1 = 0
P2 = 15

Q1 := 75

The following figure shows node and element equilibrium and the bending moment diagram.

15

15

75
5

15
20
75
M(x)

Page 298

## Prof. Filip C. Filippou, 2000

We wish to calculate the vertical translation under the applied force at the tip of the cantilever. To this end
we use the compatibility relations (we can use the transpose of the above equilibrium equations, or simply
write them down directly). We have

V1 = U1
V2 = U1

U2
5

U2 = 5 ( V1 V2)

## from which we conclude that

The following figure gives a geometric interpretation of this relation. Note that the deformation is measured
from the element chord to the tangent at each end.

15

V1

V2

5( V1 V2 )

We determine the element deformations from the element deformation-force relation of each element, i.e.

v = f q

where

f=

L 2 1

6 EI 1 2

instead of worrying about specifying a stiffness value EI, we will assume that both elements have the same
section stiffness EI. We will then calculate the EI-fold element deformations. We have:

15
( 2 Q1 )
6
5
EIV2 := ( 2 Q2 )
6
EIV1 :=

EIV1 = 375
EIV2 = 125

With the EI-fold deformation values we can get the EI-fold translation value.

EIU2 = 2500

## negative means downward (in negative Y-direction)

If we know the value of the stiffness EI, we can obtain the actual vertical translation value at the end.
Since EI is a very large number (e.g. in the range of 20,000 to 100,000 for consistent units of force and
length), it is clearly better to leave this division to the end and not divide every element deformation by EI,
since it is error prone dealing with very small numbers in hand calculations. The computer by contrast does
not mind at all.
What would be a reasonable value of stiffness EI for this structure? The tip of the cantilever may deflect
1/200 of the cantilever length. This means that the vertical translation is 0.025 in consistent units. For this
to be true, the stiffness EI should be 100,000 consistent units. We will see numbers in this range for the
flexural stiffness EI in this course.

Page 299

## Prof. Filip C. Filippou, 2000

Let us now try to determine the midspan deflection in element a under the given applied force of 15 units at
the tip of the cantilever. How do we proceed?
First, we draw the moment diagram in element a. Since we wish to determine the translation at midspan we
insert a node m into the middle of element a, as shown in the following figure. This splits the element into two
elements a1 and a2. We denote the degrees of freedom at the new node with m1 and m2.
15
1

a
7.5

a2

37.5

7.5

## where ja1 stands for end j of element a1

and ia2 stands for end i of element a2.

m2
a1

7.5
Um1

via2 = Um2 +

m1

Um1

vja1 = Um2

7.5

## We can see clearly from the above

two equations that the vertical translation
can be obtained by subtracting the first
equation from the second. We get

2
75

Um1 =

7.5
( via2 vja1)
2

To determine via2 and vja1 we use the end moments in element a1 and a2. We obtain:

EIvia2 :=

7.5
[ 2 37.5 ( 75) ]
6
EIUm1 :=

## With this we get:

EIvja1 :=

7.5
[ 2 ( 37.5) ]
6

7.5
( EIvia2 EIvja1)
2

EIUm1 = 1054.688

and we observe that the translation is positive, which means that the point moves upward under the applied
force of 15 units at the tip of the cantilever.
The following figure shows a different geometric interpretation for the determination of the translation Um1

via1

## via is the deformation at

end i of element a

via
7.5
EIvia :=

15
[ ( 75) ]
6

## via1 is the deformation

at end i of element a1

7.5
EIvia1 :=

7.5
[ ( 37.5) ]
6

Page 300

EIUm1 = 1054.688

same as above!

w=10
1

15

P1 = Q 1 + Q 2

P2 =
Q2 := 125

## We solve with ease and obtain

Q2
5

with

+ 25

P1 = 0
P2 = 0

Q1 := 125

The following figure shows node and element equilibrium and the bending moment diagram.

50

83.33
125
66.67

83.33

66.67

50

133.33

wL2 8 = 281.25
125

M(x)

218.75

We can repeat the previous calculations for the vertical translation at the tip of the cantilever and the
midspan of element a noting, however, the that force-deformation relation for each element needs to
include the effect of the distributed load according to

v = f q + v0

where

L 2 1
f=

and
6 EI 1 2

w L 1
v0 =

24 EI 1

## We demonstrate for the tip of the cantilever.

3

15
10 15
EIV1 :=
( 2 Q1 ) +
6
24
3
5
10 5
EIV2 := ( 2 Q2 )
6
24
EIU2 := 5 ( EIV1 EIV2)

EIV1 = 781.25
EIV2 = 156.25
EIU2 = 3125

Page 301

## Prof. Filip C. Filippou, 2000

The geometric interpretation of this calculation is shown in the following figure of the deformed
shape of the beam

via

V2

V1

5( V1 V2 )

v ja1 via2

via1
7.5

7.5

## The vertical translation at midspan of element a can again be obtained from

Um1 =

with

7.5
( via2 vja1)
2

10 7.5
7.5
EIvia2 :=
[ 2 ( 218.75) ( 125) ]
6
24
3

EIvja1 :=
With this we get:

10 7.5
7.5
( 2 218.75) +
6
24
EIUm1 :=

7.5
( EIvia2 EIvja1)
2

EIUm1 = 4833.984

## Alternatively, by the direct geometric method we have used before

10 15
15
EIvia :=
[ ( 125) ]
6
24
According to the figure

10 7.5
7.5
EIvia1 :=
( 218.75)
6
24

Page 302

EIUm1 = 4833.984

same result!!

## Prof. Filip C. Filippou, 2000

B - Propped cantilever
We consider a relatively simple structure, known as a propped cantilever beam. The structure is subjected
to a concentrated force of 5 units at the tip of the cantilever.

5
a

10

30

The structure is statically indeterminate. Can you tell why? There are 2 free global dofs (or equilibrium
equations) and 3 unknown basic forces, as shown in the following figure.

dof 2

dof 1
a

3
NOS=1

Q1

Q2

## The equilibrium equations are relatively simple:

Q3

P1 = Q 2 + Q 3
Q3
P2 =
10

with

P1 = 0
P2 = 5

There is something very interesting going on here! There are two equations, and only two unknown basic
forces appear in these. Thus, given the applied forces it is possible to solve for the two unknown basic
forces and we get:

Q3 := 50

and

Q2 := 50

We have seen a similar case in the reduction of the free dofs in Example 3 (see page 3-4 and 3-5).
How are we supposed to determine the basic force Q1 ? By looking at the deformations of element a.
Recall from the force-deformation relations of the beam element that

Page 303

V1 = Q1

L
L
Q2
3 EI
6 EI

## since V1 is equal to zero at the fixed end of element a we conclude that

Q1 :=

V1 = 0

Q2

Q1 = 25

Thus, the moment at the fixed-end of a prismatic beam element is equal to 1/2 the moment acting at the
opposite end. This is known as carry-over moment and the factor 1/2 is known as carry-over factor
(tapered elements have different carry-over factors). The following figure displays this fact

0.5 M

We wish to calculate the vertical translation at the tip of the cantilever under the applied force of 5 units.
Let us first calculate the element deformations from the basic forces. To this end we use the element
deformation-force relation, i.e.

v = f q

where

f=

L 2 1

6 EI 1 2

instead of worrying about specifying a stiffness value EI, we will assume that both elements have the same
section stiffness EI. We will then calculate the EI-fold element deformations. We have:

30
( 2Q1 Q2)
6
30
EIV2 :=
( 2Q2 Q1)
6
EIV1 :=

EIV3 :=

10
( 2 Q3 )
6

EIV1 = 0

## of course, we knew this so we should not have bothered

EIV2 = 375
EIV3 = 166.67

In order to calculate the vertical translation at the tip of the cantilever we write the compatibility relations
(we can use the transpose of the above equilibrium equations, or simply write them down directly).

V2 = U1
V3 = U1

U2
10

thus, we can determine the translation U2 from the second compatibility relation after substituting U1 from
the first into the second. We get

U2 = 10( V2 V3 )

Page 304

## Prof. Filip C. Filippou, 2000

Since we have the EI-fold deformation values we can only get the EI-fold translation value.

## EIU2 := 10 ( EIV2 EIV3)

EIU2 = 5416.67

If we know the value of the stiffness EI, we can obtain the actual vertical translation value at the end.
Since EI is a very large number (e.g. in the range of 20,000 to 100,000 for consistent units of force and
length), it is clearly better to leave this division to the end and not divide every element deformation by EI,
since it is error prone dealing with very small numbers in hand calculations. The computer by contrast does
not mind at all.
There is some important information in the final result that we would like to bring to light. We have
determined the vertical translation at the tip of the cantilever under a force of 5 units. We now ask the
following question: what is the vertical translation value under a unit force? It is easy to see that the
basic forces are proportional to the applied force and would therefore be equal to 1/5 the values above.
The deformations would then also be equal to 1/5 the above values and the final translation would also be
equal to 1/5 of the above value. Assuming that the unit force acts in the positive direction (i.e. upward),
the translation would also be positive (i.e. upward) and have the value of 5416.67/5 = 1083.33/EI.
Thus, under a unit force at the tip of the cantilever the vertical translation is equal to 1083.33/EI. This is
known as the flexibility coefficient F22 of the propped cantilever. Why are there two subscripts for the
flexibility coefficient? The first subscript denotes the dof where the effect is measured and the second
subscript denotes the dof where the cause acts. Thus, F22 indicates the translation at dof 2 under a unit
force acting at dof 2. If this is the only dof where forces act in this structure (i.e. there is never a
concentrated moment acting at dof 1), then we will not be interested in any flexibility coefficients with second
subscript equal to 1.
How about if we are interested in the effect of a force at dof 2 on the rotation at dof 1. We have this value
already from the above analysis. It is equal to U1 for a force of -5 units.

EIU1 := EIV2

EIU1 = 375

thus, the rotation at dof 1 under a unit positive force acting at dof 2 will be equal to 375/5 = 75/EI.
Therefore, the flexibility coefficient F12 of this structure is 75/EI. Flexibility coefficients play an important role
in condition assessment of structures (think for example that the propped cantilever is a bridge, that you
place a truck at the tip and are able to measure the tip translation and the rotation at the free support; this
allows you to determine the stiffness of the bridge; by comparing with the ideal stiffness value you may be
able to determine how much damage the bridge has sustained (note that stiffness reduction is a common
damage measure in structures).
Let us now think of another interesting
application of the flexibility coefficient. Say
that we want to estimate the vibration
frequency of the propped cantilever under
the assumption that the vibratory mass is
located at the tip. In this case we need the
spring stiffness under the mass. This means
that we only care about the cause-effect
(force-displacement) relation at dof 2. This
is supplied by flexibility coefficient F22. The
inverse of this coefficient is the spring
stiffness K. Given the mass M we may recall
from Physics that the frequency of vibration
of this single dof spring-mass system is

EI

EI

30

10
single dof
M

Page 305

K
M

K = EI/1083

## Prof. Filip C. Filippou, 2000

Let us now try to determine the midspan deflection in element a under the given applied force of 5 units at
the tip of the cantilever. How do we proceed?
First, we draw the moment diagram in element a. Since we wish to determine the translation at midspan
we insert a node m into the middle of element a, as shown in the following figure. This splits the element
into two elements a1 and a2. We denote the degrees of freedom at the new node with m1 and m2.

5
2

b
10

30
m1
a1

a2

vja1 = Um2
via2 = Um2 +

Um1
15
Um1
15

## where ja1 stands for end j of element a1

and ia2 stands for end i of element a2.

m2
1

## We can see clearly from the above

two equations that the vertical translation
can be obtained by subtracting the first
equation from the second. We get

30

50
12.5

Um1 =

15
( via2 vja1)
2

## To determine via2 and vja1 we use

the end moments in element a1 and a2.
We obtain:

25

15
[ 2 12.5 ( 50) ]
6
15
EIvja1 :=
[ 2 12.5 ( 25) ]
6
EIvia2 :=

## With this we get:

EIUm1 :=

15
( EIvia2 EIvja1)
2

EIUm1 = 1406.25

and we observe that the translation is positive, which means that the point moves upward under the applied
force of 5 units at the tip of the cantilever. If we were interested in the flexibility coefficient between the
vertical translation dof m1 and the applied force dof 2, we can obtain it from

Fm1.2 =

1406.25
281.35
=
5 EI
EI

## we reiterate that this is the translation at dof m1 under a unit force

at dof 1; the negative sign means that the translation is downward
for a unit force acting upward at dof 1

Page 306

## Script for Example 24 in CE220 class notes

% statically determinate simply supported beam with overhang

## Clear workspace memory and initialize global variables

CleanStart

Create model
% specify node coordinates (could only specify non-zero terms)
XYZ(1,:) = [ 0
0]; % first node
XYZ(2,:) = [ 7.5
0];
XYZ(3,:) = [ 15
0]; %
XYZ(4,:) = [ 20
0]; %
% connectivity array
CON {1} = [ 1
2];
CON {2} = [ 2
3];
CON {3} = [ 3
4];
% boundary conditions (1 = restrained,
BOUN(1,:) = [1 1 0];
BOUN(3,:) = [0 1 0];
% specify element type
ne = length(CON);
[ElemName{1:ne}] = deal('Lin2dFrm');

0 = free)

## % 2d linear frame element

% create model
Model = Create_SimpleModel (XYZ,CON,BOUN,ElemName);

## Post-processing functions on Model (optional)

Create_Window (0.80,0.80);
Plot_Model (Model);
Label_Model (Model);

## % open figure window

% plot model (optional)
% label model (optional)

## Define element properties

ne = Model.ne;
%
% Modulus, area and
for el=1:ne;
ElemData{el}.E =
ElemData{el}.A =
ElemData{el}.I =
end

## number of elements in structural model

moment of inertia
1000;
10;
100;

## % value is not used, it is thus irrelevant

% 1. Load case: vertical nodal force at tip of overhang
Pe(4,2) = -15;
% nodal forces at free dofs

Page 307

## set up equilibrium matrix

B = B_matrix(Model);
% extract free dofs
Bf = B(1:Model.nf,:);
% determine force influence matrix
Bbar = inv(Bf);

solution
% determine basic forces from equilibrium equations
Q = Bf\Pf;
% display basic forces
disp('the basic forces are')
disp(Q)
the basic forces are
0
0
-37.5000
0
37.5000
-75.0000
0
75.0000
0

plotting
% open window and plot moment diagram
Create_Window(0.80,0.80);
Plot_Model (Model);
% observe that the second argument is empty [] in the following function call
Plot_2dMomntDistr (Model,[],Q);

## set up collection of flexibility matrices

Fs = Fs_matrix(Model,ElemData);

V = Fs*Q;

## determine global dof displacements

% free global dof displacements
Uf = Bbar'*V;
disp('the free dof displacements are')
disp(Uf)
the free dof displacements are
0.0019
0
0.0105
0.0005

Page 308

0
-0.0038
0
-0.0250
-0.0056

## plot deformed shape of structural model

% put free dof displacement values in complete displacement vector
U = zeros(Model.nt,1);
U(1:Model.nf) = Uf;
MAGF = 50;
% magnification factor for deformed configuration
Create_Window(0.80,0.80);
Plot_Model(Model);
Plot_DeformedStructure(Model,[],U);
clear Pe;
% use equivalent nodal forces to determine the basic forces
Pe(1,2) = -10*7.5/2;
Pe(2,2) = -10*7.5;
Pe(3,2) = -10*7.5/2 - 10*5/2;
Pe(4,2) = -10*5/2;
% nodal forces at free dofs

## specify distributed load value in ElemData

for el=1:ne;
ElemData{el}.w = [0;-10];
end

solution
% determine basic forces from equilibrium equations
Q = Bf\Pf;
% display basic forces
disp(Q)
0
0
218.7500
0
-218.7500
-125.0000
0

Page 309

125.0000
0

plotting
% open window and plot moment diagram
Create_Window(0.80,0.80);
Plot_Model (Model);
% observe that the second argument is ElemData in this case
Plot_2dMomntDistr (Model,ElemData,Q);

## determine element deformations due to Q

% set up first initial deformations due to w
V0 = V0_vector(Model,ElemData);
% element deformations
V = Fs*Q + V0;

## determine global dof displacements

% free global dof displacements
Uf = Bbar'*V;
disp('the free dof displacements are')
disp(Uf)
the free dof displacements are
-0.0109
0
-0.0483
0.0008
0
0.0078
0
0.0313
0.0057

## plot deformed shape of structural model

% put free dof displacement values in complete displacement vector
U = zeros(Model.nt,1);
U(1:Model.nf) = Uf;
MAGF = 50;
% magnification factor for deformed configuration
Create_Window(0.80,0.80);
Plot_Model(Model);
Plot_DeformedStructure(Model,ElemData,U);

Page 310

## Example 25- Force-displacement for statically determinate truss

In this example we will set up the relation between applied forces at the free dofs of a statically
determinate structural model and the corresponding displacements. To this end we will go through the
entire process of structural analysis: equilibrium equations, compatibility relations, and force-deformation
relations for each element. The following figure shows the simple truss model with the numbering of the
free dofs and basic forces.
3
d

15

Q5

Q2

Q3

Q1

EA := 10000

## The axial stiffness of all truss elements is the same:

Length of truss elements

Q4

La := 8

Lb := 6

Lc := 6

Ld := 8

Le := 10

Equilibrium equations

P1 = Q1 + 0.8 Q5

## corresponding equilibrium matrix

1
0

Bf := 0
0

P2 = Q4 0.8 Q5
P3 = Q2 + 0.6 Q5
P4 = Q 4
P5 = Q 3

0 0 0

0.8

1 0 0

0.6

0 0 1 0.8

0 0 1

0 1 0

Generic solution of equilibrium equations (i.e. for a force at any dof) yields the force influence matrix Bbar

Bbar := Bf 1

Bbar

1 1 0 1
0 0.75 1 0.75

= 0
0
0
0
0 0 0 1

0 1.25 0 1.25
Page 311

1
0

0
0

## Prof. Filip C. Filippou, 2000

The force influence matrix identifies the most highly stressed elements and plays important role in
optimization, system identification, damage detection, etc. We have already encountered this matrix in the
first example of this course.
Typically, in homework problems we solve for a specific load case , while we may be interested in several
load cases in practice. In this example the applied loading consists of a force of 15 units at dof 4. Having
the force influence matrix Bbar we can obtain the corresponding truss element forces by multiplication. For
a single load case it is more expedient to solve the equilibrium equations "by hand" and obtain Q directly.
However, the force influence matrix plays an important role in the determination of the flexibility matrix for
the structure, so we keep it under consideration for a little longer.

0
0

Pf := 0
15

0

## we get the basic forces

Q := Bbar Pf Q

15
11.25

= 0
15

18.75

Note that the basic forces for this load case are equal to the 4th column of the force influence matrix
multiplied by 15. We reiterate that the columns of the force influence matrix represent the effect of a
unit force at the corresponding dof on the basic forces of the structural model.
Element deformations
With all basic force values established we obtain the corresponding element deformations from the
force-deformation relation of each element. We can do this "long hand" or we can write it in compact
form, as we will see in a moment. For reasons of computational convenience in hand calculations we
determine the EA-fold value of the element deformations and delay the division by EA until the end.
Applying the force-deformation relation element by element means:

V1 =
V2 =
V3 =
V4 =
V5 =

Q1
EA
Q2
EA
Q3
EA
Q4
EA
Q5
EA

La
Lb
Lc
Ld
Le

## if we have a matrix toolbox

at our disposal we organize
these relations in compact
form as follows

La
0
0
0
0
EA

V 1 0 Lb 0 0 0 Q 1

EA
Q2
V2

Lc

V = V3 = 0
0
0
0 Q3 =

EA
Q
V4
4
0 0 0 Ld 0
Q5
V5
EA

Le

0 0 0 0 EA

Fs Q

Since each truss element deformation only depends on the corresponding basic force, the resulting matrix
is diagonal. We call this matrix Fs . It represents the collection of element flexibilities f = L/EA for the truss
elements of the entire structural model.

Page 312

## Prof. Filip C. Filippou, 2000

We can see from the above relations that it is convenient to factor out EA from the Fs matrix and write it as

La

0
1
Fs =
0
EA
0

Lb 0

Lc 0

0 Ld

0
0

Le

## if the truss elements have different axial stiffness values, we

can still factor out a reference value (e.g. the highest value or
the one common to most elements), and then include the axial
stiffness ratio in the diagonal terms. The advantage of this for hand
calculations is significant. We are dealing with "normal" numerical
values that we can handle easier.

This leads to the idea of determining the EA-fold element deformations, i.e. the EA-fold matrix F s . We have:

EAV1 = Q1 La
EAV2 = Q2 Lb
EAV3 = Q3 Lc

or in compact form,

EAV = EAFs Q

EAV4 = Q4 Ld
EAV5 = Q5 Le

with

La

0
EAFs = 0

Lb 0

0
0
0

Lc 0

0 Ld 0

0 0 Le

## Let us get some numerical values.

Q1

Q2
Q3 :=

Q4

Q5

EAV1 := Q1 La

EAV1 = 120

EAV2 := Q2 Lb

EAV2 = 67.5

EAV3 := Q3 Lc

EAV3 = 0

EAV4 := Q4 Ld

EAV4 = 120

EAV5 := Q5 Le

EAV5 = 187.5

Note: Mathcad has a nice feature that allows us to express any numerical value in terms of any variable
(just like units). If we have Mathcad around for all our calculations, we can therefore proceed as follows:

Page 313

## Prof. Filip C. Filippou, 2000

Define the collection of element flexibility matrices for the entire structure

La

Fs := 0

Lb 0

1
0
EA
0 Ld 0

Lc 0

Le

12
6.75

3
V = 0
10
12

18.75

120
67.5

1
V = 0

120 EA

187.5

V := F s Q

## note that we factored out 10 -3

in which case we obtain the EA-fold values of the element deformations in the vector (compare with the
values in the preceding page).

Page 314

## Global dof displacements - Compatibility relations

We write the compatibility relations for the structural model. We can do this directly, or simply use the
transpose of the equilibrium relations. We have:
dof 3

dof 5

dof 2
d

dof 4

V1 = U1
V2 = U3
V3 = U5

V 4 = U 2 + U 4
V5 = 0.8 U1 0.8 U2 + 0.6 U3
or,
dof 1

V = Af Uf

1 0
0 0

Af := 0
0
0 1

0.8 0.8

with

0 0

0 0

0 0 1
0 1 0

0.6 0 0

and we observe again that the compatibility matrix is the transpose of the equilibrium matrix
to solve for the displacements in terms of the element deformations we need to solve the system of the
compatibility relations; we do this by hand and in the process obtain the inverse of the compatibility matrix

U1 = V1
U3 = V2
U5 = V3
U2 = U1 + 0.75 U3 1.25 V5 = V1 + 0.75 V2 1.25 V5
U4 = U2 + V4 = V1 + 0.75 V2 + V4 1.25 V5

Page 315

## we compare with the inverse of the compatibility matrix

1 0 0 0 0
1 0.75 0 0 1.25

Uf := 0
1 0 0
0 V
1 0.75 0 1 1.25

0
0
1
0
0

thus,

Af

1 0 0 0 0
1 0.75 0 0 1.25

= 0 1 0 0
0
1 0.75 0 1 1.25

0
0
1
0
0

and we get, of course, the same answer, which means that we can compete with Mathcad for this small
problem. For a larger one, we are unfortunately completely outmatched.
We also note that the inverse of the compatibility matrix is equal to the transpose of the force influence
matrix Bbar.

Bbar

1 0 0 0 0
1 0.75 0 0 1.25

= 0 1 0 0
0
1 0.75 0 1 1.25

0
0
1
0
0

## this is to be expected of course, since Bbar is the inverse of the

equilibrium matrix which is the transpose of the compatibility matrix.
You may recall from linear algebra that the inverse and transpose
operations are interchangeable, i.e. we can take them in any order.

T
Uf = Bbar V

and note that we have obtained this relations from the solution of the compatibility relations.
T
We can explain the relation Uf = Bbar V directly with the principle of virtual forces.
Given the element deformations V we seek a system of virtual basic forces in equilibrium with a unit virtual
force at the dof whose displacement we wish to determine. For a unit force at dof 1 the virtual basic force
values are equal to the first column of the force influence matrix (after all we reiterate that the entries of
that column represent the basic forces in the structure under a unit force at dof 1). For a unit force at dof 2
we get the second column, etc, etc. If we are interested in the displacement of a particular dof only, this
may be for some a slightly faster way of getting the answer than solving the compatibility relations. Let us
demonstrate for dof 2.
The equilibrium equations to solve with a unit force at dof 2 are:

0 = Q1 + 0.8 Q5

## These equations are relatively easy to solve:

the last two give immediately Q4 and Q3 ,

1 = Q4 0.8 Q5

## then the second gives Q5 and then the other

two give directly the values for Q2 , Q1 . The
complete vector of virtual basic forces is

0 = Q2 + 0.6 Q5
0 = Q4
0 = Q3

Page 316

1
0.75

:= 0
0

1.25

## Thus, the horizontal translation at dof 2 is by the principle of virtual forces

T
U2 := Q V

3
U2 = 40.5 10

U2 = 405

or in terms of EA

1
EA

## for hand calculations we would use

EAU2 = 405

same as above

Since we have obtained the complete force influence matrix, we can determine all dof displacements. We get

T
Uf := Bbar V

Uf

12
40.5

3
= 6.75 10
52.5

## or, in EA-fold form

Uf

120
405

1
= 67.5
525 EA

This leads to the following generalization: we have obtained the displacements at all dofs under a force of
15 units at dof 4. If there was only a unit force acting at dof 4, then the displacements would be 15 times
smaller. Let us calculate these for later reference

1
Uf
15

8
27
1
= 4.5
35 EA

0

we reiterate that these are the displacements at all five dofs under a unit force at
dof 4. Let us summarize how we determined them: (a) a unit force at dof 4 gives
basic force values Q equal to the 4th column of the force influence matrix Bbar; (b)
with these values we calculate the deformations in all elements by Fs *Q, (c) finally,
T
we obtain the displacements at all dofs by the relation Bbar V. Putting the whole
process together we conclude that the displacements under a unit force at dof 4
are given by

8
27
1

T
Bbar F s Bbar 4 = 4.5
35 EA

0

## which gives the same result, of course

Repeating the process for a unit force at dof 1 will give another 5 displacement values, and another 5 for dof
2 and so on. Thus, for a unit force acting at any one of the 5 free global dofs of the structural model we get

T
F := Bbar Fs Bbar

0.8
0.8

= 0
0.8

0.8

0.8

0 10

0

0.6

Page 317

or, F

8
8

= 0
8

4.5

27 4.5 27 0

4.5 0

27 4.5 35 0
0

EA

## Flexibility matrix of structural model

As the name suggests, the typical term (i,j) of the flexibility matrix of the structural model represents the
displacement at dof i under a unit force acting at dof j. This matrix is, therefore, a representation of the
deformation-force behavior of the entire structure and can be considered a material property of the
structural model much like 1/E is the material flexibility or compliance and f is the element flexibility matrix.
The inverse of the flexibility matrix of the structural model gives the stiffness matrix of the structural model
(we have seen this process in action at the element level between element flexibility and stiffness matrix).
The entry (i,j) of the stiffness matrix represents the force at dof i under a unit displacement of dof j. This
means that only the particular dof j is activated with a unit value, while the other dofs are equal to zero. To
accomplish this feat forces are typically required at the dofs, both the activated one and those held fixed.
If we are interested in the stiffness matrix for all dofs, we have
Complete stiffness matrix of structural model

K := F

1.89
0.64

= 0.48
0

## 1.89 0.48 1.25

0
3
0.48 2.027
0
0 10
1.25
0
1.25
0

0
0
0
1.667
0.64 0.48

The usefulness of the flexibility matrix comes into full play, however, if we are interested in the interaction
between a few specific dofs among the many dofs of the structural model. Let us say, for example, that we
are only interested in the interaction between dofs 2 and 3 (e.g. when forces are applied only at these dofs
of the structural model).
To extract the corresponding flexibility matrix all we have to do is extract the terms at the intersection
of the second and third row and column. We have
flexibility matrix for dofs 2 and 3

F2 , 2

F23 :=
F3 , 2

F
F

2,3

3,3

F23 =

2.7 0.45 3

10
0.45
0.6

F23 =

27 4.5 1

4.5 6 EA

Now, the inverse of the flexibility matrix for dofs 2 and 3 is known as the condensed stiffness matrix of the
structural model for dofs 2 and 3. We obtain
Condensed stiffness matrix for specific dofs
condensed stiffness matrix for dofs 2 and 3

1
K23 := F 23

K23 =

0.423 0.317 3

10

0.317
1.905

We note that the stiffness coefficients are very different from those at the intersection of the second and
third row and column of the complete stiffness matrix. Why? Let us explain with the help of the entry at the
intersection of the third row and third column. In the complete stiffness matrix this coefficient (2027)
represents the force at dof 3 necessary to impose a unit displacement at the same dof 3, while all other dofs
are held fixed. In the condensed stiffness matrix, this coefficient (1905) represents the force at dof 3
necessary to impose a unit displacement at the same dof 3, while dof 2 is held fixed, but all other dofs are
relaxed to assume the values that satisfy force equilibrium at dofs 1, 4 and 5. Consequently, the stiffness
coefficient on the diagonal of the condensed stiffness matrix is smaller.
Conclusion: Static condensation of a stiffness matrix is very conveniently performed with access to the
flexibility matrix of the structural model.

Page 318

## Script for Example 25 in CE220 class notes

% Solution for statically determinate truss

CleanStart

Create model
% specify node
XYZ(1,:) = [
XYZ(2,:) = [
XYZ(3,:) = [
XYZ(4,:) = [

## coordinates (could only specify non-zero terms)

0
0]; % first node
8
0]; % second node, etc
0
6]; %
8
6]; %

% connectivity array
CON {1} = [ 1
2];
CON {2} = [ 1
3];
CON {3} = [ 2
4];
CON {4} = [ 3
4];
CON {5} = [ 2
3];
% boundary conditions (1 = restrained,
BOUN(1,:) = [1 1 0];
BOUN(2,:) = [0 1 0];
% specify element type
[ElemName{1:5}] = deal('Truss');

0 = free)

## linear truss element

% create model
Model = Create_SimpleModel (XYZ,CON,BOUN,ElemName);

## Post-processing functions on Model (optional)

Create_Window (0.80,0.80);
Plot_Model (Model);
Label_Model (Model);

## % open figure window

% plot model (optional)
% label model (optional)

## Define element properties

ne = Model.ne;
% number of elements in structural model
% Modulus and area
for el=1:ne;
ElemData{el}.E = 1000;
ElemData{el}.A = 10;
end

Page 319

% horizontal force at node 4
Pe(4,1) = 15;
% nodal forces at free dofs

## set up equilibrium matrix

B = B_matrix(Model);
% extract free dofs
Bf = B(1:Model.nf,:);
% invert Bf to obtain Bbar
Bbar = inv(Bf);

solution
determine basic forces from equilibrium equations
Q = Bbar*Pf;
% display result
disp('truss forces Q under applied horizontal force')
disp(Q);
truss forces Q under applied horizontal force
15.0000
11.2500
0
15.0000
-18.7500

plotting
open window and plot axial force diagram
Create_Window(0.80,0.80);
Plot_Model (Model);
Plot_AxialForces (Model,Q);

## set up collection of flexibility matrices

Fs = Fs_matrix(Model,ElemData);
V = Fs*Q;

## determine global dof displacements

% free global dof displacements

Page 320

Uf = Bbar'*V;
disp('the free dof displacements are')
disp(Uf)
the free dof displacements are
0.0120
0.0405
0.0067
0.0525
0

## plot deformed shape of structural model

put free dof displacement values in complete displacement vector
U = zeros(Model.nt,1);
U(1:Model.nf) = Uf;
MAGF = 20;
% magnification factor for deformed configuration
Create_Window(0.80,0.80);
Plot_Model(Model);
Plot_DeformedStructure(Model,[],U);

determine flexibility matrix (gives global dof displacement to applied force relation)
F = Bbar'*Fs*Bbar;
% display flexibility matrix
disp('flexibility matrix of truss (x 1000)')
disp(F.*1000);
% determine displacements at free dofs for this particular loading (should be
the same as above)
Uf = F*Pf;
% display displacements
disp('free dof displacements Uf under applied nodal force')
disp(Uf);
flexibility matrix of truss (x 1000)
0.8000
0.8000
0
0.8000
0
0.8000
2.7000
0.4500
2.7000
0
0
0.4500
0.6000
0.4500
0
0.8000
2.7000
0.4500
3.5000
0
0
0
0
0
0.6000
free dof displacements Uf under applied nodal force
0.0120
0.0405
0.0067
0.0525
0

Page 321

## Example 26 - Force-displacement relations for frame with hinge

In this example we investigate the force-displacement relations for the simple portal frame with hinge whose
equilibrium we studied in Example 4 and whose compatibility relations we studied in Example 12.
We seek to determine the translations and rotations at the nodes of the frame in the following figure under
5

5
2

12

10

5
1
8

Length of elements

La := 12

Lb := 8

Lc := 8

Ld := 10

Under the assumption that axial deformations can be neglected in all elements, we have the independent
free global dofs in the following figure.
4
3
b

5
c

d
a

7
1

Page 322

## Prof. Filip C. Filippou, 2000

The compatibility relations are (the numbering of the locations for these is shown in the following figure)

V1 = U1 +
V2 =

U2
La

(*)

La

U4

U4
Lb

d
a

+ U5 (*)

Lb
U4
V5 =
+ U6
Lc
U2
V6 =
+ U6
Ld
U2
V7 =
+ U7
Ld

7
1

(*)

Af := 0

+ U3

V3 = U3
V4 =

U2

1
0
La

1
1
La

0 0 0
0 0

1
0 0
Lb

1
1 0
Lb

1
Lc

0 1

1
0
Ld

0 1

1
0
Ld

0 0

Af

= 0

Page 323

1
0
12

1
1
12

0 0 0
0 0

1
0 0
8

1
1 0
8

1
8

0 1

1
0
10

0 1

1
0
10

0 0

## Prof. Filip C. Filippou, 2000

The equilibrium matrix Bf for the corresponding dofs and basic forces is the transpose of the structural
compatibility matrix Af.

T
Bf := Af

Bf

1
12
0

=
0

0
0

1
12

1 1
0
10 10

1
1 1

8
8 8

## and the equilibrium equations can be written out as follows

P1 = Q 1
P2 =

Q1
La

Q2
La

Q6
Ld

Q7
Ld

P3 = Q 2 + Q 3
Q3 Q4 Q5
P4 =

+
Lb Lb Lc
P5 = Q 4
P6 = Q 5 + Q 6

0
5

0
Pf := 0

0
0

0

Pfw

0
0

0
:= 20

0
0

0

P7 = Q 7
there are three uncoupled equations above, namely #1, #5 and #7, which we solved by inspection in
Example 4, concluding that the corresponding basic forces are zero in the absence of applied moments at
the corresponding dofs. This led us in Example 4 to a system of 4 equations in 4 unknowns which could be
readily solved. Here we do not bother with this simplification and let Mathcad's lsolve function do the work.
With the system of linear equilibrium equations to be solved
we obtain the solution for the basic forces Q with

Pf = Bf Q + Pfw

Q := lsolve [ Bf , ( Pf Pfw ) ]

and we list the transpose of the basic force vector Q to save space
T
Q = ( 0 60 60 0 100 100 0 )

Page 324

## Prof. Filip C. Filippou, 2000

With these basic forces we can determine the corresponding deformations by the deformation-force relation
of each element. We have under the assumption that the flexural stiffness is EI = 50,000

EI := 50000
V1 :=

V2 :=

V3 :=

V4 :=

V5 :=

V6 :=

V7 :=

La

w := 5

6 EI (
La

2 Q Q

6 EI (
Lb

2 Q Q

6 EI (
Lb

6 EI
Ld

2 Q Q

6 EI (
Ld

2 Q Q

6 EI (
Lc

2 Q

1
EI

2)

V1 = 120

1)

V2 = 240

4)

V3 = 160

1
EI

V4 = 80

1
EI

w Lc

+
5)
24 EI

V5 = 160

1
EI
3

V3 = 3.2 10

1
EI

1
V6 = 333.33
EI

2 Q Q

6)

V7 = 166.67

2 Q Q

6 EI (

1
EI

or, in a vector

V1
V2

V3

V := V 4

V5

V6
V7

## A couple of observations are in order:

1. In this example every element has one end with zero moment. In the absence of a distributed element
load the deformation at the end with no moment is -1/2 of the deformation value at the other element end.
2. It is very useful to factor out the stiffness EI and not bother dividing every deformation by this large
value. In Mathcad this can be done by inserting the 1/EI term like a unit at the end of the result. If we are
interested to see the actual numerical value, we can leave this out, as shown for V3 .
3. We should not forget to include the effect of the distributed element load on the element deformations.
This is the case with V 5 , which belongs to end j of element c.

Page 325

## Prof. Filip C. Filippou, 2000

With the element deformation values we can use the compatibility relation to determine the global dof
displacement values. We can do this by hand, working carefully to isolate individual dofs by elimination of
the others, but we will do this later when we work with the smaller set of dofs, and so here we just use the
capabilities of Mathcad to give us the result.

from

V = Af Uf

Uf := lsolve ( Af , V)

we get

Uf

77.58
509.09

282.42
1
= 3539.39

EI

522.42

282.42

217.58

We can express the whole process in very compact form noting that we solved a system of linear equations
involving Bf or its transpose Af twice (once for the equilibrium equations and the second time for the
compatibility equations). Recalling from Example 2 that the inverse of the equilibrium matrix Bf is the force
influence matrix Bbar we can write the process in very compact form as follows.
for the solution of the equilibrium equations

Q = Bbar ( Pf Pfw )

V = Fs Q + Vo

## and for the solution of the compatibility relations we write

( )

T
T 1
Uf = Af 1 V = Bf
V = Bf 1 V = BbarT V

## we combine these three steps and get

the expression

T
Uf = Bbar V

T
T
Uf = Bbar Fs Bbar ( Pf Pfw ) + Bbar Vo

T
Bbar F s Bbar represents the flexibility matrix F of the structural model
T
F = Bbar F s Bbar

## with it we can write compactly

T
Uf = F ( Pf Pfw ) + Bbar Vo

So, let us see how this flexibility matrix looks. For this let us first get Bbar

Page 326

Bbar := Bf 1

La

La
0
0
0
0
3 6 0

La La

0
0
0
0
0
6 3

Lb
Lb

0
0

0
0
0

3
6

Lb Lb
1
Fs :=
0
0
0
0
0

EI
6
3

Lc
0
0
0
0
0
0
3

Ld
Ld
0
0
0
0
0

3
6

Ld Ld
0

0
0
0
0
6
3

## and here comes the flexibility matrix !

T
F := Bbar Fs Bbar

8.44
42.31

0.29
= 12.03

2.11
2.72

4.99

4.99

2.72

12.23

19.5 46.78

9.59

2.98

14.15

1.16

0.56

1.72

39.67

14.15 206.28

31.6

16.09

2.09

12.23

1.16

7.34

2.74

0.47

## 19.5 0.56 16.09 2.74

3.47

1.19

46.78 1.72

1.19

8.92

31.6
2.09

0.47

1
EI

What do all these numbers mean? A matrix is a doubly subscripted array. In the case of the flexibility matrix
both subscripts correspond to dof numbers: the first subscript corresponds to the displacement dof and the
second subscript to the force dof. Thus, the flexibility coefficient Fij expresses the effect of a unit force at dof
j on the displacement at dof i. The larger this number the "softer" is the corresponding interaction, i.e. the
larger the effect under a unit force at dof j.
Studying the above matrix we note that the diagonal terms are positive and this is always the case. A unit
force at a certain dof causes a translation in the direction of the unit force. By contrast, off diagonal terms
can be either positive or negative. We also note that a few terms are a lot larger than others, e.g. the
second and 4th diagonal term. These correspond to the translation dofs and they are larger because
translations have units of length, while rotations are dimensionless (i.e. length/length). So, while rotations
can be scaled from a structure of one size to another, translations always carry the dimensions of the
structure which makes for the discrepancy in the magnitude of the flexibility coefficients. We have already
noted this difference in magnitude when commenting on the values of the free dof displacement vector.

Page 327

## Prof. Filip C. Filippou, 2000

The most important property of the flexibility matrix is, of course, its symmetry! This means that a unit force
at dof i produces the same effect at dof j, as a unit force at dof j produces at dof i. This is known as
Maxwell's Reciprocal Theorem (this is the same James Clerk Maxwell of electro-magnetic fame).
Another interesting property of the flexibility matrix is that we can isolate the effect of dofs of interest by
simply extracting them from the matrix. As an example let us say that we are not interested in the effect of
moments on the portal frame (e.g. because there will not be such actions ever). In this case we are only
interested in the effect of forces at the translation dofs. We can set up a reduced force influence matrix
Bbar' that contains only the second and fourth column, since the other columns are irrelevant and will
never be of use. Let us see what this looks like

0
5.45

5.45

Bbar 2 = 0

5.45

5.45

## these are the forces Q

due a unit force at dof 2

0
4.36

4.36

Bbar 4 = 0

3.64

3.64

## these are the forces Q

due a unit force at dof 4

Bbar' 1 := Bbar 2

Bbar' 2 := Bbar 4

now we can calculated the flexibility matrix for the effects of interest. We denote this flexibility matrix F', since
it does not involve all dofs of the structural model. We have
T
F' := Bbar' F s Bbar'

F' =

376.86 39.67 1

39.67 206.28 EI

and we observe that it corresponds exactly to the coefficients (2,2), (2,4), (4,2) and (4,4) of the complete
flexibility matrix. If had known from the beginning that applied moments at dofs 1, 3, 5, 6 and 7 were of no
interest, we would have set up just the flexibility matrix F' (and of course just the reduced force influence
matrix Bbar').
Having focused attention on just the dofs of interest we can study the flexibility coefficients for dofs 2 and 4
more carefully. We observe two things:
1. Dof 2 is more flexible than dof 4, i.e. a unit force a dof 2 causes a larger translation in that direction than
is the case with a unit force at dof 4 (in fact, a little more than 1.5 times larger as we can tell from the
flexibility coefficients 376.86 and 206.28).
2. The "coupling" between dofs 2 and 4 is not particularly strong, i.e. a unit force at dof 2 causes a relatively
small effect on dof 4 and vice versa. Interestingly, if the column on the right (i.e. element d) were as tall as
the column on the left, there would be no coupling on account of symmetry and anti-symmetry (more on the
subject later in the course).

Page 328

## Solution with reduced number of degrees of freedom

We have done a lot of work with large vectors and matrices above without really taking advantage of the fact
that the basic forces Q1 , Q4 and Q7 are always equal to zero, when no forces are applied at dofs 1, 5 and 7.
While this may not be important with matrix software, it is always more insightful, and also more economic
when solving the problem "by hand". Let us therefore show the solution
The following figure shows the set of reduced free dofs (consult also Examples 4 and 12).
dof 3

dof 2

dof 4

Q3

Q2

dof 1

Q4

Q1

d
a

P1 =

Q1
La

Q4
Ld

P2 = Q 1 + Q 2
Q2 Q3
P3 =
+
Lb Lc

with

P4 = Q 3 + Q 4

1 0 0 1

Ld
La

1 1 0 0
Bf :=

0 1 1 0
Lb Lc

0 0 1 1

5

0
Pf :=
0

0

Pfw

0

0
:=
20

0

or, numerically

Page 329

Bf

1
12
1
=
0

1 1

8 8
0

10
0

V1 =

U1
La

+ U2

V2 = U2

V3 =

U3

V4 =

Lb

U3
Lc
U1
Ld

+ U4
+ U4

La

0
Af :=

1
Ld

1
1
0
Lb

1
0
1
Lc

0 0 1

## and we note, of course, that the

transpose of the compatibility matrix
is equal to the equilibrium matrix

T
Af

1 0 0
12
1 1 0
=
0 1 1
8 8

0 0 1

We determine the basic forces for the given loading. "By hand" we have

5=

Q1
12

Q4
10

0 = Q1 + Q2
Q2 Q3
0=
+
+ 20
8
8

## substitute Q2 and Q3 in terms of Q1 and Q4

20 =

0 = Q3 + Q4
from equations #1 and #3 solve for Q1 and Q4
so that

Q1 := 60

Q4 := 100

Q2 := Q1

Q3 := Q4

Q1
Q2
Q :=

Q3
Q4

Page 330

Q1
8

Q4
8

10
0

## the corresponding element deformations now are

V1 :=
V2 :=

V3 :=

V4 :=

La

6 EI (

2 Q

Lb

6 EI (

2 Q

Lc

6 EI (

2 Q

Ld

6 EI (

2 Q

1)

V1 = 240

2)

V2 = 160
w Lc

1
EI

1
EI

1
EI

+
3)
24 EI

V3 = 160

4)

V4 = 333.33

1
EI

If we are interested in the horizontal translation at dof 1 and vertical translation at dof 3 we can obtain
these from the compatibility relations

V1 =

U1
12

+ U2

V2 = U2

U3
8

V3 =
V4 =

U3
8
U1
10

+ U4
+ U4
V1 V2 =

V3 V4 =

U1
12
U3
8

U3
8
U1
10

V1 V2 ( V3 V4) =

U1
12

U1
10

U1 :=

and finally

120
( V1 V2 V3 + V4)
22

U1 = 509.09

## and we can obtain in similar fashion U3 or simpler

1
EI

U3 := 8 ( V1 V2 )

same as before

8
U1
12

U3 = 3539.394

Returning to the four original compatibility relations we can then obtain U2 and U4 , if interested.

Page 331

1
EI

## Prof. Filip C. Filippou, 2000

How can we determine the node rotations that have not been included in the free dofs? By geometry
The following figure shows the deformed shape of the structural model under the given loading. We can
see that the rotation of an "unrestrained" node, i.e. a node with only one continuous element connection
can always be determined from the chord rotation of the element with the continuous connection to the
node and the element deformation (i.e. the node rotation is equal to the tangent rotation of the element)

1
Thus, for rotation of node 1:

U1
La

( Q 1 ) La
6 EI

= 77.58

1
EI

## chord rotation of element b + deformation at end j of element b

U3
Lb
for rotation of node 5

( Q 2 ) Lb
6 EI

= 522.42

1
EI

U1
Ld

( Q 4 ) Ld
6 EI

= 217.58

1
EI

## compare with value on page 5

The hinge rotation at node 3 can be determined from the difference of the angles of the tangent to the
deformed shape of element c and the tangent to the deformed shape of element b (the latter is equal to
the rotation of node 3).

Page 332

## Script for Example 26 in CE220 class notes

%statically determinate portal frame (three hinge frame)
% use input data of Example 4
Example_4_mod
the basic forces are
-7.5000
0
-60.0000
-10.0000
60.0000
0
-10.0000
0
-100.0000
-32.5000
100.0000
0

## Define element properties

ne = Model.ne;
%
% Modulus, area and
for el=1:ne;
ElemData{el}.E =
ElemData{el}.A =
ElemData{el}.I =
end

## number of elements in structural model

moment of inertia
1000;
1e6;
100;

## set up collection of flexibility matrices

Fs = Fs_matrix(Model,ElemData);
% set up first initial deformations due to w
V0 = V0_vector(Model,ElemData);
% determine element deformations
V = Fs*Q + V0;

## determine global dof displacements

% free global dof displacements
Bbar = inv(Bf);
% use deformations at iq locations, since Bbar is set up for iq basic forces
Uf
= Bbar'*V(iq);
disp('the free dof displacements are')
disp(Uf)
the free dof displacements are
0.0008
0.0051
-0.0000
-0.0028
0.0051
-0.0354
-0.0052
0.0051
-0.0000
0.0028
-0.0022

Page 333

## plot deformed shape of structural model

% put free dof displacement values in complete displacement vector
U = zeros(Model.nt,1);
U(1:Model.nf) = Uf;
MAGF = 80;
% magnification factor for deformed configuration
Create_Window(0.80,0.80);
Plot_Model(Model);
% it is necessary to insert V in the argument list for the hinge discontinuity
Plot_DeformedStructure(Model,ElemData,U,V);

determine flexibility matrix (gives global dof displacement to applied force relation)
F = Bbar'*Fs(iq,iq)*Bbar;
% display flexibility matrix
disp('flexibility matrix of truss (x 1000)')
disp(F.*1000);
flexibility matrix of truss (x 1000)
0.0844
-0.4231
-0.0000
-0.0029
-0.4231
0.0000
0.0272
0.0499
-0.4231
3.7686
0.0000
-0.0959
3.7686
-0.0000
-0.1950
-0.4678
-0.0000
0.0000
0.0000
-0.0000
0.0000
0.0000
-0.0000
-0.0000
-0.0029
-0.0959
-0.0000
0.0298
-0.0959
0.0000
-0.0056
0.0172
-0.4231
3.7686
0.0000
-0.0959
3.7686
-0.0000
-0.1950
-0.4678
-0.1203
0.3967
0.0000
0.1415
0.3967
0.0000
-0.1609
0.0209
-0.0211
0.1223
-0.0000
0.0116
0.1223
0.0000
-0.0274
-0.0047
-0.4231
3.7686
0.0000
-0.0959
3.7686
-0.0000
-0.1950
-0.4678
0.0000
-0.0000
0
0.0000
-0.0000
0.0000
0.0000
0.0000
0.0272
-0.1950
-0.0000
-0.0056
-0.1950
0.0000
0.0347
0.0119
0.0499
-0.4678
-0.0000
0.0172
-0.4678
0.0000
0.0119
0.0892

Page 334

-0.1203

-0.0211

-0.4231

0.3967

0.1223

3.7686

0.0000

-0.0000

0.0000

0.1415

0.0116

-0.0959

0.3967

0.1223

3.7686

2.0628

0.3160

0.3967

0.3160

0.0734

0.1223

0.3967

0.1223

3.7686

0.0000

0.0000

-0.0000

-0.1609

-0.0274

-0.1950

0.0209

-0.0047

-0.4678

CE220-Theory of Structures

Deformation-Force Relations

## Displacements at incipient collapse

Case of full collapse mechanism
Just before the last hinge forms the structure is statically determinate if a full collapse mechanism forms.
Thus, all basic forces can be determined from the equilibrium equations (page 26 of Part I). With all basic
forces known we can determine the corresponding strain dependent element deformations. In determining
the global dof displacements we can only use the compatibility equations in the locations without a plastic
hinge, because at the NOS plactic hinge locations there are unknown plastic hinge deformations at the
instant just before the last hinge forms.
Denoting the locations without plastic hinge including the last hinge to form with subscript i, as we have
done in Example 18, we have

Vi = Ai U f

with

Vi = Fsi Qi +Vi0

## solving for the displacements at the free dofs we obtain

U f = BiTVi

since

AiT = Bi and

Bi = Bi 1

Since the location of the last hinge to form is not known from the lower or upper bound theorem of plastic
analysis, trial and error is required: we guess the location of the last plastic hinge to form and then determine
the plastic deformations and the free global dof displacements. The correct guess for the last plastic hinge to
form corresponds to the case with no contradiction between the sign of the plastic deformations and the
corresponding basic forces, which also results in the largest value for the translation dofs.
consult examples 27 and 28.
Case of partial collapse mechanism
In this case the structure is still statically indeterminate before the last plastic hinge forms. Recall that there
are less than NOS+1 hinges at collapse, thus less than NOS hinges before the last plastic hinge forms. Let
us call the number of plastic hinges at collapse NP. Before the last plastic hinge forms there are, therefore,
NOS+1 - NP redundant basic forces and a statically indeterminate analysis, as discussed in the preceding
page is required to determine the redundant values and then all basic forces just before the last plastic
hinge forms. Following this we can follow the same procedure as for the case of the full collapse
mechanism above to determine the displacements at incipient collapse.
consult example 33

Page 335

## Example 27 - Displacements at incipient collapse of simple truss

Objectives:
(a) determine the displacements at incipient collapse of truss:
trial and error approach of guessing location of last hinge to form
(10)
(10)
a

L1 := 8
b

L2 := 10
L3 := 6

We investigate the collapse load determination of this simple truss by the lower bound theorem of plastic
analysis in Example 7. Here we determine the displacements at incipient collapse by guessing the location
of the last hinge to form.
We state the equilibrium and compatibility relations

P1 = Q1 + 0.8Q2
P2 = 0.6 Q2 + Q3

V1 = U1
V2 = 0.8 U1 + 0.6 U2
V3 = U2

## In example 7 we determined the collapse load factor as

and the corresponding axial forces as

Q1 := 8

c := 1.6
Q2 := 10

Q3 := 10

with hinges forming at elements b and c; we do not know which of the two is the last hinge to form, and we
plan to determine this along with the corresponding global dof displacement values in this example.
We assume now that the behavior of the material is linear elastic-perfectly plastic and that the axial stiffness
of all truss elements is equal to EA = 10,000.

EA := 10000

Page 336

## Prof. Filip C. Filippou, 2000

We assume first that the last hinge to form is in element c. If this is the case, then element c is still elastic at
the instant the last hinge forms and we can use the deformation-force relations for elements a and c to
determine the deformations from the given forces.
We have:

V1 := Q1
V3 := Q3

L1

EA
L3

V1 = 6.4 10

EA

V3 = 6 10

V1h := 0

V1 := V1 + V1h

V3h := 0

V3 := V3 + V3h

we use the first and third compatibility relation to determine the global dof displacements
3

U1 := V1

U1 = 6.4 10

U2 := V3

U2 = 6 10

now we substitute into the second compatibility relation to determine the plastic deformation

V2 := Q2

## V2h := ( 0.8 U1 + 0.6 U2) V2

L2
EA

V2 = 10 10

V2h = 1.28 10

and the plastic deformation in element b is negative, which contradicts the fact that the corresponding basic
force in element b is positive (tension). We conclude that the guess of the last hinge forming in c is not
physically correct. We assume then that the last hinge forms in b. We use now the first two compatibility
relations to determine the global dof displacements, since we know the deformations V1 and V2 .
We have now:

V2h := 0

V2 := V2 + V2h
3

U1 := V1
U2 :=

U1 = 6.4 10

V2 0.8 U1
0.6

U2 = 8.133 10

## from the second compatibility relation

substituting into the third compatibility relation we get the plastic deformation in c

V3h := U2 V3

V3h = 2.133 10

## and it is positive, in agreement with the sign of the basic force

Since there are only two plastic hinges forming in this example, we know now the complete sequence:
element c reaches its capacity first, followed by element b. Once element b reaches its capacity, the entire

Page 337

## Prof. Filip C. Filippou, 2000

We like to demonstrate now that the relative axial stiffness of the elements affects the hinge sequence, while
it does not affect the collapse load factor, which obviously depends only on the plastic capacities (we
assume here that we can change the stiffness of a member without changing its capacity).
We make element b twice as stiff axially as the other two, i.e.

EAb := 20000

Using the solution from the last case with the last hinge forming in element b we get

V2 := Q2

L2
EAb

V2h := 0

V2 = 5 10

V2 := V2 + V2h
3

U1 := V1
U2 :=

U1 = 6.4 10

V2 0.8 U1

U2 = 0.2 10

0.6

## from the second compatibility relation, which is already

suspect, since the point moves down rather than up

substituting into the third compatibility relation we get the plastic deformation in c

V3h := U2 V3

V3h = 6.2 10

## and it contradicts the sign of the basic force in c

Thus, in this case the last hinge forms in c and not in b. We determine the global dof displacements and the
plastic deformation in c. We get

V3h := 0

V3 := V3 + V3h

we use the first and third compatibility relation to determine the global dof displacements
3

U1 := V1

U1 = 6.4 10

U2 := V3

U2 = 6 10

## same answer as the wrong guess of the first case, of course

now we substitute into the second compatibility relation to determine the plastic deformation in b

## V2h := ( 0.8 U1 + 0.6 U2) V2

V2h = 3.72 10

and this time it is positive in agreement with the sign of the basic force in element b.
Conclusion: if we make element b stiffer, it "attracts" a larger portion of the applied loads and yields
before element c.

Page 338

## Example 28 - Displacements at Incipient Collapse of Portal Frame

this is the continuation of Example 22; instead of repeating the calculations we insert a link to the file
Reference:C:\Drive D\COURSES\CE220\Classnotes\Mathcad files\Example 22_Upper Bound Theorem.xmcd(R)

## Determination of displacements and deformations at incipient collapse

With the collapse mechanism we can determine the displacement increments at all dofs of the structural
model in terms of a single independent dof (in this case U1 ). Note that for perfectly plastic behavior the
basic forces do not change once the collapse mechanism has formed, so that there are no element
deformation increments during the collapse "motion". The only deformation increments occur at the plastic
hinge locations.
So far, we have not made any assumptions about the material behavior other than that it needs to be
perfectly plastic once it reaches its plastic capacity. We now ask the question: is it possible to determine the
deformed shape of the structural model at incipient collapse, i.e. just before the collapse mechanism
forms? The answer is yes, as long as we know the material behavior before reaching its plastic capacity. As
an example we use the simplest material behavior for this: linear elastic. Thus, the material behavior for the
following calculations is assumed to be linear elastic, perfectly plastic (note that under "material" we
understand the axial and flexural behavior; we will see in the Nonlinear Analysis course that a linear elastic,
perfectly plastic material does not result in a linear elastic-perfectly plastic moment-curvature relation, but
that it can be approximated as such in many cases).
To determine the displacements at incipient collapse we make the following observations:
1. As the load factor increases the plastic hinges form one after another in the structural model.
2. We are not interested here in the plastic hinge formation sequence, but we need to know which is the
last plastic hinge to form. The reason for this is that just before the last plastic hinge forms, i.e. at incipient
collapse, the structure is statically determinate, if we assume a complete collapse mechanism (we will
discuss a partial collapse mechanism later). This means that there are enough compatibility relations with
known deformations on the left hand side that a unique solution for the global dof displacements can be
obtained. Note that the latter can be readily determined from the deformation-force relations, since we
know all basic forces at incipient collapse.
3. How do we "find" the last plastic hinge to form? By trial and error, as shown in the following.
Let us first supply a value for the flexural stiffness of the elements of the portal frame
We have the following basic forces at incipient collapse:

Page 339

Q1

Q2
Q
3
Q4
:=
Q5
Q6

Q7
Q
8

150
85.71

85.71

120

120
120
120

150

EI := 50000

Q1

Q2
Q
3
Q4
Q :=
Q5
Q6

Q7
Q
8

La := 5

Lb := 4

Lc := 4

Ld := 5

## We have the following element deformations at incipient collapse

V1 :=

V2 :=

V3 :=

V4 :=

V5 :=

V6 :=

V7 :=

V8 :=

La
6 EI
La
6 EI
Lb
6 EI
Lb
6 EI
Lc
6 EI
Lc
6 EI
Ld
6 EI
Ld
6 EI

1
EI

( 2 Q1 Q2)

V1 = 321.43

( 2 Q2 Q1)

V2 = 267.85

( 2 Q3 Q4)

V3 = 34.28

( 2 Q4 Q3)

V4 = 102.86

( 2 Q5 Q6)

V5 = 80

1
EI

( 2 Q6 Q5)

V6 = 80

1
EI

( 2 Q7 Q8)

V7 = 75

( 2 Q8 Q7)

V8 = 150

1
EI

1
EI
1
EI

1
EI
1
EI

We recall that the collapse mechanism involves plastic hinges at locations 1, 5, 6 and 8. Let us assume that
the last hinge to form is at 6, meaning that there is no hinge deformation at this location. With this
assumption we have the following deformations
V2h := 0

V2 := V2 + V2h

V3h := 0

V3 := V3 + V3h

V4h := 0

V4 := V4 + V4h

V6h := 0

V6 := V6 + V6h

V7h := 0

V7 := V7 + V7h

Page 340

V2 =

1
5

U1 + U2

V3 = U2

1
4

U3

1
V4 = U3 + U4
4
V6 =
V7 =

1
4
1
5

U3 + U5
U1 + U5

## Prof. Filip C. Filippou, 2000

these are 5 equations in the five unknown global dof displacements and we can
solve them relatively easily. Let us focus on the translations
subtract equation #2 from #1 to get

V2 V3 =

## subtract equation #4 from #5 to get

V7 V6 =

U1 := 2.5 ( V2 V3 + V7 V6)

then we obtain

1
5
1
5

U1 +
U1

1
4
1
4

U3
U3

U1 = 367.825

1
EI

which clearly does not make sense, since it moves opposite to the applied force;
this is not a good guess therefore

## replacing the equation #4 by the equation at location 5, i.e. by

and the assumption that

V5h := 0

V5 =

1
4

U3 + U4

V5 := V5 + V5h
1

U3 := 2 ( V5 V4)

V5 V4 =

## and then the following result for U1

U1 := 5 ( V2 V3)

U3

5
4

U3

U3 = 365.72
U1 = 1053.5

1
EI
1
EI

again not possible because of the sign of U1 opposite to the applied force
We, therefore, concentrate now on the two easiest choices, i.e. 1 or 8 that we should have looked at first
from the beginning (they give us directly the displacement at dof 1). We have the following continuity
relations from before
V2 =

1
5

U1 + U2

V3 = U2

1
4

U3

1
V4 = U3 + U4
4
V7 =

1
5

V1 =
V8 =

1
5
1
5

U1
U1

U1 + U5

U1 = 5 V1

V1h := 0

V1 := V1 + V1h

U1 = 5 V8

## with the assumption

V8h := 0

V8 := V8 + V8h

which value is the right one? the one resulting in a larger displacement for dof 1

Page 341

## Prof. Filip C. Filippou, 2000

1
EI
why do we select the larger value? because in the opposite case, the hinge rotation at node 1 would be
negative, while the corresponding moment is positive and this does not make sense.
in this case the larger value is V1 and thus

U1 := 5 V1

U1 = 1607.125

with the dof 1 displacement determined we can use the other four continuity relations to get the other dof
displacement values. We get
U2 := V2

1
U1
5

U2 = 589.275

1
EI

U3 := 4 ( U2 V3)

U3 = 2494.22
U4 := V4 +

U5 := V7

1
U1
5

U5 = 246.425

1
EI

1
U3
4

U4 = 520.695

1
EI

1
EI

## With these values we have the following summary at incipient collapse:

element deformations

V1

V2
V
3
V4
V :=
global dof displacements
V
5
V6

V7
V
8

0
0

0
0 3
Vh =
10
21.29
15.8
0

3.43

U1

U2
Uf := U3

U4
U
5

Vh := Af Uf V

## and we know that we have the right displacements

because the corresponding basic forces have the
same sign as the plastic deformations

Page 342

32.14
11.79

3
Uf = 49.88 10
10.41

4.93

150
85.71

85.71
120
Q=

120
120
120

150

## Prof. Filip C. Filippou, 2000

Remark: the quick solution with matrices gives (see Example 18 and page Part II-48)
compatibility matrix for deformations 1, 2, 3, 4 and 7 where no hinges have formed and corresponding
deformation vector

1
5

1
5

Ai := 0

1
5

0 0

1
0
0

1
4

1
1
4

0 Vi :=

V1 + V1h

+
V
V
2
2h

## V3 + V3h solve for displacements

V4 + V4h
Uf := lsolve ( Ai , Vi) Uf =
V + V
7h
7

if we had selected the smaller displacement value for dof 1, we would have
U2 := V2

1
5

U1

U2 = 417.85

EI
U3 = 1808.52
U4 := V4 +

U5 := V7

U1

U2
U'f := U3

U4
U
5

U1

U5 = 75

U1 = 750

U3 := 4 ( U2 V3)

U1 := 5 V8

32.14
11.79

3
49.88 10
10.41

4.93

1
4

U3

EI

15
8.36

3
U'f = 36.17 10
6.99

1.5

1
EI

V'h := Af U'f V

U4 = 349.27

1
EI

3.43
0

0
0 3
V'h =
10
14.43
8.94
0

and this result does not make sense, because the first plastic deformation is of opposite sign relative
to the corresponding basic force at incipient collapse

Page 343

1
EI

## Prof. Filip C. Filippou, 2000

The following figure shows the deformed shape of the portal frame at incipient collapse.

it is worth observing that the hinge at 1 is about to form and that the element tangent is still vertical.
It is also worth observing that the hinge rotations dominate the deformations of the rest of the structure so
that the element deformations are almost indistinguishable from the chord, even though the magnification
factor is 25.
Determination of displacements and deformations of collapse mechanism
After the last hinge forms the portal frame displaces incrementally with the collapse displacement vector
that we have established earlier. During this process the lateral load remains constant under the
assumption that displacements and deformations are small and that the equilibrium is satisfied in the
original, undeformed configuration. The latter is not true, of course, and as the lateral displacements
increase it is necessary to consider the equilibrium in the deformed configuration, which leads to a
nonlinear geometric analysis (we will postpone this discussion until the Nonlinear Analysis course).
Let us say that we would like to determine the displacements and deformations of the portal frame at a
horizontal displacement of 0.1 units. How do we proceed? In two stages: first we know from above what
happens until incipient collapse. We restate

32.14
11.79

3
Uf = 49.88 10
10.41

4.93

0
0

0 3
Vh =
10
21.29
15.8
0

3.43

Page 344

## Prof. Filip C. Filippou, 2000

Then from the horizontal displacement of 0.032143 to the displacement of 0.1 the portal frame displaces
according to the collapse displacement vector. We have
U1 := 0.1 Uf

U1 = 67.858 10

1

1
5
4

Uf := 5 U1

1
5
1

5
1
5

0
0
0

2
Vh := U1
5

2
5
0

1
5

67.86
13.57

3
Uf = 54.29 10
13.57

13.57

13.57
0

0
0 3
Vh =
10
27.14

27.14
0

13.57

## Thus, the total displacements and plastic deformations become

Ufinal := Uf + Uf

Ufinal

100
25.36

3
and
= 104.17 10
23.99

or,
18.5

Page 345

Vhfinal := Af Ufinal V
Vhfinal := Vh + Vh

13.57
0

0
0 3
Vhfinal =
10
48.43
42.94
0

17

## Script for Example 28 in CE220 class notes

% free dof displacements of portal frame at incipient collapse
% use data of Example 22b with lower and upper bound solution of portal frame
Example_22b
Optimization terminated.
the collapse load factor is 2.2286
Optimization terminated.

## elastic element property data

for el=1:Model.ne
ElemData{el}.E = 1000;
ElemData{el}.A = 1e6;
ElemData{el}.I = 50;
end

## form collection of element flexibility matrices

Fs = Fs_matrix(Model,ElemData);
% index of plastic hinge locations under the assumption that last hinge to form
% is at base of left column, i.e. the latter it is still elastic
ih = [8 9 12];
% index of plastic hinge locations
ii = setdiff(1:12,ih);
% index of locations with only elastic deformations at
incipient collapse
% determine elastic element deformations
Ve = Fs*Qc;

## free dof displacements at incipient collapse

% extract rows for locations with only elastic deformations and determine free
dof displacements at incipient collapse (statically determinate structure)
Uf = Af(ii,:)\Ve(ii);
disp('the free dof displacements at incipient collapse are')
disp(Uf)

Page 346

0.0321
-0.0000
-0.0118
0.0321
-0.0499
-0.0104
0.0321
-0.0000
-0.0049

## plastic deformations at incipient collapse

V = Af*Uf;
% element deformations
Vh = Af*Uf - Ve;
% hinge deformations
disp('the plastic deformations at incipient collapse are')
disp(Vh(ih))
the plastic deformations at incipient collapse are
-0.0213
-0.0158
0.0034

## plot deformed shape with plastic hinge locations

MAGF = 20;
% put free dof displacement values in complete displacement vector
U = zeros(Model.nt,1);
U(1:Model.nf) = Uf;
Create_Window(0.80,0.80);
Plot_Model(Model);
% plot element chords for reference
Plot_Model(Model,U);
% it is necessary to insert Ve in the argument list for the plastic hinge
discontinuities
Plot_DeformedStructure(Model,[],U,Ve);
Plot_PlasticHinges(Model,Qpl,Qc,U);

determine the plastic hinge rotations at a specific value of the horizontal translation
index of plastic hinge locations
ih = [2 8 9 12];
% index of plastic hinge locations
ie = setdiff(1:12,ih);
% extract the rows of the compatibility matrix with elastic deformations only
Ae = Af(ie,:);
% set displacement increment for horizontal translation to 1 and solve for the
other displacements
% (constrained motion of collapse mechanism)
% dof index for horizontal translation
ir = Model.DOF(2,1);
% index for dependent dofs of collapse mechanism
id = setdiff(1:Model.nf,1);
% compatibility matrix (vector) of collapse mechanism
Acp = zeros(Model.nf,1);
Acp(ir) = 1;
Acp(id) = Ae(:,id)\-Ae(:,ir);

Page 347

## displacements and plastic deformations at specific value of horizontal translation

% assume a specific value of the horizontal translation is given, say 0.1 units
factor displacement increments by the difference between 0.1 and its value at
incipient collapse
DUf = Acp.*(0.1-Uf(ir));
% total displacements at a horizontal translation of 0.1 are
Uft = Uf + DUf;
% total deformations at a horizontal translation of 0.1 are
DV = Af*Acp.*(0.1-Uf(ir));
Vt = V + DV;
% plastic (hinge) deformations at a horizontal translation of 0.1 are
DVh = Af*Acp.*(0.1-Uf(ir));
Vht = Vh + DVh;
disp('the free dof displacements at a horizontal translation of 0.1 are')
disp(Uft)
disp('the plastic deformations at a horizontal translation of 0.1 are')
disp(Vht(ih))
the free dof displacements at a horizontal translation of 0.1 are
0.1000
-0.0000
-0.0254
0.1000
-0.1042
-0.0240
0.1000
-0.0000
-0.0185
the plastic deformations at a horizontal translation of 0.1 are
0.0136
-0.0484
-0.0429
0.0170

plot deformed shape with plastic hinge locations at a horizontal translation of 0.1
% use the same plotting window for comparison put free dof displacement values
in complete displacement vector
U = zeros(Model.nt,1);
U(1:Model.nf) = Uft;
% it is necessary to insert Ve in the argument list for the plastic hinge
discontinuities
Plot_DeformedStructure(Model,[],U,Ve);

Page 348

## FORCE OR COMPATIBILITY METHOD OF ANALYSIS

Compatibility

Equilibrium

Pf = B f Q + Pfw

V = Af Uf

Bf = A fT

Q = Bi ( Pf Pfw ) + B x Q x

## NOS redundants NOS equations

B Tx V = 0

Element deformation-force

V = FsQ + V0

Vgp + Fxx Q x = 0

## FORCE OR COMPATIBILITY METHOD OF ANALYSIS

Equilibrium equations in undeformed configuration (linear)

Pf = B f Q + Pfw

Q = B i ( Pf Pfw ) + B x Q x

(1)

B Tx V = 0

V = Af Uf

V = FsQ + V0

## Element deformation-force for linear elastic material

In the force method of analysis the unknowns of the problem are the redundant basic forces
from (1) and (3)

V = Fs Bi ( Pf Pfw ) + B x Q x + V0

## from (2) and (3*)

BTx ( Fs Bi ( Pf Pfw ) + B x Q x + V0 ) = 0

Qx

(3*)

B Tx Fs Bi ( Pf Pfw ) + V0 + B Tx Fs B x Q x = 0

Vgp + Fxx Q x = 0

with

Fxx = B Tx Fs B x
Vgp = B Tx FsBi ( Pf Pfw ) + V0

Page 349

(2)

(3)

## FORCE OR COMPATIBILITY METHOD OF ANALYSIS

Compatibility

Equilibrium

Pf = B f Q + Pfw

V = Af Uf

B f = A fT

Q = Qp + Bx Qx

NOS redundants

NOS equations

B Tx V = 0

Element deformation-force

V = FsQ + V0

Vgp + Fxx Q x = 0

## FORCE OR COMPATIBILITY METHOD OF ANALYSIS

Equilibrium equations in undeformed configuration (linear)

Pf = B f Q + Pfw

Q = Qp + Bx Qx

(1)

## solve for specific load case

Compatibility relations for small displacements/deformations (linear)

V = Fs Q + V0

## Element deformation-force for linear elastic material

In the force method of analysis the unknowns of the problem are the redundant basic forces
from (1) and (3)

V = Fs ( Q p + B x Q x ) + V0

## from (2) and (3*)

BTx Fs ( Q p + B x Q x ) + V0 = 0

(3*)

BTx ( FsQ p + V0 ) + B Tx Fs B x Q x = 0

Vgp + Fxx Q x = 0

B Tx V = 0

V = Af Uf

with

Fxx = B Tx Fs B x
Vgp = BTx ( FsQ p + V0 )

Page 350

Qx

(2)

(3)

## Solution steps for force method of analysis "by hand"

Step 1: write equilibrium relations and establish structure equilibrium matrix for free dof's

Bf

or

T
A
f

with constraints

Step 2: identify redundants making sure that primary structure is stable (primary structure = structure with redundants equal to zero)
Step 3: solve equilibrium equations under the given loading with redundants set equal to zero --> particular solution

Bx

## Step 5: determine compatibility errors under particular and homogeneous solution

Step 6: solve compatibility conditions for redundant basic forces

Qp

B x FsQ p + V0

and

BTx Fs Q p + V0 + Fxx Q x = 0

Step 7: determine basic forces under given loading by superposition of NOS+1 stress states

Q = Qp + B xQ x

Step 8: with Q determine other element forces by equilibrium (forces in inextensible or inflexible elements, shear forces)
Step 9: with Q determine support reactions from equilibrium at restrained dof's
Step 10: with support reactions and applied forces check global equilibrium on complete structure free body
Step 11: (if necessary) determine element deformations

V = FsQ + V0

Step 12: (if necessary) determine displacements by compatibility or principle of virtual forces

Page 351

U f = Bi V

Fxx = B x Fs B x

CE220-Theory of Structures

Deformation-Force Relations

## Displacement-force behavior of structures

Statically indeterminate structures

Pf = Bf Q + Pfw

Equilibrium

express basic forces in terms of applied loads and NOS redundants Q = Bi Pf Pfw + B x Qx
Compatibility V = A fU f
T

0 = Bx V

## Deformation-force relation for linear elastic material response

V = Fs Q +V0

use compatibility conditions to obtain unique solution for redundant basic forces
T

0 = Bx V

T
= B x Fs Q +V0

}
)

## = BTx Fs Bi Pf Pfw + B x Qx +V0

0 = B x Fs Bi Pf Pfw + B xV0 + B x Fs B x Qx

Fxi = BTx Fs Bi

with

Fxx = B x Fs B x

## Fxi Pf Pfw + B xV0

(
)
1
T

= Bi ( Pf Pfw ) B x Fxx
Fxi ( Pf Pfw ) + B xV0

## = ( Bi B x Fxx1Fxi ) ( Pf Pfw ) B x Fxx1BTxV0

Q = Bi Pf Pfw + B x Qx

we recognize the force influence matrix for a statically indeterminate structure B = Bi B x Fxx Fxi
1 T
B V = B x Fxx
Bx

and can express the basic forces in compact form in terms of the applied loading

1 T
Q = B Pf Pfw B x Fxx
B xV0
Page 352

Q = B Pf Pfw + B VV0

CE220-Theory of Structures

Deformation-Force Relations

## Displacement-force behavior of structures (cont'd)

the displacements at the free dof's can be obtained from the same relation as
for statically determinate structures (think of the principle of virtual forces!)

U f = BTV

substitute the deformation-force relation for linear elastic material response and the basic force expression

U f = BTV

{Fs Q +V0}
T
1 T
= B {Fs B ( Pf Pfw ) B x Fxx B xV0 +V0 }

=B

F = BT Fs B

1 T
U f = F Pf Pfw + BT I Fs B x Fxx
B x V0

with

1
B = Bi B x Fxx
Fxi

U 0 = FPfw + B

(I F B F
s

1 T
x xx B x

)V

and

## Consult examples 29, 30, 31 and 32

Note that

1 T

B Fs B x Fxx B x = 0

## so that the last expression becomes

Recall that
Thus,

1 T
BT Fs B x Fxx
Bx = 0
1

B = Bi B x Fxx Fxi
T

U f = F Pf Pfw + BTV0

## Proof: to show that

U 0 = FPfw + BTV0

1 T

T T

## B Fs B x Fxx B x = Bi Fxi Fxx B x

T

T
BT = Bi T Fxi T Fxx
BxT

consequently

1 T

)F B F

1 T
x xx B x

T T

1 T

T 1 T

T T

1 T

T 1 T

T T T

## = Fxi Fxx B x Fxi Fxx Fxx Fxx B x

= Fxi Fxx B x Fxi Fxx B x
= 0 q.e.d
where we have used the earlier definitions
and
as well as the symmetry of

Fxi = BTx Fs Bi

and thus

Fxx = B x Fs B x
Fxx

Page 353

Fxi = Bi Fs B x

## Example 29 - Force method: statically indeterminate truss

We return to complete the analysis of a structure whose equilibrium equations we studied in Example 5,
and whose compatibility relations we studied in Example 13. After adding the linear deformation-force
relation for the elements of the structural model, we will be able to obtain the unique solution of the
structural response that satisfies all three requirements: (a) equilibrium, (b) compatibility, and (c) linear
elastic material response. For the solution in this example we will use the force method of analysis. In this
method the unknowns of the problem are the redundant basic forces of the equilibrium equations. Using
the compatibility condition on the element deformations we will be able to determine these redundant basic
forces so as to satisfy these conditions.
The following figure shows the truss model with the numbering of the free dofs and basic forces.
3
3

15

Q5

Q2

Q6

Q3

Q1

## The axial stiffness of all truss elements is the same:

Length of truss elements

Q4

La := 8

Lb := 6

EA := 10000
Lc := 6

Ld := 8

Le := 10

Lf := 10

## Solution of equilibrium equations

Recall from Example 5 that there are 5 equilibrium equations and 6 unknown basic forces. The degree of
static indeterminacy of this structure is NOS=1. In such case, we can select one of the unknown basic forces
as redundant and express the general solution of the equilibrium equations as the sum of a particular
solution that satisfies equilibrium with the applied forces, and a homogeneous self-stress state that depends
on the unknown redundant basic force value. The latter is, therefore, a free parameter as far as the solution
of the equilibrium equations is concerned.
We summarize the findings from Example 5 in the following:

Page 354

Pf

as given

Q6 = 0

15

11.25

0
Qp :=

15
18.75

15

11.25

Q6 = 0

15

e
6

11.25

Q6 = 1

and

Pf = 0

Q6 = 1

e
b

Bbarx
f

Page 355

0.8

0.6

0.6
:=

0.8

## Prof. Filip C. Filippou, 2000

The general solution of the equilibrium equations is a one parameter expression of the form

15 0.8

11.25 0.6
0 0.6
Q=
+
Q6
15

0.8

18.75 1

0 1

## for equilibrium alone any value of Q6 is suitable

note that in this expression Q6 carries the units, while the force influence
matrix (vector in this case) has units of force per unit of force

Compatibility relations
In a statically indeterminate structure there are more compatibility relations than available displacements
at the free global dofs of the structural model. As we have seen in Example 13, the compatibility relations only
T
have a unique solution when the element deformations satisfy the condition Bbarx V = 0
The element deformations are dependent on the basic element forces, and these depend for the case at
hand on the unknown value of the redundant basic force Q6 . There is one unknown redundant force and
one equation that needs to be satisfied for the element deformations. This completes the loop and allows
the determination of the unique value of Q6 that satisfies the compatibility condition.
We write this condition out in detail

15 0.8

11.25 0.6
0 0.6
V = Fs Q = F s ( Qp + Bbarx Qx) = F s
+
Q6
15

0.8

18.75 1

0 1

with

La

1 0
Fs :=

EA 0

0
0

Lb 0

Lc 0

0
0
0
0

0 Ld 0 0

0 0 Le 0
0 0 0 Lf

Page 356

## then the compatibility condition gives

T
T
T
T
Bbarx V = Bbarx [ Fs ( Qp + Bbarx Qx) ] = Bbarx Fs Qp + Bbarx Fs Bbarx Qx = 0
or, spelled out we get

15 0.8

11.25

0.6

0 0.6
( 0.8 0.6 0.6 0.8 1 1 ) Fs
+
Q6 = 0
15

0.8

18.75 1

0 1
we identify two contributions, one for the applied forces, and one for the redundant. We write them out

15
0.8

11.25

0.6

0
0.6
( 0.8 0.6 0.6 0.8 1 1 ) Fs
+ ( 0.8 0.6 0.6 0.8 1 1 ) Fs
Q6 = 0
15

0.8

18.75
1

0
1
Because Fs is diagonal in this case, the evaluation of these expressions is relatively straightforward by hand:
we multiply the six corresponding terms of the row and column and then add them up. We demonstrate

0.8
La
EA

La
EA

15 0.6
2

( 0.8) +

Lb
EA

Lb
EA

11.25 0.8
2

( 0.6) +

Lc
EA

Ld
EA

15 + 1
2

( 0.6) +

Le
EA

Ld
EA

1
EA

( 18.75) = 420
2

( 0.8) +

Le
EA

1 +

Lf
EA

2

1 = 34.56

1
EA

for the
second

## we note that all contributions of the second term are positive!

in compact form, we can also write with matrix software

1
T
Bbarx Fs Qp = 420

EA

## for the first term, and

Page 357

1
T
Bbarx Fs Bbarx = 34.56

EA

## Prof. Filip C. Filippou, 2000

The compatibility condition for the element deformations is a scalar equation for the case at hand
T
T
Bbarx Fs Qp + Bbarx Fs Bbarx Q 6 = 0

Q6 :=

## and solving for Q6 we get

T
Bbarx F s Qp

Q6 = 12.15

Bbarx Fs Bbarx

with this result the final forces in the truss elements under the applied force of 15 units are

15 0.8

11.25

0.6

0 0.6
Q :=
+
Q6
15

0.8

18.75 1

0 1
and the element deformations V are

we confirm that

5.28

3.96

7.29
=

5.28
6.6

12.15

42.22

23.75
43.75 1
V =

42.22

EA
65.97

121.53

V := F s Q

T
Bbarx V = 0

and we can use any five of the six compatibility relations to determine the
displacements at the free global dofs
Recall e.g. from Example 13 that

1
EA
1
U2 = 142.5
EA

U1 := V

U1 = 42.22

U2 := V + 0.75 V 1.25 V
1

U3 := V

U4 := V + 0.75 V + V 1.25 V
1

1
EA
1
U4 = 184.72
EA
1
U5 = 43.75
EA
U3 = 23.75

U5 := V

Note: the value of the redundant force Q6 does not depend on the axial stiffness value EA, since the latter
appears both in the numerator and in the denominator of the expression for Q6 . This is a general result for
statically indeterminate structures. The force distribution does not depend on the absolute, but only on the
relative stiffness value, i.e. the relation of the axial stiffness values of the different elements. In this case they
are all the same and we could have left out EA from the intermediate terms leading to the determination of
Q6 . We demonstrate this once more

Page 358

La

0
0

EAFs :=
0

0
0

Lb 0

Lc 0

0
0
0
0

## Prof. Filip C. Filippou, 2000

0 Ld 0 0

0 0 Le 0
0 0 0 Lf

T
Bbarx EAFs Qp = 420

T
Bbarx EAFs Bbarx = 34.56

or, by hand

2

2

## for the second

to solve for the redundant we divide the negative value of the first term by the second

Q6 :=

420
34.56

Q6 = 12.15

for hand calculations this approach is a lot more convenient, since we do not need to bother about division
through a very large number like EA=10,000.
Physical interpretation of results
It remains to discuss the meaning of the results for the compatibility condition. We recall that the general
solution of the equilibrium equations is a one parameter expression of the form

15 0.8

11.25 0.6
0 0.6
Q = Qp + Bbarx Qx =
+
Q6
15

0.8

18.75 1

0 1

## for equilibrium alone any value of Q6 is suitable

Let us investigate the effect of the forces Qp on the deformations V and then on compatibility. We have

V1 := 15

La
EA

V2 := 11.25

Lb
EA

V3 := 0

V4 := 15

Ld
EA

V5 := ( 18.75)

Le
EA

V6 := 0

Recall from Example 13 that after solving the first five compatibility relations for the unknown displacements
at the free global dofs we obtain

Page 359

## Prof. Filip C. Filippou, 2000

U1 = V1
U2 = V1 + 0.75 V2 1.25 V5
U3 = V2
U4 = V1 + 0.75 V2 + V4 1.25 V5
U5 = V3
V6 = 0.8 U4 + 0.6 U5

## the sixth compatibility relation reads

let us then determine the two displacement values needed for the sixth compatibility relation

U4 := 15

La

Lb
Ld
Le

## + 0.75 11.25 + 15 1.25 18.75

EA
EA EA
EA

U4 = 525

1
EA

U5 := 0
thus, the right hand side of the sixth compatibility relation reads

## 0.8 U4 + 0.6 U5 = 420

1
EA

this is the necessary deformation for element f so that it fits exactly between nodes 1 and 4. However,
element f does not deform under the forces Qp and this creates a gap or release deformation V6h equal to
the difference between the distance of nodes 1 and 4 and the element deformation (consult pages Part I 182-183 for Example 13). This release deformation is equal to 420
We conclude that

1
T
Bbarx Fs Qp = 420

EA

1
under the applied force.
EA

## represents the opposite of the release deformation or

the gap closing value under the forces Qp

## the state of deformation and

the global dof displacements
under the forces Qp
are shown in this figure

420

Page 360

1
EA

## Prof. Filip C. Filippou, 2000

Now we investigate the state of deformation and the global dof displacements under the self-stress
state that results under a unit value of the redundant basic force Q6

V1 := ( 0.8)
V4 := ( 0.8)

La
EA
Ld
EA

V2 := ( 0.6)
V5 := ( 1)

Lb

V3 := ( 0.6)

EA

Le

V6 := ( 1)

EA

Lc
EA

Lf
EA

We determine again the displacement values for the sixth compatibility relation

U4 := ( 0.8)
U5 := ( 0.6)

La
EA
Lc

+ 0.75 ( 0.6)

Ld
Le

+ ( 0.8) 1.25( 1)
EA
EA
EA
Lb

U4 = 28

1
EA

EA

thus, the right hand side of the sixth compatibility relation reads

## 0.8 U4 + 0.6 U5 = 24.56

the left hand side of the equation is not equal to zero this time. We have

V6 = 10

1
EA

1
EA

subtracting the deformation of element f from the distance between the nodes 1 and 4 gives again the gap
between the end of element f and node 4.

## ( 0.8 U4 + 0.6 U5) V6 = 34.56 EA

We conclude that

1
T
Bbarx Fs Bbarx = 34.56

EA

## represents the gap closing value under the

self-stress state represented by vector Bbarx
1
24.56
EA

## the state of deformation and

the global dof displacements
under the self-stress state
are shown in this figure

10

1
EA

Page 361

## Prof. Filip C. Filippou, 2000

We, therefore, conclude that the compatibility condition furnishes an equation for determining the value of
the redundant basic force Q6 that will close the gap between the end of element f and node 4.
Note: in the compatibility equations we have used the sixth equation because the redundant of the
problem is Q6 , but this is not really necessary, just convenient.
Support reactions and global equilibrium
Since the self-stress state does not produce any support reactions for the problem at hand, the support
reactions are those of the particular solution.
15

## horizontal and vertical force equilibrium

is obviously satisfied
sum of moments about left support

11.25 8 15 6 = 0

15

11.25

11.25
8

Page 362

ok!

## Load Case 2: thermal expansion of element e

thermal type, i.e. assume that member e is heated up
experiencing a positive thermal strain of 0.005 (extension)
In this case the particular solution is zero, since there
are no applied forces at the free dofs of the structure
(note that Q 6 = 0 for the particular solution)

0

0
0
Qp :=
0
0

0

## The general solution of the equilibrium equations is in this case

0.8

0.6
0.6
Q=
Q6

0.8

1
Element deformations and compatibility relations
Under the particular solution (i.e. the applied loading) the only deformation present is the non-mechanical
deformation of element e. We, therefore, have

V = V0

with

0
V0 :=

0
0.005 Le

V0

0
=

0
0.05

The solution of the compatibility relations for this deformation vector gives the following gap between
element f and node 4 (see earlier discussion)
T
Bbarx V0 = 0.05

in fact, in this case the gap is equal to the amount of element e deformation !
can you explain why geometrically?

note that in this case the axial stiffness EA does not enter into the expression (it only appears for
mechanical deformations!). Thus, we need to be careful when calculating the redundant basic force!

Page 363

## Prof. Filip C. Filippou, 2000

The self-stress state due to a unit value of the redundant basic force Q6 produces the same deformations
and the same gap between element f and node 4 as before. Thus, we determine the value of Q6 to satisfy
the compatibility condition that there is no gap between element f and node 4, i.e.
T
T
Bbarx V0 + Bbarx F s Bbarx Qx = 0

Q6 :=

## solving the above scalar equation for Q6 we get

T
Bbarx V0
T
Bbarx Fs Bbarx

Q6 = 14.47

The final stress state in this structure under the effect of a thermal deformation of element e are

0.8

0.6

0.6
Q :=
Q6
0.8
1

11.57

8.68

8.68
=

11.57
14.47

14.47

## Support reactions and global equilibrium

Recall that the support reactions are zero for the self-stress state. Since this is the only stress state for this
loading case, the support reactions are zero and global equilibrium with the zero applied forces is, of course,
satisfied.
Note that if we determined the EA-fold deformations for the denominator for computational convenience, we
need to remember to multiply the result by EA. We demonstrate

Q6 :=

T
Bbarx V0
T
Bbarx EAFs Bbarx

Q6 = 14.47

1
EA

This means that in a statically indeterminate structure the self-stress state induced by non-mechanical
element deformations (i.e. thermal, shrinkage etc) is proportional to the stiffness of the elements.
It is worth noting that the final force in element f is a compression of 14.47 units. We will discuss this further
in the following, but it is worth remembering that the deformation-force relation for any element is

v = f q + vo

which implies that we may have a positive total deformation with a negative force in the
element; the latter is proportional to the mechanical deformation only!

Page 364

## Commentary on prestressing and prestressed structures

The last load case consists of an initial deformation of 0.05 units in element f. This may arise from
non-mechanical effects, like temperature, hydro-expansion, or from the fact that the element is fabricated
longer than required by the undeformed geometry (thus, the fabricated element length would be 10.05 in
this case). How is the installation of this element supposed to take place in the field?
Let us assume that the rest of the structure is assembled, i.e. elements a through e are in place. It is worth
noting that the elements are all undeformed, so that the assembly looks like the undeformed configuration
of the structural model without element f. Then, the process of installing element f can be described as
follows: the element f is pre-compressed to a value compensating the initial deformation, i.e. necessary to
bring the element to its required length of 10 units according to the undeformed geometry; the element is
then installed into position and the jacks that pre-compress it are removed. The force in element f is then
released into the structure giving rise to the stress-state that we have calculated above.
What is the necessary pre-compression force?
set v = 0 in the above deformation-force relation and solve for q with given vo . You will get
For the case at hand this is

0.05

10000
= 50
Lf

vo

EA
L

units of force

Upon release this force drops to -14.47 according to our analysis. For the example at hand this is a very
large loss of initial prestressing force. How can we assess how much force we will loose during installation?
Look at the contribution of the prestressed element and the rest of the structure to the gap caused by the
self-stress state.
24.56

1
EA

10

1
EA

Element f contributes

10

1
EA

24.56

1
EA

value of

10
( 50) = 14.47
10 + 24.56

24.56
( 50) = 35.53
10 + 24.56

## Alternatively, we can say that the

prestress loss is dependent on the ratio
of the flexibility of the rest of the structure
to the total flexibility. Can you apply this
concept to a prestressed concrete beam?
i.e. very close to 70%

In typical structures the prestressing element is very flexible relative to the rest of the structure and
prestress loss amounts to 3-5%.

Page 365

## Script for Example 29 in CE220 class notes

% Solution for statically indeterminate truss with Matlab functions

continuation of Example 5
Example_5
the rank of the equilibrium matrix of the primary structure is 5
Qp =
15.0000
11.2500
0
15.0000
-18.7500
0
Bbarx =
-0.8000
-0.6000
-0.6000
-0.8000
1.0000
1.0000
% define element properties and set up Fs matrix for structure
EA = 10000;
% axial stiffness
L = [8 6 6 8 10 10];
% element lengths
for el=1:6
f{el} = L(el)/EA;
end
% set up Fs matrix
Fs = blkdiag (f{:});
% determine indetermediate term for compatibility equation
Fxx = Bbarx'*Fs*Bbarx;

## First load case: applied horizontal forces of 15 units (Example 5)

Qx = -Fxx\(Bbarx'*Fs*Qp);
% display redundant basic forces
disp('redundant force Qx under applied horizontal force')
disp(Qx);
% determine final forces in truss
Q = Qp+Bbarx*Qx;
% display final forces
disp('truss forces Q under applied horizontal force')
disp(Q);
redundant force Qx under applied horizontal force
12.1528
truss forces Q under applied horizontal force
5.2778
3.9583
-7.2917
5.2778
-6.5972
12.1528

Page 366

## Second load case: initial deformation

% define initial deformation vector for second load case (prestress)
V0
= zeros(6,1);
V0(5) = 0.05;
% solve for redundant basic force under the loading of Example 5 (concentrated
force)
Qx = -Fxx\(Bbarx'*V0);
% display redundant basic forces
disp('redundant force Qx under initial deformation')
disp(Qx);
% determine final forces in truss
Q = Bbarx*Qx;
% display final forces
disp('truss forces Q under initial deformation')
disp(Q);
redundant force Qx under initial deformation
-14.4676
truss forces Q under initial deformation
11.5741
8.6806
8.6806
11.5741
-14.4676
-14.4676

Page 367

## Script for Example 29 in CE220 class notes

% Solution for indeterminate truss with FEDEASLab functions (step-by-step)

CleanStart

Example_29_Data

## Post-processing functions on Model (optional)

Create_Window (0.80,0.80);
Plot_Model (Model);
Label_Model (Model);

## % open figure window

% plot model (optional)
% label model (optional)

## functions for force method of analysis

% set up equilibrium matrix
B = B_matrix(Model);
% extract free dofs
Bf = B(1:Model.nf,:);
% determine force influence matrix
[Bbari,Bbarx] = ForceInfl_matrix(Bf);
% set up collection of element flexibility matrices
Fs = Fs_matrix(Model,ElemData);
% determine indetermediate term for compatibility equation
Fxx = Bbarx'*Fs*Bbarx;

## First load case: applied horizontal forces of 15 units (Example 5)

% specify nodal forces
Pe(4,1) = 15;
Qx = -Fxx\(Bbarx'*Fs*Bbari*Pf);
% display redundant basic forces
disp('redundant force Qx under applied horizontal force')
disp(Qx);
% determine final forces in truss
Q = Bbari*Pf+Bbarx*Qx;
% display final forces
disp('truss forces Q under applied horizontal force')
disp(Q);
redundant force Qx under applied horizontal force
12.1528

Page 368

5.2778
3.9583
-7.2917
5.2778
-6.5972
12.1528

## Second load case: initial deformation

% define initial deformation vector for second load case (prestress)
V0
= zeros(6,1);
V0(5) = 0.05;
% solve for redundant basic force under the loading of Example 5 (concentrated
force)
Qx = -Fxx\(Bbarx'*V0);
% display redundant basic forces
disp('redundant force Qx under initial deformation')
disp(Qx);
% determine final forces in truss
Q = Bbarx*Qx;
% display final forces
disp('truss forces Q under initial deformation')
disp(Q);
redundant force Qx under initial deformation
-14.4676
truss forces Q under initial deformation
11.5741
8.6806
8.6806
11.5741
-14.4676
-14.4676

Page 369

## Script for Example 29 in CE220 class notes

% Solution for indeterminate truss with FEDEASLab functions (one step)

CleanStart

Example_29_Data

## Post-processing functions on Model (optional)

Create_Window (0.80,0.80);
Plot_Model (Model);
Label_Model (Model);

## % open figure window

% plot model (optional)
% label model (optional)

## force method of analysis

% set up equilibrium matrix
B = B_matrix(Model);
% extract free dofs
Bf = B(1:Model.nf,:);
% set up collection of element flexibility matrices
Fs = Fs_matrix(Model,ElemData);
% invoke single function for force method of analysis
[Bbar,Bvbar,F] = ForceMethod(Bf,Fs);

## First load case: applied horizontal forces of 15 units (Example 5)

% specify nodal forces
Pe(4,1) = 15;
% determine final forces in truss
Q = Bbar*Pf;
% display final forces
disp('truss forces Q under applied horizontal force')
disp(Q);
% determine displacements
Uf = F*Pf;
% display displacements
disp('free dof displacements Uf under applied horizontal force')
disp(Uf);
truss forces Q under applied horizontal force
5.2778
3.9583
-7.2917
5.2778

Page 370

-6.5972
12.1528
free dof displacements Uf under applied horizontal force
0.0042
0.0143
0.0024
0.0185
-0.0044

## plot axial force distribution

Create_Window(0.80,0.80);
Plot_Model(Model);
Plot_AxialForces(Model,Q);

## plot deformed shape

Create_Window(0.80,0.80);
Plot_Model(Model);
% put free dof displacement values in complete displacement vector
U = zeros(Model.nt,1);
U(1:Model.nf) = Uf;
Plot_Model(Model,U);

## Second load case: initial deformation

% define initial deformation vector for second load case (prestress)
V0
= zeros(6,1);
V0(5) = 0.05;
% determine final forces in truss
Q = Bvbar*V0;

Page 371

## % display final forces

disp('truss forces Q under initial deformation')
disp(Q);
% determine displacements
Uf = Bbar'*V0;
% display displacements
disp('free dof displacements Uf under initial deformation')
disp(Uf);
truss forces Q under initial deformation
11.5741
8.6806
8.6806
11.5741
-14.4676
-14.4676
free dof displacements Uf under initial deformation
0.0093
-0.0313
0.0052
-0.0220
0.0052

## plot axial force distribution

Create_Window(0.80,0.80);
Plot_Model(Model);
Plot_AxialForces(Model,Q);

## plot deformed shape

Create_Window(0.80,0.80);
Plot_Model(Model);
% put free dof displacement values in complete displacement vector
U = zeros(Model.nt,1);
U(1:Model.nf) = Uf;
Plot_Model(Model,U);

Page 372

## Example 30 - Force method: indeterminate braced frame

In this example we analyze the braced frame that we have already studied from the equilibrium and
compatibility standpoint in Examples 6 and 14, respectively. We will summarize the key equations in this
analysis, so that we collect the entire solution process in one place, particularly, since the loading
involves several cases. The following figure shows the geometry of the frame.
c

La := 6
Lb := 4

Lc := 4
Ld :=
4

8 +6

Under the assumption that elements a, b and c are inextensible, there are four independent free global
dofs, as shown in the following figure.
dof 3

dof 2

dof 4
c

dof 1

The equilibrium and compatibility equations are the same as in Examples 6 and 14, respectively.
Reference:C:\Drive D\COURSES\CE220\Classnotes\Mathcad files\Example 6_Equilibrium for Hyperstatic Braced Frame.xmcd(R)

Page 373

P1 =

Q1 + Q2
6

## Compatibility relations (from example 14)

+ 0.8 Q6

V1 =

P2 = Q 2 + Q 3
Q3 + Q4 Q5
P3 =
+
4
4

V2 =

U1
6
U1
6

+ U2

V3 = U2

P4 = Q 4 + Q 5
V4 =
V5 =

U3
4

U3
4

U3
4
+ U4

+ U4

V6 = 0.8 U1
We note that there are four equilibrium equations and 6 unknown basic forces. The degree of static
indeterminacy of the structural model is therefore NOS=2. Correspondingly, there are NOS more
compatibility relations to satisfy than available displacement values at the free dofs. Such a problem will not
have a solution unless NOS linearly independent constraints are imposed on the deformations. These
furnish NOS compatibility conditions for determining the NOS redundant basic forces.
We select the basic forces Q1 and Q4 as redundants. We establish three equilibrium states: one equilibrium
state is known as the particular solution and satisfies equilibrium with the applied forces while the
redundants are equal to zero; the other two equilibrium states are homogeneous solutions with no applied
loading and each redundant set equal to a unit value in turn.
20

30

We state here the results since the answers are the same as those of example 6 (note that the equivalent
nodal forces at nodes 2 and 4 from the distributed load of example 6 do not affect the basic forces of
interest).

Page 374

set

Q1 = 0

20

30

Q4 = 0

30 =

Q2
6

+ 0.8 Q6

0 = Q2 + Q3
20 =

Q3
4

Q5
4

0 = Q5

80
80

Qp :=
0

30 80

0.8 4.8

set

Q1 = 1

Q4 = 0

Q1 = 0

Q4 = 1

Bbarx

## and we confirm that we have obtained the right self-stress states by

0
1

2
0

0 2

:= 0
1

0 1
5
5

24 12

Q1
Bbarx

Q4

Bf Bbarx

0
=
0

0
0

thus, the general solution of the equilibrium equations consists of the linear combination of three
stress-states that satisfy equilibrium: the particular solution and two homogeneous solutions with unknown
parameters

Q1

Q
4

## we denote the vector of redundant basic forces by Qx

and can write more generally

Page 375

Q = Qp + Bbarx Qx

## Prof. Filip C. Filippou, 2000

For each of the equilibrium states we proceed to calculate the element deformations and try to check the
compatibility conditions. We assume that the flexural and axial stiffness values are given. Let us say

EI := 50000

## for elements a, b and c

EA := 10000

and

for element d

Let us first proceed to solve the problem by matrix operations following Example 29 while providing
commentary on the physical meaning of the terms. We will return subsequently and repeat the process "by
hand" so that we can see the terms one by one.

## the collection of element flexibility matrices is

La

La

0
0
0
0
3
6

La La

0
0
0
0
6 3

L
L
b
b

0
0

0
0

3
6
1
Fs :=

EI
Lb Lb
0

0
0
0

6
3

L
c
0
0
0
0
0

EI
0

0
0
0
0 Ld
EA

We note that we have factored out 1/EI on the right hand side, so that only relative stiffness values appear in
the matrix. This is quite convenient for hand calculations, as we have already discussed.

## and the compatibility conditions are not satisfied, because

80

160

106.67 1
F s Qp =

53.33

EI
0

2708.33
T
Bbarx Fs Qp =

484.24 1

1715.14 EI

In fact, the above expression represents the angle between node tangent and element tangent at locations
1 and 4 in the structural model. This angles need to be zero for tangent continuity at locations 1 and 4.

Page 376

Fs Bbarx

1
0
=
0
0

10.42

## Prof. Filip C. Filippou, 2000

4
3.33 1

2.67 EI
1.33

20.83

note that we obtain two sets of deformations, of course, one for each homogeneous solution or self-stress
state. The first column represents the element deformations for Q1 = 1 and the second for Q4 = 1
each of these deformation states does not satisfy compatibility either as we can tell immediately from
T
Bbarx Fs Bbarx =

4.17 2.34 1

2.34 27.347 EI

We now obtain a 2 x 2 matrix. The first column corresponds to the compatibility error at locations 1 and 4 for
the deformations caused by the first self-stress state (Q1 = 1), and the second column represents the
compatibility error at locations 1 and 4 for the deformations caused by the second self-stress state (Q4 = 1)
The above expression appears in every analysis by the force method and we give it a special name.
T
Fxx := Bbarx Fs Bbarx

## we note that it is a flexibility matrix, since it represents the compatibility error

at locations 1 and 4 under the self-stress states, i.e. a unit value of the
redundant force. Like every flexibility matrix it is symmetric, as can be readily
seen from its definition. Thus, in hand calculations only the diagonal and the
upper or lower half of the matrix needs to be determined.

The compatibility conditions require that there be no compatibility error at locations 1 and 4 under the final
stress state. This means that
T
Bbarx Fs Qp + Fxx Qx = 0
T
Bbarx Fs Qp
and Vhp := BbarxT F s Qp

and these are exactly two equations for the two unknown redundants
the compatibility error under the particular solution
the hinge deformation if a hinge were inserted at 1 or 4

## we get from the solution of the system of equations

Qx := lsolve ( F xx , Vhp)

Qx =

85.01

55.44

We can see from the above solution that the value of the redundant basic forces is selected so that it
eliminates the release deformation at locations 1 and 4 under the given loading.
Note that the values for the redundants do not change if we change EI and EA, but keep the ratio the same.
This has important ramifications in preliminary design. During this stage we may not know the exact sizes of
the different structural elements, but we may have an idea about their relative sizes.

Page 377

## Prof. Filip C. Filippou, 2000

We can approach this problem also in a more step by step fashion. To this end let us find the element
deformations under the particular solution. We have

V1p

V
2p
V
3p :=
V4p

V5p
V
6p

F s Qp

V1p = 80

1
EI

V2p = 160

1
EI

V3p = 106.67

1
EI

V5p = 0

1
EI

V4p = 53.33

1
EI

V6p = 2708.33

1
EI

We recall the compatibility relations from above noting that these cannot be satisfied, in general, for which
reason we insert a hinge or release at locations 1 and 4.

V1 =
V2 =

U1
6
U1
6

V3 = U2
+ U2

V4 =

U3
4

U3
4
+ U4

V5 =

U3
4

+ U4

V6 = 0.8 U1

We solve the four compatibility equations without a release deformation, namely at 2, 3, 5 and 6

U2p := V2p

U1p
6

## U3p := 4 ( U2p V3p)

U4p := V5p

U3p
4

1
EI
1
U2p = 724.24
EI
1
U3p = 3323.61
EI
1
U4p = 830.9
EI
U1p = 3385.42

We now determine the release deformations at 1 and 4 from the first and fourth compatibility relations.

V1hp :=

U1p
6

V1p

U3p

+ U4p V4p
4

V4hp :=

V1hp = 484.24

1
EI

V4hp = 1715.14

Vhp =

1
EI

484.24 1

1715.14 EI

## we note that the values are the same

Thus, the compatibility conditions furnish the necessary values for the redundant basic forces to close the
hinges at locations 1 and 4.

Page 378

## Prof. Filip C. Filippou, 2000

The following figures show the bending moment distribution and the deformed shape of the structural model
for the particular solution with the release deformations at 1 and 4.

80

80

## moment diagram for

particular solution

Page 379

## Prof. Filip C. Filippou, 2000

We can continue this process for each homogeneous solution and obtain release deformations at locations
1 and 4 for each self-stress state with unit redundant value. As we have mentioned earlier, these are the
columns of the flexibility matrix Fxx. Finally, we scale the redundant values so that the release deformations
at 1 and 4 are zero, since there are physically no such releases at these locations. This means
T
Bbarx Fs Qp + Fxx Qx = 0
We can now determine the unique set of basic forces that satisfies equilibrium and compatibility under the
given linear elastic deformation-force relation of the elements. With the given values for the redundant basic
forces we obtain

Q := Qp + Bbarx Qx

85.01

30.89

30.89
=

55.44
55.44

13.36

30.89
30.89

55.44

85.01

Page 380

## Prof. Filip C. Filippou, 2000

With the final basic forces we can determine the element deformations

V := F s Q

139.13

23.23

78.14 1
V =

94.51

EI
73.92

667.8

## for hand calculations it is better to proceed element by element, i.e.

Q1

Q2
Q
3 :=
Q4

Q5
Q
6

V1
La 2 1 Q 1
:=

EI
V

1
2
2

Q2

or,

V1 :=
V2 :=

V3
Lb 2 1 Q 3

:=

V4 6 EI 1 2 Q4

or,

V3 :=
V4 :=

V5 :=

V6 :=

Lc
3 EI
Ld
EA

Q5

La
6 EI
La
6 EI
Lb
6 EI
Lb
6 EI

( 2 Q1 Q2)

V1 = 139.13

1
EI

( 2 Q2 Q1)

V2 = 23.23

1
EI

( 2 Q3 Q4)

V3 = 78.14

1
EI

( 2 Q4 Q3)

V4 = 94.51

1
EI

V5 = 73.92

Q6

V6 = 667.8

1
EI

1
EI

It is worth noting that the deformation of the brace, which is a change of length is several times larger than
the deformations of the beam elements, since the latter are angles, i.e. have units of length over length. It
is good to think of the element lengths as a rough estimate of this scaling.

Page 381

## Prof. Filip C. Filippou, 2000

With the element deformations we can determine the global dof displacements as we have done earlier.
We can use the same four compatibility relations as before

U1 := 1.25 V6
U2 := V2

U1
6

U3 := 4 ( U2 V3 )
U4 := V5

U3
4

1
EI
1
U2 = 162.36
EI
1
U3 = 336.87
EI
1
U4 = 10.3
EI
U1 = 834.75

U1
6

V1 = 0

1
EI

U3
1

+ U 4 V 4 = 0
EI
4

## and conclude that they are, of course, satisfied!

The deformed shape of the structure with a magnification factor of 50 is shown in the following figure.

Page 382

## Prof. Filip C. Filippou, 2000

How do we draw the deformed shape? In three steps: 1. locate the nodes with the determined translations
(just show points, no black squares yet!). Make sure to respect the scale, e.g. in the drawing above
horizontal translation should be a bit more than twice than vertical translation. 2. draw the chords and
using the element deformations sketch the deformed shape of each element noting that the angles at the
nodes must be respected (e.g. right angle at node 2, continuous tangent at node 3, etc). 3. after step 2 it
should be easy to draw the little black squares according to the determined joint rotations (in an ideal
case, the black squares should "fall in place" respecting the element tangents, but checking the
determined rotation values (if we have bothered to calculate these!) is extra security.
Second load case: prestressing of brace
We would like to investigate now the case that the brace is prestressed or prestrained. We treat this as an
initial deformation problem in the force method of analysis, since it is much easier to understand it this way.
We assume, thus, that the brace will be delivered longer or shorter than its required length of 10 units.
Since we would like to customize the amount of prestressing so as to control either the final moment
distribution or the deformed shape of the structure under the earlier loading, we assume a unit value of
prestrain at the start.
The basic forces of the particular solution are all zero, since there is no external forces at the global dofs.

0

0
0
Qp :=
0
0

0
0

0
0
Vo :=

0.01

but the deformations are not all zero, because of the prestrain of element d. We have

we use a value of 1/100 as a "unit" value for the initial prestrain, since a value of 1 would
produce extremely large forces and displacements.

## The release deformation at locations 1 and 4 on account of the initial deformation is

104.17 1

208.33 EI

BbarxT ( F s Qp + Vo) =

Page 383

104.17 1

208.33 EI

## Prof. Filip C. Filippou, 2000

this result is very easy to interpret from the compatibility relations, since all element deformations except V6
are zero. We recall

V1 =
V2 =

U1
6
U1
6

V3 = U2
+ U2

V4 =

U3
4

U3

V5 =

4
+ U4

U3
4

+ U4

V6 = 0.8 U1

and get

U2o :=

U1o
6

U3o := 4 U2o
U4o :=

U3o
4

U1o = 625

1
EI

1
EI
1
U3o = 416.67
EI
1
U4o = 104.17
EI
U2o = 104.17

U1o

## and the relations at locations 1 and 4 become

U3o
4

= 104.17

1
EI

+ U4o = 208.33

1
EI

but we could have obtained these answers much faster from the geometry of the deformed shape

Page 384

## Prof. Filip C. Filippou, 2000

We denote the release deformation due to prestressing (or, initial deformation) with Vho
T
Vho := Bbarx Vo

Vho =

104.17 1

208.33 EI

In reality there is no release; to reduce the deformation at the release to zero we need the following
redundant force values

Vho + Fxx Qx = 0

Qx := lsolve ( F xx , Vho)

Qx =

21.75

5.76

We conclude that initial deformations produce a self-stress state in a statically indeterminate structure. The
basic force values of the structure for an initial deformation value of 0.01 in the brace are

Q := Bbarx Qx

21.75

11.51
11.51
=

5.76

5.76

6.93

The bending moment diagram in the structure under an initial deformation value of 0.01 in the brace is
11.51
11.51

5.76

21.75

Note that support reactions arise under the load case of initial deformation. These are self-equilibrating.
You should determine these and check global equilibrium for practice.
It is worth noting that F xx in the compatibility equation depends on the absolute value of the stiffness. By
contrast, Vho does not ! Thus, the redundant basic forces and the resulting self-stress state are directly
proportional to the absolute value of the stiffness.
Conclusion: In a statically indeterminate structure self stress-states generated by initial deformations are
proportional to the absolute value of the stiffness ! The element deformations, however, only depend on the
relative stiffness and not on the absolute stiffness value. The same is then true for the displacements!

Page 385

## Prof. Filip C. Filippou, 2000

There is another aspect that if of some interest in prestressed structures. Even though the initial
deformation is positive (0.01 units), the axial force in the brace is compressive. We should think of this as
the necessary force to "push back" the brace to fit into the frame, which at the same time gets "pushed
out" at the location of the brace to meet the end of it. This is synergy at work!!
Interestingly the final deformation of the brace element is

V6 :=

Ld
EA

Q + 0.01
6

V6 = 0.0031

## i.e. only 31% of its initial value

this "recoiling" of the brace from its initial deformation value is known as "prestress loss during installation".
It depends on the ratio EI/EA since this ratio controls the contribution of the frame vs. the brace in the gap
closing operation.
Calibration of prestressing (prestraining) value
Let us determine how much is the horizontal translation for the initial deformation case. This is rather
straightforward.
from

V6 =

4
U1
5

we get

U1 := 1.25 V6

U1 = 191.9

1
EI

834.75

1
EI

this means that if we selected the prestressing (prestraining) value just right we could eliminate the
horizontal translation under the applied forces of 30 units at dof 4 and 20 units at dof 2. Let us summarize
first
under the applied forces the horizontal translation is

834.75

1
EI

under an initial deformation value of 0.01 in the brace the horizontal translation is
thus, if we select an initial deformation of

191.9

1
EI

834.75
0.01 = 0.0435
191.9

we can cancel out the horizontal translation under the applied forces.
We determine the corresponding forces by superposition of the basic forces from the two load cases, i.e.

85.01
21.75 9.6

30.89
11.51 19.18
30.89
11.51 19.18

+ ( 4.35)
=

55.44
5.76
30.38

55.44
5.76 30.38

13.36
6.93 43.51

Page 386

## The corresponding moment diagram is shown in the following figure

19.18

30.38

9.6

We observe now a better balance between positive and negative bending moment values in the girder
(note that the maximum value is now 30.38 in the girder and 19.18 in the column, while it was 55.44 in the
girder and 85.01 in the column under the applied forces alone. Thus, prestressing allows us to fine tune
the moment distribution to our heart's content and achieve more economical values and, thus, smaller and
lighter cross sections. We also noted that it helps control the displacements. Not only is the horizontal
translation eliminated, but the vertical translation at girder midspan is -336.87 1/EI without prestress
and -136.5 1/EI with prestress (value from computer analysis, since it was not obtained above).

Page 387

## Prof. Filip C. Filippou, 2000

We would like to investigate the load case of a uniformly distributed element load acting on the girder of the
w=5

The following figure represents schematically the equivalent nodal forces for the distributed element load, as
well as the effect of the distributed element load on the element deformations.
w=5

10

0=

10

10

10

10

20

10

+ 0.8 Q6

0 = Q2 + Q3

Q1 + Q2

0=

Q3 + Q4
4

Q5
4

+ 20

0 = Q4 + Q5
6

or,

0=

Q1 + Q2
6

+ 0.8 Q6

0 = Q2 + Q3
Q3 + Q4 Q5
20 =
+
4
4

0 = Q4 + Q5

Page 388

0 = Q2 + Q3
20 =

Q2 = 80

Q3 + ( 0)
4

Q5

0 = ( 0) + Q5
0=

( 0) + Q2
6

Q3 = 80

4
Q5 = 0

Q6 =

+ 0.8 Q6

Bf Qp =
20

100
6

## Prof. Filip C. Filippou, 2000

80

80
Qp := 0

0
100

and it is correct.

the following figure shows the moment diagram under the particular solution

80
80

In determining the deformations under the particular solution we should make sure to include the
deformations under the distributed element load in vector Vo. This effect is indicated with the gray hatched
area in the moment diagram above.

Page 389

## the element deformations for the particular solution are

w := 5

0
0

3
w Lb

24

1
Vo :=
w Lb 3

EI
24

3
w

c
24

Vo

13.33 1
=

13.33

EI
13.33

and

Fs Qp + Vo

80

160

93.33 1
=

40

EI
13.33

833.33

note that Vo is caused by the curvatures due to the gray hatched area in the moment diagram above

93.61 1

880.56 EI

BbarxT ( F s Qp + Vo) =

## release deformations due to particular solution

these are shown in the following figure

Page 390

## with Vhp := BbarxT ( F s Qp + Vo)

Qx := lsolve ( F xx , Vhp)

## we get from the solution of the system of equations

Qx =

4.6

31.81

the final forces under the uniformly distributed element load are the superposition of NOS+1 stress states

Q := Qp + Bbarx Qx

4.6

16.39
16.39
=

31.81

31.81

2.46

the following figure shows the moment diagram under the uniformly distributed load

16.39

31.81

4.6
the maximum moment occurs in element c

Vj :=

## the shear force at end j of element c is

and the moment becomes

maxM :=

Vj

2 w

w Lc
2

Lc

Vj = 17.95

maxM = 32.23

all that remains is to determine the support reactions and check global equilibrium. Take it as exercise!

Page 391

## Script for Example 30a in CE220 class notes

% frame with single brace under horizontal and vertical force with static matrix

CleanStart

## force method of analysis

La = 6; Lb = 4; Lc = 4; Ld = 10;
% static (equilibrium) matrix (from Example 6)
Bf = [1/La 1/La
0
0
0 (Lb+Lc)/Ld;
0
1
1
0
0
0 ;
0
0
-1/Lb -1/Lb 1/Lc
0 ;
0
0
0
1
1
0];
% set up collection of element flexibility matrices
EI = 50000;
EA = 10000;
% for column and girder elements
f{1} = La/(6*EI).*[2 -1; -1 2];
f{2} = Lb/(6*EI).*[2 -1; -1 2];
f{3} = Lc/(3*EI);
% for brace element
f{4} = Ld/EA;
% collection of element flexibility matrices
Fs
= blkdiag (f{:});
% invoke single function for force method of analysis
[Bbar,Bvbar,F] = ForceMethod(Bf,Fs);

## First load case: applied nodal forces

Pf = [30;0;-20;0];
% determine final forces
Q = Bbar*Pf;
% display final forces
disp('basic forces Q under applied nodal forces')
disp(Q);
basic forces Q under applied nodal forces
8.5006e+001
3.0885e+001
-3.0885e+001
5.5443e+001
-5.5443e+001
1.3356e+001

determine displacements
Uf = F*Pf;
% display displacements
disp('free dof displacements Uf under applied nodal forces')
disp(Uf);
% store displacement value at first dof for later use
U1_1 = Uf(1);
free dof displacements Uf under applied nodal forces
1.6695e-002
-3.2472e-003
-6.7375e-003
2.0590e-004

Page 392

## Second load case: initial deformation

% define initial deformation vector for second load case (prestress)
V0
= zeros(6,1);
V0(6) = 0.01;
% determine final forces
Q = Bvbar*V0;
% display final forces
disp('basic forces Q under initial deformation')
disp(Q);
basic forces Q under initial deformation
2.1748e+001
1.1514e+001
-1.1514e+001
5.7569e+000
-5.7569e+000
-6.9296e+000

determine displacements
Uf = Bbar'*V0;
% display displacements
disp('free dof displacements Uf under initial deformation')
disp(Uf);
% select displacement value of first dof
U1_2 = Uf(1);
free dof displacements Uf under initial deformation
3.8380e-003
-6.1407e-004
-9.2111e-004
7.6759e-005

## Third load case: applied nodal forces and prestressing

% determine prestressing force so as to cancel horizontal translation under
applied nodal forces
V0(6) = -U1_1/U1_2*0.01;
% determine final forces
Q = Bbar*Pf+ Bvbar*V0;
% display final forces
disp('basic forces Q under applied nodal forces and prestressing')
disp(Q);
basic forces Q under applied nodal forces and prestressing
-9.6000e+000
-1.9200e+001
1.9200e+001
3.0400e+001
-3.0400e+001
4.3500e+001

determine displacements
Uf = F*Pf + Bbar'*V0;
% display displacements
disp('free dof displacements Uf under applied nodal forces and prestressing')
disp(Uf);

Page 393

## free dof displacements Uf under applied nodal forces and prestressing

0
-5.7600e-004
-2.7307e-003
-1.2800e-004

w = 5;
V0 = [0;0;-w*Lb^3/(24*EI);w*Lb^3/(24*EI);-w*Lc^3/(24*EI);0];
Pf = zeros(4,1);
Pfw = [0;0;20;0];
% determine final forces
Q = Bbar*(Pf-Pfw)+ Bvbar*V0;
% display final forces
disp('basic forces Q under distributed girder load')
disp(Q);
% determine displacements
Uf = F*(Pf-Pfw) + Bbar'*V0;
% display displacements
disp('free dof displacements Uf under distributed girder load')
disp(Uf);
basic forces Q under distributed girder load
4.5987e+000
-1.6389e+001
1.6389e+001
3.1806e+001
-3.1806e+001
2.4563e+000
free dof displacements Uf under distributed girder load
3.0704e-003
-1.2593e-003
-4.0222e-003
-1.0926e-004

Page 394

## Script for Example 30b in CE220 class notes

% frame with single brace under horizontal and vertical force with full set of
basic forces

CleanStart

## define model geometry and element types

% specify node coordinates (could only specify non-zero terms)
XYZ(1,:) = [ 0
0]; % first node
XYZ(2,:) = [ 0
6]; % second node, etc
XYZ(3,:) = [ 4
6]; %
XYZ(4,:) = [ 8
6];
% connectivity array
CON {1} = [ 1
2];
CON {2} = [ 2
3];
CON {3} = [ 3
4];
CON {4} = [ 1
4];
% boundary conditions (1 = restrained,
BOUN(1,:) = [1 1 1];
BOUN(4,:) = [0 1 0];
% specify element type
[ElemName{1:3}] = deal('Lin2dFrm');
ElemName{4}
= 'LinTruss';

0 = free)

## % 2d linear beam element

% linear truss element

create Model
Model = Create_SimpleModel (XYZ,CON,BOUN,ElemName);

element properties
for el=1:3
ElemData{el}.E = 1000;
ElemData{el}.A = 1e6;
ElemData{el}.I = 50;
end
ElemData{4}.E = 1000;
ElemData{4}.A = 10;

% "inextensible"

## force method of analysis

static(equilibrium) matrix at free dofs
B = B_matrix(Model);
Bf = B(1:Model.nf,:);
% collection of element flexibility matrices
Fs = Fs_matrix(Model,ElemData);
% invoke single function for force method of analysis
[Bbar,Bvbar,F] = ForceMethod(Bf,Fs);

## First load case: applied nodal forces

% specify nodal forces
Pe(2,1) = 30;
Pe(3,2) = -20;

Page 395

% determine final forces
Q = Bbar*Pf;
% display final forces
disp('basic forces Q under applied nodal forces')
disp(Q);
basic forces Q under applied nodal forces
-6.1393e+000
8.5006e+001
3.0885e+001
-1.0685e+001
-3.0885e+001
5.5443e+001
-1.0685e+001
-5.5443e+001
0
1.3356e+001

## plot bending moment diagram

Create_Window(0.80,0.80);
Plot_Model (Model);
Plot_2dMomntDistr (Model,[],Q,2);

determine displacements
Uf = F*Pf;
% display displacements
disp('free dof displacements Uf under applied nodal forces')
disp(Uf);
free dof displacements Uf under applied nodal forces
1.6695e-002
-3.6836e-008
-3.2472e-003
1.6695e-002
-6.7375e-003
2.0591e-004
1.6695e-002
2.4236e-003

## open window and plot chords and then deformed shape

% put free dof displacement values in complete displacement vector

Page 396

U = zeros(Model.nt,1);
U(1:Model.nf) = Uf;
Create_Window(0.80,0.80);
Plot_Model (Model);
MAGF = 100;
Plot_Model (Model,U);
Plot_DeformedStructure (Model,[],U);
% store displacement value at first dof for later use
U1_1 = Uf(1);

## Second load case: initial deformation

define initial deformation vector for second load case (prestress)
ElemData{4}.e0 = 1e-3;
V0 = V0_vector(Model,ElemData);
% determine final forces
Q = Bvbar*V0;
% display final forces
disp('basic forces Q under initial deformation')
disp(Q);
basic forces Q under initial deformation
1.4392e+000
2.1748e+001
1.1514e+001
5.5437e+000
-1.1514e+001
5.7569e+000
5.5437e+000
-5.7569e+000
0
-6.9296e+000

## plot bending moment diagram

Create_Window(0.80,0.80);
Plot_Model (Model);
Plot_2dMomntDistr (Model,[],Q,2);

Page 397

determine displacements
Uf = Bbar'*V0;
% display displacements
disp('free dof displacements Uf under initial deformation')
disp(Uf);
% select displacement value of first dof
U1_2 = Uf(1);
free dof displacements Uf under initial deformation
3.8379e-003
8.6354e-009
-6.1407e-004
3.8380e-003
-9.2110e-004
7.6758e-005
3.8380e-003
3.0703e-004

## open window and plot chords and then deformed shape

% put free dof displacement values in complete displacement vector
U = zeros(Model.nt,1);
U(1:Model.nf) = Uf;
Create_Window(0.80,0.80);
Plot_Model (Model);
Plot_Model (Model,U);
Plot_DeformedStructure (Model,[],U);

Page 398

## Third load case: applied nodal forces and prestressing

determine prestressing force so as to cancel horizontal translation under applied nodal forces
ElemData{4}.e0 = -U1_1/U1_2*1e-3;
V0 = V0_vector(Model,ElemData);
% determine final forces
Q = Bbar*Pf+ Bvbar*V0;
% display final forces
disp('basic forces Q under applied nodal forces and prestressing')
disp(Q);
basic forces Q under applied nodal forces and prestressing
-1.2400e+001
-9.5999e+000
-1.9200e+001
-3.4800e+001
1.9200e+001
3.0400e+001
-3.4800e+001
-3.0400e+001
0
4.3500e+001

## plot bending moment diagram

Create_Window(0.80,0.80);
Plot_Model (Model);
Plot_2dMomntDistr (Model,[],Q,2);

determine displacements
Uf = F*Pf + Bbar'*V0;
disp('free dof displacements Uf under applied nodal forces and prestressing')
disp(Uf);
free dof displacements Uf under applied nodal forces and prestressing
0
-7.4400e-008
-5.7600e-004
-1.3920e-007
-2.7307e-003
-1.2799e-004
-2.7840e-007
1.0880e-003

Page 399

## plot deformed shape

% put free dof displacement values in complete displacement vector
U = zeros(Model.nt,1);
U(1:Model.nf) = Uf;
% open window and plot chords and then deformed shape
Create_Window(0.80,0.80);
Plot_Model (Model);
Plot_Model (Model,U);
Plot_DeformedStructure (Model,[],U);

ElemData{4}.e0 = 0;
% clear prestressing
ElemData{2}.w = [0;-5];
ElemData{3}.w = [0;-5];
V0 = V0_vector(Model,ElemData);
Pf = zeros(Model.nf,1);
clear Pe;
Pe(2,2) = 10;
Pe(3,2) = 20;
Pe(4,2) = 10;
% determine final forces
Q = Bbar*(Pf-Pfw)+ Bvbar*V0;
% display final forces
disp('basic forces Q under distributed girder load')
disp(Q);
basic forces Q under distributed girder load
-2.2049e+001
4.5987e+000
-1.6389e+001
-1.9650e+000
1.6389e+001
3.1806e+001
-1.9650e+000
-3.1806e+001
0
2.4563e+000

## plot bending moment diagram

Create_Window(0.80,0.80);
Plot_Model (Model);

Page 400

Plot_2dMomntDistr (Model,ElemData,Q,2);

determine displacements
Uf = F*(Pf-Pfw) + Bbar'*V0;
% display displacements
disp('free dof displacements Uf under distributed girder load')
disp(Uf);
free dof displacements Uf under distributed girder load
3.0703e-003
-1.3229e-007
-1.2592e-003
3.0703e-003
-4.0223e-003
-1.0924e-004
3.0703e-003
1.6963e-003

## plot deformed shape

% put free dof displacement values in complete displacement vector
U = zeros(Model.nt,1);
U(1:Model.nf) = Uf;
% open window and plot chords and then deformed shape
Create_Window(0.80,0.80);
Plot_Model (Model);
Plot_Model (Model,U);
Plot_DeformedStructure (Model,ElemData,U);

Page 401

## Example 31 - Force Method for Continuous Beam on Flexible Support

We consider the following model of a continuous beam over two spans with flexible middle support.
The beam carries a uniformly distributed load over both spans, as shown in the following figure.

w=10

w=10

4
18

15
La := 18

## Geometric and material properties are as follows:

beam flexural stiffness

EI := 100000

Lb := 15

## middle support axial stiffness

k := 5000

There are two free dofs or equilibrium equations and three basic forces, as shown in the following figure

Q1

Q3

18

Q2
b
4
15

The degree of static indeterminacy is thus NOS=1. The equilibrium equations are

P1 =

Q1
La

Q2
Lb

+ Q3

P2 = Q 1 + Q 2
We select Q1 as redundant basic force.

Page 402

## Particular solution of equilibrium equations for primary system

We set Q1 = 0 and solve the equilibrium equations for the other basic forces under the given loading
The following figure represents schematically the equivalent nodal forces for the distributed element load, as
well as the effect of the distributed element load on the element deformations.
w=10

90

75

75

90
165

18

0=

Q2
0
+
+ Q3 + 165
La Lb

0 = ( 0) + Q2

15

165 =
or

Q2
Lb

+ Q3

0 = Q2

0
Qp := 0
165

In determining the deformations under the particular solution we should make sure to include the
deformations under the distributed element load in vector Vo.

w La3

24
1
w := 10 Vo :=
w L 3
b
EI
24

0
The compatibility equations are

La
0
3

Lb
1
Fs :=
0
EI
3

0 0

V1 =

EI
k
0

V := F s Qp + Vo

2430
1
V = 1406.25
3300 EI

U1

+ U2
La
U1
V2 =
+ U2
Lb
V3 = U1

We use the last two to solve for the displacements and substitute into the first to find the compatibility error

Page 403

U1 := V

U1 = 3300

U2 := V
2

U1

1
EI

U2 = 1186.25

Lb

1
EI

## and from the first compatibility relation we get

U1
La

+ U2 V = 3432.92
1

1
EI

which is the hinge rotation at location 1. The compatibility error is the negative value of the hinge rotation
(or the hinge closing value), and we will confirm this later. This hinge closing value is shown in the following
figure which shows the moment diagram and the deformed shape of the continuous beam.

M(x)

3432.9

1
EI

## Homogeneous solution of equilibrium equations for primary system (self-stress state)

Determine the basic element forces for Q 1 = 1 without applied loading (homogeneous solution)

Q1 = 1
1

Q2
b

Q3

4
18

15

Fxx
1

Page 404

## The equilibrium equations are now:

0=

Q1
La

Q2
Lb

+ Q3

Q3 =

0 = Q1 + Q2

and thus,

Bbarx

:=
1
1
+
L L
b
a

Bbarx

1
= 1
0.122

1
T
Bbarx Fs Bbarx = 11.3

EI

V := F s Bbarx

1
EI
1
U2 = 5.163
EI

U1 := V

U1 = 2.444

3
2

1
1
+
La Lb

Q 2 = 1

U2 := V

U1
Lb

## and from the first compatibility relation we get

U1
La

+ U2 V = 11.3
1

1
EI

which gives again the hinge rotation; the compatibility error is the negative value of the hinge rotation
defining

T
Fxx := Bbarx Fs Bbarx

## we can solve the compatibility condition

Qx :=

T
Bbarx ( F s Qp + Vo)

T
Bbarx ( Fs Qp + Vo) + F xx Qx = 0

## we obtain the value

of the redundant

Qx = 303.83

F xx

the final forces under the uniformly distributed element load are the superposition of NOS+1 stress states

Q := Qp + Bbarx Qx

303.83
= 303.83
202.13

V := F s Q + Vo

Page 405

607.01
1
V = 112.91
4042.7 EI

## Prof. Filip C. Filippou, 2000

with these we can obtain the displacements at the free dof's from the compatibility relations

U1 := V

U2 := V
2

1
EI
1
U2 = 382.42
EI
U1 = 4042.7

U1
Lb

U1

+ U2 V = 0
1

La

1
EI

## which means that we have

a compatible set of
deformations, as expected!

the following figure shows the bending moment diagram and the deformed shape

303.8

405

281.25

IP

IP

w La

## the moment at midspan can be obtained from

8
w Lb
8

303.83
= 253.09
2

for span a

303.83
= 129.34 for span b
2

the maximum moment, however, occurs closer to the outer supports and have the following value
shear at left support

Vl :=

w La

Vr :=

303.83

La

w Lb
2

maxMa :=

303.83

Lb

Vl

2 w

maxMa = 267.33 @

maxMb :=

Page 406

Vr

2 w

maxMb = 149.85 @

Vl
w
Vr
w

= 7.31

= 5.47

## Determination of vertical deflection at midspan of element a

We wish to determine the vertical deflection at midspan of element a. To this end we insert a node at that
location in element a. We have the following compatibility relations from the following figure.

m1

1
2

m2
a2

a1

18

vja1 =
via2 =

Um1
9

Um1
9

15

+ Um2

+ Um2

via2 vja1 = 2

Um1
9

U1
9

## subtract the first equation from the second to get

U1
9
3

with

( 253.09) ( 9) w 9
vja1 :=
+
3 EI
24 EI

and finally

Um1 :=

U1
9
( via2 vja1) +
2
2

( 253.09) ( 9) ( 303.83) ( 9) w 9
via2 :=

3 EI
6 EI
24 EI
Um1 = 9537.68

1
EI

the effect of the flexible middle support on the midspan deflection is clear from the following figure

Um1 = 95.38 10

U1 = 40.43 10

Page 407

## Script for Example 31a in CE220 class notes

% continuous beam on flexible middle support with static matrix

CleanStart

La = 18;

Lb = 15;

## force method of analysis

static (equilibrium) matrix
Bf = [-1/La 1/Lb 1;
1
1
0];
% set up collection of element flexibility matrices
EI = 100000;
k = 5000;
% for beam elements
f{1} = La/3/EI;
f{2} = Lb/3/EI;
% for spring element
f{3} = 1/k;
% collection of element flexibility matrices
Fs
= blkdiag (f{:});
% invoke single function for force method of analysis
[Bbar,Bvbar,F] = ForceMethod(Bf,Fs);

w
V0
Pf
Pfw

=
=
=
=

10;
[w*La^3/(24*EI);-w*Lb^3/(24*EI);0];
zeros(2,1);
[165;0];

## determine final forces

Q = Bbar*(Pf-Pfw)+ Bvbar*V0;
% display final forces
disp('basic forces Q under distributed load')
disp(Q);
basic forces Q under distributed load
-3.0383e+002
3.0383e+002
-2.0213e+002

determine displacements
Uf = F*(Pf-Pfw) + Bbar'*V0;
% display displacements
disp('free dof displacements Uf under distributed load')
disp(Uf);
free dof displacements Uf under distributed load
-4.0427e-002
3.8242e-003

Page 408

## Script for Example 31b in CE220 class notes

% continuous beam on flexible middle support (with full set of basic forces)

CleanStart

## define model geometry and element types

La = 18; Lb = 15;
% specify node coordinates (could only specify non-zero terms)
XYZ(1,:) = [ 0
0]; % first node
XYZ(2,:) = [ La
0]; % second node, etc
XYZ(3,:) = [ La+Lb 0]; %
XYZ(4,:) = [ La
-1];
% connectivity array
CON {1} = [ 1
2];
CON {2} = [ 2
3];
CON {3} = [ 2
4];
% boundary conditions (1 = restrained,
BOUN(1,:) = [1 1 0];
BOUN(3,:) = [0 1 0];
BOUN(4,:) = [1 1 1];
% specify element type
[ElemName{1:2}] = deal('Lin2dFrm');
ElemName{3}
= 'LinTruss';

0 = free)

## % 2d linear beam element

% linear truss element

create Model
Model = Create_SimpleModel (XYZ,CON,BOUN,ElemName);

element properties
for el=1:2
ElemData{el}.E = 1000;
ElemData{el}.A = 1e6;
ElemData{el}.I = 100;
end
ElemData{3}.E = 1000;
ElemData{3}.A = 5;

% "inextensible"

## force method of analysis

% static(equilibrium) matrix at free dofs
B = B_matrix(Model);
Bf = B(1:Model.nf,:);
% collection of element flexibility matrices
Fs = Fs_matrix(Model,ElemData);
% invoke single function for force method of analysis
[Bbar,Bvbar,F] = ForceMethod(Bf,Fs);

ElemData{1}.w = [0;-10];
ElemData{2}.w = [0;-10];
V0 = V0_vector(Model,ElemData);
Pf = zeros(Model.nf,1);

Page 409

Pe(1,2) = 90;
Pe(2,2) = 165;
Pe(3,2) = 75;
% determine final forces
Q = Bbar*(Pf-Pfw)+ Bvbar*V0;
% display final forces
disp('basic forces Q under distributed girder load')
disp(Q);
basic forces Q under distributed girder load
0
0
-3.0383e+002
0
3.0383e+002
0
-2.0213e+002

## plot bending moment diagram

Create_Window(0.80,0.80);
Plot_Model (Model);
Plot_2dMomntDistr (Model,ElemData,Q);

determine displacements
Uf = F*(Pf-Pfw) + Bbar'*V0;
% display displacements
disp('free dof displacements Uf under distributed girder load')
disp(Uf);
free dof displacements Uf under distributed girder load
-1.7431e-002
0
-4.0427e-002
3.8242e-003
0
9.1619e-003

Page 410

## plot deformed shape

% put free dof displacement values in complete displacement vector
U = zeros(Model.nt,1);
U(1:Model.nf) = Uf;
% open window and plot chords and then deformed shape
MAGF = 30;
Create_Window(0.80,0.80);
Plot_Model (Model);
Plot_Model (Model,U);
Plot_DeformedStructure (Model,ElemData,U);

Page 411

## Prof. Filip C. Filippou, 2000

Example 32 - Force method for frame with inextensible elements and brace
Problem description
In this example we will analyze the frame with inextensible elements and a brace in the following figure. It is
assumed that elements a through d are inextensible and have flexural stiffness EI, while the brace element
e has axial stiffness EA.
3
b

Lb := 10
4

La := 6

Lc := 10
10

Ld := 10
Le := 16

5
6

Under the assumption that the elements a through d are inextensible, their axial flexibility is zero. This
means that axial forces do not cause axial deformations, so that the latter have no contribution to the
compatibility conditions of the force method. It is, therefore, advisable to avoid solving for the axial forces
with the equilibrium equations. To this end we make use of the principle of virtual displacements: we use
virtual displacement fields with inextensible elements a through d in setting up the equilibrium equations.
We have four equilibrium equations in 6 unknown basic forces as shown in the following figures.
2

4
3

Q1

Q2

Q3
Q6

Q4

Q5

Page 412

## Prof. Filip C. Filippou, 2000

for the translation dofs we have the following relation between global dof displacements, chord rotations
and relative displacements between nodes or between node tangents and chords.

a :=

dof 2

d := 0

ICc ICb

10

ICc
6

ICb

dof 3

d :=
10

IC

4
3 6
1
b :=
6
c := 0

4/3
ICa

Af 2 :=

d
d

a :=

1
8
1
c :=
8
b :=

ICa

2
6

Page 413

1
10

Af 3 :=

d
d

## Prof. Filip C. Filippou, 2000

with the following values of the compatibility matrix for the translation dofs
we can write all equilibrium equations

2
9

1
6

0

Af 3 =
1
10

1
10

1

1

3
1
8

Af 2 = 1
8

0
0
0

Q3

Q2

Q1

Q6

Q4

Q5

P1 = Q 1 + Q 2
P2 =
P3 =

Q1
3

2Q1
9

Q2

Q2
6

Q3

8
Q4
10

Q5
10

+ Q6

P4 = Q 3 + Q 4
We select Q2 and Q5 as redundant basic forces and obtain first the homogeneous solution (thus making
also sure that the selection results in a primary structure that is stable)
3

Qx1
1

c
4

Page 414

Qx 2

P= 0

we solve

Q2 = 1

0 = Q1 + ( 1)

Q5 = 0

0=
0=

Q1
3

2Q1
9

Q 1 = 1

1 Q3
+
8
8

Q3 =

1 Q4
0
+
+
+ Q6
6 10 10
Q4 =

0 = Q3 + Q4

then we solve

P= 0

Q2 = 0

0 = Q1 + ( 0)
0=
0=

Q1
3

2Q1
9

34
45

Q6 =

1
10

11
3

Q1 = 0
Q3 = 0

0 Q4
1
+
+
+ Q6
6 10 10
Q4 = 0

0 = Q3 + Q4

1
1
3
Bf :=
2
9
0

Q6 =

Q5 = 1

0 Q3
+
8
8

11
3

1 0

1 1
8 8

1
1 1
0
6
10 10
0 1

Bf Bbarx

0
=
0

Page 415

0
0

good!

Bbarx

1 0

0
1

11

:= 11

0
3

0
1

34 1
45 10

## Prof. Filip C. Filippou, 2000

We will now solve for two load cases by determining the particular solution of the equilibrium equations and
satisfying the compatibility conditions for the element deformations.
20

3
b

c
4

10

5
8

Q2 = 0

Q5 = 0

0 = Q1 + ( 0)
Q1

20 =
0=

2Q1
9

Q1 = 0

0 Q3
+
8
8

Q3 = 160

0 Q4
0
+
+
+ Q6
6 10 10

Q6 = 16

0 = Q3 + Q4

Q4 = 160

0
160
Qp :=

160

16

with this we are ready to determine the element deformations and then set up the compatibility conditions to
determine the values of the redundant basic forces. We have

EI := 40000

EA := 10000

Page 416

La
0
0
3 0 0 0

b
0
0
0 3 0 0

L
c

0 0
0
0
0

3
1
Fs :=

EI
0 0 0 Ld Ld

3
6

L
L
d
d
0 0 0
0

6
3

EI
0 0 0 0

0 Le
EA

## The deformations under each homogeneous solution are:

533.33 1
F s Qp =

533.33

EI
266.67

1024
T
Bbarx Fs Qp =

Fs Bbarx

4684.8 1

164.27 EI

0
2

0
3.33
12.22 0 1
=

12.22

1.67

EI
6.11 3.33

48.36 6.4

each of these deformation states does not satisfy compatibility either as we can tell immediately from
T
Bbarx Fs Bbarx =

131.498 1.276 1

1.276 3.973 EI

Page 417

## Example 32 - Frame with inextensible elements

T
Vhp := Bbarx F s Qp

## Prof. Filip C. Filippou, 2000

T
Fxx := Bbarx Fs Bbarx

## we get from the solution of the system of equations

Qx := lsolve ( F xx , Vhp)

Qx =

35.34

30

the final stress state is the superposition of NOS+1 stress states (one particular and NOS homogeneous)

Q := Qp + Bbarx Qx

35.34

35.34

30.44
=

30.44

30

7.7

the following figure shows the resulting moment diagram under the applied force of 20 units

30.44

35.34

30

Page 418

70.67

117.78
101.46 1
V =

51.46

EI
49.27

492.67

V := F s Q

## Prof. Filip C. Filippou, 2000

and we can use the compatibility relations to determine the two translations and then draw the deformed
shape of the structural model under the applied force of 20 units. We have

T
Bf

0
=

1
2
0
3
9

1
8

1
6

1
8

1
10

1
10

U2

V1 = U1

3
U2

V2 = U1 +
V3 =
V4 =
V5 =

U2
8
U3
10

U3

2
+

U3
6

+ U4
+ U4

U3
10

V6 = U3
U3 := V

## and from equations 3 and 4

V3 V4 =

U2
8

U3
10

U3 = 492.67

+ 0.8 U3
4)

U2 := 8 V V
3

1
EI

U2 = 829.2

1
EI

and with this information and the given element deformations we should be able to draw the deformed shape
of the structure.
Note: the horizontal translation of node 3 can be found from U2 and U3 according to the earlier derivations
for the compatibility matrix

Uhor :=

3
U2 + U3
4

Uhor = 129.23

1
EI

Uver := 2 U2 +

Page 419

4
U3
3

Uver = 1001.5

1
EI

downward

## Prof. Filip C. Filippou, 2000

the deformed shape is shown in the following figure; it is clear from the tangent continuity that node 2
rotates clockwise (CW) and node 3 counter clockwise (CCW). The rotation of node 4 is so small that it is
not possible to make out from the deformed shape. Indeed, numerical calculations reveal that it is roughly
50 times smaller than the rotation at the other nodes and thus, insignificant in the scale of the figure.

CCW

?
CW

Page 420

## Prof. Filip C. Filippou, 2000

w := 5
3

w=5

c
4

10

5
8

Equivalent nodal forces (on the left hand side of equilibrium equations)
equivalent nodal forces for
constrained translation dofs

20
15

3
b

20
15

( 20) 2 + ( 20) 1 + 15

dof 2:

3
= 48.75
4

dof 3:
10

( 20)

5
6

Page 421

4
+ 15 1 = 11.67
3

thus,

48.75

Pf :=
11.667

Q2 = 0

Q5 = 0

0 = Q1 + ( 0)
48.75 =
11.67 =

Q1 = 0

Q1
3

2Q1
9

0 Q3
+
8
8

Q3 = 390

0 Q4
0
+
+
+ Q6
6 10 10

Q6 = 50.667

0 = Q3 + Q4

Q4 = 390

## The deformations under

the particular solution are

## with the definitions

3
w Lb

24 EI

Vo :=

0
0

T
Vhp := Bbarx ( F s Qp + Vo)

## we get from the solution of the system of equations

V := F s Qp + Vo

390
Qp :=

390
0

50.667

208.33
1300 1
V =

1300

EI
650

3242.69

T
Fxx := Bbarx Fs Bbarx
Qx := lsolve ( F xx , Vhp)

Qx =

89.03

53.4

the final stress state is the superposition of NOS+1 stress states (one particular and NOS homogeneous)

Q := Qp + Bbarx Qx

89.03

89.03
63.57
=

63.57

53.4

11.26
V := F s Q + Vo

Page 422

178.05

505.09

211.89 1
V =

122.89 EI
72.05

720.52

## Prof. Filip C. Filippou, 2000

the following figure shows the moment diagram; can you determine the maximum moment in element b?

63.57

89.03

53.4

Page 423

## Prof. Filip C. Filippou, 2000

We determine again the values for the translation dofs from the compatibility relations

U3 := V

U3 = 720.52

+ 0.8 U3
4)

U2 := 8 V V
3

1
EI

U2 = 2101.84

1
EI

and derive the other translation values from the constraints used in setting up the compatibility matrix
for the horizontal translation of node 3 we have
the vertical translation of node 2 is

Uhor :=

Uver := 2 U2 +

4
U3
3

3
U2 + U3
4
Uver = 3243

Uhor = 855.87
1
EI

1
EI

downward

CCW

CCW

CW

the effect of the distributed load on the deformation V2 and the deformed shape of element b is very
pronounced.
can you determine the deflection (horizontal and vertical translation) of element b at its midspan?

Page 424

## Script for Example 32a in CE220 class notes

% frame with inextensible elements and brace using constraint transformation
for inextensibility

CleanStart

## define model geometry and element types

% specify node coordinates (could only specify non-zero terms)
XYZ(1,:) = [ 0
0]; % first node
XYZ(2,:) = [ 6
0]; % second node, etc
XYZ(3,:) = [ 14
6]; %
XYZ(4,:) = [ 22
0];
XYZ(5,:) = [ 22 -10];
% connectivity array
CON {1} = [ 1
2];
CON {2} = [ 2
3];
CON {3} = [ 3
4];
CON {4} = [ 4
5];
CON {5} = [ 2
4];
% boundary conditions (1 = restrained,
BOUN(1,:) = [1 1 0];
BOUN(5,:) = [1 1 1];
% specify element type
[ElemName{1:4}] = deal('Lin2dFrm');
ElemName{5}
= 'LinTruss';

0 = free)

## % 2d linear beam element

% linear truss element

create Model
Model = Create_SimpleModel (XYZ,CON,BOUN,ElemName);

element properties
for el=1:4
ElemData{el}.E = 1000;
ElemData{el}.A = 1;
ElemData{el}.I = 40;
end
ElemData{5}.E = 1000;
ElemData{5}.A = 10;

## force method of analysis with inextensible constraints

% set up compatibility matrix
A = A_matrix(Model);
% set up constraint conditions
LC_Eqs = LinConEqs(Model,1:4);
% re-order dofs to select translation dofs in specific order
pick_dof = [Model.DOF(3,2), Model.DOF(4,1)];
dof_reord = [setdiff(1:Model.nt,pick_dof) pick_dof];
Ac = Ac_matrix (LC_Eqs,dof_reord);
% compatibility matrix under inextensible constraints
Aftild = A*Ac;
% specify release location for subsequent index of deformations
ElemData{2}.Release = ['n';'y'];
% select deformation modes only

Page 425

Id = Idef_index(Model,ElemData,1:4);
% retain only deformation modes in compatibility matrix
Aftild = Aftild(Id,:);
% equilibrium matrix w/o axial forces is the transpose of the compatibility
matrix
Bf = Aftild';
% remove Release field from ElemData before setting up flexibility matrix
ElemData{2} = rmfield(ElemData{2},'Release');
% collection of element flexibility matrices
Fs = Fs_matrix(Model,ElemData);
Fs = Fs(Id,Id);
% invoke single function for force method of analysis
[Bbar,Bvbar,F] = ForceMethod(Bf,Fs);

## First load case: applied nodal forces

% specify nodal forces
Pe(3,2) = -20;
% make sure to define applied force vector at constrained dofs (remove
restrained dofs from Ac matrix)
% determine final forces
Q = Bbar*Pf;
% display final forces
disp('basic forces Q under applied nodal forces')
disp(Q);
basic forces Q under applied nodal forces
0
3.5335e+001
-3.5335e+001
0
-3.0437e+001
3.0437e+001
2.9999e+001
7.6979e+000

determine displacements
Uf = F*Pf;
% display displacements
disp('free dof displacements Uf under applied nodal forces')
disp(Uf);
free dof displacements Uf under applied nodal forces
-5.0563e-003
-2.4062e-003
-2.0730e-002
3.8595e-003
1.2317e-002
5.4813e-005

ElemData{2}.w = [0;-5];
V0 = V0_vector(Model,ElemData);
V0 = V0(Id);
Pf = zeros(Model.nf,1);
clear Pe;
Pe(2,1) = -15;

Page 426

Pe(2,2) = 20;
Pe(3,1) = -15;
Pe(3,2) = 20;
% determine final forces
Q = Bbar*(Ac(1:Model.nf,:)'*(Pf-Pfw))+ Bvbar*V0;
% display final forces
disp('basic forces Q under distributed girder load')
disp(Q);
% determine displacements
Uf = F*(Ac(1:Model.nf,:)'*(Pf-Pfw)) + Bbar'*V0;
% display displacements
disp('free dof displacements Uf under distributed girder load')
disp(Uf);
basic forces Q under distributed girder load
0
8.9027e+001
-8.9027e+001
0
-6.3568e+001
6.3568e+001
5.3400e+001
1.1258e+001
free dof displacements Uf under distributed girder load
-1.5738e-002
-9.0612e-003
-5.2546e-002
9.2169e-003
1.8013e-002
1.2710e-003

Page 427

## Script for Example 32b in CE220 class notes

% frame with inextensible elements and brace using large axial stiffness for
inextensibility

CleanStart

## define model geometry and element types

% specify node coordinates (could only
XYZ(1,:) = [ 0
0]; % first node
XYZ(2,:) = [ 6
0]; % second node,
XYZ(3,:) = [ 14
6]; %
XYZ(4,:) = [ 22
0];
XYZ(5,:) = [ 22 -10];
% connectivity array
CON {1} = [ 1
2];
CON {2} = [ 2
3];
CON {3} = [ 3
4];
CON {4} = [ 4
5];
CON {5} = [ 2
4];
% boundary conditions (1 = restrained,
BOUN(1,:) = [1 1 0];
BOUN(5,:) = [1 1 1];
% specify element type
[ElemName{1:4}] = deal('Lin2dFrm');
ElemName{5}
= 'LinTruss';

etc

0 = free)

## % 2d linear beam element

% linear truss element

create Model
Model = Create_SimpleModel (XYZ,CON,BOUN,ElemName);

element properties
for el=1:4
ElemData{el}.E = 1000;
ElemData{el}.A = 1e6;
% "inextensible"
ElemData{el}.I = 40;
end
ElemData{5}.E = 1000;
ElemData{5}.A = 10;
% area for brace element
ElemData{2}.Release = ['n';'y'];

## force method of analysis

% static(equilibrium) matrix at free dofs
B = B_matrix(Model);
% extract hinge locations from static matrix
Id = Idef_index(Model,ElemData);
Bf = B(1:Model.nf,Id);
% collection of element flexibility matrices
Fs = Fs_matrix(Model,ElemData);
% invoke single function for force method of analysis
[Bbar,Bvbar,F] = ForceMethod(Bf,Fs);

## First load case: applied nodal forces

% specify nodal forces
Pe(3,2) = -20;

Page 428

% determine final forces
Q = Bbar*Pf;
% display final forces
disp('basic forces Q under applied nodal forces')
disp(Q);
basic forces Q under applied nodal forces
-6.0436e+000
0
3.5335e+001
-1.4527e+001
-3.5335e+001
-1.9459e+001
0
-3.0437e+001
-1.4111e+001
3.0437e+001
2.9999e+001
7.6979e+000

## plot bending moment diagram

Create_Window(0.80,0.80);
Plot_Model (Model);
% put basic forces back into complete vector that includes hinge Id index
Qf = zeros(sum(Model.nq));
Qf(Id) = Q;
Plot_2dMomntDistr (Model,[],Qf,0.75);

determine displacements
Uf = F*Pf;
% display displacements
disp('free dof displacements Uf under applied nodal forces')
disp(Uf);
free dof displacements Uf under applied nodal forces
-5.0563e-003
-3.6261e-008
-2.5038e-002
-2.4062e-003
-3.2307e-003
-2.0730e-002
3.8595e-003
1.2317e-002
-1.4111e-007
5.4825e-005

Page 429

## open window and plot chords and then deformed shape

% put free dof displacement values in complete displacement vector
U = zeros(Model.nt,1);
U(1:Model.nf) = Uf;
Create_Window(0.80,0.80);
Plot_Model (Model);
MAGF = 60;
Plot_Model (Model,U);
Plot_DeformedStructure (Model,[],U);

ElemData{2}.w = [0;-5];
V0 = V0_vector(Model,ElemData);
Pf = zeros(Model.nf,1);
clear Pe;
Pe(2,1) = -15;
Pe(2,2) = 20;
Pe(3,1) = -15;
Pe(3,2) = 20;
% determine final forces
Q = Bbar*(Pf-Pfw)+ Bvbar*V0;
% display final forces
disp('basic forces Q under distributed girder load')
disp(Q);
basic forces Q under distributed girder load
1.8303e+001
0
8.9027e+001
-3.2672e+000
-8.9027e+001
-3.3461e+001
0
-6.3568e+001
-2.5162e+001
6.3568e+001
5.3400e+001
1.1258e+001

## plot bending moment diagram

Create_Window(0.80,0.80);
Plot_Model (Model);

Page 430

% put basic forces back into complete vector that includes hinge Id index
Qf = zeros(sum(Model.nq));
Qf(Id) = Q;
Plot_2dMomntDistr (Model,ElemData,Qf,0.75);

determine displacements
Uf = F*(Pf-Pfw) + Bbar'*V0;
% display displacements
disp('free dof displacements Uf under distributed girder load')
disp(Uf);
free dof displacements Uf under distributed girder load
-1.5738e-002
1.0982e-007
-8.1075e-002
-9.0612e-003
-2.1396e-002
-5.2547e-002
9.2169e-003
1.8013e-002
-2.5162e-007
1.2710e-003

## plot deformed shape

% put free dof displacement values in complete displacement vector
U = zeros(Model.nt,1);
U(1:Model.nf) = Uf;
MAGF = 30;
Create_Window(0.80,0.80);
Plot_Model (Model);
Plot_Model (Model,U);
Plot_DeformedStructure (Model,ElemData,U);

Page 431

CE220-Theory of Structures

Deformation-Force Relations

## Displacements at incipient collapse

Case of full collapse mechanism
Just before the last hinge forms the structure is statically determinate if a full collapse mechanism forms.
Thus, all basic forces can be determined from the equilibrium equations (page 26 of Part I). With all basic
forces known we can determine the corresponding strain dependent element deformations. In determining
the global dof displacements we can only use the compatibility equations in the locations without a plastic
hinge, because at the NOS plactic hinge locations there are unknown plastic hinge deformations at the
instant just before the last hinge forms.
Denoting the locations without plastic hinge including the last hinge to form with subscript i, as we have
done in Example 18, we have

Vi = Ai U f

with

Vi = Fsi Qi +Vi0

## solving for the displacements at the free dofs we obtain

U f = BiTVi

since

AiT = Bi and

Bi = Bi 1

Since the location of the last hinge to form is not known from the lower or upper bound theorem of plastic
analysis, trial and error is required: we guess the location of the last plastic hinge to form and then determine
the plastic deformations and the free global dof displacements. The correct guess for the last plastic hinge to
form corresponds to the case with no contradiction between the sign of the plastic deformations and the
corresponding basic forces, which also results in the largest value for the translation dofs.
consult examples 27 and 28.
Case of partial collapse mechanism
In this case the structure is still statically indeterminate before the last plastic hinge forms. Recall that there
are less than NOS+1 hinges at collapse, thus less than NOS hinges before the last plastic hinge forms. Let
us call the number of plastic hinges at collapse NP. Before the last plastic hinge forms there are, therefore,
NOS+1 - NP redundant basic forces and a statically indeterminate analysis, as discussed in the preceding
page is required to determine the redundant values and then all basic forces just before the last plastic
hinge forms. Following this we can follow the same procedure as for the case of the full collapse
mechanism above to determine the displacements at incipient collapse.
consult example 33

Page 432

## Example 33 - Force method for partial collapse mechanism

We tackle now a problem that we addressed partially in Examples 9 and 18, the partial collapse mechanism
of the structural model in the following figures

La := 6
Lb := 6
Lc := 8
Ld := 6
Le := 6
Lf := 10

1
3

Q7

Q6
Q5

Q8

Q4

Q1

Q2

Q3

We recall from Example 9 that we obtained the following basic forces at incipient collapse

Q2
Q4
=
Q5
Q6

Qei + Bbarxe Q 6

with

50

150

Qei :=
100

and

1

1
Bbarxe :=
1

1

A unique solution was not possible, because there were four unknown basic forces with three independent
equilibrium equations, as is typical of a partial collapse mechanism (review discussion of Example 9).

Page 433

## Prof. Filip C. Filippou, 2000

A unique solution of this problem is only possible if we introduce a deformation-force relation for the
elements and then seek to satisfy the compatibility relations. Let us assume the following stiffness values
elements a through e are inextensible and have flexural stiffness EI

EI := 50000

## the brace element has axial stiffness EA

EA := 10000

we need the element deformations at locations 2, 4, 5 and 6; we note that the element deformation at 2 also
depends on the basic force Q1
We recall from Example 9 that

Q1 := 100

we introduce the collection of flexibility matrices for elements a, c, and d only (note that we are not interested
in the deformation at 1, which is why the flexibility matrix for element a has only one row)

La

0
0
0
3 EI

Lc
Lc

0
0
3 EI
6 EI

Fse :=

Lc
Lc
0
0
6 EI 3 EI

Ld

0
0
0
3 EI

## and the element deformations at the locations of

interest for the particular solution are (do not forget
to include the deformation at 2 due to Q1 = 100)

100 La
50
6 EI

150 +
0
Vei := F se

100

0
0

Vei

200

266.67
1
=
66.67 EI

@2
@4
@5
@6

1
T
Bbarxe Vei = 400

EI

## we determine the discontinuity at location 6 due to the homogeneous solution (i.e. Q6 = 1)

1
T
Bbarxe F se Bbarxe = 12

EI

## thus, to satisfy the compatibility

relation at 6 we need to select the
value of Q6 from the relation
and we get

Q6 :=

400
12

Q2
Q4
:=
Q5
Q6

Page 434

400

1
1
+ 12 Q6 = 0
EI
EI

Q6 = 33.333

Qei + Bbarxe Q 6

Q2 16.67
Q4 116.67

=
Q5 133.33
Q6 33.33

## Prof. Filip C. Filippou, 2000

and we note that the forces satisfy the yield condition since Q2 and Q6 do not exceed 100
and Q4 and Q5 do not exceed 150.
We have, therefore, obtained a unique solution under the assumption that the material is linear elastic.
It turns out that the value of the flexural stiffness EI does not affect the result, since it appears in both terms
of the compatibility condition (note that the axial stiffness does not appear because the brace has yielded).
With the unique solution for the basic forces, we can now determine the element deformations and then
proceed to determine the displacements at incipient collapse. For the given stiffness values the last hinge
forms at location 1 in element a, as an event-to-event analysis reveals (note that the sequence of plastic
hinge formation depends on the relative stiffness value EI/EA, while the plastic hinge location and collapse
load factor does not; to prove this use the upper and lower bound theorem of plastic analysis).
Recalling the compatibility matrix from Example 18 we write

1
La

1
La

1
Lb

Af :=
0

1
Ld
1

Le
8

Lf

0
1
1
1
0
0
0
0

0 0

0 0

1
0
Lc

1
1
Lc

0 1

0 1

0
Lf

Af

1
6

1
6

1
6

0
=

1
6

1
6
4

1
8

1
8

## and there are no hinge deformations at

locations 1, 2, 4, 5 and 6

3
5

V1 =

V2 =

U1
6
U1
6

V4 = U2 +

+ U2

U3
8

U3

+ U4
8
U1
V6 =
+ U4
6
V5 =

we know, of course, that even though we have 5 compatibility relations only 4 are linearly independent. We
can, therefore, obtain a unique solution for the global dof displacements from these equations. We have
from 1

U1 = 6 V1

from 2

U2 = V2 +

from 6

U4 = V6 +

Page 435

U1
6
U1
6

= V2 V1
= V6 V1

## Prof. Filip C. Filippou, 2000

U3 = 8 ( V5 U4) = 8 ( V5 V6 + V1 )

from 5

## and we can check that 4 is satisfied

V4 = V2 V1 + V5 V6 + V1

1

1
Bbarxe :=
1

1

## which gives V 4 V 2 V 5 + V 6 = 0 to be satisfied; but it is satisfied if we recall that

therefore, the given continuity relations result in a unique set of global dof displacements that we now
determine; to this end we need to determine the deformations
recall that

Q1 := 100

V1 :=

Q2 = 16.67

V2 :=

Q4 = 116.67

V4 :=

Q5 = 133.33

V5 :=

Q6 = 33.33

V6 :=

La
6 EI
La
6 EI
Lc
6 EI
Lc
6 EI
Ld
3 EI

1
EI

( 2 Q1 Q2)

V1 = 216.67

( 2 Q2 Q1)

V2 = 133.33

( 2 Q4 Q5)

V4 = 133.33

( 2 Q5 Q4)

V5 = 200

Q6

V6 = 66.67

## the global dof displacements at incipient collapse become

1
EI

U1 := 6 V1

U1 = 1300

U2 := V2 V1

U2 = 350

U3 := 8 ( V5 V6 + V1)

U3 = 3866.67

1
EI

U3 = 77.33 10

U4 := V6 V1

U4 = 283.33

1
EI

U4 = 5.667 10

1
EI

U1 = 0.026
3

U2 = 7 10

Page 436

1
EI

1
EI

1
EI
1
EI

## Prof. Filip C. Filippou, 2000

and we can determine the plastic deformations at incipient collapse from the relation

Vh = Af Uf V

relevant are only the deformations at 3, 7 and 8 (since the other locations are all continuous)
recall from Example 9

then

Q3 := 100

V3 :=

Q7 := 100

V7 :=

Q8 := 20

V8 :=

1 1 0 0
6
U1

U V3

2
1
0 0 1 V7
Vh :=
6
U3
4
V8
3
0 0 U4
5
5

Q 3 Lb
3 EI
Q 7 Le
3 EI
Q 8 Lf
EA

@3
@7 Vh
@8

## extract rows 3, 7 and 8 of Af

Page 437

V3 = 200

1
EI

V7 = 200

1
EI

V8 = 1000

7.333
3
= 6 10
47.2

1
EI

or,

Vh

366.67
1
= 300
2360 EI

CE220-Theory of Structures

Displacement Method

## Prof. Filip C. Filippou, 2000

FORCE-DEFORMATION RELATIONS
FOR
ELEMENT AND STRUCTURE

## Objective: force-deformation relation of frame elements; displacement method of analysis;

constraints

Page 438

CE220-Theory of Structures

Displacement Method

## Force-deformation behavior of prismatic 2d frame element

Invert deformation-force relation for the same element from Part IV

L
EA

## recall from Part IV

1

v =fq
with

L
EA

f = 0

0
L
3EI
L

6 EI

6 EI

L
3EI
0

q1 = 1

L
3EI

L
6EI

q2 = 1
1

L
6 EI

L
3EI
1

q3 = 1

q = f 1v = kv

v =fq
EA
L

1
k =f = 0

0
4 EI
L
2 EI
L

2 EI
L

4 EI
L

v1 = 1
j

EA
L

EI
L

v2 = 1

EI
L

EI
L

4
v3 = 1
L

Page 439

EI
L

CE220-Theory of Structures

Displacement Method

## Initial forces (or fixed-end forces)

v = f q + v0

q = f 1 v v0 = k v v0 = kv + q 0

with

q 0 = k v0

Initial forces (or fixed-end forces) due to uniformly distributed element load

q 0 = k v0

EA
L

q 0 = 0

0
4 EI
L
2 EI
L

0
0

w L3
2 EI
y
L 24 EI

4 EI w L3
y
L
24 EI

0

wy L2
=
12

2
wy L

12

wy

wy L
12

wy L

wy L

w y L2
12

## Initial forces (or fixed-end forces) due to non-mechanical effects

q 0 = k v0

EA
L

q0 = 0

0
4 EI
L
2 EI
L

0
a0 L

EA a 0

2 EI 1

0 L = EI 0

2
L

EI 0
4 EI 1

L
L 2 0

EAa 0

a 0 ( x ) = const=a 0

EAa 0

EI 0

0 ( x ) = const=0

EI 0

no shear forces

Page 440

CE220-Theory of Structures

Displacement Method

## Force-deformation behavior of prismatic 2d frame element with moment release

Invert deformation-force relation for the same element from Part IV
L
EA

## recall from Part IV

v =fq

q1 = 1

L
EA
with f =

L
3EI

q2 = 1

L
3EI
1

and

1
v3 = v 2
2

v =fq

L
6 EI
1

L
L

q = f 1v = kv

v1 = 1
with

EA

k= L
0

3EI
L

EI
L

v3 =

v2 = 1

Page 441

EA
L

1
2

CE220-Theory of Structures

Displacement Method

## Prof. Filip C. Filippou, 2000

Initial forces (or fixed-end forces) for element with moment release at node j

v = f q + v0

q = f 1 v v0 = k v v0 = kv + q 0

q 0 = k v0

with

Initial forces (or fixed-end forces) due to uniformly distributed element load

q 0 = k v0

EA

q0 = L
0

0 0

w L3
3EI y
L 24 EI

0

2
= wy L

8

wy

wy L2
8
due to fixed-end moment

wy L

wy L

2
wy L

2
wy L
8

## Initial forces (or fixed-end forces) due to non-mechanical effects

q 0 = k v0

EA

q0 = L
0

0 a 0 L EA a 0
=

1
3

3EI 0 L EI 0
2
2

1.5 EI 0
note shear forces due to
fixed-end moment

0 ( x ) = const= 0

1.5EI 0
L

Page 442

1.5EI 0
L

CE220-Theory of Structures

Displacement Method

from

4 EI

q= L
2 EI
L

2 EI
2 EI 2 1
L
v=

v
4 EI
L 1 2
L

we derive

1

v = L
1

L

6 EI
2
q = L
6 EI
2
L

1
v =
0

4 EI

q = L
2 EI

1

v = L
1

L

6 EI
2
q = L
6 EI
2
L

0
v =
1

2 EI

q = L
4 EI

EI
L2

12

EI
4
L

EI
6 2
L

1
L 4 EI
0 L

1 2 EI

L L
1

EI
6 2
L

1
L
1
0
L

EI
L2

EI
L

EI
L2

12

EI
L3

EI
L2

2 EI 1
L L
4 EI 1
L L

EI
L3

## or, in one step

1
L

1
T
a ka =
1

L
0

EI
L3

EI
L2

12

EI
2
L

12

EI
L3

EI

12 3
L

EI
0 6 2
= L

EI
1 12 3

L
EI
6 2
L

EI
2

L
EI
4
L
EI
6 2
L
EI
2
L

12
6
12

EI
3

L
EI

L2
EI
L3
EI
L2

gives the beam stiffness matrix in local coordinates (axial effects are not present)

Page 443

EI
2
L
EI
2

L
EI
6 2
L
EI
4

L
6

EI
L2
1

EI
L

CE220-Theory of Structures

Displacement Method

## Element stiffness matrix of 2d prismatic beam element with moment release

in local coordinates
3EI
q=
v
L

from

we derive

3EI
q = 2
L

1
v =
L

3EI
q = 2
L

1
v =
L

EI
3
L

3EI
q =

v = (1)

EI
L2

3
3

EI
L3

EI
L2

EI
L3

EI
L2

EI
L3 1

EI
L2

EI
L3

## or, in one step

1
L

1
1 3EI 1
T
a ka =
1

1
L
L L
L
0

EI
3 3
L
EI
3 2
0 = L
EI
3 3
L
0

EI
2

L
EI
3
L
EI
3 2
L
0

3
3
3

EI
3

L
EI
2

L
EI
3

L
0

gives the beam stiffness matrix in local coordinates (axial effects are not present)

Page 444

CE220-Theory of Structures

Displacement Method

## Basic force-deformation relation for collection of elements

from the preceding pages we know that the basic force-deformation
relation for a single 2d frame element is given by the following relation

q = kv + q 0

Combine the deformation-force relations for all elements in the structural model q

q
q

(a )
( b)
( c)

(a ) (a )

=k v
=k

(b) (b)
v

(c) (c)

=k v

+ q0

(a )

+ q0
+ q0

( b)

(c)

#
q

## or, in compact form

v(a )

( b)
v
with V = ( c )
v
#

( ne )
v

q ( a ) k ( a )

( b)
q 0
(c) =
q 0
# 0

( ne )
q
0

q (a )

(b)
q
Q = (c)
q
#

( ne )
q

0
k

( b)
0
0
0

( ne )

=k

( ne ) ( ne )
v

( ne )

(a )
(a )
0 v q 0
( b) (b)
0
0
0 v q0
( c) + ( c)
(c)
0
0 v q0
k
0 %
0 # #

( ne ) ( ne ) q ( ne )
0
0 k
v
0

q (a )
0
( b)
q0
Q0 = q ( c )
0
#

( ne )
q0

and

k ( a )

0
Ks =
0
0

0
k

( b)
0
0
0

0
0
0

(c)
k
0
0
0 %
0

( ne )
0
0 k

block-diagonal
we get

+ q0

Q = KsV +Q0

Page 445

## DISPLACEMENT OR STIFFNESS METHOD OF ANALYSIS

Compatibility

Equilibrium

Pf = B fQ + Pfw

V = A fU f +Vd

Element force-deformation

Q = K sV +Q0

Pf = A Tf K s A fU f + Pfw + A Tf Q0 + A fT K sVd
or

Pf = K fU f + Pf0

nf equations in nf unknowns
nf = number of free degrees of freedom

P = KU f + P0

Pf = B f Q + Pfw

(1)
note

V = Af Uf

(2)

## Element force-deformation for linear elastic material

Q = K s V + Q0

(3)

B f = A Tf

In the displacement method of analysis the unknowns of the analysis problem are the displacements at free dof's
from (2) and (3)

Q = K s ( A f Uf ) + Q0

## from (1) and (3*)

Pf = A fT [ K s ( A f U f ) + Q 0 ] + Pfw

Uf

(3*)

Pf = A fT K s A f U f + Pfw + A fT Q 0

Pf = K ff U f + Pf0
for brevity

P = KU f + P0

with

K = A Tf K s A f
P0 = Pfw + AfT Q 0

## the structure stiffness matrix at free dof's

the initial nodal force vector at free dof's

## the initial nodal force vector arises from two contributions:

(1) end shear forces due to element loading, (2) fixed end or initial basic forces

Page 446

CE220-Theory of Structures

Displacement Method

## Displacement method of analysis

In the absence of constraints we have the following relations:
Equilibrium equations in undeformed configuration (linear)

Pf = BfQ + Pfw

V = A fU f +Vd

## Compatibility relations for small displacements/deformations (linear)

where Vd

(1) note

(2)

are the element deformations due to imposed displacements at the restrained dofs

Q = K sV + Q0

## In the displacement method of analysis the unknowns of the analysis problem

are the displacements at free dof's

Q = K s A fU f +Vd + Q0

## from (2) and (3)

Uf

(3*)

T
Pf = A f K s A fU f +Vd + Q0 + Pfw

## Pf = A fT K s A fU f + A fT K sVd + A fTQ0 + Pfw

Pf = K ffU f + Pf0
Pf = KU f + P0

for brevity

with

Bf = A Tf

K = Af K s Af

## the initial nodal force vector arises from 3 contributions:

(2) fixed end or initial basic forces, and
(3) element deformations due to support displacements

Page 447

(3)

CE220-Theory of Structures

Displacement Method

## Solution steps for displacement method of analysis

Step 1: write compatibility relations and establish structure compatibility matrix for free dofs A f
Step 2: form structure stiffness matrix and initial force vector
T

(a) by computer:

K = Af K s Af

## (b) term by term through physical

interpretation

K = Af K s Af

P0 = Pfw + A f Q0 + A f K sVd

P0 = Pfw + A Tf Q0 + A Tf K sVd

Step 3: solve system of equilibrium equations for the unknown displacements at free dofs

Pf P0 = KU f

Uf

## Step 4: determine element deformations from global dof displacements V = A fU f +Vd

Step 5: determine basic element forces from element deformations

Q = K s V V0 = K sV + Q0

(a) by computer:
element by element

(b) by hand:

q = k v v0 = kv + q 0

## (c) by hand: faster if intermediate result available Q = K s A f U f + Q0 + K sVd

from stiffness determination
Step 6: with Q determine other element forces by equilibrium
(shear forces from element equilibrium, axial forces from node equilibrium)
Step 7: with Q determine support reactions from equilibrium at restrained dof's
(a) by computer:
(b) by hand:

R = BdQ + Pdw

## one support reaction at a time from equilibrium of corresponding restrained dof

Step 8: with support reactions and applied forces check global equilibrium on complete structure free body

Page 448

## Example 34 - Displacement method: simple truss

We concoct a somewhat unusual structure in an effort to reduce the number of independent free global
dofs to 2. Truss structures have many independent free global dofs, and this is the reason why the force
method of analysis gained the upper hand in the late 19th century for the analysis of truss bridges. The
displacement method received a boost in the 1930s with the introduction of the iterative method of Hardy
Cross for continuous beams and frames. Finally, the advent of computer analysis methods in the 1960s led
to the exclusive use of the displacement method in computer programs.
This unusual truss has only two independent free global dofs.
4

5
5

U2

a
3

c
1

U1

## The properties of the truss elements are:

EAa := 30000

EAb := 10000

EAc := 10000

Geometric information
2

La = 9.43

Lb = 5.66

Lc = 5.66

La :=

5 +8

Lb :=

4 +4

Lc :=

4 +4

Ld := 8

Page 449

## Prof. Filip C. Filippou, 2000

Step 1: Set up the compatibility relations between independent free global dofs and element deformations.
dof 1 corresponds to first column of the compatibility matrix Af
4

La

Af 1 :=

4
Lc

U1 = 1

4

U2 = 1

Page 450

4

Lb

Af 2 :=

4
Lc

## Equilibrium equations just for checking

(transpose of compatibility relations)

## Prof. Filip C. Filippou, 2000

5
4

Q1

Q2
b

P2

Q2

Q3
c

Q1
1

Q4

Q3

P1

Q4
8

5
4
P1 = Q 1
Q3
+ Q4
La
Lc
thus Bf :=
4
4
P2 = Q 2
+ Q3
Lb
Lc

5 0 4 1
L

Lc
a

4
4
0
0

Lb Lc

we note

Bf = A f

We set up the collection of element stiffness matrices. It consists of the individual basic element stiffness
matrices arranged on the diagonal (block diagonal form, in the case of the truss diagonal)
Collection of element stiffness matrices Ks

with

ka :=

EAa
La

kb :=

EAb
Lb

kc :=

EAc
Lc

kd :=

Ld

we have

ka
0
Ks :=
0
0

kb 0 0

0 kc 0
0 0 kd

for hand calculations it is better to factor out a reference stiffness and then include only relative stiffness
terms in Ks. We demonstrate

0
0
0

EAb La

0
0

0
EAa Lb

EAa
EAc La
Ks :=

La 0

0
0

EAa Lc

EA
L

d
a
0
0

0
EAa Ld

Page 451

Ks

0
0
1 0

0 0.556
0
0 EAa

=
0 0 0.556 0 La

0
0.786
0 0

Method A:

T
K := Af Ks Af

K =

4.28 0.88 3

10
0.88 1.77

or, better K =

## 1.35 0.28 EAa

0.28 0.56 La

Method B: Let us identify the contribution of each element to the stiffness matrix. We do this as
follows: we isolate the deformation of each element in the compatibility matrix.
Afa :=

5 0
L

Afb :=

0 4

Lb

Afc :=

4 4
L L
c c

Afd := ( 1 0 )

T
The operation Af Ks Af now breaks down in the following element contributions:
element a

T
Ka := Afa ka Afa

element b

T
Kb := Afb kb Afb

element c

T
Kc := Afc kc Afc

element d

T
Kd := Afd kd Afd

0.89 0 3

10
0 0
0 0 3
Kb =
10
0 0.88
Ka =

0.88 0.88 3

10
0.88 0.88
2.5 0 3
Kd =
10
0 0
Kc =

0.28 0 EAa

0 0 La
0 0 EAa
Kb =

0 0.28 La

or, Ka =

or,

## 0.28 0.28 EAa

0.28 0.28 La
0.79 0 EAa
Kd =

0 0 La

or, Kc =

or,

K := Ka + Kb + Kc + Kd

Although Method A of determining the structure stiffness matrix K is compact and convenient by
computer, it is not advisable for "hand" calculations. Method B is faster for "hand" calculations.
For determining individual stiffness coefficients the most suitable method will be presented later under
the section "physical interpretation of stiffness coefficients".

Page 452

## Illustration of Method B: element contributions to structure stiffness matrix

5
L
a
K=

5
L
5
a
K = k (a)

La
0

k
1
0
0
0
0

(a)

Lc

4
Lb

4
Lc

(b )

k
0

0
k (c)

5
L
a
0
0
0
0 4

k ( d ) Lc

4
0

k (b) 0 4 + c k (c ) 4
0 +
Lb 4
4

Lc
L
L
b
c

Step 3: Set up the applied nodal force vector; for load case 1 we have

4

Lb

4
Lc

4 1 ( d )
k [1 0]
+
Lc 0

Pf :=

5

8

Solve for the unknown displacements of the global dof's (use Gauss elimination instead of inverse!)
Uf := lsolve ( K , Pf)

Uf =

2.35 3

10
5.7

if we do not include the term EAa /La in the stiffness we get global dof displacements with EAa /La factor
Uf =

7.46 La

18.12 EAa

## such numbers are easier to handle

Note: we use Gauss elimination or another suitable solution method for linear system of equations.
We do not use multiplication by the inverse of the stiffness matrix !! (even though the latter approach is
not a crime for very small matrices)

Page 453

## Prof. Filip C. Filippou, 2000

Step 4: Determine the deformations of all elements from the compatibility relations

V := Af Uf

1.24

4.03 3

V =
10
2.37

2.35

va
vb
:=
vc
vd

or,

Af Uf

va 3.955
vb 12.814 La

=
vc 7.538 EAa
vd 7.462

## Step 5: Determine the basic force of all elements

Q := Ks V

3.96

7.12

=
4.19

5.87

Even though this way of determining is compact and convenient for computer use, particularly,
since we have already established Ks, it is strongly advisable to use the following element-by element
determination of the basic force in "hand" calculations.

qa := ka va

qa = 3.96

qb := kb vb

qb = 7.12

qc := kc vc

qc = 4.19

qd := kd vd

qd = 5.87

If we had not included the term EAa /La in the stiffness we get the element forces by multiplication with the
relative stiffness only. We demonstrate

qa := ( 1) 3.96

qa = 3.96

qb := 0.556 ( 12.814)

qb = 7.12

qc := 0.556 ( 7.538)

qc = 4.19

qd := 0.786 ( 7.462)

qd = 5.87

It is clear that basic element forces do not depend on the reference stiffness value, but only on the relative
stiffness ratios. Global dof displacements and element deformations on the other hand, are proportional to
the reference stiffness value, as the above results clearly demonstrate.
Step 6:

Page 454

## Step 7: Determine support reactions

R7

R8

R6

R5

Q1

Q2
b

P2

Q2

R4

Q3
c

Q1
R1

R2

Q4

Q4

Q3

P1
R3

With all basic element forces known it is now straightforward to determine the support reactions. Each one
of these appears in a separate equilibrium equation. We can thus determine them one at a time.
In Mathcad it may be convenient to use matrix multiplication with an
equilibrium matrix Bd

R1 = Q 4
R2 = 0
8
4
Q3
La
Lc
4
4
R4 = Q 2
+ Q3
Lb
Lc
R3 = Q 1

4
R5 = Q 2
Lb
4
R6 = Q 2
Lb
R7 = Q 1

5
La

8
R8 = Q 1
La

0
0
0
0
0
0

8 0 4
La
Lc

4
4
0

Lc
Lb

0
Bd := 0
Lb

4
0
0
Lb

0
0
La
8
0
0

L
a

Page 455

0
0
0
0
0
0
0

R := Bd Q

5.87

6.32

2.07

=
5.04

5.04
2.1

3.35

5.037

3.354
2.096

5.037

4
7.124

3.955

b
7.124

8
2.074

3
4.19

c
3.955

1
5.867

4.19

5.867

5.867

6.317

## Step 8: check global equilibrium

R7

R8

R6

R5

4
8

a
3

R1

R2

R3
8

force equilibrium in X

R +5+R +R +R = 0
1
4
5
7

force equilibrium in Y

R +8+R +R +R = 0
2
3
6
8

R 8 + 5 8 + 8 4 + R 4 R 5 = 0
1
4
8

Page 456

R4

## Second load case: thermal heating of members a and b

Steps 1 and 2 are the same (in fact, the compatibility matrix, the element and the structure stiffness matrix
are only geometry and property dependent and should be set up only once).
Step 3: Set up applied nodal force vector: for thermal heating there are no applied forces at global dofs.
Pf :=

0

0

We note, however, that the elements undergo initial deformations due to non-mechanical effects. These are

0.001 La

0.001 Lb

V0 :=
0

in the displacement method of analysis, these initial deformations result in initial element forces (also known
as "fixed end forces", because they arise for the case that the global dofs are "held fixed" so that the global
dof displacements are zero, while the non-mechanical effects are applied). These initial element forces are
collected in a vector Q 0 , which can be obtained either by the operation
Q0 := Ks V0

T
Q0 = ( 30 10 0 0 )

q0 = EA 0

EAa 0.001

EAb 0.001

Q0 :=

## Initial force at global dof's

T
P0 := Af Q0

P0 =

Q0

30

10

=
0

15.9

7.07

even though this way of determining the initial force vector Pf0 is compact and convenient by
computer, it is not advisable for "hand" calculations. The method that is suitable for hand calculations
will be shown later under the section "physical interpretation of stiffness coefficients and initial force vector"
Solve for the unknown displacements of the global dof's
Uf := lsolve [ K , ( Pf P0) ]

Uf =

3.22 3

10
2.39

Page 457

Uf =

10.25 La

7.59 EAa

1.71

1.69

10 3
V =
3.97

3.22

V := Af Uf

va
vb
:=
vc
vd

or,

Af Uf

## Prof. Filip C. Filippou, 2000

va 5.434
vb 5.37 La

EAa
v

12.619
c
vd 10.252

Step 5: Determine the basic force of all elements. This can be done in a number of ways, each with its
advantages and drawbacks. Let us look at the methods.
(a)

From the physical understanding point of view the best approach is to realize that the element forces
are proportional to the mechanical deformations, not the total deformations. Thus, we subtract the initial
deformations from the total deformations and then multiply by the element stiffness matrix. The most
convenient computer solution is by multiplication with Ks. By "hand" it is advisable to proceed element
by element.
T
Q = ( 24.57 7.01 7.01 8.06 )

Q := Ks ( V V0)

computer solution

## hand solution, element by element

(b)

EAa

qa := ka ( va 0.001 La)

qa = 24.57

qb := kb ( vb 0.001 Lb )

qb = 7.01

qc := kc vc

qc = 7.01

qc := ( 0.556) ( 12.619)

qc = 7.02

qd := kd vd

qd = 8.06

qd := ( 0.786) ( 10.252)

qd = 8.06

or,

qa := ( 1) 5.434 0.001 La

qa = 24.57

La
EAa

## qb := ( 0.556) 5.37 0.001 Lb

qb = 7.02
L
a

If we have already set up the element initial force vector for determining the structure initial force
vector, then we can simply write

Q := Ks V + Q0

24.57

7.01

=
7.01

8.06

In this case we can think of the final element forces as the linear superposition of the initial forces
that we obtained without any global dof displacements (remember the name "fixed end forces"!) and
the additional forces that result from the deformations due to global dof displacements.
Step 6:

Page 458

## Prof. Filip C. Filippou, 2000

Step 7: With all element forces known the determination of support reactions is the same as for the first
load case with the interesting footnote that there are no applied forces at the applied dofs, but, the
support reactions are not zero, if there are more than 3 support forces!
4.96

20.832
4.96

5
13.02

4
7.015

24.566

b
a

7.015

3
7.015

9.921

7.015

c
24.566

1
8.06

7.015

d
8.06

8.06

25.793
4

R := Bd Q

8.06

25.79

9.92

=
4.96

4.96

13.02

20.83

R7

R8

R6

R5

4
8

a
3

R1

R2

R3

## Step 8: check global equilibrium

8

force equilibrium in X

R +R +R +R = 0
1
4
5
7

force equilibrium in Y

R +R +R +R = 0
2
3
6
8

R 8 + R 4 R 5 = 0
1
4
8

Page 459

R4

## Physical interpretation of stiffness coefficients and initial forces

Impose a unit value at displacement dof 1 and determine element deformations and forces

b
0

K 21

EA 5
La La
c

EA 4
Lc Lc

K11

EA
1
Ld

U1 = 1
The force at dof 1 due to a unit displacement at dof 1 is stiffness coefficient K 11. Obtain it by equilibrium

K11 := ( 1)

Ld

5 EAa 5 4 EAc 4
+

La La La Lc Lc Lc

( 1) +

K11 = 4.28 10

as above

The force at dof 2 due to a unit displacement at dof 1 is stiffness coefficient K 21. Obtain it by equilibrium

4 EAc 4

Lc Lc Lc

K21 :=

K21 = 0.88 10

Page 460

as above

## Prof. Filip C. Filippou, 2000

Impose a unit value at displacement dof 2 and determine element deformations and forces

EA 4
Lb Lb

K 22

U2 = 1
0

EA 4
Lc Lc

K12

The force at dof 2 due to a unit displacement at dof 2 is stiffness coefficient K 22. Obtain it by equilibrium

4 EAc 4 4 EAb 4
K22 :=
+

L
L
L
L
L
c
c
c
b
b

Lb

K22 = 1.77 10

as above

The force at dof 1 due to a unit displacement at dof 2 is stiffness coefficient K 12. Obtain it by equilibrium

4 EAc 4
K12 :=

L
L
c
c

Lc

K21 = 0.88 10

as above

Clearly for hand calculations this is the most direct way to set up the coefficients of the stiffness matrix.
All free displacement dofs are set to zero ('locked') and the members are heated up. The forces at dofs 1
and 2 are the initial (or fixed end) forces P0 . They are determined by equilibrium

EAb T

T := 0.001
P20

EAa T

U2 = 0
0

c
d

U1 = 0

P10 :=

5
EAa T
La

P10 = 15.9
as above

4
P20 := EAb T
Lb

P10

Clearly for hand calculations this is the most direct way to set up the initial force vector.

Page 461

P20 = 7.07
as above

## Script for Example 34a in CE220 class notes

%truss with only 2 free global dofs: solution with separate FEDEASLab functions

CleanStart

## define model geometry and element types

% specify node coordinates (could only specify non-zero terms)
XYZ(1,:) = [ 0
0]; % first node
XYZ(2,:) = [ 8
0]; % second node, etc
XYZ(3,:) = [ 12
4]; %
XYZ(4,:) = [ 8
8];
XYZ(5,:) = [ 3
8];
% connectivity array
CON {1} = [ 2
5];
CON {2} = [ 3
4];
CON {3} = [ 2
3];
CON {4} = [ 1
2];
% boundary conditions (1 = restrained,
BOUN(1,:) = [1 1 0];
BOUN(2,:) = [0 1 0];
BOUN(3,:) = [1 0 0];
BOUN(4,:) = [1 1 0];
BOUN(5,:) = [1 1 0];
% specify element type
[ElemName{1:4}] = deal('LinTruss');

0 = free)

## % linear truss element

create Model
Model = Create_SimpleModel (XYZ,CON,BOUN,ElemName);
Create_Window(0.80,0.80);
Plot_Model(Model);
Label_Model(Model);

## element properties in ElemData

ElemData{1}.E = 1000;
ElemData{1}.A = 30;

Page 462

for el=[2:3]
ElemData{el}.E = 1000;
ElemData{el}.A = 10;
end
ElemData{4}.E = 1000;
ElemData{4}.A = 20;

## set up collection of element stiffness matrices

Ks = Ks_matrix(Model,ElemData);

## form compatibility matrix

A = A_matrix(Model);
Af = A(:,1:Model.nf);

## form stiffness matrix

% either by Af'Ks*Af
Kf = Af'*Ks*Af;
disp('The stiffness matrix by the displacement method is');
disp(Kf);
% or better by direct assembly
Kf = Kf_matrix(Model,ElemData);
disp('The stiffness matrix by direct assembly is');
disp(Kf);
The stiffness matrix by the displacement method is
4.2771e+003 -8.8388e+002
-8.8388e+002 1.7678e+003
The stiffness matrix by direct assembly is
4.2771e+003 -8.8388e+002
-8.8388e+002 1.7678e+003

## 1. Load case: applied nodal forces

Pf = [5;8];
% displacement method of analysis
Uf = Kf\Pf;
% display displacements
disp('free dof displacements Uf under applied nodal forces')
disp(Uf);
free dof displacements Uf under applied nodal forces
2.3467e-003
5.6988e-003

## determine element forces Q

Q = Ks*Af*Uf;
disp('The basic forces under the applied nodal forces are')
disp(Q);
The basic forces under the applied nodal forces are
3.9551e+000
-7.1235e+000
4.1902e+000
5.8667e+000

## determine support reactions

Pr = A'*Q;
% resisting force vector
% check equilibrium at free dofs
Pu = Pf - Pr(1:Model.nf);
% unbalance force vector
Res = sqrt(Pu'*Pu);

Page 463

## disp('The error of the equilibrium equations is');

disp(Res);
% support reactions
R = Pr(Model.nf+1:end);
disp('The support reactions under the applied nodal forces are')
disp(R)
The error of the equilibrium equations is
1.7764e-015
The support reactions under the applied nodal forces are
-5.8667e+000
0
-6.3168e+000
-2.0742e+000
5.0371e+000
-5.0371e+000
-2.0962e+000
3.3539e+000

## 2. Load case: thermal heating of elements a and b

Pf = [0;0];
ElemData{1}.e0 = 0.001;
ElemData{2}.e0 = 0.001;
% set up initial deformation vector
V0 = V0_vector(Model,ElemData);
% set up initial force vector
P0 = Af'*(-Ks*V0);
% displacement method of analysis
Uf = Kf\(Pf-P0);
% display displacements
disp('free dof displacements Uf under thermal heating of elements a and b')
disp(Uf);
free dof displacements Uf under thermal heating of elements a and b
3.2239e-003
-2.3880e-003

## determine element forces Q

Q = Ks*(Af*Uf-V0);
disp('The basic forces under thermal heating of elements a and b are')
disp(Q);
The basic forces under thermal heating of elements a and b are
-2.4566e+001
-7.0150e+000
-7.0150e+000
8.0598e+000

## determine support reactions

Pr = A'*Q;
% resisting force vector
% check equilibrium at free dofs
Pu = Pf - Pr(1:Model.nf);
% unbalance force vector
Res = sqrt(Pu'*Pu);
disp('The error of the equilibrium equations is');
disp(Res);
% support reactions
R = Pr(Model.nf+1:end);
disp('The support reactions under thermal heating of elements a and b are')
disp(R)
The error of the equilibrium equations is

Page 464

2.5121e-015
The support reactions under thermal heating of elements a and b are
-8.0598e+000
0
2.5793e+001
-9.9207e+000
4.9603e+000
-4.9603e+000
1.3020e+001
-2.0832e+001

Page 465

## Script for Example 34b in CE220 class notes

% truss with only 2 free global dofs: solution with direct stiffness method

CleanStart

## define model geometry and element types

% specify node coordinates (could only specify non-zero terms)
XYZ(1,:) = [ 0
0]; % first node
XYZ(2,:) = [ 8
0]; % second node, etc
XYZ(3,:) = [ 12
4]; %
XYZ(4,:) = [ 8
8];
XYZ(5,:) = [ 3
8];
% connectivity array
CON {1} = [ 2
5];
CON {2} = [ 3
4];
CON {3} = [ 2
3];
CON {4} = [ 1
2];
% boundary conditions (1 = restrained, 0 = free)
BOUN(1,:) = [1 1 0];
BOUN(2,:) = [0 1 0];
BOUN(3,:) = [1 0 0];
BOUN(4,:) = [1 1 0];
BOUN(5,:) = [1 1 0];
% specify element type
[ElemName{1:4}] = deal('LinTruss');
% linear truss element

create Model
Model = Create_SimpleModel (XYZ,CON,BOUN,ElemName);
Create_Window(0.80,0.80);
Plot_Model(Model);
Label_Model(Model);

## element properties in ElemData

ElemData{1}.E = 1000;
ElemData{1}.A = 30;
for el=[2:3]
ElemData{el}.E = 1000;
ElemData{el}.A = 10;
end
ElemData{4}.E = 1000;

Page 466

ElemData{4}.A = 20;

Pe(2,1) = 5;
Pe(3,2) = 8;

## linear solution with direct stiffness method of analysis

S_LinearStep
Norm of equilibrium error = 1.776357e-015

## plot deformed shape

Create_Window(0.80,0.80);
MAGF = 200;
% magnification factor
Plot_Model(Model);
% original configuration
Plot_Model(Model,U);
% deformed configuration (chords only)

## plot axial forces

Create_Window(0.80,0.80);
Plot_Model (Model);
Plot_AxialForces (Model,Post);
% store the results for later use (if necessary)
Uf_LC1
= Uf;
Post_LC1 = Post;

Page 467

## 2. Load case: thermal heating of elements a and b

% no nodal forces for this load case
ElemData{1}.q0 = -30;
ElemData{2}.q0 = -10;

## linear solution with direct stiffness method of analysis

S_LinearStep
Norm of equilibrium error = 2.512148e-015

## plot deformed shape

Create_Window(0.80,0.80);
Plot_Model(Model);
% original configuration
Plot_Model(Model,U);
% deformed configuration (chords only)

## plot axial forces

Create_Window(0.80,0.80);
Plot_Model (Model);
Plot_AxialForces (Model,Post);
% store the results for later use (if necessary)
Uf_LC2
= Uf;
Post_LC2 = Post;

Page 468

## Example 35 - Displacement method: a three span continuous beam

We analyze the 3-span continuous beam in the following figure with the displacement method.
80

100

c
3

4
15

15

20

There are only two free global dofs as shown in the following figure

2
c

We can proceed as in earlier examples and set up the compatibility matrix Af for the free dofs.
The result is:

U1 = 1

c
b

U2 = 1

b
c

0
1

Af := 1
0

0
0

0
1

Page 469

La := 20

Lb := 15

Lc := 15

EI := 60000

4 EI 2 EI 0
0
0
La La

2 EI 4 EI

0
0
0

La La

4 EI 2 EI
0
0
Ks := 0
Lb
Lb

2 EI 4 EI
0
0
0

Lb
Lb

3 EI

0
0
0
0
Lc

Lb
Lb
4

L
La
a
Lb
Lb
4
2
La
EI La
Ks :=

Lb 0
0

0
0

0
0

T
K := Af Ks Af

## and the structure stiffness matrix becomes

K =

0 0

0 0
4 2
2 4
0 0

0
Lb
3

Lc

28000 8000

8000 28000

It is much more straightforward to set up the stiffness matrix directly from the following figure

2 EI
La

K11

4 EI
Lb

2 EI
Lb

K 21
c

b
4 EI
La

K12
a

K 22

2 EI
Lb

3EI
Lc

b
c

K11 :=

4 EI 4 EI
+
La
Lb

K11 = 28000

K12 :=

2 EI
Lb

K12 = 8000

K21 :=

2 EI
Lb

K21 = 8000

K22 :=

4 EI 3 EI
+
Lb
Lc

K22 = 28000

K12 :=

EI
( 2)
Lb

K22 :=

Lb
EI
4 + 3
Lb
Lc

K11 :=

EI Lb
4
+ 4
Lb La

K21 :=

EI
( 2)
Lb

Page 470

## Ex 35 - Displacement method for continuous beam

We can set up the equations of equilibrium at the free dofs in the form:

## Prof. Filip C. Filippou, 2000

Pf = K U f + P0

and solve for the displacement values at the free dofs. The only difficulty arises with the moment of 100
units acting at the end of the beam.
According to the following figure the fixed-end moment at the left end of element c is one half the
applied end moment of 100 units. How did we obtain this?

L
100
6 EI

100

50

100

First we determined the initial deformation v0 for the completely unrestrained beam in the upper figure.
it is

L
times the value of the end moment and of opposite sign.
6 EI

Then the fixed-end moment of the beam with one end unrestrained becomes
with

k :=

3 EI
L

we obtain

q0 =

q0 = k v0

Mend
3 EI L

Mend =
L 6 EI
2

Thus, one half of the moment at the unrestrained end "carries over" to the restrained end. 1/2 is known
as the carry-over factor of the prismatic beam.

Page 471

Pf :=

80

0

P0 :=

and

P20
a

50

## Prof. Filip C. Filippou, 2000

0

50
100
c

We solve the linear system of equilibrium equations for the unknown displacement values
U := lsolve ( K , Pf P0)

U =

3.67 3

10
2.83

We can determine the end moments of members a, b and c directly from the stiffness coefficients and the
initial (fixed-end) moments (superposition of different compatible states)

Q2

Q1

K11

2 EI
La

Q5

Q4

Q3

4 EI
Lb

2 EI
Lb

K 21
c

b
4 EI
La

K12
a

2 EI
Lb

3EI
Lc

K 22
b

c
4 EI
Lb

P20
a

50

100
c

2 EI

Q :=
U
1
La 1

4 EI

Q :=
U
2
La 1

Q = 22
1
Q = 44
2

4 EI

2 EI

2 EI

4 EI

Q :=
U +
U
3
Lb 1
Lb 2
Q :=
U +
U
4
Lb 1
Lb 2

3 EI

Q :=
U + 50
5
Lc 2

Page 472

Q = 36
3

Q = 16
4

Q = 16
5

## calculation with relative stiffness coefficients

if we factor out EI/Lb

K11 :=

EI Lb
4
+ 4
Lb La

K21 :=

EI
( 2)
Lb

Lb
2
4 L + 4

K' :=

Lb
2
4
+
3

Lc

K' =

7 2

2 7

U' =

14.67

11.33

Lb

Q' := 2
U'
1
La 1

Lb

Q' = 22
1

Q' := 4
U'
2
La 1

Q' = 44
2

3
1
2

Q' = 36
3

4
1
2

Q' = 16
4

Lb

Q' := 3
U' + 50
5
Lc 2

Q' = 16
5

Page 473

K12 :=

EI
( 2)
Lb

K22 :=

Lb
EI
4 + 3
Lb
Lc

16

36

22

44

100

IP

IP

## shear forces and support reactions

80

22

22

44

36

3.3

3.3

1.33

100

16

1.33

7.73

7.73

22
6.40

1.97

3.3

15

15

20

80

100

22
3.3

global equilibrium

1.97

ok

Page 474

7.73

6.40

ok

## 2. Load Case: uniform distributed load on members a and c

6
a

15

15

20

Pf :=

Set up the applied force vectors directly. There are no nodal forces, therefore,

0

0

the initial (fixed-end) forces can be obtained from the following figure

P20

P10
b
a

1 200

w := 6

w Lc
8

168.75

200

w La

= 168.75

12

= 200

P0 :=

200

168.75

We solve the linear system of equilibrium equations for the unknown displacement values
U := lsolve ( K , Pf P0)

U =

9.65 3

10
8.78

We can determine the end moments of members a, b and c directly from the stiffness coefficients and the
initial (fixed-end) moments (superposition of different compatible states):

Q2

Q1

2 EI
La

K11

Q5

Q4

Q3

4 EI
Lb

2 EI
Lb

K 21
c

b
4 EI
La

K12
a

2 EI
Lb

K 22

3EI
Lc

b
c
4 EI
Lb

Page 475

200

200

P20

P10
b

168.75

2 EI

Q :=
U + 200
1
La 1

Q = 257.92
1

4 EI

Q :=
U 200
2
La 1

4 EI

2 EI

2 EI

4 EI

Q = 84.17
2

Q :=
U +
U
3
Lb 1
Lb 2

Q = 84.17
3

Q :=
U +
U
4
Lb 1
Lb 2

Q = 63.33
4

3 EI

Q :=
U + 168.75
5
Lc 2

Q = 63.33
5

Lb

Q' := 2
U' + 200
1
La 1

Lb

U' =

38.61

35.14

Q' = 257.92
1

Q' := 4
U' 200
2
La 1

Q' = 84.17
2

3
1
2

Q' = 84.17
3

4
1
2

Q' = 63.33
4

Lb

Q' := 3
U' + 168.75
5
Lc 2

Q' = 63.33
5

Page 476

84.1

257.9

63.3

IP

IP

IP

## shear forces and support reactions

w=6

w=6
257.9

68.7
257.9

63.3

84.1

51.3

1.39

1.39

40.8

49.2

257.9

68.7

20

52.7

68.7

global equilibrium

15

15

w=6

257.9

40.8

47.8

52.7

w=6
47.8

40.8

## 68.7 6 20 + 52.7 + 47.8 6 15 + 40.8 = 0

257.9 6 20 10 + 52.7 20 + 47.8 35 6 15 42.5 + 40.8 50 = 0.1

Page 477

OK!!

## 3. Load Case: differential heating of members a and c

0
a

c
15

15

20

with

0 := 2 10

Pf :=

Set up the applied force vectors directly. There are no nodal forces, therefore,
the initial (fixed-end) forces can be obtained from the following figure

0

0

P20

P10
b
a

1 120

EI 0 = 120

180

120

1.5 EI 0 = 180

P0 :=

120

180

We solve the linear system of equilibrium equations for the unknown displacement values
U := lsolve ( K , Pf P0)

U =

6.67 3

10
8.33

We determine the basic forces (bending moments) by superposition of the different compatible states.

Q2

Q1

2 EI
La

K11

Q5

Q4

Q3

4 EI
Lb

2 EI
Lb

K 21
c

b
4 EI
La

K12
a

2 EI
Lb

K 22

3EI
Lc

b
c
4 EI
Lb

Page 478

P20

P10
b
a

1 120

180

120

2 EI

Q :=
U + 120
1
La 1

Q = 160
1

4 EI

Q :=
U 120
2
La 1

4 EI

2 EI

2 EI

4 EI

Q = 40
2

Q :=
U +
U
3
Lb 1
Lb 2

Q = 40
3

Q :=
U +
U
4
Lb 2
Lb 1

Q = 80
4

3 EI

Q :=
U + 180
5
Lc 2

Q = 80
5

Lb

Q' := 2
U' + 120
1
La 1

Lb

U' =

26.67

33.33

Q' = 160
1

Q' := 4
U' 120
2
La 1

Q' = 40
2

3
1
2

Q' = 40
3

4
1
2

Q' = 80
4

Lb

Q' := 3
U' + 180
5
Lc 2

Q' = 80
5

Page 479

80

160

40

80/EI
40/EI

40/EI

80/EI

120/EI

IP

## shear forces and support reactions

160

6
160

80

40

2.67

5.33

5.33

2.67

160
6

8.67

8
15

20

5.33

15

160
6

global equilibrium

8.67

6 8.67 + 8 5.33 = 0
160 8.67 20 + 8 35 5.33 50 = 0.1

Page 480

OK!!

5.33

## 4. Load Case: support settlement at node 2

Assume now that the support at node 2 settles downward by 0.05 units
In this case we have again an initial force vector, as shown in the following figure (impose support
displacement while "holding fixed" the free global dofs and determine the forces at free dofs).
0.05

6 EI
La 2

0.05

P10

1
0.05

6 EI
La 2

6 EI
Lb 2

P20

3
0.05

6 EI
Lb 2

Pf :=

## There are again no nodal forces, therefore,

0

0

the initial (fixed-end) forces can be determined from the figure above

0.05 6 EI 0.05 6 EI
2
2

La
Lb
P0 :=

EI

0.05
2

Lb

P0 =

35

80

We solve the linear system of equilibrium equations for the unknown displacement values
U := lsolve ( K , Pf P0)

U =

0.47 3

10
2.72

We determine the basic forces (bending moments) by superposition of the different compatible states.

Q2

Q1

2 EI
La

K11

Q5

Q4

Q3

4 EI
Lb

2 EI
Lb

K 21
c

b
4 EI
La

K12
a

2 EI
Lb

K 22

3EI
Lc

b
c
4 EI
Lb

Page 481

0.05

6 EI
La 2

0.05

P10

1
0.05

2 EI

6 EI

4 EI

6 EI

6 EI
La 2

0.05

Q :=
U + 0.05
2
2
La 1
La

2 EI

6 EI
Lb 2

Q = 47.83
1

Q = 50.67
2

2 EI

Q :=
U +
U 0.05
3
Lb 1
Lb 2

4 EI

Q :=
U +
U 0.05
4
Lb 1
Lb 2

6 EI
Lb

6 EI
Lb

3 EI

Q :=
U
5
Lc 2

Q = 50.67
3

Q = 32.67
4

Q = 32.67
5

## calculation with relative stiffness coefficients

U' := lsolve ( K' , Pf P0)

U' =

Lb

6 EI

Lb

6 EI

Q' := 2
U' + 0.05
1
2
La 1
La

3
1
2

4
1
2

Lb

Q' := 3
U'
5
Lc 2

Q' = 50.67
2

6 EI
Lb

1.89

10.89

Q' = 47.83
1

Q' := 4
U' + 0.05
2
2
La 1
La

P20

c
3

Q :=
U + 0.05
1
2
La 1
La

4 EI

6 EI
Lb 2

Q' = 50.67
3

Q' = 47.33
4
Q' = 32.67
5

Page 482

32.67
47.83

50.67

0.05

IP

IP

## shear forces and support reactions

47.83

4.93
4.93

47.83

47.83
4.93

32.67

50.67

5.56

5.56

10.49

2.18

7.74
15

15

20

2.18

2.18

47.83
4.93

global equilibrium

10.49

7.74

## 4.93 10.49 + 7.74 2.18 = 0

47.83 10.49 20 + 7.74 35 2.18 50 = 0.07

Page 483

OK!!

2.18

## Script for Example 35a in CE220 class notes

% continuous beam over three spans: solution with separate FEDEASLab
functions

CleanStart

## define model geometry and element types

% specify node coordinates (could only specify non-zero terms)
XYZ(1,:) = [ 0
0]; % first node
XYZ(2,:) = [ 20
0]; % second node, etc
XYZ(3,:) = [ 35
0]; %
XYZ(4,:) = [ 50
0];
% connectivity array
CON {1} = [ 1
2];
CON {2} = [ 2
3];
CON {3} = [ 3
4];
% boundary conditions (1 = restrained,
BOUN(1,:) = [1 1 1];
BOUN(2,:) = [0 1 0];
BOUN(3,:) = [0 1 0];
BOUN(4,:) = [0 1 0];
% specify element type
[ElemName{1:3}] = deal('Lin2dFrm');

0 = free)

## % linear 2d frame element

create Model
Model = Create_SimpleModel (XYZ,CON,BOUN,ElemName);
Create_Window(0.80,0.80);
Plot_Model(Model);
Label_Model(Model);

set up compatibility matrix by hand (note that we include the trivial dof!)
Af = [0 1 1 0 0 0;
0 0 0 1 1 0;
0 0 0 0 0 1]';

## set up collection of element stiffness matrices by hand

EI = 60000;
for el=1:Model.ne
xyz = Localize(Model,el);

Page 484

L
= ElmLenOr(xyz);
k{el} = 2*EI/L*[2 1;1 2];
end
Ks = blkdiag(k{1:Model.ne});

## form stiffness matrix

% by Af'Ks*Af
Kf = Af'*Ks*Af;
disp('The stiffness matrix at the free dofs is');
disp(Kf);
The stiffness matrix at the free dofs is
28000
8000
0
8000
32000
8000
0
8000
16000

## 1. Load case: applied nodal forces

Pf = [80;0;100];
% displacement method of analysis
Uf = Kf\Pf;
% determine element forces Q
Q = Ks*Af*Uf;
disp('The basic forces under the applied nodal forces are');
disp(Q);
The basic forces under the applied nodal forces are
2.2000e+001
4.4000e+001
3.6000e+001
-1.6000e+001
1.6000e+001
1.0000e+002

## 2. Load case: uniformly distributed load in elements a and c

% set up initial deformation vector
w = 6;
for el=[1 3]
xyz = Localize(Model,el);
L
= ElmLenOr(xyz);
v0{el} = w*L^3/24/EI*[-1 1];
end
v0{2} = [0 0];
V0
= [v0{:}]';
% set up initial force vector
P0 = Af'*(-Ks*V0);
% displacement method of analysis
Uf = Kf\(-P0);
% determine element forces Q
Q = Ks*(Af*Uf-V0);
disp('The basic forces under the uniformly distributed load in elements a and c
are');
disp(Q);
% note that for the support reactions we should include the equivalent nodal
forces!
The basic forces under the uniformly distributed load in elements a and c are
2.5792e+002
-8.4167e+001
8.4167e+001
-6.3333e+001
6.3333e+001

Page 485

-1.4211e-014

## 3. Load case: differential heating of elements a and c

% set up initial deformation vector
kap0 = 2e-3;
for el=[1 3]
xyz = Localize(Model,el);
L
= ElmLenOr(xyz);
v0{el} = kap0*L/2*[-1 1];
end
v0{2} = [0 0];
V0
= [v0{:}]';
% set up initial force vector
P0 = Af'*(-Ks*V0);
% displacement method of analysis
Uf = Kf\(-P0);
% determine element forces Q
Q = Ks*(Af*Uf-V0);
disp('The basic forces under differential heating of elements a and c are');
disp(Q);
The basic forces under differential heating of elements a and c are
1.6000e+002
-4.0000e+001
4.0000e+001
-8.0000e+001
8.0000e+001
4.2633e-014

## 4. Load case: support settlement at node 2

% set up deformation vector due to support settlement
Vd = 0.05*[1/20 1/20 -1/15 -1/15 0 0]';
% set up initial force vector
P0 = Af'*(Ks*Vd);
% displacement method of analysis
Uf = Kf\(-P0);
% determine element forces Q
Q = Ks*(Af*Uf+Vd);
disp('The basic forces under support settlement are');
disp(Q);
The basic forces under support settlement are
4.7833e+001
5.0667e+001
-5.0667e+001
-3.2667e+001
3.2667e+001
-3.5527e-015

Page 486

## Script for Example 35b in CE220 class notes

% continuous beam over three spans: solution with direct stiffness method

CleanStart

## define model geometry and element types

% specify node coordinates (could only specify non-zero terms)
XYZ(1,:) = [ 0
0]; % first node
XYZ(2,:) = [ 20
0]; % second node, etc
XYZ(3,:) = [ 35
0]; %
XYZ(4,:) = [ 50
0];
% connectivity array
CON {1} = [ 1
2];
CON {2} = [ 2
3];
CON {3} = [ 3
4];
% boundary conditions (1 = restrained,
BOUN(1,:) = [1 1 1];
BOUN(2,:) = [0 1 0];
BOUN(3,:) = [0 1 0];
BOUN(4,:) = [0 1 0];
% specify element type
[ElemName{1:3}] = deal('Lin2dFrm');

0 = free)

## % linear 2d frame element

create Model
Model = Create_SimpleModel (XYZ,CON,BOUN,ElemName);
Create_Window(0.80,0.80);
Plot_Model(Model);
Label_Model(Model);

## element properties in ElemData

for el=1:Model.ne
ElemData{el}.E = 1000;
ElemData{el}.A = 1e6;
ElemData{el}.I = 60;
end

Pe(2,3) = 80;
Pe(4,3) = 100;

S_LinearStep

Page 487

## plot deformed shape

Create_Window(0.80,0.80);
MAGF = 100;
% magnification factor
Plot_Model(Model);
% original configuration
Plot_DeformedStructure(Model,ElemData,U);

## plot bending moment distribution

Create_Window(0.80,0.80);
Plot_Model (Model);
Plot_2dMomntDistr (Model,ElemData,Post,2);
% store the results for later use (if necessary)
Uf_LC1
= Uf;
Post_LC1 = Post;

## 2. Load case: uniformly distributed load in elements a and c

% no nodal forces
% specify uniformly distributed load value in ElemData
ElemData{1}.w = [0;-6];
ElemData{3}.w = [0;-6];

## linear solution with direct stiffness method of analysis

S_LinearStep
Norm of equilibrium error = 2.009718e-014

## plot deformed shape

Create_Window(0.80,0.80);
MAGF = 60;
% magnification factor
Plot_Model(Model);
% original configuration
Plot_DeformedStructure(Model,ElemData,U);

Page 488

## plot bending moment distribution

Create_Window(0.80,0.80);
Plot_Model (Model);
Plot_2dMomntDistr (Model,ElemData,Post);
% store the results for later use (if necessary)
Uf_LC2
= Uf;
Post_LC2 = Post;

## 3. Load case: differential heating of elements a and c

% no nodal forces
% clear uniformly distributed load value in ElemData
ElemData{1}.w = [0;0];
ElemData{3}.w = [0;0];
% specify initial deformation due to heating in ElemData
ElemData{1}.e0 = [0;2e-3];
ElemData{3}.e0 = [0;2e-3];

## linear solution with direct stiffness method of analysis

S_LinearStep
Norm of equilibrium error = 6.194368e-014

## plot deformed shape

Create_Window(0.80,0.80);
MAGF = 60;
% magnification factor
Plot_Model(Model);
% original configuration
Plot_DeformedStructure(Model,ElemData,U);

## plot bending moment distribution

Create_Window(0.80,0.80);
Plot_Model (Model);
Plot_2dMomntDistr (Model,ElemData,Post);

Page 489

Uf_LC3
= Uf;
Post_LC3 = Post;

## 4. Load case: support settlement at node 2

% no nodal forces
Pe = [];
% specify support displacement
Ue(2,2) = -0.05;
% clear initial deformation due to heating in ElemData
ElemData{1}.e0 = [0;0];
ElemData{3}.e0 = [0;0];

## linear solution with direct stiffness method of analysis

S_LinearStep
Norm of equilibrium error = 2.040879e-014

## plot deformed shape

Create_Window(0.80,0.80);
MAGF = 60;
% magnification factor
Plot_Model(Model);
% original configuration
Plot_Model(Model,U);
% deformed configuration (chords only)
Plot_DeformedStructure(Model,ElemData,U);

## plot bending moment distribution

Create_Window(0.80,0.80);
Plot_Model (Model);
Plot_2dMomntDistr (Model,ElemData,Post);
% store the results for later use (if necessary)
Uf_LC4
= Uf;
Post_LC4 = Post;

Page 490

## Example 36 - Displacement method: portal frame w/o axial deformations

Geometry-dimensions

Geometric properties:

Lb := 10

La := 8

Lc := 10

a
d

12

Ld := 12

2@10 = 20

If all elements are assumed to be inextensible, there are five free independent global dofs as shown
3
2

Material properties

EI := 80000

a
d

## Step 1: Set up compatibility matrix for independent free global dofs

dof 1 to determine the first column of the compatibility matrix Af

U1 = 1
b

a
d

Page 491

1
La
1

La
0

0

Af 1 :=
0

0
1
Ld

1
Ld

U2 = 1
c

a
d

0

1
1

0
Af 2 :=
0

0
0

0

U3 = 1

a
d

U4 = 1
b

0
0
1

Lb
1
L

b
Af 3 :=
1
L
c
1
Lc

0
0

0

0
0

1
Af 4 :=
1

0
0

0

a
d

Page 492

0

0
0

0

Af 5 :=
0

1
1

0

U5 = 1
c

a
d

Q4

Q3

## It is interesting to look at the equilibrium equations that

do not involve axial forces: the numbering of basic
forces without axial forces is shown in the figure

## Prof. Filip C. Filippou, 2000

Q5
c

Q2

Q6

Q7

a
d

Q1

Q8

The free body for the first equilibrium equation is shown in the following figure
Q3
1

Q2
a

Q5

Q4

Q6

Q1 + Q 2
8

Q7

Q 7 + Q8
12

Q1

Q8

We have:

P1 =

Q1 + Q2
8

Q7 + Q8
12

P2 = Q 2 + Q 3
P3 =

Q3 + Q4
10

P4 = Q 4 + Q 5
P5 = Q 6 + Q 7

Q5 + Q6
10

1
8

0
Bf :=
0

Page 493

1
8

1 1
12 12

1 1 1
1

0
10 10 10
10

Bf

1
8

0
=
0

## The transpose of the compatibility matrix is:

1
8

1 1
12 12

1
1 1 1

10
10 10 10

T
Af

1
8

0
=
0

1
8

1 1
12 12

1
1 1 1

10
10 10 10

and we observe that the two are identical. Thus, equilibrium equations can also be written as
T
Pf = Af Q

## Step 2: Set up the structure stiffness matrix :

Collection of element stiffness matrices for structural model

4 EI 2 EI 0
0
0
0
0
0
La La

EI
EI

0
0
0
0
0
2 La 4 La 0

EI
EI
0
2
0
0
0
0
0
4

Lb
Lb

EI
EI
0
0
0
2
4
0
0
0

Lb
Lb

Ks :=

EI
EI
0
0
0
4
0
0
2
0
Lc
Lc

EI
EI
0
0
0
0
0
2
4
0
L
L
c
c

EI
EI
0
0
2
0
0
0
0
4

L
L
d
d

EI
EI
0
0

0
0
0
0
2
4

Ld
Ld

Page 494

## Method 2(a): by computer in a single operation

T
K := Af Ks Af

2.43
7.5

= 0
0

3.33

7.5

3.33

3
4.8 1.92 0 4.8 10
16
0 64 16

0
4.8 16 58.67
72

4.8 16

Method 2(a): express element stiffness matrix in terms of global dof displacements and add up
Determination of individual element stiffness contributions
ka :=

EI 4 2

La 2 4

kb :=

EI 4 2

Lb 2 4

kc :=

1 0 0 0 0
L

Afa :=
1

L 1 0 0 0
a

0 1 1 0 0

Lb

Afb :=

1
0 0 L 1 0
b

0 0 1 1 0

Lc

Afc :=

1
0
0
0
1

Lc

1 0 0 0 1
L

Afd :=
1

0
0
0
0
L

element a

element b

T
Ka := Afa ka Afa

T
Kb := Afb kb Afb

Ka

1.88
7.5

= 0
0

EI 4 2

Lc 2 4

7.5 0 0 0

3
0 0 0 0 10
0 0 0 0

0 0 0 0

40 0 0 0

0
0 0
0 0
0 32 4.8 16 0

3
Kb = 0 4.8 0.96 4.8 0 10
0 16 4.8 32 0

0
0
0
0
0

Page 495

kd :=

EI 4 2

Ld 2 4

element c

element d

0
0

= 0
0

## Prof. Filip C. Filippou, 2000

0
0

3
0 0.96 4.8 4.8 10
0 4.8 32 16

0 4.8 16 32

Kc := Afc kc Afc

Kc

T
Kd := Afd kd Afd

0.56
0

Kd = 0
0

3.33

0 0 0 3.33

3
0 0 0
0 10
0 0 0
0

0 0 0 26.67
0 0 0

K := Ka + Kb + Kc + Kd

## Illustration of element stiffness contribution to structure stiffness matrix

1 La 1 La
0
1

0
K= 0

0
0
0
0

1 La 1 La
0
1

1 La
K= 0
0 k (a)

1 La
0
0
0
0
1 La 1 La
6 EI
0
1 2

La

K= 0
0
6

EI
0 2
0
La
0
0

12 EI
L3
a
6 EI
2
K = La
0

0
0

6 EI
La 2
4 EI
La
0
0
0

2 EI
La
4 EI
La

0
1
1 Lb
0

0
0

0
0

0
0

1 Lb 1 Lc 1 Lc
1
1
0

0
1
0 0 0 0
+ 1 Lb
1 0 0 0
0
0
0

0 0 0 1

+ 1 Lb

0 0 0 0

0

0
0

0 0 0
4
EI
0

Lb

0 0 0
6
EI

+ 0 L 2
b
0 0 0
2 EI

0
0 0 0

Lb
0 0 0
0
0

0
0

0
0
0 1 1 Lb
1 Lb k (b )

0 0 1 Lb
1
0
0

0 0

1 Lb

1 0

6 EI
Lb 2

2 EI
Lb

2 EI
Lb

6 EI
Lb 2

4 EI
Lb

0
2 EI
Lb

12 EI
Lb 3

6 EI
2
Lb

6 EI
Lb 2

4 EI
Lb

0 0
0
0

0
0 +

0
0

0
0

0
kb

0
0

0
0

kc
0

0
0
0
0
0 0
0 0 1 Lc
+ 1 L 1 Lc k ( c )
1 0 c

0 0 1 Lc
0
1
0
1

4 EI
Lb

6 EI
2
Lb

1 Ld
k a
0
0
0
0
0
0
0

1 Ld
0

1 La
1 L
a
0 0

0 0
0 0

kd 0
1 L
d
1 Ld

0
0
6 EI

0 0
0 0 0

Lc 2
+ 1 Lc 1 Lc
EI
6

0 1
0 0 0
Lc 2

1
0

12 EI
Lc 3

6 EI
Lc 2

6 EI
Lc 2

4 EI
Lc

6 EI
Lc 2

2 EI
Lc

Page 496

0
12 EI
0 3
Ld
6 EI
0
2
Lc
+ 0
2 EI
0
Lc
6 EI
4 EI 2
Ld
Lc

4 EI
Lc
2 EI
Lc

1 1 Lb
0 1 Lb
0
0

1 Lc
1 Lc

0 0
0 0
0 0

1 0
1 0

0 1
0 1

0 0

1 Ld 1 Ld
0
0
1 0
1 Ld
+ 0
0 k (d )
0 1

1 Ld
0
0
1
0
1 Ld
2 EI
0
Lc
+ 0
4 EI
0
Lc
1

0 0 0
0 0 0
0 0 0
0 0 0
0 0 0

6 EI
Ld 2

0
0

4 EI
Ld

1 Ld
6 EI
0 2
Ld
0
6

EI
0 2
Ld
0

0 0 0 1
0 0 0 0

0 0 0
0 0 0

4 EI
Ld

2 EI
Ld

## Method 2(b): Derivation of all stiffness coefficients by direct method

Impose a unit value at displacement dof 1 and determine element deformations and then forces
The force at dof 1 necessary to equilibrate all element forces due to a unit displacement at dof 1 is stiffness
coefficient K11 and so on. Obtain the necessary forces at all free dof's from the corresponding equilibrium
equations.
12 EI 12 EI
3
K11 :=
+
K11 = 2.43 10
K 31
3
3
K 21
La
Ld
U1 = 1
K 51
K11
K 41
12 EI
L3a
6 EI
L2a

6EI
L2d

12 EI
L3d

K21 :=

6 EI
La

K21 = 7.5 10

K31 := 0
K41 := 0
K51 :=

6 EI
Ld

for dof 2

K12

K 22
4 EI
La

K12 :=
U2 = 1

6 EI
La

K 32
K 52
K 42
6 EI
L2b

K22 :=

4 EI 4 EI
+
La
Lb

K32 :=

6 EI
Lb

2 EI
La

K42 :=

2 EI
Lb

K52 := 0

Page 497

K51 = 3.33 10

K12 = 7.5 10

K22 = 72 10

K32 = 4.8 10
3

K42 = 16 10

for dof 3

K13

K 23

6 EI
L2b

12 EI
L3c

6 EI
L2c

6 EI
L2b

K13 := 0

K 33 K 43

12 EI
L3b

K23 :=

K 53

6 EI
Lb

6 EI
L2c

U3 = 1

K12 = 7.5 10

K33 :=

K43 :=

6 EI
Lb

K53 :=

12 EI
Lb

K23 = 4.8 10

12 EI
Lc

6 EI
Lc

6 EI
Lc

K33 = 19.2 10
3

K43 = 0 10

K53 = 4.8 10

for dof 4
6 EI
L2c

K 34
K14

K 24

4 EI
Lb

2 EI
Lb

U4 = 1

2 EI
Lc

K24 :=

K 54

4 EI

K34 :=

6 EI
L2b

K15

K 35
K 45

K14 = 0 10

2 EI
Lb

K 44 L
c

6 EI
Lb

for dof 5

K 25

K14 := 0

2 EI
Lc

6 EI
L2c

4 EI
Lc

Page 498

K54 :=

2 EI
Lc

K54 = 16 10

6 EI
2

K15 = 3.33 10

K25 := 0
K35 :=

6 EI
Lc

2 EI
Ld

Lc

K34 = 0 10

K44 = 64 10

Ld

4 EI
Ld

6 EI

4 EI 4 EI
+
Lb
Lc

K 55
6EI
L2d

K44 :=

K15 :=
U5 = 1

K24 = 16 10

K35 = 4.8 10

K45 :=

2 EI
Lc

K45 = 16 10

K55 :=

4 EI 4 EI
+
Lc
Ld

K55 = 58.67 10

## Prof. Filip C. Filippou, 2000

Step 3: Set up the applied nodal force vector and solve for global dof displacements
25
20
2

20
0

Pf := 25
0

a
d

12

5
2@10 = 20

Solve for the unknown displacement values at the free global dof's
3
T
Uf = ( 18.79 3.73 24.09 0.76 0.7 ) 10

Uf := lsolve ( K , Pf)

## Step 4: Determine the deformations of all elements

V := Af Uf

3
T
V = ( 2.35 1.38 1.32 3.17 1.65 1.71 2.26 1.57 ) 10

Step 5a: Determine the basic forces of all elements with a single operation
T
Q = ( 66.28 8.36 8.36 80.21 80.21 81.21 81.21 71.92 )

Q := Ks V

## Step 5b: Determine the basic forces element by element

Even though this way of determining is compact and convenient for computer use, particularly,
since we have already established Ks , it is strongly advisable to use the following element-by
element
determination of the basic force in "hand" calculations.
V1
2.35 3
2 EI 2 1
66.28
va :=
va =
ka :=

qa := ka va
qa =
10

V2
La 1 2
1.38
8.36

V3
vb :=
V4

vb =

1.32 3

10
3.17

kb :=

2 EI 2 1

Lb 1 2

qb := kb vb

qb =

8.36

80.21

V5
vc :=
V6

vc =

1.65 3

10
1.71

kc :=

2 EI 2 1

Lc 1 2

qc := kc vc

qc =

80.21

81.21

V7
vd :=
V8

vd =

2.26 3

10
1.57

kd :=

2 EI 2 1

Ld 1 2

qd := kd vd

qd =

81.21

71.92

Page 499

## Step 5c: using stiffness coefficients

An even more convenient way of obtaining the basic forces if we have established the individual stiffness
coefficients is by superposition of the forces of the unit displacement states. We obtain

U +

2 EI
U
La 2

Q1 = 66.28

U +

4 EI
U
La 2

Q2 = 8.36

Q3 :=

4 EI
6 EI
2 EI
U
U +
U
Lb 2 L 2 3
Lb 4
b

Q3 = 8.36

Q4 :=

2 EI
6 EI
4 EI
U
U +
U
Lb 2 L 2 3
Lb 4
b

Q4 = 80.21

Q1 :=

6 EI

U := Uf

La
Q2 :=

6 EI
La

Q5 :=

6 EI
Lc

Q7 :=

6 EI
Lc

Q6 :=

6 EI
Ld

Q8 :=

6 EI
Ld

U +

4 EI
2 EI
U +
U
Lc 4
Lc 5

Q5 = 80.21

U +

2 EI
4 EI
U +
U
Lc 4
Lc 5

Q6 = 81.21

U +

4 EI
U
Ld 5

Q7 = 81.21

U +

2 EI
U
Ld 5

Q8 = 71.92

Page 500

## Prof. Filip C. Filippou, 2000

Step 6: Determine shear forces by element equilibrium and then use the equilibrium equations that
involve the axial forces to determine the latter. Note that the axial forces cannot be determined from the
force-deformation relations like the end moments, because the elements are inextensible and thus their
axial deformations are zero.
25

8.86
7.24

16.14
7.24

7.24

7.24

8.86

12.76

16.14

8.86

16.14

16.14
8.86

25

8.36
8.86

20

7.24

80.22

81.21

20

16.14
12.76

7.24

12

7.24
66.28

12.76
71.92

2@10 = 20

Page 501

## Draw bending moment diagram and deformed shape of the structure

(observe element deformations as the angle between the tangent and the chord)

81.21
8.36
80.22

66.28

71.92

deformed shape

Page 502

25

8.86
7.24

16.14

7.24

8.86

12.76

16.14

8.86

16.14

16.14
8.86

25

8.36
8.86

20

7.24

7.24

7.24

81.21

80.22

20

16.14
12.76

7.24

12

7.24
66.28

12.76
71.92

2@10 = 20

## Step 8: check global equilibrium

25
20
c

a
d
66.28

12

7.24

8.86
71.92

12.76

16.14

2@10 = 20

sum of forces in X:

20 7.24 12.76 = 0

sum of forces in Y:

8.86 + 16.14 25 = 0

Page 503

## Second load case: thermal deformation of element d

0
0

Pf := 0
0

0

Set up the applied nodal force vector: for load case 2 of thermal heating there are no
directly applied forces at the global dofs.

We note, however, that the elements undergo initial deformations due to non-mechanical effects.
A positive non-mechanical curvature causes element d to deform inwards

## noting that the top of the element d is deformation 1 we have:

0 := 2 10

V0 :=
0

0.5

0 d

0.5 0 Ld

in the displacement method of analysis, these initial deformations result in initial element forces (also known
as "fixed end forces", because they arise for the case that the global dofs are "held fixed" so that the global
dof displacements are zero, while the non-mechanical effects are applied). These initial element forces are
collected in a vector Q 0 , which can be obtained either by the operation
Q0 := Ks V0

T
Q0 = ( 0 0 0 0 0 0 160 160 )

EI 0
q0 =
EI 0

Page 504

0
0

0
0

Q0 :=
0

EI

EI 0

3
1

P0 := Af Q0

0
0

= 0
0

160

P0

2
2

4
b

EI 0

or directly

d
1

EI 0

## Step 3: Solve for the unknown displacements of the global dof's

Uf := lsolve ( K , Pf P0)

3
T
Uf = ( 6.69 0.29 9.81 1.13 4.22 ) 10

## Step 4: Determine the deformations of all elements

V := Af Uf

3
T
V = ( 0.84 0.54 1.27 0.15 2.11 3.24 3.66 0.56 ) 10

Step 5a: Determine the basic forces of all elements with a single operation
T
Q = ( 44.3 38.44 38.44 15.7 15.7 69.83 69.83 193.94 )

Q := Ks V + Q0

## Step 5b: Determine the basic forces element by element

Even though this way of determining is compact and convenient for computer use, particularly,
since we have already established Ks , it is strongly advisable to use the following element-by
element
determination of the basic force in "hand" calculations.
V1
0.84 3
2 EI 2 1
44.3
va :=
va =
ka :=

qa := ka va
qa =
10

V2
La 1 2
0.54
38.44

V3
vb :=
V4

vb =

1.27 3

10
0.15

kb :=

2 EI 2 1

Lb 1 2

qb := kb vb

qb =

38.44

15.7

V5
vc :=
V6

vc =

2.11 3

10
3.24

kc :=

2 EI 2 1

Lc 1 2

qc := kc vc

qc =

15.7

69.83

V7
vd :=
V8

vd =

3.66 3

10
0.56

kd :=

2 EI 2 1

Ld 1 2

Page 505

vd0 :=

0.5 0 Ld
0.5 0 Ld

qd0 :=

or,

## Prof. Filip C. Filippou, 2000

qd := kd ( vd vd0)

qd =

69.83

193.94

qd := kd vd + qd0

qd =

69.83

193.94

EI 0
EI 0

## Step 5c: using stiffness coefficients

An even more convenient way of obtaining the basic forces if we have established the individual stiffness
coefficients is by superposition of the forces of the unit displacement states. Do not forget to add the basic
forces due to the initial state!! (for which all dof's are "locked"). We obtain

U +

2 EI
U
La 2

Q1 = 44.3

U +

4 EI
U
La 2

Q2 = 38.44

Q3 :=

4 EI
6 EI
2 EI
U
U +
U
Lb 2 L 2 3
Lb 4
b

Q3 = 38.44

Q4 :=

2 EI
6 EI
4 EI
U
U +
U
Lb 2 L 2 3
Lb 4
b

Q4 = 15.7

Q1 :=

6 EI

U := Uf

La
Q2 :=

6 EI
La

Q5 :=

6 EI
Lc

Q7 :=

6 EI
Lc

Q6 :=

6 EI
Ld

Q8 :=

6 EI
Ld

U +

4 EI
2 EI
U +
U
Lc 4
Lc 5

Q5 = 15.7

U +

2 EI
4 EI
U +
U
Lc 4
Lc 5

Q6 = 69.83

U +

4 EI
U + EI 0
Ld 5

Q7 = 69.83

U +

2 EI
U EI 0
Ld 5

Q8 = 193.94

Page 506

## Prof. Filip C. Filippou, 2000

Step 6: Determine shear forces by element equilibrium and then use the equilibrium equations that involve
the axial forces to determine the latter. Note that the axial forces cannot be determined from the forcedeformation relations like the end moments, because the elements are inextensible and thus their axial
deformations are zero.
5.41

5.41
10.34

10.34
10.34

10.34
5.41

5.41
5.41

5.41

38.44

69.83
10.34

10.34

12

10.34
44.3

10.34
193.94

2@10 = 20

Page 507

## Prof. Filip C. Filippou, 2000

moment distribution

69.83
38.44

44.3

193.94
Curvature distribution

Page 508

## Ex 36 - Displacement method for portal frame

Curvature distribution

deformed shape

Page 509

5.41

5.41
10.34

10.34
10.34

10.34
5.41

5.41
5.41

5.41

38.44

69.83
10.34

10.34

12

10.34
44.3

10.34
193.94

2@10 = 20

## Step 8: check global equilibrium

a
44.3

12

10.34

5.41
193.94

10.34

5.41

20
sum of moments about left support:

Page 510

4
2

a
d

12

5
2@10 = 20

## Step 3: Set up the applied nodal force vector

applied nodal forces

0
0

Pf := 0
0

0

## equivalent nodal forces due to distributed loads (from equilibrium)

Pfw

0
0

:= 20
0

0

In addition to these forces that arise at the global dofs by equilibrium, the elements suffer initial
deformations due to distributed element loads acting over their span (in this case only element b).
We denote these with vw and obtain with uniform transverse element load w (downward)

w := 4

w Lb3

24 EI
vw :=

3
w Lb
24 EI

Page 511

0
0
vw
1
vw
V0 := 2
0
0

## Prof. Filip C. Filippou, 2000

in the displacement method of analysis, these initial deformations result in initial element forces (also known
as "fixed end forces", because they arise for the case that the global dofs are "held fixed" so that the global
dof displacements are zero, while the non-mechanical effects are applied). These initial element forces are
collected in a vector Q 0 , which can be obtained either by the operation
T
Q0 = ( 0 0 33.33 33.33 0 0 0 0 )

Q0 := Ks V0

## or, more conveniently element by element in which case

w Lb2
12
q0 :=

2
w Lb
12

Collecting the initial element forces into a vector we get for all Initial (fixed-end) forces

## initial forces at global dofs

T
P0 := Pfw + Af Q0

P0

0
0
q0
1
q0
2
Q0 :=

0

0

0
0

0
33.33

= 20
33.33

or, better directly by keeping all free dofs "locked" and determining the forces at these dofs

4
2

33.33

33.33

1
20

20

P0

Page 512

0
33.33

= 20
33.33

## Solve for the unknown displacements of the global dof's

Uf := lsolve ( K , Pf P0)

3
T
Uf = ( 7.13 2.73 19.56 0.97 0.93 ) 10

## Step 4: Determine the deformations of all elements

3
T
V = ( 0.89 1.83 0.77 2.93 0.99 1.03 1.52 0.59 ) 10

V := Af Uf

Step 5a: Determine the basic forces of all elements with a single operation
T
Q = ( 1 55.51 55.51 47.95 47.95 48.58 48.58 36.18 )

Q := Ks V + Q0

## Step 5b: Determine the basic forces element by element

Even though this way of determining is compact and convenient for computer use, particularly,
since we have already established Ks , it is strongly advisable to use the following element-by
element
determination of the basic force in "hand" calculations.
V1
0.89 3
2 EI 2 1
1
va :=
va =
ka :=

qa := ka va
qa =
10

V2
La 1 2
1.83
55.51

V3
vb :=
V4

or,

vb =

0.77 3

10
2.93

2 EI 2 1

Lb 1 2

kb :=

vw 1

vb0 :=
vw 2

qb := kb ( vb vb0)

qb =

55.51

47.95

q01

qb0 :=
q02

qb := kb vb + qb0

qb =

55.51

47.95

V5
vc :=
V6

vc =

0.99 3

10
1.03

kc :=

2 EI 2 1

Lc 1 2

qc := kc vc

qc =

47.95

48.58

V7
vd :=
V8

vd =

1.52 3

10
0.59

kd :=

2 EI 2 1

Ld 1 2

qd := kd vd

qd =

48.58

36.18

## Step 5c: using stiffness coefficients

An even more convenient way of obtaining the basic forces if we have established the individual stiffness
coefficients is by superposition of the forces of the unit displacement states. Do not forget to add the basic
forces due to the initial state!! (for which all dof's are "locked"). We obtain

Q1 :=

6 EI
La

U +
1

U := Uf

2 EI
U
La 2

Q 1 = 1

Page 513

Q2 :=

6 EI
La

U +
1

4 EI
U
La 2

Q2 = 55.51

w Lb
4 EI
6 EI
2 EI
Q3 :=
U
U +
U +
Lb 2 L 2 3
Lb 4
12
b

w Lb
2 EI
6 EI
4 EI
Q4 :=
U
U +
U
Lb 2 L 2 3
Lb 4
12
b

Q5 :=

6 EI
Lc

Q6 :=

6 EI
Lc

Q7 :=

6 EI
Ld

Q8 :=

6 EI
Ld

Q5 = 47.95

U +

2 EI
4 EI
U +
U
Lc 4
Lc 5

Q6 = 48.58

U +

4 EI
U
Ld 5

Q7 = 48.58

U +

2 EI
U
Ld 5

Q8 = 36.18

Q4 = 47.95

4 EI
2 EI
U +
U
Lc 4
Lc 5

Q3 = 55.51

U +
3

## Prof. Filip C. Filippou, 2000

Step 6: Determine shear forces by element equilibrium and then use the equilibrium equations that involve
the axial forces to determine the latter. Note that the axial forces cannot be determined from the forcedeformation relations like the end moments, because the elements are inextensible and thus their axial
deformations are zero.
30.35

9.65
7.06

7.06

7.06

7.06

9.65 9.65

7.06
30.35

7.06
9.65

4
9.65

30.35
47.95

55.51
7.06

9.65

48.58
7.06

9.65

12
1

7.06

7.06
36.18

2@10 = 20

Page 514

## Prof. Filip C. Filippou, 2000

moment diagram

55.51

48.58
47.95

max M

36.18
determination of maximum moment:
shear at right end of element b

Vr :=

4 10 47.95 + 55.51

2
10
2

maximum moment

Mmax := 47.95 +

Vr

2 4

Deformed shape:

Page 515

Mmax = 59.6

Vr = 9.65

## Prof. Filip C. Filippou, 2000

Step 7: Determine support reactions (trivial from nodal free bodies as before)
30.35

9.65
7.06

7.06

7.06

7.06

7.06
9.65 9.65

30.35

7.06
9.65

4
9.65

30.35
47.95

55.51
7.06

9.65

48.58
7.06

9.65

12
7.06

7.06
36.18

2@10 = 20

## Step 8: check global equilibrium

4
c

a
d

12

1
7.06
30.35
36.18

7.06

9.65

2@10 = 20
sum of moments about left support:

## 1 4 10 5 + 36.18 7.06 4 + 9.65 20 = 0.06

Page 516

OK!

CE220-Theory of Structures

Displacement Method

Pf = BfQ + Pfw

(1) note

V = A fU f +Vd

(2)

## Element force-deformation for linear elastic material

Q = K sV + Q0

(3)

Introduce relation between unconstrained and constrained dofs from Part II, pp. 23
The compatibility relations become

Bf = A Tf

U f = A cU f

 =A A
A
f
f c

 U +V (2*) with
V = A f A cU f +Vd = A
f f
d

Pre-multiply both sides of the equilibrium equations by the transpose of the constraint matrix Ac
(recall Lecture 14, pp. 7-10) to derive the equilibrium equations for the constrained dofs by PVD

A Tc Pf = A cT A fTQ + Pfw

 =A
 T Q + A TP
P
f
f
c fw

)
(1*)

 =A P
with P
f
c f
T

Proceeding as before and substituting (2*) into (3) and then into (1*) we obtain
T
 =A
 TK A
 
T
T
P
f
f s fU f + A f K sVd + A f Q0 + A c Pfw

 =K

 U + P
P
f
f
0
with

 TK
 =A
 
K
f s Af

## the structure stiffness matrix at the constrained free dofs

 = A TP + A
 TQ + A
 T K V the initial nodal force vector at the constrained free dofs
P
0
c fw
f 0
f s d

Page 517

## Script for Example 36a in CE220 class notes

% portal frame with inextensible elements: solution with separate FEDEASLab
functions

CleanStart

## define model geometry and element types

% specify node coordinates (could only specify non-zero terms)
XYZ(1,:) = [ 0
0]; % first node
XYZ(2,:) = [ 0
8]; % second node, etc
XYZ(3,:) = [ 10
8]; %
XYZ(4,:) = [ 20
8];
XYZ(5,:) = [ 20
-4];
% connectivity array
CON {1} = [ 1
2];
CON {2} = [ 2
3];
CON {3} = [ 3
4];
CON {4} = [ 4
5];
% boundary conditions (1 = restrained,
BOUN(1,:) = [1 1 1];
BOUN(5,:) = [1 1 1];
% specify element type
[ElemName{1:4}] = deal('Lin2dFrm');

0 = free)

## % linear 2d frame element

create Model
Model = Create_SimpleModel (XYZ,CON,BOUN,ElemName);
Create_Window(0.80,0.80);
Plot_Model(Model);
Label_Model(Model);
2

## element properties in ElemData

for el=1:Model.ne
ElemData{el}.E = 1000;
ElemData{el}.A = 1;
ElemData{el}.I = 80;
end

% irrelevant

Page 518

## collection of element stiffness matrices

Ks = Ks_matrix(Model,ElemData);

## identify deformation modes with inextensible elements

Idef = Idef_index(Model,ElemData,1:Model.ne);

## form stiffness matrix

% form stiffness matrix at the original free dofs by direct assembly
Kf = Kf_matrix(Model,ElemData);
% set up constraint matrix Ac
LC = LinConEqs(Model);
% reorder dofs to have horizontal translation at node 2 and vertical translation
at node 3
pick_dof = [Model.DOF(2,1), Model.DOF(3,2)];
dof_reord = [setdiff(1:Model.nt,pick_dof) pick_dof];
% constraint matrix
Ac = Ac_matrix(LC,dof_reord);
% extract free dofs of constraint matrix
Acf = Ac(1:Model.nf,:);
% compatibility matrix for unconstrained dofs
A = A_matrix (Model);
% compatibiliy matrix for constrained dofs
Aftild = A*Ac;
% Method A: stiffness matrix for constrained free dofs (transformation after
direct assembly)
Kftild = Acf'*Kf*Acf;
disp('The stiffness matrix at the constrained free dofs is');
disp(Kftild);
% Method B: stiffness matrix for constrained dofs ("hand calculation" if Aftild
available)
Kftild = Aftild'*Ks*Aftild;
disp('The stiffness matrix at the constrained free dofs is');
disp(Kftild);
The stiffness matrix at the constrained free dofs is
2.4306e+003 7.5000e+003
0
0 3.3333e+003
7.5000e+003 7.2000e+004 -4.8000e+003 1.6000e+004
0
0 -4.8000e+003 1.9200e+003
0 4.8000e+003
0 1.6000e+004
0 6.4000e+004 1.6000e+004
3.3333e+003
0 4.8000e+003 1.6000e+004 5.8667e+004
The stiffness matrix at the constrained free dofs is
2.4306e+003 7.5000e+003
0
0
7.5000e+003 7.2000e+004 -4.8000e+003 1.6000e+004
0 -4.8000e+003 1.9200e+003
0
0 1.6000e+004
0 6.4000e+004
3.3333e+003
0 4.8000e+003 1.6000e+004

## 1. Load case: applied nodal forces

Pe(3,2) = -25;
Pe(4,1) = 20;
% transform applied nodal forces to constrained dofs

Page 519

3.3333e+003
0
4.8000e+003
1.6000e+004
5.8667e+004

## % displacement method of analysis

Uftild = Kftild\Pftild;
% display result for constrained free dof displacements
disp('constrained free dof displacements under the applied nodal forces');
disp(Uftild);
% transform to complete displacement vector
Uf = Acf*Uftild;
disp('complete free dof displacements under the applied nodal forces');
disp(Uf);
constrained free dof displacements under the applied nodal forces
1.8789e-002
-3.7320e-003
-2.4093e-002
7.5882e-004
6.9671e-004
complete free dof displacements under the applied nodal forces
1.8789e-002
0
-3.7320e-003
1.8789e-002
-2.4093e-002
7.5882e-004
1.8789e-002
0
6.9671e-004

## determine the basic forces

% determine element deformations
V = Aftild*Uftild;
% determine basic forces from force-deformation relation (only deformable)
Q = Ks(Idef,Idef)*V(Idef);
disp('the basic forces under the applied nodal forces are');
disp(Q);
the basic forces under the applied nodal forces are
6.6277e+001
-8.3622e+000
8.3622e+000
8.0215e+001
-8.0215e+001
-8.1208e+001
8.1208e+001
7.1919e+001

## 2. Load case: thermal deformation of element d

% initial deformations
ElemData{4}.e0 = [0;0.002];
% initial deformation vector
V0 = V0_vector(Model,ElemData);
% initial basic force vector (only for deformable elements)
Q0 = -Ks(Idef,Idef)*V0(Idef);
% initial force vector at constrained dofs
P0tild = Aftild(Idef,:)'*Q0;
% displacement method of analysis
Uftild = Kftild\(-P0tild);
% display result for constrained free dof displacements

Page 520

disp(Uftild);
% transform to complete displacement vector
Uf = Acf*Uftild;
disp(Uf);
6.6895e-003
-2.9340e-004
9.8105e-003
1.1278e-003
-4.2176e-003
6.6895e-003
0
-2.9340e-004
6.6895e-003
9.8105e-003
1.1278e-003
6.6895e-003
0
-4.2176e-003

## determine the basic forces

% determine element deformations
V = Aftild*Uftild;
% determine basic forces from force-deformation relation (only deformable)
Q = Ks(Idef,Idef)*V(Idef) + Q0;
disp(Q);
4.4303e+001
3.8435e+001
-3.8435e+001
-1.5697e+001
1.5697e+001
-6.9829e+001
6.9829e+001
-1.9394e+002

% clear previously defined applied force vector (always a good idea!)
clear Pe;
% equivalent nodal forces
Pe(2,2) = -20;
Pe(3,2) = -20;
% erase initial deformation of element d
ElemData{4}.e0 = [0;0];
% specify uniformly distributed load in element b
ElemData{2}.w = [0;-4];
% initial deformation vector
V0 = V0_vector(Model,ElemData);
% initial basic force vector (only for deformable elements)
Q0 = -Ks(Idef,Idef)*V0(Idef);

Page 521

## % initial force vector at constrained dofs

P0tild = Aftild(Idef,:)'*Q0;
% transform applied nodal forces to constrained dofs
% displacement method of analysis
Uftild = Kftild\(Pftild-P0tild);
% display result for constrained free dof displacements
disp('constrained free dof displacements under uniform distributed load in
element b');
disp(Uftild);
% transform to complete displacement vector
Uf = Acf*Uftild;
disp('complete free dof displacements under uniform load in element b');
disp(Uf);
constrained free dof displacements under uniform distributed load in element b
7.1333e-003
-2.7251e-003
-1.9555e-002
9.6956e-004
9.3024e-004
complete free dof displacements under uniform distributed load in element b
7.1333e-003
0
-2.7251e-003
7.1333e-003
-1.9555e-002
9.6956e-004
7.1333e-003
0
9.3024e-004

## determine the basic forces

% determine element deformations
V = Aftild*Uftild;
% determine basic forces from force-deformation relation (only deformable)
Q = Ks(Idef,Idef)*V(Idef) + Q0;
disp('the basic forces under the uniform distributed load in element b are');
disp(Q);
the basic forces under the uniform distributed load in element b are
-1.0035e+000
-5.5506e+001
5.5506e+001
4.7955e+001
-4.7955e+001
-4.8584e+001
4.8584e+001
3.6181e+001

Page 522

## Script for Example 36b in CE220 class notes

% portal frame with inextensible elements: solution with direct stiffness
method

CleanStart

## define model geometry and element types

% specify node coordinates (could only specify non-zero terms)
XYZ(1,:) = [ 0
0]; % first node
XYZ(2,:) = [ 0
8]; % second node, etc
XYZ(3,:) = [ 10
8]; %
XYZ(4,:) = [ 20
8];
XYZ(5,:) = [ 20
-4];
% connectivity array
CON {1} = [ 1
2];
CON {2} = [ 2
3];
CON {3} = [ 3
4];
CON {4} = [ 4
5];
% boundary conditions (1 = restrained, 0 = free)
BOUN(1,:) = [1 1 1];
BOUN(5,:) = [1 1 1];
% specify element type
[ElemName{1:4}] = deal('Lin2dFrm');
% linear 2d frame element

create Model
Model = Create_SimpleModel (XYZ,CON,BOUN,ElemName);
Create_Window(0.80,0.80);
Plot_Model(Model);
Label_Model(Model);
2

## element properties in ElemData

for el=1:Model.ne
ElemData{el}.E = 1000;
ElemData{el}.A = 1e6;
ElemData{el}.I = 80;
end

% inextensible

Pe(3,2) = -25;
Pe(4,1) = 20;

Page 523

## linear solution with direct stiffness method of analysis

S_LinearStep
Norm of equilibrium error = 3.440073e-010

## plot deformed shape

Create_Window(0.80,0.80);
MAGF = 100;
% magnification factor
Plot_Model(Model);
% original configuration
Plot_Model (Model,U);
% deformed configuration (chords only)
Plot_DeformedStructure(Model,ElemData,U);

## plot bending moment distribution

Create_Window(0.80,0.80);
Plot_Model (Model);
Plot_2dMomntDistr (Model,ElemData,Post);
% store the results for later use (if necessary)
Uf_LC1
= Uf;
Post_LC1 = Post;

## 2. Load case: thermal deformation of element d

% no nodal forces
ElemData{4}.e0 = [0;0.002];

## linear solution with direct stiffness method of analysis

S_LinearStep
Norm of equilibrium error = 2.218858e-010

Page 524

## plot deformed shape

Create_Window(0.80,0.80);
MAGF = 100;
% magnification factor
Plot_Model(Model);
% original configuration
Plot_Model (Model,U);
% deformed configuration (chords only)
Plot_DeformedStructure(Model,ElemData,U);

## plot bending moment distribution

Create_Window(0.80,0.80);
Plot_Model (Model);
Plot_2dMomntDistr (Model,ElemData,Post);

## plot curvature distribution

Create_Window(0.80,0.80);
Plot_Model (Model);
Plot_2dCurvDistr (Model,ElemData,Post,0.75);
% store the results for later use (if necessary)
Uf_LC2
= Uf;
Post_LC2 = Post;

Page 525

% no nodal forces
% clear initial deformation due to heating in ElemData
ElemData{4}.e0 = [0;0];
% specify uniformly distributed load in element b
ElemData{2}.w = [0;-4];

## linear solution with direct stiffness method of analysis

S_LinearStep
Norm of equilibrium error = 1.763286e-010

## plot deformed shape

Create_Window(0.80,0.80);
MAGF = 100;
% magnification factor
Plot_Model(Model);
% original configuration
Plot_Model (Model,U);
% deformed configuration (chords only)
Plot_DeformedStructure(Model,ElemData,U);

## plot bending moment distribution

Create_Window(0.80,0.80);
Plot_Model (Model);
Plot_2dMomntDistr (Model,ElemData,Post);
% store the results for later use (if necessary)
Uf_LC3
= Uf;
Post_LC3 = Post;

Page 526

## Example 37 - Displacement method for gable frame with inextensible constraints

We have dealt with this problem in Part II from the standpoint of the kinematic relation between free global
dof displacements and element deformations (see Example 17). We use these relations in the following for
the solution of the element response under different loadings with the displacement method of analysis.
The geometry of the portal frame is given. Without trivial dofs, there are 9 independent free global dofs.
5
4
2

b
1

Geometric properties:

Lc := 10
Ld := 12

12

Lb := 10

La := 12

Under the assumption that all elements are inextensible, there are five free independent global
degrees of freedom. We select these as shown in the following figure

Material properties
5

Page 527

EI := 80000

## Step 1: Set up compatibility matrix for independent free global dofs

dof 1 to determine the first column of the compatibility matrix Af

IC b

a :=

1
12

b :=

1
6

c :=

1
6

d :=

1
12

ICc

1.33

consult Example 17

IC a

ICd

0
1

1

Af 2 := 0

0
0

0

Page 528

Af := b

## dof 3 to determine the third column of the compatibility matrix Af

IC c

consult Example 17

a := 0

c :=

1.33

IC b

dof 3

IC d

0
0

0

Af 4 := 1

1
0

0

0
0

0

Af 5 := 0

0
1

1

Page 529

1
6

1
6
1
d :=
6
b :=

Af 3 := b

## Prof. Filip C. Filippou, 2000

It is interesting to look at the equilibrium equations that do not involve axial forces.
To this end we use the principle of virtual displacements.
the transpose of the kinematic matrix is

T
Af

1 1 1
12 12 6

0 1 1
=
1
0 0
6

0 0 0

0 0 0

1
6

0
1
6

1
6

1
6

T
Pf = Af Q

1
12

1
1

6
6

the numbering of basic forces without axial forces is shown in the figure

Q4
Q3

Q2

Q5

## The equilibrium equations are

Q6

P1 =
Q7

Q1 + Q2
12

P5 = Q 6 + Q 7

Page 530

Q3 + Q4
6

Q5 + Q6

P2 = Q 2 + Q 3
Q3 + Q4 Q5 + Q6 Q7
P3 =

+
6
6
6
P4 = Q 4 + Q 5

Q1

Q7
12

## Step 2: Set up the structure stiffness matrix:

Collection of element stiffness matrices for structural model

4
2

0
EI
Ks :=

La
0

0 4
0 2

La
Lb
La
Lb

2
4

La
Lb
La
Lb

La

Lc
La
Lc

La

Lc
La

Lc
0

La
3

Ld
0

T
K := Af Ks Af

## 6.03 4.67 5.61

4.67 58.67 8

= 5.61
8
5.89
0
16
0

0
4.67
6.33

6.33

3
0 4.67 10
64 16

16 52
16

Method 2(a): express element stiffness matrix in terms of global dof displacements and add up
Determination of individual element stiffness contributions

ka :=

EI 4 2

La 2 4

kb :=

1 0 0 0 0
12

Afa :=
1

12 1 0 0 0

Afd :=

EI 4 2

Lb 2 4

kc :=

EI 4 2

Lc 2 4

1 1 1 0 0
6
6

Afb :=
1

1
6 0 6 1 0

1 0 1 0 1

6
12

Page 531

kd :=

3EI
Ld

1 0 1 1 0
6
6

Afc :=
1

1
6 0 6 0 1

element a

element b

element c

element d

T
Ka := Afa ka Afa

T
Kb := Afb kb Afb

## Prof. Filip C. Filippou, 2000

0.56 3.33 0 0 0
3.33 26.67 0 0 0

3
Ka = 0
0
0 0 0 10
0
0
0 0 0

0
0 0 0
0
2.67 8 2.67 8 0
8 32 8 16 0

3
Kb = 2.67 8 2.67 8 0 10
8 16 8 32 0

0
0
0
0
0

2.67
0

= 2.67
8

T
Kc := Afc kc Afc

Kc

T
Kd := Afd kd Afd

0.14
0

Kd = 0.28
0

1.67

0 2.67 8

3
0 2.67 8 8 10
0 8 32 16

0 8 16 32
0

0 0.28 0 1.67

3
0 0.56 0 3.33 10
0
0
0
0

0 3.33 0 20
0

## Then the stiffness matrix is the sum of the element contributions:

K := Ka + Kb + Kc + Kd

4.67 58.67 8

= 5.61
8
5.89
0
16
0

0
4.67
6.33

Page 532

6.33

3
0 4.67 10
64 16

16 52
16

same of course

## Illustration of element stiffness contributions to structure stiffness matrix

1/12 1/12 1 6 1 6 1 6 1 6 1 12
k
0
1
1
0
0
0
0 a

0
 = 0
K
0
1 6 1 6 1 6 1 6 1 6

0
0
0
1
1
0
0
0
0
0
0
0
0
0
1
1

0
kb
0
0

0
0
kc
0

1 12
1 12
0
1 6
0
1 6

0
1 6
k d
16
1 12

0 0
0 0
1 1 6 0 0

0 1 6 1 0

0 1 6 1 0

0 1 6 0 1
0 1 6 0 1
0

1/12 1/12
1 6 1 6
16 16
1 12
0

1
0
0

( a ) 1/12 0 0 0 0
(b) 1 6 1 1 6 0 0
(c ) 1 6 0 1 6 1 0 0 ( d )

K= 0
0 k
+ 1 6 1 6 k 1 6 0 1 6 1 0 + 1 6 1 6 k 1 6 0 1 6 0 1 + 1 6 k [ 1 12 0 1 6 0 1]

1/12 1 0 0 0

0
1
0
0
0
1
0
0

0
0
1
0
0
1
1/12 1/12
6 EI 1
0
1

La 12
 = 0
K
0

6 EI 1
0
0

L 12
0 a
0

2 EI
La
4 EI
La

1 6 1 6

6 EI
0 0 0 1
0

Lb
+ 1 6 1 6

6 EI
0 0 0 0
1
Lb
0
0

1
6

4 EI
Lb

6 EI 1
Lb 6

2 EI
Lb

1
6

2 EI
Lb

6 EI 1
Lb 6

4 EI
Lb

2
12 EI 1 2
6 EI 1
12 EI 1

Lb 6
Lb 6
12 EI 1 6 EI 1
Lb 6

0 0 0 6 EI 1
4 EI
6 EI 1
La 12

La 12

Lb 6
Lb
Lb 6
4 EI
6 EI 1
0 0 0

2
2
K = La 12
+ 12 EI 1
La
6 EI 1
12 EI 1

Lb 6
Lb 6
0
0
0 0 0 Lb 6

0
0
0 0 0 6 EI 1
2
EI
6
EI 1

0
0
0 0 0
Lb 6
Lb
Lb 6

0
0
0

3EI 1 2
3EI 1 1
3EI 1
0

0

Ld 12 6
Ld 12
Ld 12

0
0
0
0
0

2
3EI 1 1

3
1
3
1
EI
EI

+
0
0

Ld 6
Ld 6
Ld 12 6

0
0
0
0
0

3EI 1
3EI
3EI 1

0
0

Ld 12
Ld 6
Ld

16 16

6 EI
0 0
0

L
+ 1 6 1 6 c

6 EI
0 1
0
L
0
1 c

1
6 EI 1
0
6
Lc 6

4 EI
Lc

1
6 EI 1
0
6
Lc 6

2 EI
Lc

6 EI 1 12 EI 1 2
0
Lb 6 Lc 6

0
2 EI
0
12 EI 1 2
Lb
+

Lc 6
6 EI 1
0

EI
6
1
Lb 6

Lc 6

4 EI
0 6 EI 1
Lb

Lc 6
0
0

Page 533

12 EI
Lc

1 12
2 EI

0
Lc

4 EI
Ld 6
Ld
Ld 12
0

Lc
1

1

6

6 EI
Lc

1

6

12 EI 1

Lc 6

6 EI
Lc

1

6

4 EI
Lc

6 EI
Lc

1

6

2 EI
Lc

6 EI 1

Lc 6

1

6

6 EI 1

Lc 6
2 EI

Lc

4 EI

Lc

6 EI
Lc

## Method 2(b): Derivation of stiffness coefficients by direct method (PVD)

We confirm only the stiffness coefficients for translation dof 1 with the principle of virtual displacements
Impose a unit value at displacement dof 1 and determine element deformations and forces, as shown in the
following figure. The stiffness coefficients are the forces at the free global dofs due to the element forces
caused by a unit displacement at global dof 1. In steps we can write:


K
41


K
31

6 EI
Lc

6 EI 1

Lb 6


K
11


K
21

6 EI 1

Lb 6

1

6

6 EI 1

Lc 6
3EI 1

Ld 12

6 EI 1

La 12


K
51

6 EI 1

La 12

K11 =

Q'1 + Q'2
12

Q'3 + Q'4
6

Q'5 + Q'6
6

Q'7
12

K31 =

Q'3 + Q'4
6

Q'5 + Q'6
6

Q'7
6

## K41 = Q'4 + Q'5

K51 = Q'6 + Q'7
We demonstrate the terms one by one

##  11 = 2 1 6EI 1 + 2 1 6EI 1 + 2 1 6EI 1 + 1 3EI 1

K
12 La 12 6 Lb 6 6 Lc 6 12 Ld 12

 21 = 6EI 1 + 6EI 1
K
La 12 Lb 6

Page 534

##  31 = 2 1 6EI 1 + 2 1 6EI 1 + 1 3EI 1

K
6 Lb 6 6 Lc 6 6 Ld 12

 41 = 6EI 1 + 6EI 1
K
Lb 6 Lc 6
 51 = 6EI 1 + 3EI 1
K
Lc 6 Ld 12
Combining terms and evaluating we obtain the first column of the 5x5 structure stiffness matrix
2

12 EI 1
12 EI 1
12 EI 1
3 EI 1
K11 :=
+
+
+

La 12
Lb 6
Lc 6
Ld 12

K11 = 6.03 10

K21 :=

6 EI 1 6EI 1
+

La 12 Lb 6

K21 = 4.67 10

K31 :=

12EI 1 1 12 EI 1 1 3 EI 1 1

+

Lc 6 6
Ld 12 6
Lb 6 6

K31 = 5.61 10

K41 :=

6 EI 1 6 EI 1
+

Lc 6
Lb 6

K41 = 0 10

K51 :=

6 EI 1 3 EI 1
+

Ld 12
Lc 6

K51 = 6.33 10

Page 535

## Prof. Filip C. Filippou, 2000

Step 3: Set up the applied nodal force vector and solve for global dof displacements
30

## consult Lecture 14, pp. 7-10

100

from

 = A TP
P
f
c f

 = ( 30 ) 4 + 20 ( 1) = 60
P
1
3

20

 =0
P
2

 = ( 30 ) 4 + 20 ( 2 ) = 80
P

3
3
 = 100
P
4
 =0
P
5

60
0

Pf := 80
100

Solve for the unknown displacement values at the free global dof's
3
T
Uf = ( 56.66 6.81 75.88 3.56 1.19 ) 10

Uf := lsolve ( K , Pf)

## Step 4: Determine the deformations of all elements

V := Af Uf

3
T
V = ( 4.72 2.09 3.61 6.77 0.36 4.39 6.74 ) 10

## Step 5: Determine the basic force of all elements

T
Q = ( 98.02 7.19 7.19 158.81 58.81 134.79 134.79 )

Q := Ks V

Even though this way of determining is compact and convenient for computer use, particularly,
since we have already established Ks , it is strongly advisable to use the following element-by element
determination of the basic force in "hand" calculations.

V1

va :=
V2

va =

4.72 3

10
2.09

ka :=

2 EI 2 1

La 1 2

qa := ka va

qa =

98.02

7.19

V3

vb :=
V4

vb =

3.61 3

10
6.77

kb :=

2 EI 2 1

Lb 1 2

qb := kb vb

qb =

7.19

158.81

V5

vc :=
V6

vc =

0.36 3

10
4.39

kc :=

2 EI 2 1

Lc 1 2

qc := kc vc

qc =

58.81

134.79

kd :=

3 EI
Ld

qd := kd vd

qd = ( 134.79 )

( )

vd := V
7

3
vd = ( 6.74 ) 10

Page 536

## Prof. Filip C. Filippou, 2000

Step 6: Determine shear forces by element equilibrium and then use the equilibrium equations that involve
the axial forces to determine the latter. Note that the axial forces cannot be determined from the forcedeformation relations like the end moments, because the elements are inextensible and thus their axial
deformations are zero (this is left as an exercise)
Bending moment diagram
58.81

158.81
134.79
7.21

98.02

deformed shape

4.72
2.09

3.61
3
V = 6.77 10

0.36

4.39

6.74
(observe element deformations
as the angle between the tangent
and the chord)

Page 537

## Step 7: Determine support reactions (left as exercise)

Step 8: check global equilibrium (left as exercise)
500/12

w=5
25

500/12

w=5

20
25

25

15

6
20
15

12

initial state

for the effect of end shear forces in element b review again Lecture 14, pp. 7-10

 = A P
from P
fw
c
fw
T

 = 30 3 + ( 40 ) 4 = 11.67
P

1w
6

6

P2w = 0

 = 30 3 + ( 40 ) 4 = 41.67
P

3w
6
6

 =0
P
4w

 =0
P
5w
equivalent nodal forces due to distributed loads

Pfw

T
2
2

Q0 :=

0 0

w Lb
12

w Lb
12

0 0 0

Page 538

w := 5

11.67
0

:= 41.67
0

## initial forces at global dofs

T
P0 := Pfw + Af Q0

P0

11.67
41.67

= 41.67
41.67

## there are no nodal forces in this case

0
0

Pf := 0
0

0

or, better directly by keeping all free dofs "locked" and determining the forces at the free global dofs
20

25

15

20
15

P0

initial state

11.67
41.67

= 41.67
41.67

## Solve for the unknown displacements of the global dof's

Uf := lsolve ( K , Pf P0)

3
T
Uf = ( 82.71 7.93 94.6 3.28 2.59 ) 10

## Step 4: Determine the deformations of all elements

V := Af Uf

3
T
V = ( 6.89 1.03 5.94 5.26 1.3 4.57 6.28 ) 10

Step 5a: Determine the basic forces of all elements with a single operation
Q := Ks V + Q0

T
Q = ( 170.04 64.37 64.37 31.6 31.6 125.59 125.59 )

## Step 5b: Determine the basic forces element by element

Even though this way of determining is compact and convenient for computer use, particularly,
since we have already established Ks , it is strongly advisable to use the following element-by
element
determination of the basic force in "hand" calculations.
V1
6.89 3
2 EI 2 1
va :=
va =
ka :=

qa := ka va
qa =
10

V2
L

1.03
1
2
a

Page 539

170.04

64.37

## CE220 - Theory of Structures

V3

vb :=
V4

vb =

initial deformations

V5

vc :=
V6

( )

vd := V
7

5.94 3

10
5.26

kb :=

w Lb3

24 EI
vw :=

3
w Lb
24 EI

2
w Lb
12
q0 :=

2
w Lb
12

vc =

2 EI 2 1

Lb 1 2

vw 1

vb0 :=
vw 2

1.3 3

10
4.57

3
vd = ( 6.28 ) 10

## Prof. Filip C. Filippou, 2000

q01

qb0 :=
q02

qb := kb ( vb vb0)

qb =

64.37

31.6

qb := kb vb + qb0

qb =

64.37

31.6
31.6

125.59

kc :=

2 EI 2 1

Lc 1 2

qc := kc vc

qc =

kd :=

3 EI
Ld

qd := kd vd

qd = ( 125.59 )

31.6

125.59
64.37

170.04

Page 540

## Prof. Filip C. Filippou, 2000

deformed shape

6.89
1.03

5.94
3
V = 5.26 10

1.3

4.57

6.28
(observe element deformations
as the angle between the tangent
and the chord)

Page 541


P
0,4

P
0,3
6

ICc


P
0,1

6 EI 0.1

Lc 8

6 EI 0.1

Lc 8


P
0,5
3EI 0.1

Ld 16

12

0.1
ICd
8

16

## Initial force vector at free global dofs due to support displacement

T

1
1 1

Vd := 0 0 0 0

0.1
8
8 16

(a) by computer

T
P0 := Af Ks Vd

P0

210.42
0

= 220.83
600

475

(b) directly from the basic element forces caused by the support displacement (see above figure)
We denote with Q` the forces due a unit displacement at dof 1

P01 =

Q'1 + Q'2
12

Q'3 + Q'4
6

Q'5 + Q'6
6

Q'7
12

P03 =

Q'3 + Q'4
6

Q'5 + Q'6
6

Q'7
6

P05 = Q'6 + Q'7

Page 542

## Prof. Filip C. Filippou, 2000

we evaluate

P01 :=

12 EI 0.1 1 3 EI 0.1 1

Lc 8 6
Ld 16 12

P01 = 210.42

P02 := 0
P03 :=

P02 = 0
12 EI 0.1 1 3 EI 0.1 1
+

Lc 8 6
Ld 16 6

P03 = 220.83

P04 :=

6 EI 0.1

Lc 8

P04 = 600

P05 :=

6 EI 0.1 3 EI 0.1
+

Lc 8
Ld 16

P05 = 475

as above

0
0

Pf := 0
0

0

## Solve for the unknown displacements of the global dof's

Uf := lsolve ( K , Pf P0)

3
T
Uf = ( 37.86 5.73 77.63 6.77 4.7 ) 10

## Step 4: Determine the deformations of all elements

V := Af Uf + Vd

3
T
V = ( 3.15 2.57 0.9 0.14 0.9 1.18 1.16 ) 10

Step 5a: Determine the basic forces of all elements with a single operation
T
Q = ( 49.81 26.58 26.58 9.94 9.94 23.23 23.23 )

Q := Ks V

## Step 5b: Determine the basic forces element by element

Even though this way of determining is compact and convenient for computer use, particularly,
since we have already established Ks , it is strongly advisable to use the following element-by
element
determination of the basic force in "hand" calculations.
V1
3.15 3
2 EI 2 1
49.81
va :=
va =
ka :=

qa := ka va
qa =
10

V2
La 1 2
2.57
26.58

V3
vb :=
V4

vb =

0.9 3

10
0.14

kb :=

2 EI 2 1

Lb 1 2

Page 543

qb := kb vb

qb =

26.58

9.94

V5

vc :=
V6

( )

vd := V
7

vc =

0.9 3

10

1.18

3
vd = ( 1.16 ) 10

kc :=

2 EI 2 1

Lc 1 2

qc := kc vc

qc =

9.94

23.23

kd :=

3 EI
Ld

qd := kd vd

qd = ( 23.23 )

9.94

## Bending moment diagram

23.23
26.58

49.91

deformed shape

3.15
2.57

0.9

3
V = 0.14 10

0.9

1.18

1.16
(observe element deformations
as the angle between the tangent
and the chord)

Page 544

## Script for Example 37a in CE220 class notes

% gable frame with inextensible elements: solution with separate FEDEASLab
functions

CleanStart

## define model geometry and element types

% specify node coordinates (could only specify non-zero terms)
XYZ(1,:) = [ 0
0]; % first node
XYZ(2,:) = [ 0
12]; % second node, etc
XYZ(3,:) = [ 8
18]; %
XYZ(4,:) = [ 16
12]; %
XYZ(5,:) = [ 16
0]; %
% connectivity array
CON {1} = [ 1
2];
CON {2} = [ 2
3];
CON {3} = [ 3
4];
CON {4} = [ 4
5];
% boundary conditions (1 = restrained,
BOUN(1,:) = [1 1 1];
BOUN(5,:) = [1 1 0];
% specify element type
[ElemName{1:4}] = deal('Lin2dFrm');

0 = free)

## Post-processing functions on Model (optional)

Create_Window (0.80,0.80);
Plot_Model (Model);
Label_Model (Model);

## % open figure window

% plot model (optional)

## element properties in ElemData

ne = Model.ne;
%
% Modulus, area and
for el=1:ne;
ElemData{el}.E =
ElemData{el}.A =
ElemData{el}.I =
end

## number of elements in structural model

moment of inertia
1000;
1;
80;

Page 545

## collection of element stiffness matrices

Ks = Ks_matrix(Model,ElemData);

## identify deformation modes with inextensible elements

Idef = Idef_index(Model,ElemData,1:Model.ne);

## form stiffness matrix

% form stiffness matrix at the original free dofs by direct assembly
Kf = Kf_matrix(Model,ElemData);
% set up constraint matrix Ac
LC = LinConEqs(Model);
% reorder dofs to have horizontal translation at node 2 and vertical translation
at node 3
pick_dof = [Model.DOF(2,1), Model.DOF(3,1)];
dof_reord = [setdiff(1:Model.nt,pick_dof) pick_dof];
% constraint matrix
Ac = Ac_matrix(LC,dof_reord);
% extract free dofs of constraint matrix
Acf = Ac(1:Model.nf,:);
% compatibility matrix for unconstrained dofs
A = A_matrix (Model);
% compatibiliy matrix for constrained dofs
Aftild = A*Ac;
% Method A: stiffness matrix for constrained free dofs (transformation after
direct assembly)
Kftild = Acf'*Kf*Acf;
disp('The stiffness matrix at the constrained free dofs is');
disp(Kftild);
% Method B: stiffness matrix for constrained dofs ("hand calculation" if Aftild
available)
Kftild = Aftild'*Ks*Aftild;
disp('The stiffness matrix at the constrained free dofs is');
disp(Kftild);
The stiffness matrix at the constrained free dofs is
6.4444e+003 -4.6667e+003 -6.4444e+003
0 4.6667e+003 -3.3333e+003
-4.6667e+003 5.8667e+004 8.0000e+003 1.6000e+004
0
0
-6.4444e+003 8.0000e+003 7.5556e+003
0 -1.3333e+003 6.6667e+003
0 1.6000e+004
0 6.4000e+004 1.6000e+004
0
4.6667e+003
0 -1.3333e+003 1.6000e+004 5.8667e+004 1.3333e+004
-3.3333e+003
0 6.6667e+003
0 1.3333e+004 2.6667e+004
The stiffness matrix at the constrained free dofs is
6.4444e+003 -4.6667e+003 -6.4444e+003
0 4.6667e+003 -3.3333e+003
-4.6667e+003 5.8667e+004 8.0000e+003 1.6000e+004
0
0
-6.4444e+003 8.0000e+003 7.5556e+003
0 -1.3333e+003 6.6667e+003
-4.5475e-013 1.6000e+004 4.5475e-013 6.4000e+004 1.6000e+004
0
4.6667e+003
0 -1.3333e+003 1.6000e+004 5.8667e+004 1.3333e+004
-3.3333e+003
0 6.6667e+003
0 1.3333e+004 2.6667e+004

Pe(3,2)
Pe(3,3)
Pe(4,1)

= -30;
= 100;
= 20;

Page 546

## % transform applied nodal forces to constrained dofs

% displacement method of analysis
Uftild = Kftild\Pftild;
% display result for constrained free dof displacements
disp('constrained free dof displacements under the applied nodal forces');
disp(Uftild);
% transform to complete displacement vector
Uf = Acf*Uftild;
disp('complete free dof displacements under the applied nodal forces');
disp(Uf);
constrained free dof displacements under the applied nodal forces
5.6657e-002
-6.8125e-003
7.5884e-002
3.5623e-003
-1.1865e-003
-1.1296e-002
complete free dof displacements under the applied nodal forces
5.6657e-002
0
-6.8125e-003
7.5884e-002
-2.5636e-002
3.5623e-003
9.5111e-002
0
-1.1865e-003
-1.1296e-002

## determine the basic forces

% determine element deformations
V = Aftild*Uftild;
% determine basic forces from force-deformation relation (only deformable)
Q = Ks(Idef,Idef)*V(Idef);
disp('the basic forces under the applied nodal forces are');
disp(Q);
the basic forces under the applied nodal forces are
9.8023e+001
7.1894e+000
-7.1894e+000
1.5881e+002
-5.8807e+001
-1.3479e+002
1.3479e+002
4.2633e-014

% clear previously defined applied force vector (always a good idea!)
clear Pe;
% equivalent nodal forces
Pe(2,1) = 15;
Pe(2,2) = -20;
Pe(3,1) = 15;
Pe(3,2) = -20;

Page 547

## % specify uniformly distributed load in element b

ElemData{2}.w = [0;-5];
% initial deformation vector
V0 = V0_vector(Model,ElemData);
% initial basic force vector (only for deformable elements)
Q0 = -Ks(Idef,Idef)*V0(Idef);
% initial force vector at constrained dofs
P0tild = Aftild(Idef,:)'*Q0;
% transform applied nodal forces to constrained dofs
% displacement method of analysis
Uftild = Kftild\(Pftild-P0tild);
% display result for constrained free dof displacements
disp('constrained free dof displacements under distributed load in element b');
disp(Uftild);
% transform to complete displacement vector
Uf = Acf*Uftild;
disp('complete free dof displacements under uniform distributed load in element
b');
disp(Uf);
constrained free dof displacements under uniform distributed load in element b
8.2713e-002
-7.9252e-003
9.4597e-002
3.2808e-003
-2.5940e-003
-1.2013e-002
complete free dof displacements under uniform distributed load in element b
8.2713e-002
0
-7.9252e-003
9.4597e-002
-1.5846e-002
3.2808e-003
1.0648e-001
0
-2.5940e-003
-1.2013e-002

## determine the basic forces

% determine element deformations
V = Aftild*Uftild;
% determine basic forces from force-deformation relation (only deformable)
Q = Ks(Idef,Idef)*V(Idef) + Q0;
disp('the basic forces under the uniform distributed load in element b are');
disp(Q);
the basic forces under the uniform distributed load in element b are
1.7004e+002
6.4370e+001
-6.4370e+001
3.1594e+001
-3.1594e+001
-1.2559e+002
1.2559e+002
9.9476e-014

Page 548

## 3. Load case: vertical translation of 0.1 units at right support

% no nodal forces element deformations due to support translation (by hand)
Vd = [0 0 0 0 -1/8 -1/8 1/16 1/16]'.*0.1;
% initial basic force vector (only for deformable elements)
Q0 = Ks(Idef,Idef)*Vd;
% initial force vector at constrained dofs
P0tild = Aftild(Idef,:)'*Q0;
% displacement method of analysis
Uftild = Kftild\(-P0tild);
% display result for constrained free dof displacements
disp('constrained free dof displacements under upward support movement of node
5');
disp(Uftild);
% transform to complete displacement vector
Uf = Acf*Uftild;
disp('complete free dof displacements under upward support movement of node 5');
disp(Uf);
constrained free dof displacements under upward support movement of node 5
-3.7858e-002
5.7290e-003
-7.7634e-002
6.7688e-003
4.6957e-003
2.9534e-003
complete free dof displacements under upward support movement of node 5
-3.7858e-002
0
5.7290e-003
-7.7634e-002
5.3035e-002
6.7688e-003
-1.1741e-001
0
4.6957e-003
2.9534e-003

## determine the basic forces

% determine element deformations
V = Aftild*Uftild;
V(Idef) = V(Idef) + Vd;
% determine basic forces from force-deformation relation (only deformable)
Q = Ks(Idef,Idef)*V(Idef);
disp('the basic forces under upward support movement of node 5 are');
disp(Q);
the basic forces under upward support movement of node 5 are
-4.9808e+001
2.6578e+001
-2.6578e+001
-9.9407e+000
9.9407e+000
-2.3230e+001
2.3230e+001
-6.9278e-014

Page 549

## Script for Example 37b in CE220 class notes

% gable frame with inextensible elements: solution with direct stiffness

CleanStart

## define model geometry and element types

% specify node coordinates (could only specify non-zero terms)
XYZ(1,:) = [ 0
0]; % first node
XYZ(2,:) = [ 0
12]; % second node, etc
XYZ(3,:) = [ 8
18]; %
XYZ(4,:) = [ 16
12]; %
XYZ(5,:) = [ 16
0]; %
% connectivity array
CON {1} = [ 1
2];
CON {2} = [ 2
3];
CON {3} = [ 3
4];
CON {4} = [ 4
5];
% boundary conditions (1 = restrained, 0 = free)
BOUN(1,:) = [1 1 1];
BOUN(5,:) = [1 1 0];
% specify element type
[ElemName{1:4}] = deal('Lin2dFrm');
% 2d linear frame element
Model = Create_SimpleModel (XYZ,CON,BOUN,ElemName);

## Post-processing functions on Model (optional)

Create_Window (0.80,0.80);
Plot_Model (Model);
Label_Model (Model);

## % open figure window

% plot model (optional)

## element properties in ElemData

ne = Model.ne;
%
% Modulus, area and
for el=1:ne;
ElemData{el}.E =
ElemData{el}.A =
ElemData{el}.I =
end

## number of elements in structural model

moment of inertia
1000;
1e6;
80;

% inextensible

Pe(3,2) = -30;

Page 550

Pe(3,3) = 100;
Pe(4,1) = 20;

## linear solution with direct stiffness method of analysis

S_LinearStep
Norm of equilibrium error = 1.587439e-009

## plot deformed shape

Create_Window(0.80,0.80);
MAGF = 40;
% magnification factor
Plot_Model(Model);
% original configuration
Plot_Model (Model,U);
% deformed configuration (chords only)
Plot_DeformedStructure(Model,ElemData,U);

## plot bending moment distribution

Create_Window(0.80,0.80);
Plot_Model (Model);
Plot_2dMomntDistr (Model,ElemData,Post,2);
% store the results for later use (if necessary)
Uf_LC1
= Uf;
Post_LC1 = Post;

% no nodal forces

Page 551

## % specify uniformly distributed load in element b

ElemData{2}.w = [0;-5];

## linear solution with direct stiffness method of analysis

S_LinearStep
Norm of equilibrium error = 1.642734e-009

## plot deformed shape

Create_Window(0.80,0.80);
MAGF = 40;
% magnification factor
Plot_Model(Model);
% original configuration
Plot_Model (Model,U);
% deformed configuration (chords only)
Plot_DeformedStructure(Model,ElemData,U);

## plot bending moment distribution

Create_Window(0.80,0.80);
Plot_Model (Model);
Plot_2dMomntDistr (Model,ElemData,Post,2);
% store the results for later use (if necessary)
Uf_LC2
= Uf;
Post_LC2 = Post;

## 3. Load case: vertical translation of 0.1 units at right support

% no nodal forces
Pe = [];
% specify support displacement

Page 552

Ue(5,2) = 0.1;
% erase uniformly distributed load in element b
ElemData{2}.w = [0;0];

## linear solution with direct stiffness method of analysis

S_LinearStep
Norm of equilibrium error = 1.648857e-009

## plot deformed shape

Create_Window(0.80,0.80);
MAGF = 40;
% magnification factor
Plot_Model(Model);
% original configuration
Plot_Model(Model,U);
% deformed configuration (chords only)
Plot_DeformedStructure(Model,ElemData,U);

## plot bending moment distribution

Create_Window(0.80,0.80);
Plot_Model (Model);
Plot_2dMomntDistr (Model,ElemData,Post,2);
% store the results for later use (if necessary)
Uf_LC3
= Uf;
Post_LC3 = Post;

Page 553

CE220 - Theory of Structures Ex 38 - Displacement method for gable frame with inflexible element Prof. Filip C. Filippou, 2000

## Example 38 - Displacement method for gable frame with inflexible constraint

The geometry of the portal frame is given. Without trivial dofs, there are 9 independent free global dofs.
5
4
2
b
1

Geometric properties:

6
8

Lb := 10

Lc := 10
Ld := 12

12

Material properties
8

La := 12

EI := 80000

Under the assumption that all elements are inextensible and element b is inflexible, there are three
independent free global degrees of freedom. We select these as shown in the following figure

Page 554

CE220 - Theory of Structures Ex 38 - Displacement method for gable frame with inflexible element Prof. Filip C. Filippou, 2000

## Step 1: Set up compatibility matrix for independent free global dofs

dof 1 to determine the first column of the compatibility matrix Af

a :=

1
12

consult Example 17

b :=

1
6

1
6

c :=

d :=

1
12

1.33

12

1
4

Af 1 =
3
1

6
1
12

a + b

Af 1 := c + b

## dof 2 to determine the second column of the compatibility matrix Af

a := 0

consult Example 17

b :=

1
6

c :=

1
6

d :=

1
6

1
1.33

Page 555

a + b

Af 2 := c + b

12
1
4

Af 1 =
3
1

1
12

CE220 - Theory of Structures Ex 38 - Displacement method for gable frame with inflexible element Prof. Filip C. Filippou, 2000

## dof 3 to determine the third column of the compatibility matrix Af

0
0

3
Af := 0
1

1

It is interesting to look at the equilibrium equations that do not involve axial forces.
To this end we use the principle of virtual displacements.

T
Pf = Af Q

## the transpose of the kinematic matrix is

T
Af

1 1 1 1 1
12 4 3 6
12

=
1
1
1 1
0

6
3
6 6

0 0 0 1 1

the numbering of basic forces without axial forces and basic forces in element b is shown in the figure

Q3

## The equilibrium equations are

Q4
Q2

P1 =
Q5

Q1
12

P2 =

Q2
6

Q2
4

Q3

P3 = Q 4 + Q 5

Q1

Page 556

Q3
3

Q4
6

Q4
6
+

Q5
6

Q5
12

CE220 - Theory of Structures Ex 38 - Displacement method for gable frame with inflexible element Prof. Filip C. Filippou, 2000

## Step 2: Set up the structure stiffness matrix:

Collection of element stiffness matrices for structural model

0
EI
Ks :=

La
0

La

0 4

Lc
La

0 2

Lc
0

La

Lc
La

La
3

Ld
0

Lc
0

## Method 2(a): by computer in a single operation

T
K := Af Ks Af

9
8.77 7.8
3
= 7.8 7.52 7.33 10
9 7.33 52

Method 2(a): express element stiffness matrix in terms of global dof displacements and add up
Determination of individual element stiffness contributions

ka :=

EI 4 2

La 2 4

1 0 0
12

Afa :=
1 1
4 6 0

element a

element c

kc :=

EI 4 2

Lc 2 4

kd :=

1 1 0
3 3
Afc :=
1 1
6 6 1

T
Ka := Afa ka Afa

T
Kc := Afc kc Afc

Ka

Kc

Afd :=

3EI
Ld

1 1 1

12 6

2.41 1.3 0
3
= 1.3 0.74 0 10
0
0 0

## 6.22 6.22 10.67

3
= 6.22 6.22 10.67 10
10.67 10.67 32

Page 557

CE220 - Theory of Structures Ex 38 - Displacement method for gable frame with inflexible element Prof. Filip C. Filippou, 2000

## 0.14 0.28 1.67

3
Kd = 0.28 0.56 3.33 10
1.67 3.33 20

T
Kd := Afd kd Afd

element d

## Then the stiffness matrix is the sum of the element contributions:

K := Ka + Kc + Kd

9
8.77 7.8
3
= 7.8 7.52 7.33 10
9 7.33 52

same of course

## Method 2(b): Derivation of stiffness coefficients by direct method (PVD)

We confirm only the stiffness coefficients for translation dof 1 with the principle of virtual displacements
Impose a unit value at displacement dof 1 and determine element deformations and forces, as shown in the
following figure. The stiffness coefficients are the forces at the free global dofs due to the element forces
caused by a unit displacement at global dof 1. In steps we can write:

6 EI
Lc


K
21

1 4 EI
+
6
Lc

1.33

6 EI
La

1

6

6 EI
Lc

1 2 EI
+
6
Lc


K
31


K
11

1 4 EI
+
12
La

1

6
3EI 1

Ld 12

6 EI 1 2 EI 1
+

La 12 La 6

K11 =

Q'1
12

K21 =

Q'2
6

Q'2
4

Q'3
3

Q'3
3

Q'4
6

Q'4
6
+

Q'5
12

Q'5
6

## K31 = Q'4 + Q'5

Page 558

1

6

CE220 - Theory of Structures Ex 38 - Displacement method for gable frame with inflexible element Prof. Filip C. Filippou, 2000

##  11 = 1 6EI 1 + 2EI 1 + 1 6EI 1 + 4EI 1 +

K

12 La 12 La 6 4 La 12 La 6
1 6EI 1 4EI 1 1 6EI 1 2EI 1 1 3EI 1

+
+
+
+

3 Lc 6 Lc 6 6 Lc 6 Lc 6 12 Ld 12
etc. etc....
Step 3: Set up the applied nodal force vector and solve for global dof displacements
30

## consult Lecture 14, pp. 7-10

 =A P
from P
f
c f
T

100

 = ( 30 ) 4 + 20 ( 1) + 100 1 = 43.33
P

1
3
6
 = ( 30 ) 4 + 20 ( 2 ) + 100 1 = 63.33
P

2
3
6
 =0
P
3

20

Solve for the unknown displacement values at the free global dof's
Uf := lsolve ( K , Pf)

3
T
Uf = ( 31.87 41.84 0.39 ) 10

## Step 4: Determine the deformations of all elements

V := Af Uf

3
T
V = ( 2.66 0.99 3.33 1.28 4.7 ) 10

## Step 5: Determine the basic force of all elements

Q := Ks V

T
Q = ( 84.05 61.88 126.85 94.08 94.08 )

Page 559

43.33
Pf := 63.33
0

CE220 - Theory of Structures Ex 38 - Displacement method for gable frame with inflexible element Prof. Filip C. Filippou, 2000

Even though this way of determining is compact and convenient for computer use, particularly,
since we have already established Ks , it is strongly advisable to use the following element-by
element
determination of the basic force in "hand" calculations.
V1
2.66 3
2 EI 2 1
84.05
va :=
va =
ka :=

qa := ka va
qa =
10

V2
La 1 2
0.99
61.88

V3
vc :=
V4

( )

vd := V
5

vc =

3.33 3

10
1.28

3
vd = ( 4.7 ) 10

126.85

94.08

kc :=

2 EI 2 1

Lc 1 2

qc := kc vc

qc =

kd :=

3 EI
Ld

qd := kd vd

qd = ( 94.08 )

Step 6: Determine shear forces by element equilibrium and then use the equilibrium equations that involve
the axial forces to determine the latter. Note that the axial forces cannot be determined from the forcedeformation relations like the end moments, because the elements are inextensible and thus their axial
deformations are zero (this is left as an exercise)
Bending moment diagram

126.85

b
226.85
65.88

94.08
65.88

84.05

Note: the basic end moments of element b are obtained from node equilibrium at nodes 2 and 3;
to this end we use the basic forces of elements a and c and the applied load values.

Page 560

CE220 - Theory of Structures Ex 38 - Displacement method for gable frame with inflexible element Prof. Filip C. Filippou, 2000

deformed shape

2.66
0.99

3
V = 3.33 10
1.28

4.7
(observe element deformations
as the angle between the tangent
and the chord)

## Step 7: Determine support reactions (left as exercise)

Step 8: check global equilibrium (left as exercise)

Page 561

CE220 - Theory of Structures Ex 38 - Displacement method for gable frame with inflexible element Prof. Filip C. Filippou, 2000

w=5
25
20

w=5

25

25

15

6
20
15

12

initial state

## equivalent nodal forces due to distributed loads (same as Example 37)

Pfw
initial forces (fixed-end moments) due to distributed load in element b

11.67
:= 41.67
0

w := 5

T
Q0 := ( 0 0 0 0 0 )
initial forces at global dofs
T
P0 := Pfw + Af Q0

P0

11.67
= 41.67
0

## Solve for the unknown displacements of the global dof's

Uf := lsolve ( K , Pf P0)

3
T
Uf = ( 47.25 53.99 0.56 ) 10

## Step 4: Determine the deformations of all elements

V := Af Uf

3
T
V = ( 3.94 2.81 2.25 1.69 4.5 ) 10

Page 562

0
Pf := 0
0

CE220 - Theory of Structures Ex 38 - Displacement method for gable frame with inflexible element Prof. Filip C. Filippou, 2000

Step 5a: Determine the basic forces of all elements with a single operation
T
Q = ( 142.52 127.55 98.86 89.92 89.92 )

Q := Ks V + Q0

## Step 5b: Determine the basic forces element by element

Even though this way of determining is compact and convenient for computer use, particularly,
since we have already established Ks , it is strongly advisable to use the following element-by
element
determination of the basic force in "hand" calculations.
V1
3.94 3
2 EI 2 1
142.52

va :=
va =
ka :=

qa := ka va
qa =
10

V2
La 1 2
2.81
127.55

V3

vc :=
V4

( )

vd := V
5

vc =

2.25 3

10
1.69

3
vd = ( 4.5 ) 10

kc :=

2 EI 2 1

Lc 1 2

qc := kc vc

qc =

98.86

89.92

kd :=

3 EI
Ld

qd := kd vd

qd = ( 89.92 )

## Bending moment diagram

98.86

89.92

127.55

142.52

Note: the basic end moments of element b are obtained from node equilibrium at nodes 2 and 3;
to this end we use the basic forces of elements a and c and the applied load values.

Page 563

CE220 - Theory of Structures Ex 38 - Displacement method for gable frame with inflexible element Prof. Filip C. Filippou, 2000

deformed shape

3.94
2.81

3
V = 2.25 10
1.69

4.5
(observe element deformations
as the angle between the tangent
and the chord)

Page 564

CE220-Theory of Structures

Displacement Method

## Direct stiffness implementation of displacement method

P=

(a)T
Ab

with

(a)

(b)T
+ Ab

(b)

(el)T
+ " + Ab

p = aTg q + aTr pw

we get

(el)

ne

p (el)
A(el)T
b

(1)

el =1

v = a gu

q = kv + q 0

P=

or

p = aTg q + aTr pw = aTg kv + q 0 + aTr pw = aTg kagu + q 0 + aTr pw = aTg kagu + aTg q 0 + aTr pw

T

p = k eu + p0

(2)

where

k e = ag kag

## is the element stiffness matrix in the global reference system

and

p0 = agTq 0 + aTr pw

is the initial element force vector (fixed-end forces) in the global reference

P=

ne

## k (el)u (el) + p (el)

A(el)T
b
0
e

(3)

el =1

We recall the relation between element end displacements and global dof displacements u
and substituting into (3) we get P =

(el)

(el)

= Ab U

ne

## k (el) A (el) U + p (el)

A(el)T
b
b
0
e

el =1

ne
ne (el)T (el) (el)
(el)T (el)
= A b k e A b U + A b p0
el =1

el =1

where

K=

P = KU + P0

ne

(el)
k (el)
A(el)T
b
e Ab

el =1

and

P0 =

## In Matlab this becomes

K (id,id) = K (id,id) + ke;

ne

(el)
p0
A(el)T
b

## is the initial force vector for the structure

el =1

The last two expressions reveal that the structure stiffness matrix and the initial force vector can be
obtained by direct summation of the element stiffness matrix and the initial force vector after the latter have
been transformed from the local to the global degrees of freedom by the Boolean matrix of the element.
This process is called "direct assembly", because in the computer implementation each term of the
structure stiffness matrix is updated by addition of the corresponding element stiffness term. The same is
true for the initial force vector. Before assembly the element stiffness matrix and initial force vector are
expressed relative to the global reference system according to the relations.
T

k e = ag kag

p0 = a g q 0 + a r p w

These operations can be done element by element, which makes the process modular and very effective.
Because of this fact, the direct stiffness implementation of the displacement method of analysis is the
exclusive method of analysis used in commercial software in structural engineering.
Page 565

CE220-Theory of Structures

Displacement Method

## Element stiffness matrix in global coordinates

The stiffness matrix of a 2d frame element in global coordinates is

X
L

L
0
T
k e = ag k ag =
X
L

Y
L

Y
2

L
X
2

L
1
Y
2

L
X
2

L
0

Y
2
L
X EA
2
L L

0
0
Y

2
L 0

X
2
L

X
0
L
2 EI Y

L L2

4 EI Y

L L2

0
4 EI
L
2 EI
L

Y
L
X

L
X
2

0
1
0

X
L
Y
2

L
Y
2

Y
L
X
2
L
X
2
L

The special cases of a 2d truss and a 2d frame element with an end moment release can be obtained by
suitable modification. The elegant way of accomplishing this is described on the following page.
2d truss
X
L

Y
L

0
k e =
X

L
Y

L
0

EA X
L L

Y
L

X
L

Y
L

## 2d frame element with an end moment release at node j

X
L

L
0
ke =
X
L

Y
L

L2
X

L2 EA
1 L

Y
0
L2

X
2
L

X
0
L

3EI Y

L L2

Page 566

Y
L
X

L2

0
1

X
L
Y
L2

Y
L
X
2
L

CE220-Theory of Structures

Displacement Method

## Basic force-deformation for 2d frame with or w/o end moment releases

It is possible to describe the force-deformation behavior of a 2d frame element with one expression by
introducing the concept of a release switch. We demonstrate this for end moment releases.
The following figure shows how the "strain" related element deformations v depend on the element
deformations v. It is the "strain" related element deformations that are related to the basic forces q.

v3

v 2 = v 2
v3

v 2

(a)

v
v

L
(b)

v3

v 2

v2

v3

1

= 1
2

0
v2 for hinge at end j
0 v3

## chord to node tangent

chord to element tangent

v3 = v3
v2

v3

0 v2
=
2 for hinge at end i
0 1 v3

1
0
v1

1 mri
v2 = 0
v
3
0 1 1 mr mr
i
j

v1

1
1 mr j mri v2

2
v3

1 mr j

## for hinge rotation: v h = v v = I a h v

With the relations q = k v + q 0
Combining all these we get

and

or, v = a hv

## measured from tangent inside to tangent outside

v = a hv
T

ah = I

mri = 0 or 1
mrj = 0 or 1

we get

q = ah k a hv + a h q 0 = kv + q 0

with

q = aThq

by PVD

k = aTh k a h

## the 3x3 identity matrix, so that

and q 0 = a h q 0

k = k

q 0 = q 0

which shows that the "strain" related stiffness and intial forces are those we defined in pages 3-6

Release? n

mri = 1 mr j = 0

## we perform the calculations on the following page

Page 567

1 0 0

0
0
a
=

and thus
h

2
0 0 1

CE220-Theory of Structures

Displacement Method

con'd
With a release at end node i we get

mri = 1 mr j = 0

## Prof. Filip C. Filippou, 2000

1 0 0

and thus a h = 0 0

2
0 0 1

## for the stiffness matrix we get

1 0

k = 0 0

1
0
2

EA

0 L

0 0

1
0

0
4 EI
L
2 EI
L

1 0 0

1 0
2 EI
1
0 0
= 0 0
2
L

1
4 EI 0 0 1 0
2

EA
0 L

0 0

1 0

0
0
0

EA
0
L
0 = 0
3EI
0
L

0
0
0

0
3EI

same as on page 5
for the initial force vector due to uniformly distributed element load

1 0

q 0 = 0 0

1
0
2

0
0
2
wy L
0
12
1 w L2
y

12

0

= 0

wy L2

8

## and the same is true for all other load cases

Page 568

CE220-Theory of Structures

Displacement Method

## Computer implementation of displacement method - Assembly of stiffness matrix

To illustrate the compact nature of the direct assembly process we use FEDEASLab function
Kf_matrix which sets up the stiffness matrix at the free dof's for 2d/3d truss elements and 2d frame
elements with end moment release(s)
Typical syntax is:

Kf = Kf_matrix(Model,ElemData)

## Matlab command for assembly of stiffness matrix

ne = Model.ne;
nf = Model.nf;
nt = Model.nt;

% number of elements
in structural model
% number of free dofs in structural model
% number of total dofs in structural model

## K = zeros(nt,nt); % initialize structure stiffness matrix

for el=1:ne;
% locate element in Model and return end coordinates and id array
[xyz id] = Localize(Model,el);
% form element stiffness matrix ke in global reference system
ke = ke_matrix(xyz,Model.ElemName{el},ElemData{el});
% assemble element stiffness matrix ke into structure stiffness matrix K
K (id,id) = K (id,id) + ke;
end
Kf = K(1:nf,1:nf); % extract stiffness matrix of free dof's

The stiffness matrix of each element in global coordinates ke is supplied by the local function ke_matrix;
the function uses the end coordinates of the element, its name (or type) and the element properties as
input, as shown in the following page. This function separation illustrates the way of breaking down a
process into modules for "modular programming".

Page 569

CE220-Theory of Structures

Displacement Method

## Computer implementation of displacement method - Element stiffness matrix

function ke_matrix
% determine element length and orientation
[L dcx] = ElmLenOr(xyz);
% direction cosines of element x-axis
dXL = dcx(1);
dYL = dcx(2);

L = X 2 + Y 2 + Z 2

direction cosines

X
L

Y
L

Z
L

E = ElemData.E;
A = ElemData.A;
EA = E * A;
switch ElemName
case 'LinTruss'
% linear truss element
% transformation matrix from basic system to complete system in global reference
ag = [-dcx' dcx'];
Y X Y
X
for 2d
ag =

k = EA/L;
L
L
L
L

k e = agT k ag
ke = ag'*k*ag;
Y
Z X Y Z
X

ag =
case 'Lin2dFrm'
for 3d
L
L
L
L
L
L

## % 2d linear frame element with or w/o release

% moment release indices MR: 0 indicates no hinge, 1 indicates hinge
MRi = 0;
MRj = 0;
if (isfield(ElemData,'Release'))
if (strncmpi(ElemData.Release(1),'y',1)), MRi = 1; end
if (strncmpi(ElemData.Release(2),'y',1)), MRj = 1; end
end
% transformation matrix from basic system to complete system in global reference
ag = [-dXL
-dYL
0
dXL
dYL
0;
X

Y
X
Y

0
0

-dYL/L
dXL/L
1
dYL/L
-dXL/L
0;
L
L
L
L

-dYL/L
dXL/L
0
dYL/L
-dXL/L
1];
Y
X
Y
X
ag = 2
1
2 0 for 2d
I = ElemData.I;
L
L2
L2
L

EI = E * I;
X
Y
X
Y

2
k = [ EA/L
0
0;
L2
L2
L2
L

0
4*EI/L 2*EI/L;

0
2*EI/L 4*EI/L];
1

0
0
% compatibility matrix in the presence of moment release(s)

1
ah = [ 1
0
0;
1 mri
a h = 0
1 mr j mri

0
1-MRi
-0.5*(1-MRj)*MRi;
2

0 -0.5*(1-MRi)*MRj
1-MRj
];
0 1 1 mr mr

1
mr
% transform basic stiffness matrix for moment release(s)
i
j
j

2
k = ah'*k*ah;
% transform basic stiffness to global reference
k = aTh k a h
ke = ag'*k*ag;
otherwise
k e = a Tg k a g
end

Page 570

CE220-Theory of Structures

Substructures - Symmetry

SUBSTRUCTURES
SYMMETRY

## Objective: force-deformation relation of substructures; condensation of internal dofs;

generalization of dof definition; symmetry; structural theorems

Page 571

CE220-Theory of Structures

Substructures - Symmetry

## Substructure solution - there are 3 approaches

Procedure: divide structural model dofs into two groups:
(a) those that interact with other elements or substructures; we call these "external" but use the subscript r for retain
(b) those that are internal to the substructure and therefore do not interact with other elements or substructures; we use
the subscript c for these which stands for condense.
Assumption: forces at "internal dofs" are given (subscript c); forces at external dofs are not given since these will be
obtained from the interaction with other substructures; this means that we seek to establish a force-deformation relation
for the "external" dofs.
1. Form flexibility matrix (most logical, but not available in commercial software)

U r Frr
=
U c Fcr

Frc Pr

Fcc Pc

U r = Frr Pr + FrcPc

## deformation-force for substructure

since Pc is given

U r = FrrPr +U r0

v = f q + v0

q = f 1 v v0 = kv + q 0
established in the global reference system

p = k eu + p0

Page 572

for substructure

CE220-Theory of Structures

Substructures - Symmetry

## Prof. Filip C. Filippou, 2000

2. Static condensation (logical, available in more advanced commercial software, e.g. aerospace, automobile industry)

Pr K rr
=
Pc K cr

K rc U r

K cc U c

## support dofs can be included

solve lower group of equations
1

U c = K cc Pc K crU r

## and substitute into upper

1
1
Pr = K rr K rc K cc
K cr U r + K rc K cc
Pc

q = kv + q 0
with

1
k = K rr K rc K cc
K cr the condensed stiffness matrix of the substructure
1
q 0 = K rc K cc
Pc

p = k eu + p0

for substructure

## since this relation is already established in the global coordinate system

Page 573

CE220-Theory of Structures

Substructures - Symmetry

## Prof. Filip C. Filippou, 2000

3. Set up flexibility matrix by typical structural engineering software program (can be a lot of work)
Apply a unit force in turn at each dof to be retained, determine the
displacements at all other dofs to retain and set up flexibilibility matrix
column by column; determine the displacements due to applied forces at
internal dofs to set up the initial displacement vector U0 (not shown below)

F51

F52

F41

F42

F31

F32

F21

F11

F22
1

F33

proceed as in case 1

F12

F55

F54

F53

F44

F43

U r = FrrPr +U r0

F34

F23

F24

F13

F14

Page 574

F45
F35

F25

F15

## Example 39 - Frame element with semi-rigid connectors

Element with axial connector
We consider first the axial force-deformation behavior of a truss element with a semi-rigid connector (or
flexible expansion joint) with spring stiffness ka . The location of the connector is not relevant and we show it
at the end of the element. The deformable portion of the element has axial stiffness EA and length L.

element

q1

axial spring ka

EA

q1

## viewed as a two-node element

viewed as a substructure

L
2

free dofs

basic forces

Q1

Q2

Q2
basic forces of substructure

From the "outside" the element is a typical two-node truss element with a special force-deformation relation.
From the inside it is a substructure with 3 nodes and 2 elements. The semi-rigid connector is a zero length
or point element, i.e. its end nodes have the same coordinates resulting in what is known in computer
models as a double node. The force-deformation behavior of the spring is described by its axial stiffness.
The axial connector is assumed rigid in the transverse direction, so that no relative displacement normal to
the element axis is allowed.
The substructure is supported so that rigid body modes are eliminated. These can be added with the
procedure in page Part I-136. The substructure has, thus, only two free dofs, as shown. Dof 1 is critical for
the interaction of the element with other elements in the structural model ("the outside world"). Dof 2 is
internal to the element. We are interested in establishing the force-deformation relation at dof 1 only. This
can be done in one of two ways: first, by applying a unit force at dof 1 and determining the corresponding
displacement (i.e. establishing the flexibility of the substructure only for the relevant dof); secondly, by
setting up the stiffness matrix for the substructure and using condensation of the internal dof.
The substructure has only two free dofs and two basic forces, if we do not include for now flexural effects
(more on this later). The substructure is, therefore, statically determinate. The equilibrium equations are

P1 = Q 2
P2 = Q 2 + Q 1
Assuming that there is no nodal force at the "internal" dof 2, we have
we obtain

Q 1 = Q 2 = P1

P2 = 0

Page 575

## Prof. Filip C. Filippou, 2000

There is only one dof to be retained in this case, i.e. dof 1. We determine the flexibility for this dof and
denote it with subscript r. To do so, we apply a unit force at dof 1 and determine the corresponding
displacement. Setting it up in general form we need the force influence matrix which expresses the effect
of a unit force at the global dof on the basic element forces. We have from above

Bbar :=

L 0

EA

Fs :=

1
0 ka

1

1

T
Frr := Bbar F s Bbar

Frr

L
1
+
EA ka

We observe that the substructure (element) flexibility is equal to the sum of the component flexibilities. Such
an element is known as a series element.
Conclusion: in a series element (i.e. an element with springs under constant axial force) the flexibility is
equal to the sum of the component flexibilities.
Let us try the stiffness method with condensation of the internal dof, which is more time consuming for a
statically determinate structure. There are two independent free global dofs, one to be retained (dof 1) and
one to be condensed out (dof 2). Let us write the stiffness matrix of the substructure.

with

0 1
Af :=

1 1

EA 0
L

Ks :=

0
k
a

K := Af Ks Af

ka
ka

K
ka EA + ka
L

Since there is no applied force at the "internal dof" 2 we have the following relation

P2 = 0 = K21 U1 + K22 U2
U2 = U1

ka
EA
+ ka
L

EA
L

## or, denoting the ratio

ka

we get

U2 = U1

substituting into the first equilibrium equation of the displacement method, i.e.
we get

P1 = K11 U1 + K12

1
1+

U1 = ka

1+

U1 =

1
1+

P1 = K11 U1 + K12 U2

EA 1

U1
L 1+

Thus, we have condensed out the internal dof by satisfying equilibrium and have obtained the condensed
stiffness matrix for dof 1. It is a scalar in this case. Denoting the condensed stiffness matrix with a star we
can write

K*rr =

EA 1

L 1+

## note that r refers to dof 1 in this case, as already stated

It is obvious that the condensed stiffness matrix is not the same as the stiffness coefficient K 11 of the
original stiffness matrix of the substructure. Why? The stiffness coefficient K 11 of the original stiffness
matrix represents the force at dof 1 under a unit displacement of dof 1 with all other dof displacement
values equal to zero. By contrast, the condensed stiffness matrix coefficient K* 11 represents the force at
dof 1 under a unit displacement at dof 1 with the value of dof 2 adjusted to satisfy equilibrium at that dof.

Page 576

## Prof. Filip C. Filippou, 2000

Observe that the result from the two approaches is, of course, the same.

Frr =

L
1
L
+
=
( 1 + )
EA ka
EA

## Element with flexural connectors

After establishing the effect of a semi-rigid connector on the axial response, we look now at the same
problem in flexure. We can then combine the axial and flexural relations to establish the force-deformation
of a frame element with axial and flexural connectors. For a beam the location of the semi-rigid connectors
is important, since the bending moment is not uniform over the span. We assume at first that there are two
semi-rigid connectors, one at each end.

rotational spring kr
EI

q2

q3

## viewed as a two-node element

L
3

free dofs

viewed as a substructure

Q4

Q1

basic forces

Q2

## basic forces of substructure

Q3

The substructure now consists of three components, a flexible beam element with length L and flexural
section stiffness EI, and two semi-rigid connectors with different stiffness kri and krj in the general case.
Noting that the connectors do not allow relative axial and transverse displacement there are four basic
forces for the four free dofs of the substructure and the substructure is again statically determinate.
It is also again supported so that rigid body modes are restrained; these can be added with the procedure
in page Part I-136.
The 4 equilibrium equations (dofs) for 4 basic forces Q are:

P1 = Q 1

note the definition of the basic force Q1 and Q4 for a point element!

P2 = Q 4
P3 = Q 1 + Q 2
P4 = Q 3 Q 4

Page 577

## Prof. Filip C. Filippou, 2000

We need to retain dofs 1 and 2, with dofs 3 and 4 to be condensed out. We assume that there are no
forces acting at the internal dofs 3 and 4. Thus, we have:

P3 = 0

Q 2 = Q 1

P4 = 0

Q3 = Q4

## we obtain therefore for P1 = 1

and P2 = 0

Q 1 = 1

Q2 = 1

Q4 = 0

Q3 = 0

P1 = 0

and P2 = 1

Q1 = 0

Q2 = 0

Q4 = 1

Q3 = 1

and for

the force influence matrix and the collection of flexibility matrices are

Bbar

1
:=
0

0
1

1
0
0
kri

L
L
0

3 EI
6 EI
Fs :=
L
0 L
6 EI 3 EI

0
0
0

krj
0

## the flexibility matrix of the substructure

then becomes
T
Frr := Bbar F s Bbar

left connector

1 0
1 1
( 1 0 ) kri

0 kri
0
0

## flexible beam element

right connector

1 L
1 0 L 2 1 1 0 3 EI

0 1 6 EI 1 2 0 1 1 L
6 EI

## 1 L observe that the force

influence matrix is the
6 EI identity matrix; thus, the
1 L flexibility contribution to
the substructure

## 3 EI flexibility is equal to the

component flexibility

0 0
0 1
( 0 1 ) 1
0

1 krj
k
rj

The flexibility of the substructure is the sum of the component flexibilities "weighted" by the force influence
coefficients of each component. We obtain

Page 578

1 L
1 + 1 L

3 EI
6 EI
ri

Frr
1 L
1 L
1

+
6 EI
3 EI krj

## Prof. Filip C. Filippou, 2000

1 0

L 2 1 kri

Frr =

+
6 EI 1 2
1
0

krj

We see from the last expression that the substructure flexibility is equal to the beam element flexibility plus
the flexibility of the connectors; the latter is a diagonal matrix, since each connector is located at the
corresponding end node of the substructure and does not affect the deformation at the opposite node.
Let us derive an expression for the stiffness matrix of this substructure as the inverse of the flexibility matrix;
for simplicity's sake we assume that the end connectors have the same stiffness.
After introducing the following stiffness ratio

f=

we have

then

6EI
L kr

L 2 + 1

## Note: the flexibility f of the element is equal to F of the substructure

6 EI 1 2 +

k = f 1

k=

2 + 1
6 EI
1

L 3 + 4 + 2 1
2+

we make a quick check by setting =0 (infinitely stiff connectors). In this case we get

k=

2 EI 2 1

L 1 2

We can see clearly that the semi-rigid connectors reduce the stiffness of the substructure, since the
denominator is growing faster with increasing positive than the diagonal terms.
We pursue again the static condensation approach, which is more complicated in this case. We do this for
the case of connectors with equal stiffness only.
The compatibility matrix for the 4 free dofs of the substructure is the transpose of the equilibrium matrix
(coefficient matrix of Q's in earlier equilibrium equations). It is

0
Af :=
0

0 1 0

0 1 0
0 0 1

1 0 1

0
kr 0

0 4 EI 2 EI

L
L
Ks :=
0 2 EI 4 EI
L
L

0 0
0

kr

Page 579

T
K := Af Ks Af

kr

K k
r

kr
0
kr

EI
EI

0 kr + 4
2
L
L
EI
EI
kr
2
kr + 4
L
L
0

kr