You are on page 1of 75

CIV6130 - Computational Structural Analysis

Terry Bennett

Contents
1 Introduction
1.1 Learning Outcomes . . . . . . . . . . .
1.2 Linear elastic structural analysis by the
1.3 RANT! - Validation and Verification .
1.4 The structure of a finite element code .
1.4.1 Pre-Processing . . . . . . . . .
1.4.2 Assembly . . . . . . . . . . . .
1.4.3 Solve . . . . . . . . . . . . . . .
1.4.4 Post-Process . . . . . . . . . . .
1.5 Problems . . . . . . . . . . . . . . . . .

. . . . . . . .
finite element
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .

2 Finite Element Shape Functions


2.1 What a shape function is (partition of unity) .
2.2 Using linear shape functions for interpolation .
2.2.1 Example . . . . . . . . . . . . . . . . .
2.3 Shape Function Derivatives . . . . . . . . . .
2.3.1 Example . . . . . . . . . . . . . . . . .
2.4 Higher degree polynomial shape functions . .
2.5 Problems . . . . . . . . . . . . . . . . . . . . .

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

3 Isoparametric Shape Functions and Integration in


3.1 Learning Outcomes . . . . . . . . . . . . . . . . . .
3.2 Numerical Integration . . . . . . . . . . . . . . . .
3.2.1 1D integration example . . . . . . . . . . . .
3.3 Gauian quadrature on an interval 6= 1 to +1 . .
3.4 Problems . . . . . . . . . . . . . . . . . . . . . . . .
4 Weighted residual method in 1-D
4.1 Learning outcomes . . . . . . . . . . . . . . .
4.2 Weighted residuals . . . . . . . . . . . . . . .
4.3 One-Dimensional Strong form . . . . . . . . .
4.3.1 Strain - displacement relationship . . .
4.3.2 Equilibrium of an infinitesimal element
4.3.3 Statement of the Strong Form . . . . .
4.4 The Weak Form . . . . . . . . . . . . . . . . .
1

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

. . . . .
method
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

4
4
5
5
6
7
10
11
11
12

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

14
14
15
16
17
17
18
19

.
.
.
.
.

20
20
20
21
23
25

.
.
.
.
.
.
.

26
26
26
28
28
28
29
29

.
.
.
.
.
.
.

1D
. . .
. . .
. . .
. . .
. . .
.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

4.5
4.6

Discretisation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Problems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

5 Continuum Mechanics
5.1 Learning outcomes . . . . . . . . . .
5.2 State of stress at a point . . . . . . .
5.3 Differential Equations of Equilibrium
5.4 Strain-Displacement Relations . . . .
5.4.1 Matrix form . . . . . . . . . .
5.5 Stress-Strain Relations . . . . . . . .
5.5.1 2D Approximations . . . . . .
5.6 Problems . . . . . . . . . . . . . . . .

30
33

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

34
34
34
35
38
41
41
43
45

6 Isoparametric mapping
6.1 Learning outcomes . . . . . . . . . . . . . . . . . . . .
6.2 Mapping . . . . . . . . . . . . . . . . . . . . . . . . . .
6.2.1 Restrictions on the mapping - the Jacobian . . .
6.3 Four-noded isoparametric quadrilateral element . . . .
6.4 Isoparametric shape functions and Gauian integration
6.5 Problems . . . . . . . . . . . . . . . . . . . . . . . . . .

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

47
47
47
47
49
52
54

.
.
.
.
.
.

55
55
55
56
56
58
59

.
.
.
.
.
.
.
.
.

60
60
60
61
61
62
62
63
64
65

.
.
.
.
.

66
66
66
66
67
67

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

7 Isoparametric Finite Element Formulation


7.1 Learning Outcomes . . . . . . . . . . . . . . . . . . . . .
7.2 Evaluation of FE equations using isoparametric elements
7.3 Full formulation in one dimension . . . . . . . . . . . . .
7.3.1 Formulation by hand . . . . . . . . . . . . . . . .
7.3.2 Formulation using a computer . . . . . . . . . . .
7.4 Problems . . . . . . . . . . . . . . . . . . . . . . . . . . .
8 Time Domain Dynamics
8.1 Learning Outcomes . . . . . . . . . . . . . . .
8.2 Governing equation of motion . . . . . . . . .
8.3 Wave propagation vs Structural Dynamics . .
8.4 Element Mass Matrices . . . . . . . . . . . . .
8.5 Implicit time integration . . . . . . . . . . . .
8.5.1 Constant average acceleration . . . . .
8.5.2 Newmark time integration . . . . . . .
8.6 Explicit time integration (Central Difference) .
8.6.1 Time step dependence . . . . . . . . .
9 An introduction to non-linear materials
9.1 Learning Outcomes . . . . . . . . . . . . .
9.2 Stress measures . . . . . . . . . . . . . . .
9.2.1 Principal stresses . . . . . . . . . .
9.2.2 Volumetric and Deviatoric stresses
9.2.3 Stress invariants . . . . . . . . . . .
2

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

9.3

9.4

Material models . . . . . . . . .
9.3.1 Plasticity . . . . . . . .
9.3.2 Damage mechanics . . .
Solution of non-linear equations
9.4.1 Convergence . . . . . . .

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

68
68
71
72
73

Chapter 1
Introduction
This course is designed to teach the rudiments of the finite element method for use in
structural analysis. It is first useful to examine why numerical calculations are performed
in engineering practice, despite the difficulty in operating and understanding a given
finite element package (of which there a hundreds!).
Analytical / hand calculation methods are restricted to simple geometry and restricted/limiting
assumptions. They should be used whenever possible due to their ease of understanding and quick solution. However, when faced with complicated geometry, non-linearities
(such as buckling, plasticity and contact) and time dependant processes, the engineer
may have little choice but to use numerical methods.
Many many numerical methods exist both in practice and in academic literature. However, the three most used in practise are
Finite Differences
Finite Elements
Boundary Elements
In this course we will focus only on the finite element method. It is a general method
for the solution of partial differential equations - structural analysis, fluid flow in porous
media, heat transfer, structural dynamics etc.

1.1

Learning Outcomes

By then end of this lecture course the student should be able to:
derive the stiffness matrix for 2d and 3d continuum finite elements
determine the global stiffness matrix and solve using a direct method
introduce the appropriate boundary conditions to solve a range of structural analysis problems

perform numerical integration of the element stiffness integral equations express in


local coordinates (and transform to global coordinates)
appreciate the errors inherent in FEA
critique the relative benefits of implicit and explicit time integration methods
understand the role of the Newton-Raphson iteration prcedure and basic concepts
of stress spaces in non-linear material modelling

1.2

Linear elastic structural analysis by the finite


element method

In this course we will concentrate only upon structural response. Firstly, examining
linear elastic static structural analysis, then how dynamic problems can be solved and
finally a short introduction to non-linear finite element analysis.
The course will take a long route to formulate the finite element method, but it is worth
remembering at all times that eventually a set of simultaneous equations will finally be
solved:

[K] {d} = {f }

(1.1)

stiffness * displacement = force

1.3

RANT! - Validation and Verification

from:
http://en.wikipedia.org/wiki/Verification_and_Validation_(software)
Validation: The process of determining the degree to which a model, simulation,
or federation of models and simulations, and their associated data are accurate
representations of the real world from the perspective of the intended use(s).
Verification: The process of determining that a computer model, simulation, or
federation of models and simulations implementations and their associated data
accurately represents the developers conceptual description and specifications.
in context of engineering analysis software:

Validation: When I model a structure which physical effects need to be taken into
account? (for example, do I need to couple structural analysis with heat transfer).
Is the material model employed realistic for the material, is linear elasticity suitable
for concrete which is cracking? Do I need to take into account pore pressures in
geotechnics?
The only real way that an engineering model can be validated is by comparing
model results with experimental data.
Verification: Does the program Ive written actually work properly? Set up a
simple and small test problem and compare the output of the computer code with
hand calculations.
When modelling a complex engineering problem the engineer should always perform verification tests on every part of the model input.
Once verification tests have been performed, the engineer is then ready to start building
the model of the real problem to be analysed. The most common mistake made by
inexperienced users is to generate a very complex geometry and boundary conditions,
with advanced (non-linear) material models and expect the model to run first time! A
step-by-step approach should be taken, with increasing levels of complexity introduced
and analysed.

1.4

The structure of a finite element code

Pre-Processing
Element Stiffness matrices
Assembly
External Forces
Boundary Conditions
SOLVE
Post-Process
On this course we shall be using the Matlab finite element code CalFEM:
http://sourceforge.net/projects/calfem/
The code CalFEM is purely a calculation engine, with some (limited) post-processing
features available.

1.4.1

Pre-Processing

Pre-processing is the term given to the generation of a finite element model. In industrial simulations the models are generally generated by creating a the model geometry
similar to CAD. CAD objects such as points, lines, surfaces and volumes are created by
the user to define the complete geometry of the problem as shown in figure 1.1. Once

points

lines

surfaces

volumes

Figure 1.1: Geometry creation using CAD tools


the geometry of the problem has been defined, the next step in an analysis is to subdivide the geometry into elements and nodes as shown in figure 1.2. This process is
known as mesh generation. In this instance we have chosen to discretise our problem
using 8-noded solid brick elements. A multitude of options as to how a problem can be
discretised are available to the user in a given finite element package. With the mesh
now generated, we now need to define the initial conditions, boundary conditions (fixed
or prescribed displacements) and external forces. Finally, for each element, we need to
define the material properties, for linear elasticity this is simple Youngs modulus E and
Poissons ratio . Each commercially available Finite Element package tends to have
its own dedicated pre-processor, with seamless integration to the simulation execution
and subsequent post-processing. It is not the purpose of this course to teach the use the
graphical user interface of a particular finite element package, but rather to elucidate the
features under the bonnet in the calculation engine. In CalFEM we will simply define
out of plane width, the node coordinates and the element topology
7

CAD geometry
finite element mesh

Choice of finite element, mesh divisions

Figure 1.2: Mesh generation

W = 1;
coord = [0
0
0
1
1
1
2
2
2
3
3
3
etopol = [ 1
2
4
5
7
8

% dimension in third direction


0;
1;
2;
0;
1;
2;
0;
1;
2;
0;
1;
2];
4
5
7
8
10
11

5
6
8
9
11
12

2;
3;
5;
6;
8;
9];

% extract number of nodes and number of elements from dimension of coord and etopol a

nodes = size(coord,1);
nels = size(etopol,1);
Each row of the array coord has x and y coordinates for that node (row 1 = node 1).
Each row of the element topology array, gives the nodes connected in element 1. The
resulting finite element mesh is shown in figure 1.3 It is important to note that the nodes

12

1.8
1.6

1.4

1.2
1

11

0.8
0.6

0.4

0.2
0

1
0

4
0.5

7
1.5

10
2.5

Figure 1.3: Finite element mesh


are numbered in an anti-clockwise manner. In the mesh in figure 1.3 the first element
has nodes 1 4 5 & 2. We than specify the material properties and analysis type (plane
stress or plane strain), which will be discussed later.
% provide material data (Youngs modulus and Poissons ratio:
E = 20e3;
v = 0.2;
% define analysis type (plane stress or plane strain)
plane = stress;
Until now we have only been concerned with nodes, in order to position boundary conditions and external forces into the right positions, we now need to consider degree of
freedoms (dofs). For elasticity we have x and y displacement components, i.e. two dofs
per node.
% (boundary conditions)
% define nodal forces (natural boundary conditions):
fglobal = zeros(nodes*2,1);
fglobal(19) = -0.5e+3 / W;
fglobal(21) = -1.0e+3 / W;
fglobal(23) = -0.5e+3 / W;
% define supports (essential boundary conditions):
bc(:,1) = [1 2 3 4 5 6]; %
bc(:,2) = [0.0 0.0 0.0 0.0 0.0 0.0]; % prescribed boundary conditions
9

1.4.2

Assembly

Assembly in the process by where the element stiffness matrices [K e ] are inserted into
the correct positions in the global stiffness matrix [K g ]. In the example mesh above,
element number 1 has an element nodal topology of 1 4 5 2, as with external forces and
fixities we need to operate with dofs. We therefore convert our nodal topology into a dof
topology:
% define the DoF numbering (1-2 for node 1, 3-4 for node 2, etc)
DoF = [(1:2:(nodes*2)-1) (2:2:nodes*2)];
% define the DoF numbering for each element
for i = 1:nels
% first column of eDoF contains the element number
eDoF(i,1) = i;
for j = 1:4
% next 8 columns contain DoF numbers for all nodes of element i
eDoF(i,2*j:2*j+1) = DoF(etopol(i,j),1:2);
end
end
The elastic stress-strain (constitutive) matrix is defined next, with different options depending upon whether the plane stress or the plane strain approximation is employed
if plane==strain
D = E / ((1+v)*(1-2*v)) * [ 1-v v
0
;
v 1-v
0
;
0
0 (1-2*v)/2];
elseif plane==stress
D = E / (1-v^2) * [ 1
v
0
;
v
1
0
;
0
0 (1-v)/2 ];
We can now initialise and assemble out global stiffness matrix
% initialise the structural stiffness matrix
Kglobal = sparse(nodes*2,nodes*2);
for i = 1:nels
% compute the element stiffness matrix...
Ke = quad4e(ex(i,:),ey(i,:),D);
% ... and assemble into structural stiffness matrix
Kglobal = assem(eDoF(i,:),Kglobal,Ke);
end
The routine quad4e computes the element stiffness matrix, given the x and y coordinates
and the elastic constitutive matrix [D] Note that the global stiffness matrix has been
defined using a spare storage scheme using the Matlab command sparse. The global
stiffness matrix is generally populated in a thin band from the diagonal, with zeros
everywhere else. It is very memory intensive to store the global stiffness matrix in its
entirety, we therefore only store the the non-zero terms.
10

1.4.3

Solve

With our global stiffness, boundary conditions and external force vector defined we can
now solve our system of equations
h

K global {u} = {fexternal }

(1.2)

% ======================================================
% solve for nodal displacements:
displacements = solveq(Kglobal,fglobal,bc);
% ======================================================
Rearranging equation 1.2 as
h

{u} = K global

i1

{fexternal }

(1.3)

we can see that in order to obtain a solution for our unknown displacements, we are effectively requiring the inverse of the global stiffness matrix. This is very computationally
expensive. We have two options for the solution
Direct solution.
Iterative solution

1.4.4

Post-Process

Post-processing the extracting of information relating from the analysis results. The can
be in the form of displacements, stresses, strains, deformation etc.

Figure 1.4: Contours of stress

11

Figure 1.5: Deformed mesh

1.5

Problems
4

2m

1
1

3
F=10kN

3m

3m

Figure 1.6: Problem Q1

Given the mesh of bar elements in figure 1.6, assemble the global stiffness matrix
Using the fixities and external loads shown, show the reduced stiffness matrix and
external force vector.
Given the mesh of linear elements in figure 1.7, assemble the global stiffness matrix
Show the reduced stiffness matrix and external force vector.
Given the mesh of elements in figure 1.8, assemble the global stiffness matrix
show the reduced stiffness matrix
Given the mesh of elements in figure 1.9, assemble the global stiffness matrix (node
5 only belongs to element 1).

12

2
2m

1
1

F=10kN
3m

3m

Figure 1.7: Problem Q2

2m

F=10kN
3m

3m

Figure 1.8: Problem Q3

9
F=10kN

2m

3
1
2
3m

3m

Figure 1.9: Problem Q4

13

Chapter 2
Finite Element Shape Functions
Learning Outcomes
What a shape function is (partition of unity)
Using linear shape functions for interpolation
Higher degree polynomial shape functions

2.1

What a shape function is (partition of unity)


{N e }T = {Nie

where

Nje }

(2.1)

Nie = L1 (x xj )
Nje = L1 (x xi )

(2.2)

The functions Nie and Nje are called element shape functions or element interpolation
functions and {N e } is called the element shape function matrix.
Ni,j
1
Ni(x)

Nj(x)

Figure 2.1: Variation of element shape functions with position x

14

Figure 2.1 shows how the element shape functions Nie (x) and Nje (x) vary with position
x. From (2.2) and Figure 2.1 it is obvious that Nie (x) and Nje (x) vary linearly with
position x. Moreover, it is clear that the element shape function possess the important
properties
Nie (xi ) = 1 ;
Nie (xj ) = 0
(2.3)
Nje (xi ) = 0 ;
Nje (xj ) = 1
These properties will also turn out to be valid for the more complex elements to be
discussed later. This important property of finite element shape functions is called the
partition of unity property.
We now examine the compatibility requirement. This necessitates that the displacement
approximation varies continuously across common element boundaries. Consider the
structure comprising three elements, as shown in Figure 2.1. Nj2 is the shape function
of nodal point j for element 2. For each element, we have the approximation shown
in Figure 2.2 and as we interpolate between nodal points, we clearly have a continuous
variation of the displacement over common element boundaries as shown in Figure 2.1.
u

Element 1

uj

Nj(u)j

Element 2

uj
Nk(u)k

uk

Nj(u)j

ui
Ni(u)i
i

k 3 m

k 3 m

u
Element 3

+u

Nk(u)k

um
i

Entire structure

uj
uk
ui
um

Nm(u)m
x
k 3 m

k 3 m

Figure 2.2: Approximation of the displacement over three elements


Figure 2.1 shows how the approximate displacement variation over the entire structure
is established from the approximation over each element.

2.2

Using linear shape functions for interpolation


u(x) = Nie (x)ui + Nje (x)uj

(2.4)

We have obtained a formulation (equation 2.4) which separates the influence of geometry
via the element shape function from the influence of physics via the values of the variables
at the nodal points. It follows that once the geometry of the element is known, the
element shape functions can be established directly. This important feature is common
for all types of finite elements and it greatly facilitates implementation on a computer.
15

ui

Ni(u)i

uj

Nj(u)j

u
ui
uj

u=Niui + Njuj

Figure 2.3: Approximation of the unknown variable in a linear element

Expression (2.4) shows clearly that the approximation to the unknown variable is expressed as an interpolation between nodal values (Figure 2.2).
As an example, for x = xi we have u = ui , that is
(Nie (xi ) 1)ui + Nje (xi )uj = 0

(2.5)

From this we conclude that Nie (xi ) = 1 and Nje (xi ) = 0. Likewise, if x = xj is used in
(2.4) we conclude that Nie (xj ) = 0 and Nje (xj ) = 1.

2.2.1

Example

Using the finite element shape functions and the nodal displacements in figure 2.2.1 we
will evaluate the displacement at x = 7 m. Recalling equation 2.2

x
25

?
17

16

Nie = L1 (x xj )
Nje = L1 (x xi )
we evaluate our shape functions x = 7 m.
1
Nie = (82)
(7 8) =
1
e
Nj = (82) (7 2) =

1
6
5
6

We can now use the interpolation formula (equation 2.4)


u(x) = Nie (x)ui + Nje (x)uj
u(7) = 61 25 + 56 17
= 18 13

2.3

Shape Function Derivatives

In structural analysis it is important to determine the gradient of the displacement u


(i.e. strains).
dNje
du
d{N e }T
dNie
=
{d} =
ui +
uj
(2.6)
dx
dx
dx
dx
Let us define {B e } by
d{N e }
{B e } =
(2.7)
dx
Then (2.6) may be written as
du
= {B e }T {d}
(2.8)
dx
Therefore {B e } relates the displacement gradient to the displacements at the element
nodes. From (2.7) we obtain
{B e }T = {

dNie
dx

dNje
1
} = {
dx
L

1
}
L

(2.9)

As {B e } is a constant vector here, the gradient du/dx is constant within the element in
accordance with the fact that the displacement is assumed to vary linearly within the
element.

2.3.1

Example

Using the same problem in section 2.2.1, figure 2.2.1:


1. Evaluate the derivatives of the shape function at x = 7 m.
2. Evaluate the strain at x = 7 m using equation 2.6.

17

2.4

Higher degree polynomial shape functions


{N e }T = {Nie

where

Nje

Nke }

(2.10)

Nie = L22 (x xj )(x xk )


Nje = L42 (x xi )(x xk )
Nke = L22 (x xi )(x xj )

(2.11)

As before Nie , Nje and Nke are called element shape functions, whereas {N e } is termed
the element shape function matrix. Just as for the linear element, the specific manner by
which we have determined the element shape functions is termed the [C]-matrix method.
It appears that the element shape functions are quadratic functions of x and Figure 2.4
shows their variation with position x. From (2.11) and Figure 2.4 it follows that the

u
ui
u =a1 + a2x + a2x2
uj
uk
i

xi

xj

xk

L
Figure 2.4: Shape functions for quadratic element
shape functions possess the following fundamental property
(

Nie

1
0

at nodal point i
at all other nodal points

(2.12)

in complete analogy to (2.3).


Expression (2.4) for a linear element may be written as
u = Nie ui + Nje uj + Nke uk
for a quadratic element.

18

(2.13)

2.5

Problems

1.) Using the linear shape functions given in equation 2.2


Provide a sketch of the shape function of each node.
Write down the derivatives, with respect to the global axis x, of each shape function.
If the two nodes of the element are located at 0.0 m and 6.0 m, and the corresponding x displacement at these nodes is 3.0 mm and 9.0 mm respectively, evaluate the
displacement at x = 4 m using the shape functions.
Using the same node locations and x displacements as above, calculate the strain
at x = 4 m.
Hints:
u(x) =

nnodes
X

Ni (x)ui

(2.14)

i=1

X Ni (x)
du(x) nnodes
=
ui
dx
dx
i=1

(2.15)

2.) The shape functions for a 3-noded line element in global


coordinates is given below
N1 =

2
(x
L2

x2 )(x x3 ) ; N2 = L42 (x x1 )(x x3 ) ; N3 =

2
(x
L2

x1 )(x x2 )

Provide a sketch of the shape function of each node.


Write down the derivatives, with respect to the global axis x, of each shape function.
If the three nodes of the element are located at 0.0 m, 3.0 m and 6.0 m, and
the corresponding x displacement at these nodes is 3.0 mm, 1.5 mm and 9.0 mm
respectively, evaluate the displacement at x = 4 m using the shape functions.
Using the same node locations and x displacements as above, calculate the strain
at x = 4 m.

19

Chapter 3
Isoparametric Shape Functions and
Integration in 1D
3.1

Learning Outcomes

Appreciate different methods for numerical integration.


Use Gauian integration in the natural coordinate system.

3.2

Numerical Integration
25
20

f(x)

15
10
5
0
2

4
x

Figure 3.1: y = ax2 + bx + c


To integrate a general function we may choose to use familiar techniques such as
mid-point rule
trapezoidal rule
20

Simpsons rule
However, these may require fine discretisation in order to be accurate, see figure 3.1. An
alternative is to use Gauian integration / quadrature.
Z

f (x)dx ' w1 f (1 ) + w2 f (2 ) + . . . wn f (n )

(3.1)

the integration is called 2 point, 3 point etc depending on the number of sampling points
used. Unlike the familiar numerical integration rules the sampling points are at precisely
specified positions with weights wi associated to those positions. The big advantage
of Gauian integration is that it can exactly integrate polynomial functions, if enough
sampling points are used for the order of the polynomial. Unfortunately, it is only
applicable over the domain = 1 to +1.
rule
1
2

points
1 = 0
1
1 =
, =
3 2
q

1 =

3
,
5 2

+1

= 0 3 =

weights
w=2
w1 = 1 w2 = 1
3
5

w1 =

5
9

w2 =

8
9

w3 =

5
9

However, a big advantage of Gauian integration over other methods on numerical integration is that

Gauian quadrature is exact for polynomials of order


2n 1, where n is the number of sampling points, i.e.
2 point integration can exactly integrate a cubic polynomial and 1 point integration can only integrate a
linear polynomial.
3.2.1

1D integration example

Integrate the function f () = 2 + 3 2


Exact Integration
Z +1
1

"

f ()d =

#+1

2
+ 3 + c
2
2

"

"

(1)2
(1)2
+ (1)3 + c 2(1)
+ (1)3 + c
=
2(1)
2
2

1
= [2 1/2 + 1] 2 1 = 2.5 + 3.5
2
= 6
Mid-Point Rule

21

1 point: f (0) = 2, x = 2 I = 2 2 = 4
2 point: f ( 1
)=2+
2

1
2

+ 34 , f ( 21 ) = 2 21 + 34 , x ' 1 I ' 5 12

Gau
1 point: f (0) = 2, w = 2, I ' 4
2 point: f ( 13 ) = 2 +

1
3

+ 1, f ( 13 ) = 2

1
3

22

+ 1, I ' 6 EXACT!

3.3

Gauian quadrature on an interval 6= 1 to +1

The big problem Gauian quadrature is that it is only applicable on the interval 1 to
+1. However, we may overcome this problem if we use a mapping or transformation. We
can also specify our finite element shape functions in terms of a local coordinate instead
of the global coordinate x. For a quadratic line element the shape functions would be
would be
1
N1 () = ( 2 )( 3 )
2
N2 () = 1( 1 )( 3 )
1
N3 () = ( 1 )( 2 )
2

(3.2)

50
40

f(x)

30
20
10
0
0

4
x

Figure 3.2: y = x2 2x + 1
Exact integration
We will now evaluate the integral of the function
f (x) = x2 2x + 1
Z 6
2

"

x2 2x + 1dx =

we will evaluate the definite integral using Matlab


% int = x^3/3 - x^2 + x + c
Iex = (6^3/3 - 6^2 + 6) - (2^3/3 - 2^2 + 2)
Iex = 41.3333
23

#6

x3
x2 + x + c
3

Unfortunately, we do not know the function f (), but we can use our shape functions
to find its values at the Gau sampling or integration points, based upon the values of
the functions at nodal points. Knowing that our function is quadratic, we know that
we need to use 2 point integration and that we will require 3 nodes to define the shape
function fully.
First we calculate our nodal values, we map the values of the function at global positions
x = 2,x = 4 and x = 6 onto the local positions = 1, = 0 and = +1
f_at_2 = 2^2 - 2*2
f_at_4 = 4^2 - 2*4
f_at_6 = 6^2 - 2*6
f = [f_at_2 f_at_4

+ 1;
+ 1;
+ 1;
f_at_6]

We can now interpolate the value of the function at our integration point positions
1
1
1
f () = N1 ( = )f (1) + N2 ( = )f (0) + N3 ( = )f (+1)
3
3
3
% interpolate to get f @ ksi=-1/sqrt(3)
ksi=-1/sqrt(3)
ksi1 = -1; ksi2 = 0; ksi3 = 1;
N1 = 1/2 *
N2 = -1 *
N3 = 1/2 *
N = [N1 N2
f1 = N*f

(ksi-ksi2)*(ksi-ksi3);
(ksi-ksi1)*(ksi-ksi3);
(ksi-ksi1)*(ksi-ksi2);
N3]

and similarly for the other integration point


% interpolate to get f @ ksi=+1/sqrt(3)
ksi=1/sqrt(3)
ksi1 = -1; ksi2 = 0; ksi3 = 1;
N1 = 1/2 *
N2 = -1 *
N3 = 1/2 *
N = [N1 N2
f2 = N*f

(ksi-ksi2)*(ksi-ksi3);
(ksi-ksi1)*(ksi-ksi3);
(ksi-ksi1)*(ksi-ksi2);
N3]

Our last problem to resolve is that our original integration domain was 4 units wide, but
our local domain is only 2 units wide.
Z b
a

f (x)dx =

Z +1
1

scale=(6-2)/2

24

f ()

dx
d
d

% Gauss integration
Igauss = (1*f1 + 1*f2)*scale
Igauss = 41.3333

3.4

Problems

1.) Given the function f () = 3 2 5 + 7


find the definite integral for this function between 1 < < +1
use 1-point Gau integration to find the integral
use 2-point Gau integration to find the integral
use 3-point Gau integration to find the integral

2.) Given the function f () = 5 + 3 sin()


in RADIANS !!!
find the definite integral for this function between 1 < < +1
use 1-point Gau integration to find the integral
use 2-point Gau integration to find the integral
use 3-point Gau integration to find the integral

3.) Given the function f (x) = x3 2x2 5x + 7


find the definite integral for this function between 7 < x < 15
calculate the multiplier between the size of the global domain and local coordinates
use 1-point Gau integration to find the integral
use 2-point Gau integration to find the integral
use 3-point Gau integration to find the integral

25

Chapter 4
Weighted residual method in 1-D
There any many techniques used for the formulation of the Finite Element Method
including:
the direct stiffness method
virtual work
variational methods
weight residuals
In this course we shall use the weighted residual method because of its generality to all
types of physical problems. Details on the other methods are given in Cook, Malkus,
Plesha & Witt (the recommended text book for the course).

4.1

Learning outcomes

Weighted residuals
derive the strong form differential equation of motion in solid mechanics
derive the weak form of the differential equation of motion in solid mechanics
discretisation by finite elements in 1D

4.2

Weighted residuals

In the finite element method we are attempting to find an approximation to a differential


equation, not unlike finding a best fit curve in a graph. In figure 4.1 we use a polynomial
to try to fit a line as best as we can globally, as the order of polynomial increases the
error in the fit reduces.
An alternative to finding a best globally, which may require the use of very high order
polynomials or exponential functions, we can choose to fit small sections of our graph at
26

1400

1400

y = 10x3 - 120x2 + 230x + 928

1200

y = 1x4 - 10x3 + 5x2 - 20x + 1000

1200

1000

1000

800

800

600

600

400

400

200

200

0
0

10

10

Figure 4.1: Global curve fitting - y = x4 10x3 + 5x2 20x + 1000

Figure 4.2: Local curve fitting - y = x4 10x3 + 5x2 20x + 1000

a time. In figure 4.2 we use piecewise linear approximations which increases in accuracy
as more sections are used.
In the Finite Element Method we do exactly the same thing. We can calculate our values
(displacements in structural mechanics) by solving for equilibrium at discrete points. We
then use the method of weighted residuals to find an approximation for the differential
equation between the discrete points.
If we have a physical problem described by the differential equation
Du f = 0

(4.1)

where D is a differential operator, u is the exact field (in our case displacements) and f
a constant function of x (or even = 0). We now introduce an approximation u to our
exact field u
u u

(4.2)

D
uf =R

(4.3)

we can define a residual statement

where R is the residual error.


The method of weighted residuals doesnt try to force the residual to be zero everywhere.
Instead the residual is first multiplied by a weighting function and forces the integral of
the weighted expression to be zero

27

W Rd = 0.

(4.4)

In this course proof of the weighted residual method is not provided, we will only concentrate on its application.

4.3

One-Dimensional Strong form

To apply the method of weighted residuals, we must first derive the differential equation
of our system we are modelling. We will use examine the strain-displacement relationship
and force equilibrium to formulate our differential equation or strong form.

4.3.1

Strain - displacement relationship

A bar subjected to uniaxial stress as shown in Figure 4.3.

dx

x
A

B
u + u dx
x

u
A

x + u dx
x
Figure 4.3: Normal Strain in a Bar
Initially, points A and B, which are on the centre-line of the bar, are situated as shown
in Figure 4.3(a). After stress is applied, A and B move to A0 and B 0 (Figure 4.3(b)),
respectively. We see that point B is displaced slightly more ((u/x)dx) than A since
it is farther from the fixed end. The length AB, therefore, increases by this amount.
Defining normal strain () as the unit change in length, we get
xx =

4.3.2

u
(u/x)dx
=
dx
x

Equilibrium of an infinitesimal element

for equilibrium of the infinitesimal element in figure 4.3.2


28

(4.5)

fx

Figure 4.4: Variation of stress 1D

P
+ fx = 0
x
The stress force P may be rewritten as

(4.6)

P = A = EA = EA

4.3.3

u
x

(4.7)

Statement of the Strong Form

substituting 4.5 and 4.7 into the equilibrium expression 4.6 gives

du
d
AE
+ fx = 0;
dx
dx

0x`

(4.8)

we must supplement our differential equation with boundary conditions (external forces
and fixities), we will use a bar of length ` which is fixed at one end (x = 0) and subject
to an axial force p at the other (x = `)

du
p(x = 0) = AE
dx

u(x = `) = g

=h

(4.9)

x=0

(4.10)

This differential equation together with the boundary conditions are collectively referred
to as the strong form.

4.4

The Weak Form

Having defined the strong form of the one-dimensional bar, we shall now introduce the
important concept of a weak formulation. The weak formulation is in fact a reformulation
of the strong form and it is from this weak form that the FE method is established.

29

To establish the weak form of the strong form given by (4.8)-(4.10), multiply (4.8) by
an arbitrary function, the so-called weight function, w(x) to obtain
"

du
d
AE
+ fx = 0
w
dx
dx

(4.11)

We integrate this equation over the pertinent region 0 x `, to obtain


Z `
0

"

d
du
w
AE
+ fx dx = 0
dx
dx

(4.12)

In order to evaluate this expression further, we recall from elementary analysis the rule
for integration by parts.
Z
Z
u dv = u v v du
(4.13)
Use of this expression in (4.12) implies that
"

Z `
dw
0

du
du
AE dx = wAE
dx
dx
dx

#`

+
0

Z `
0

wfx dx

(4.14)

It is important that, due to the integration by parts, (4.14) contains terms related to the
boundary (at the ends of the bar). These terms are given by the first expression on the
right-hand side of (4.14). Now using p = AEdu/dx as well as the boundary condition
(4.9) we get
"

du
wAE
dx

#`
0

du
= wAE
dx

du
wAE
dx
x=`

= (wp)x=` (w)x=o h

(4.15)

x=0

where the force p(x = `) is unknown, whereas the force p(x = 0) = h is known. Using
(4.15) in (4.14) we obtain the weak form of the one-dimensional deformation of an elastic
bar :
Z `
Z `
dw
du
AE dx = (wp)x=` (w)x=0 h +
wfx dx
(4.16)
dx
0 dx
0
u(x = `) = g
(4.17)
The terms on the right-hand side constitute the boundary terms.

4.5

Discretisation

The approximation for the displacement is now introduced. The approximation over the
entire region is in general written as
u? = {N }T {d}

(4.18)

where {N } is the global shape function vector and {d} contains the displacements at
the nodal points in the entire body. That is, we have
{N }T = {N1

N2

...

Nn };

{d} =

u1

u
2

...

un

30

(4.19)

where n denotes the number of nodes for the entire body of interest and Ni = Ni (x). As
{d} does not depend on x, (4.16) implies that
du
= {B}T {d}
dx

where

that is
{B} =

dN1

dx

dN2

{B} =

d{N }
dx

(4.20)

(4.21)

dx

...

dNn

dx

Inserting (4.20) into (4.16) we obtain


Z

Z `
dw
T
AE{B} dx {d} = (wp)x=` (wp)x=0 +
w.fx dx
dx
0

(4.22)

It is important that the approximation for du/dx as given by (4.20) is not inserted into
the boundary terms on the right-hand side of (4.22), which includes the axial force p.
The reason for this is that the boundary conditions either specify the axial force (termed
natural boundary conditions) or the displacement (termed essential boundary conditions)
at the boundary and there is no reason to make an approximation for quantities which
we know beforehand.
In accordance with the Galerkin weighted residual method, we choose the weight functions to be equal to the trial functions. In the present case the trial functions are the
shape functions; we may write
w = {N }T {c}
(4.23)
where {N } are the nodal shape functions. Since w is an arbitrary function, the vector
{c} is arbitrary. Moreover, as w is a scalar, we have w = wT . Thus
w = {c}T {N }

(4.24)

which implies that


dw
= {c}T {B}
dx

where

{B} =

d{N }
dx

(4.25)

Inserting (4.24) and (4.25) into (4.22) and using the fact that {c} is independent of x
results in
{c}T

"Z
`
0

{B}AE{B}T dx {d} ({N }p)x=` + ({N }p)x=0

Z `
0

{N }fx dx = 0 (4.26)

As this expression should hold for arbitrary {c} vectors, it is concluded that
Z
0

!
T

{B}AE{B} dx {d} = ({N }p)x=` ({N }p)x=0 +

31

Z `
0

{N }fx dx

(4.27)

which is the required FE formulation. In order to write (4.27) in a more compact fashion,
we define the following
[K] =

R`

0 {B}AE{B}

dx

{fb } = ({N }p)x=` ({N }p)x=0


{fl } =

(4.28)

R`

0 {N }fx dx

Referring to (4.21) it is obvious that [K] is a square matrix of order n n. Likewise,


both {fb } and {fl } have the dimension n 1 and they are referred to as the boundary
and load vectors, respectively. With (4.28), (4.27) takes the form
[K]{d} = {fb } + {fl }

(4.29)

and defining the force vector {f } by


{f } = {fb } + {fl }

(4.30)

(4.29) may be written in the familiar form


[K]{d} = {f }

(4.31)

The nodal displacements {d} are finally obtained by solving this system of linear equations. We can calculate our stiffness matrix [K] as follows, using simple linear elements
our shape functions are
1
1
N1 =
(x x2 ) ; N1 = (x x1 )
(4.32)
L
L
and our [B] matrix containing our shape function derivatives are
#

"

1 1
N1 N2
[B] =
=
dx dx
L L

therefore

"

[B][B]T =

N1
dx
N2
dx

[B][B]T =

N1
dx
N1
dx
"
1
L2
1
L2

N1 N2
dx dx
N2 N2
dx dx
#
1
2
L
1
L2

(4.33)
#

(4.34)
(4.35)

we now perform the integration of each of the components e.g.

Z L
1
0

finally

x
dx= 2
2
L
L
"

=
0

1
L
#

(4.36)

AE
1 1
[K] =
(4.37)
1 1
L
The shape functions in the boundary term {fb } and {fl } means that all loads must be
applied at the nodal positions.
In the above we have used analytical integration to obtain the stiffness matrix, whilst
this is ok in one-dimension and for simple geometries we do not have a general method
for the solution of any problem. This will be shown later in the course.
32

4.6

Problems

1.1) Write down the weak form of the Governing differential


equation for Heat Conduction
c

2T
T
=k 2
t
x

(4.38)

procedure
multiply strong form by weight function and integrate over pertinent region.
integrate spatial derivative terms by parts.

1.2 Discretise the weak form using linear finite elements


discretise (insert shape functions [N ] as approximation to the solution)
choose weight function to be equal to shape function.
form shape function vector from nodal shape functions.
obtain [B] vector from the shape functions [N ].
substitute [B] and [N ] where appropriate into the disretised weak form
compute [B]T [B] and [N ]T [N ] terms.
integrate over the domain (0 < x L)

1.3 Discretise the weak form using quadratic finite elements

33

Chapter 5
Continuum Mechanics
5.1

Learning outcomes

state of stress at a point


differential equations of equilibrium in 3D
strain - displacement relations
stress - strain relations

5.2

State of stress at a point

Figure 5.1 shows an element of material subjected to a uniform state of stress. The
syy

syz

syx

szy
sxy
szx
szz

sxz
y
sxx
z

Figure 5.1: State of stress at a point


naming convention for the subscripts adopted in continuum mechanics for stresses (and
strains) obey the following rule:

34

1st subscript denotes the plane on which a stress is acting


2nd subscript denotes the direction in which the stress is acting
It should also be noted that in solid mechanics it is usual to adopt the sign convention
that tension is positive.

5.3

Differential Equations of Equilibrium

In general, the stress components vary from point to point in a stressed body. The
resulting expressions relating the space derivatives of the various components of stress are
known as the differential equations of equilibrium. Consider, for example, the variation
C

sxx

sxx

dy

sxx

dx

sxx

Figure 5.2: Variation of stress over an element


of one of the stress components, say xx , from point to point in the body. If the stress at
A in Figure 5.2 is xx , the stress at B is increased by an amount ((xx /x)dx), where
xx /x is the rate of change of xx with respect to x and dx is the distance in the x
direction. The partial derivative sign is required because xx is also a function of y (and
z in the three-dimensional case). We are assuming that the stress components and their
derivatives are continuous. The stress at B then is given by
xxB = xx +

xx
dx
x

(5.1)

Similarly, the stress at C and that at D are


xxC = xx +

xx
dy
y

xxD = xxB +

xxB
dy
y

(5.2)

since x is constant from B to D. Using (5.1), this becomes

xxD

xx

xx
= xx +
dx +
xx +
dx dy
x
y
x

or

(5.3)

xx
xx
dx +
dy
(5.4)
x
y
where the second-order term (involving the product of dx and dy) is neglected since
it is small compared with the first-order terms (that is, the terms containing only one
differential).
xxD = xx +

35

Neglecting small quantities of higher order, the stresses on a surface of the infinitesimal
element vary linearly. Referring to Figure 5.3, the force on the left face of the element is

p1 =

xx + xx +
2

xx
dy
y

dy

(5.5)

assuming the depth of the prism in the z direction is unity. Simplifying, we get

p1

p2

Figure 5.3: Resultant force on an element

p1 = xx dy +

1 x 2
dy
2 y

(5.6)

Similarly, the force on the right-hand face is

p2 =

xx +

xx
dx
x

+ xx +

xx
dx
x

xx
dy
y

dy

(5.7)

or

xx
1 xx 2
dxdy +
dy
x
2 y
Therefore, the resultant force on the element is
p2 = xx dy +

p2 p1 =

xx
dxdy
x

(5.8)

(5.9)

If we assume that the mean stresses are xx and xx +(xx /x)dx acting at the centres of
the left and right faces, respectively, the resultant force will be the same. The same result
holds for the moment effect of the two systems. Therefore, in deriving the equilibrium
equations, we will use a simplified stress system consisting of a uniform stress distribution
on each face, which we shall represent by a single vector applied at the centre of each
face. Assuming zz = xz = yz = zx = zy = Fz = 0, we have the conditions shown
in Figure 5.4. We also assume that xx , yy , xy and yx are independent of z as are
the body force intensities Fx and Fy . The situation satisfying all of these conditions is
P
known as plane stress. By writing xForces = 0 we obtain, assuming a unit depth,

yx
xx
dx dy xx dy + yx +
dy dx yx dx = 0
Fx dxdy + xx +
x
y

(5.10)

which when simplified becomes

xx yx
+
+ Fx dxdy = 0
x
y
36

(5.11)

syy + syy . dy
y
syx + syx . dy
y
Fy
dy

sxx

sxx + sxx . dx
x

Fx

sxy + sxy . dx
x

sxy
syx

syy
dx
Figure 5.4: Average Values of Stress on an Element

and since dxdy is non-zero, the quantity in parenthesis must vanish. Thus we obtain
xx yx
+
+ Fx = 0
x
y

(5.12)

Similarly, the force summation in the y direction yields the relation


yy xy
+
+ Fy = 0
y
x

(5.13)

The equilibrium equations may be generalised by considering the three-dimensional counterpart of Figure 5.4 with the following result
xx
x
yy
y
zz
z

+ yyx + zzx + Fx = 0
+ xxy + zzy + Fy = 0
+ xxz + yyz + Fz = 0

(5.14)

For a body in equilibrium, the manner in which the stresses vary from point to point is
governed by the above equations of equilibrium.
We
P may also apply a third equation of statics to the stresses in Figure 5.4, that is,
M = 0. Taking moments about the lower left corner, we find that

yy
dydx
y

dx
xx
dy
xy
yx
dx
dy

dydx
+ xy +
dx dydx yx +
dy dxdy+Fy dxdy Fx dxdy
=0
2
x
2
x
y
2
2
(5.15)

37

Neglecting terms containing triple products of dx and dy, we find that


xy = yx
By considering the three-dimensional case and writing
axes, we would discover that
xy = yx

xz = zx

(5.16)
P

M = 0 about the x, y and z

yz = zy

(5.17)

Therefore only six of the nine stress components at a point are independent.
Since the three moment equations have been used to relate the shear stress components,
they cannot be used again as governing equations. Only the three force equilibrium
equations (5.14) remain to be satisfied by the stress components. We also observe that
we have three equations relating six variables, so that additional equations are required
for a complete solution of the stress distribution throughout the body. As will be shown
later, these additional relations are in the form of strain-displacement equations, and
the generalised consititutive equations. It is quite natural to expect that we would not
obtain a complete solution at this stage since we have made no mention of the material
properties and the manner in which the body deforms. These conditions are certainly
required in order to define the stress distribution in a body under load.

5.4

Strain-Displacement Relations

A body is said to be strained or deformed when the relative positions of points in the
body are changed. When forces are applied to a body, the position of any point in the
body, in general, is altered. The displacement of a point is defined as the vector distance
from the initial to the final location of the point. We let the x, y and z components
of displacement be denoted by u, v and w, respectively. Therefore the point initially
situated at (x, y, z) will be displaced to (x + u, y + v, z + w). In general, u, v and w are
all functions of x, y and z.
We now consider a body in a state of plane strain, which is defined by
u = u(x, y)

v = v(x, y)

w=0

(5.18)

For example, consider the displacement of the infinitesimal element ABCD shown in
Figure 5.5. This element is displaced to the final configuration A0 B 0 C 0 D0 , where the
element has translated as shown by the dotted lines and also deformed. The deformation
consists of two distinct types :
1. the sides change length, and
2. the sides rotate with respect to each other.
Guided by these two deformations, we define small (or infinitesimal) normal and shearing
strain as follows: the normal strain (ij , where i = j) in a given direction (i = j) is
defined as the unit change in length (change in length per unit length) of a line which
was originally oriented in the given direction. The normal strain is positive if the
38

u dy
y

C
D

v dy
y

-l
b

A
D

v dx
x

dx

dy

u dx
x
A

B
u

dx

Figure 5.5: Translation and Deformation of a Two-Dimensional Element

line increases in length, and negative if the line is shortened. Shear strain, like shear
stress, is associated with two orthogonal directions. The shear strain (ij , where i 6= j)
is defined as the change in the original right angle between two axes, the angle being
measured in radians. The shear strain defined here is in fact engineering shear strain
which is twice the tensor shear strain (ij , where i 6= j). Shear strain is positive if the
right angle between the positive directions of the two axes decreases1 . The sign of the
shear strain, like that of shear stress, depends on the coordinate system. Referring again
to Figure 5.5 we see that the strain components referred to the x and y coordinate axes
xx =

A0 B 0 AB
AB

A0 B 0 dx
dx

yy =

A0 D0 AD
AD

A0 D0 dy
dy

xy = 2xy =

(5.19)

where the negative sign in front of accounts for the fact that anti-clockwise angles of
rotation are defined as positive. Note that the tensorial (or mathematical) shear strain
is defined as ( )/2.
Now, if the displacement components of point A are u and v, point B will be displaced
by u + (u/x)dx and v + (v/x)dx (note that the term u/y does not appear in
this small strain theory since y is constant along line AB). Similarly, the displacement
1
If the shear strain is positive, the right angle between the negative extensions of the coordinate axes
decreases, while the angle between a positive axis and the negative extension of the other axis increases.

39

components of point D are u + (u/y)dy and v + (v/y)dy. Thus we may write

u
(A B ) = (dx(1 + xx )) = dx +
dx
x
0

!2

0 2

so that

u
u
2xx + 2xx + 1 = 1 + 2
+
x
x

!2

v
+
dx
x

v
+
x

!2

(5.20)

!2

(5.21)

Since we are considering small strains and displacement derivatives, the squared terms
are negligible with respect to the term raised to the first power, that is, they constitute
higher-order terms. Ignoring these terms, we find that
xx =

u
x

(5.22)

yy =

v
y

(5.23)

and similarly

From Figure 39, we note that


tan =

v
(v/x)dx
= x u
dx + (u/x)dx
1 + x

(5.24)

since, conforming to our assumption of small displacement derivatives, is a small angle


so that tan = . Neglecting u/x as being small compared to 1, we find that
=
and similarly,

v
x

(5.25)

u
y
is given by
=

Thus the engineering shear strain xy

xy =

(5.26)

u v
+
y x

(5.27)

where the two partial derivatives are positive if AB and AD rotate inward as shown in
the figure, that is u and v increase with increasing y and x, respectively. In the threedimensional case, where the original element is a rectangular prism, we have the small
strain components
xx =

u
x

xy =

u
y

v
x

yy =

v
y

yz =

v
z

w
y

zz =

w
z

zx =

w
x

u
z

40

(5.28)

We also observe that


xy = yx

yz = zy

zx = xz

(5.29)

The expressions (5.28) are called the strain-displacement relations, since they define the
strain components in terms of the displacement components.

5.4.1

Matrix form

At a given point we can we can define our strain and displacement components in vector
form and thus reorganise our our relationships between stress and strain 5.28 as

5.5


x
0

zz
=

y
xy

yz

xx

yy

zx

0
0

0
0

+
x

(5.30)

Stress-Strain Relations

The equilibrium equations (5.14) and the strain-displacement relations, (5.28), together
constitute nine equations. We have introduced, however, 15 unknown quantities: six
stress components, six strain components and three components of displacement. The
six additional equations relating the stress and strain components shall be developed in
this section and will bring the total number of equations to 15, which along with the
prescribed boundary conditions, represents the conditions which must be satisfied by an
elastic body in equilibrium.
The equations relating stress, strain, stress-rate (change in stress per unit time), and
strain rate are called the constitutive equations, since they depend upon the material
properties of the medium under consideration. Limiting our discussion to homogeneous
media (that is, where the material properties do not vary from one point to another in
the medium), the most general linear assumption is that each component of stress is a
linear combination of the six components of strain, that is

41

xx = C11 xx + C12 yy + C13 zz + C14 yz + C15 zx + C16 xy


yy = C21 xx + C22 yy + C23 zz + C24 yz + C25 zx + C26 xy
zz = C31 xx + C32 yy + C33 zz + C34 yz + C35 zx + C36 xy
(5.31)
yz = C41 xx + C42 yy + C43 zz + C44 yz + C45 zx + C46 xy
zx = C51 xx + C52 yy + C53 zz + C54 yz + C55 zx + C56 xy
xy = C61 xx + C62 yy + C63 zz + C64 yz + C65 zx + C66 xy
The 36 constants crs are called the elastic constants or stiffnesses. Equation (5.31) may
be solved for the components of strain in terms of those of stress, the result being
xx = S11 xx + S12 yy + S13 zz + S14 yz + S15 zx + S16 xy

(5.32)

and so on. The quantities Srs are called the elastic moduli or compliances, and it is they,
in general, rather than Crs which are measured experimentally.
An isotropic material is defined as one for which the Cijkl are unchanged under any
transformation. In this case the material shows no directional preferences and the material stiffness matrix reduces to

C11

C12

C12

C11

C12

C11

1
(C11
2

C12 )
1
(C11
2

sym

C12 )

0
1
(C11
2

(5.33)

C12 )

Thus leaving just 2 independent constants. Let us choose c12 and c44 (or 12 (c11 c12 )) and
call them (lambda) and (mu) respectively (Lames constants), which are commonly

42

used in Geomechanics. The matrix now takes the familiar form

( + 2)

( + 2)

( + 2)

sym

(5.34)

Note that the following relationships between E, (nu),K, and and hold

E,
E, K
K, (or G)

E
-

E
3(12)

3KE
6K
3K2
2(3K+)

E
(1+)(12)
K(9K3E)
9KE
K 2
3

E
2(1+)
3KE
9KE

9K
3K+

, or G, is the elastic shear modulus, K the elastic bulk modulus, E the elastic stiffness
(or Youngs Modulus) and Poissons ratio.
The elastic constants are always positive, that is, a body must allow loading to do work
on it. Using the relations in the table above and the restrictions that E > 0, G > 0 and
K > 0, it can be shown that 1 12 .
In structural engineering, Youngs modulus and Poissons ratio are more familiar, thus
5.34 can be re-written as:

(1 + )(1 )

(1 )

(1 )

(1 )

2)

2)

1
(1
2

1
(1
2

sym

1
(1
2

2)
(5.35)

5.5.1

2D Approximations

In engineering applications we look where possible to be able to reduce our analyses to


2D (or even 1D) problems. This usually involves making assumptions about how the
43

system behaves, but can lead to a much reduced computational cost (in terms of storage,
run times and pre and post processing).

y
z

y
x

Figure 5.6: Two dimensional aprroximations

Plane Strain
The plane strain approximation is generally employed when the z-direction can be assumed to be very long compared to the unit-section of the problem being analysed.
Common examples in civil engineering include analyses of dams and retaining walls.
Thus
yz = zx = 0
(5.36)
and
zz = 0

(5.37)

therefore, the stress-strain relationship becomes

y
xy

1
E

(1 + )(1 2)

1
0

0
y

(1 2) xy

(5.38)

and zz can be calculated from


zz = (xx + yy )

44

(5.39)

Plane Stress
Plane stress is employed when the object under investigation is thin in the z-direction
compared to the x and y dimensions of the problem. Thus
zz = yz = zx = 0

(5.40)

zz = f (xx , yy )

(5.41)

and
therefore, the stress-strain relationship becomes

y
xy

1
E

1 2

1
0

0
x

0
y

(1 ) xy

(5.42)

Axisymmetry
If a three dimensional body has rotational symmetry, then that problem may be analysed
as a 2D section using a polar coordinate system.

5.6

Problems

A 4 noded quadrilateral element has coordinates


x
0
2
2
0

y
0
0
1
1

1. Given the shape functions for a 4-noded quadrilateral element in x y coordinates below, calculate the value of the shape
functions at a point x = 1.5, y = 0.75, within the element.
1
(x x2 )(y y4 )
4ab
1
N e2 =
(x x1 )(y y3 )
4ab
1
N e3 =
(x x4 )(y y2 )
4ab
1
N e4 =
(x x3 )(y y1 )
4ab
N e1 =

where 2a is the horizontal length of the element and 2b is the vertical length of the
element.
45

2. Using the values of the nodal displacements below, calculate


the displacements at the point x = 1.5, y = 0.75.
u
0.0
0.001
0.001
0.0

v
0.0
0.0
0.0
0.0

3. Calculate the strains at the point x = 1.5, y = 0.75.


4. Assuming plane strain conditions, taking E = 30 109 N/m2
and = 0.0, calculate the stresses at the point x = 1.5, y = 0.75.
5. Assuming plane stress conditions, taking E = 30 109 N/m2
and = 0.0, calculate the stresses at the point x = 1.5, y = 0.75.

46

Chapter 6
Isoparametric mapping
The isoparametric formulation makes it possible to have nonrectangular quadrilateral
elements, elements with curved sides which greatly facilitates mesh generation. In addition, we can choose our mapping to take place from the global x y coordinate system
to a local / natural (-1 to +1) coordinate system, thus enabling the use of Gauian
integration.

6.1

Learning outcomes

coordinate transformations (mapping)


4-noded isoparametric finite element
Isoparametric shape functions and Gauian integration

6.2

Mapping

Consider a mapping (that is, a transformation) of one region into another region (Figure
6.2).
A square region in the -coordinate system is bounded by the lines = 1 and = 1.
This region is termed the parent domain and the , coordinate system is referred
to as the natural coordinate system. We want to map this region into another region
defined in the normal xy-coordinate system. The region in the xy-plane is called the
global domain. It follows that this mapping is described by
x = x(, );

y = y(, )

(6.1)

That is, for every point given by its , -coordinates in the parent domain, there exists
a corresponding point given by its x, y-coordinates in the global domain.

6.2.1

Restrictions on the mapping - the Jacobian

The mapping shown in Figure 6.2 creates a distorted quadrilateral in the global xy-plane,
and it is natural to investigate whether there are limitations on the degree of distortion.
47

h
(1,1)

(-1,1)

(-1,-1)

(1,-1)
x
Parent domain

Global domain

Figure 6.1: Mapping from parent domain to global domain

Indeed, there are limitations, and they arise from the requirement that the mapping
should be one-to-one, that is, unique. Therefore, we require that one point in the parent
domain should correspond to one point on the global domain and vice-versa. To achieve
this objective, we differentiate (6.1) using the chain rule to obtain
(

dx
dy

" x

#"

d
d

(6.2)

The matrix [J] defined by


" x

(6.3)

is called the Jacobian matrix related to the mapping (6.1). Moreover, the determinant of
[J], is called the Jacobian. For any given values of d and d, (6.2) implies that dx and
dy are uniquely determined. Suppose, however, that dx and dy are given and that we
want to determine the corresponding d and d values. From (6.2) and (6.3) it follows
that
"

d
d

"
1

= [J]

dx
dy

(6.4)

and it is evident that we require det [J] 6= 0. In the following discussion we shall assume
that
det [J] > 0

(6.5)

When (6.5) is fulfilled, a one-to-one relation exists between the values d, d and dx, dy,
that is, the mapping is unique, at least locally. It is assumed that when (6.5) is fulfilled,
the mapping (6.1) is unique even globally.

48

6.3

Four-noded isoparametric quadrilateral element

In order to introduce the concept of isoparametric finite elements, let us consider the fournoded isoparametric finite element, which takes the form of an arbitrary quadrilateral.
The region in the parent domain is defined by the four corner points shown in Figure
6.2, and we want to map this region into the arbitrary quadrilateral shown in the global
xy-plane. This quadrilateral is also defined by its four corner points. These corner points
are identified by their global x, y-coordinates, which we assume are known.
Each of the four corner points in the parent domain may be associated with an element
shape function, that is
N4e = N4e (, )

N3e = N3e (, );

N2e = N2e (, );

N1e = N1e (, );

(6.6)

The explicit expressions for these element shape functions are given by
N1e = 14 ( 1)( 1);
N3e = 14 ( + 1)( + 1);

N2e = 41 ( + 1)( 1)
N4e = 41 ( 1)( + 1)

(6.7)

These element shape functions possess the usual properties, for example we have N1e (1, 1) =
1 and N1e (1, 1) = N1e (1, 1) = N1e (1, 1) = 0.
Expression (6.1) indicates the general form of a mapping from the parent domain to the
global domain. Consider the mapping defined by
x = x(, ) = N1e (, )x1 + N2e (, )x2 + N3e (, )x3 + N4e (, )x4
y = y(, ) = N1e (, )y1 + N2e (, )y2 + N3e (, )y3 + N4e (, )y4

(6.8)

If we define the following matrices :

{N e (, )}T = {N1e

N2e

N3e

N4e };

{xe } =

x1

x3

x4

{y e } =

y1

y3

(6.9)

y4

the mapping (6.8) may be in the compact form


x = x(, ) = {N e (, )}T {xe };

y = y(, ) = {N e (, )}T {y e }

(6.10)

It follows from (6.8) that


x(1, 1) = x1 ; x(1, 1) = x2 ; x(1, 1) = x3 ; x(1, 1) = x4
y(1, 1) = y1 ; y(1, 1) = y2 ; y(1, 1) = y3 ; y(1, 1) = y4

(6.11)

that is, each corner in the parent domain is mapped into a corner point of the quadrilateral. Consider next what happens when = 1. With (6.7) and (6.8) we obtain
x(1, ) = 21 ( 1)x1 + 12 ( + 1)x4
y(1, ) = 21 ( 1)y1 + 21 ( + 1)y4

(6.12)

that is, x and y vary linearly with between the corners 1 and 4 of the quadrilateral see
Figure 6.3.
49

x
1

x
Parent domain

Global domain

Figure 6.2: Mapping of straight lines given by = C or = C in the parent domain


into straight lines in the global domain

We require that nodal numbers at one element boundary in the global domain should
be located at one element boundary in the parent domain. This objective is most easily
fulfilled by labelling the nodal numbering in ascending order in the anti-clockwise direction. This convention is adopted here, as well as in most FE text books and computer
codes.
In order to achieve a one-to-one mapping, we previously derived the general requirement
that det [J] > 0. In the present case of a four-noded quadrilateral, it can be shown that
this requirement is fulfilled if all internal angles are less than rads . Figure 6.3 illustrates
this restriction on the otherwise arbitrary quadrilateral.
y

a<p
3

4
a
x
1

x
Parent domain

Global domain

Figure 6.3: Geometrical restriction on the four-noded isoparametric quadrilateral element


Having discussed the mapping technique using the element shape functions, we now
turn to the approximation of the unknown function or functions. We have seen earlier
that for the approximation of the displacement {u} in solid mechanics, we adopted the
technique of approximating each displacement component in the same manner as used for
50

a temperature distribution. To simplify the expressions, we once again confine ourselves


to consideration of the approximation of a scalar function, such as temperature.
The temperature T within the element is approximated through
T = T (, ) = N1e (, )T1 + N2e (, )T2 + N3e (, )T3 + N4e (, )T4

(6.13)

where, as usual, T1 . . . T4 are the nodal temperatures. Moreover, the element shape
functions are again given by (6.7). From (6.9), and with the standard notation {a}T =
{T1 T2 T3 T4 }, (6.13) may be written in the compact form
T = T (, ) = {N e (, )}T {ae }

(6.14)

Comparing (6.10) and (6.14), the characteristic feature of an isoparametric formulation


emerges, namely that the same element shape functions are used in the mapping
and in the approximation (isoparametric means the same parameters). Furthermore,
these element shape functions are expressed in the local coordinates and .
Considering two-dimensional elements, we have from (6.2) and (6.3) that
(

dx
dy

"

= [J]

d
d

" x

where

[J] =

(6.15)

The components of the Jacobian matrix [J] are easily derived from (6.10), and we obtain
x

=
=

{N e }T
{xe };

e
T
{N }
{y e };

=
=

{N e }T

{N e }T

{xe }
{y e }

(6.16)

Without giving the mathematical proof, the modulus of the cross product of two vectors
gives the positive area of a parallelogram having sides a and b. This is shown graphically
in figure 6.4

axb

b
|a x b|
a

Figure 6.4: Cross product of two vectors


If we define our vectors a and b as
( x )

{a} =

( x )

d;

{b} =
51

(6.17)

we can now define the area at an integration point as


( x ) ( x )

" x

= d d det y
dA = dd y
y

= d d|det[J]|

(6.18)

According to (6.5), we have that det[J] > 0, that is the following fundamental result is
derived
dA = d ddet[J]

(6.19)

This result is easily generalised to three dimensions and we obtain


dV = d d ddet[J]

(6.20)

Here, , and are the coordinates in the parent domain and

dx

dy = [J] d

dz
d

where

y
[J] =

z

(6.21)

In the FE method, integrations over regions are in practice performed element-wise, and
with the relations (6.19) and (6.20), we obtain the following transformation of integrals
over two- and three-dimensional elements respectively
R
f (x, y)dA =
RA

f (x(, , ), y(, , ), z(, , ))det[J]ddd


(6.22)
In both these relations, f denotes an arbitrary function. It is emphasized that A and
V refer to the regions occupied by one element.
V

6.4

f (x, y, z)dV =

R1 R1
1 f (x(, ), y(, ))det[J]dd
R1
1 R1 R1
1 1 1

Isoparametric shape functions and Gauian integration

Using isoparametric shape functions we will calculate the area of a quadrilateral with
coordinates
x
y
1.5 7
4 7.1
3 9.2
1
9
We will use a 2 2 Gauian integration rule, which has local coordinates at 13 and
weights of 1. For every Gauss point:
write down the shape function
52

write down the shape functions derivatives with respect to and


set up the Jacobian matrix
compute the determinant of the Jacobian matrix
Gauss Point 1
xsi = -1/sqrt(3); eta = -1/sqrt(3);
% shape functions
N1 = (1/4) * (1-xsi) * (1-eta);
N2 = (1/4) * (1+xsi) * (1-eta);
N3 = (1/4) * (1+xsi) * (1+eta);
N4 = (1/4) * (1-xsi) * (1+eta);
N = [N1 N2 N3 N4]
% check value of coord at GP1
%F1 = N1 * coord(1,:) + N2 * coord(2,:) + N3 * coord(3,:) + N4 * coord(4,:)
% compute xsi-derivatives:
dNdxsi1 = -0.25*(1-eta);
dNdxsi2 =
0.25*(1-eta);
dNdxsi3 =
0.25*(1+eta);
dNdxsi4 = -0.25*(1+eta);
dNdxsi = [dNdxsi1 dNdxsi2 dNdxsi3 dNdxsi4]
% compute eta-derivatives:
dNdeta1 = -0.25*(1-xsi);
dNdeta2 = -0.25*(1+xsi);
dNdeta3 =
0.25*(1+xsi);
dNdeta4 =
0.25*(1-xsi);
dNdeta = [dNdeta1 dNdeta2 dNdeta3 dNdeta4]
% Jacobian (evaluated at every integration point):
dxdxsi = dNdxsi * coord(:,1);
dxdeta = dNdeta * coord(:,1);
dydxsi = dNdxsi * coord(:,2);
dydeta = dNdeta * coord(:,2);
Jac1 = [dxdxsi dxdeta; dydxsi dydeta]
Det1 = det(Jac1)
After repeating for the other threee Gaupoints, we can finally compute the area using
Gauian integration
X
I
Fi wi
(6.23)
i

therefore, recognising for this integration rule that the weight are equal to 1
Area = Det1 + Det2 + Det3 + Det4

53

6.5

Problems

1.) change coordinates of node 3 to (5,10)


2.) alter the above code for 1 point and 3 point integration rules

54

Chapter 7
Isoparametric Finite Element
Formulation
7.1

Learning Outcomes

All of the ideas previously presented (shape functions, Gauian integration, Jacobians, Galerkin weighted residuals) will all be used together

7.2

Evaluation of FE equations using isoparametric


elements

The use of isoparametric elements implies that in order to evaluate the FE equations,
some slight reformulations are needed. To see this, consider as an example the problem
of two-dimensional heat flow.
[K e ]{ae } = {fbe } + {fle }

(7.1)

where
R

[K e ] = AR {B e }T [D]{B e }t RdA
{fbe } = `h {N e }ht d` `g {N e }qn t d`
R
{fle } = Aalpha {N e }Qt dA

(7.2)

and
( {N e } )
e

x
{N e }
y

{B } =

(7.3)

The element boundary vector {fbe } and the element load vector {fle } present no problems.
The element shape function vector {N e } is given in terms of and , and the remaining
quantities entering the integrands of {fbe } and {fle } can also be expressed in the local
variables and via the relations x = x(, ) and y = y(, ). However, the evaluation
of the element stiffness matrix [K e ] presents a new problem. The point is that the vector
55

{B e } is obtained by differentiating {N e } with respect to x and y, but for an isoparametric


formulation, the {N e } vector is given in terms of , -coordinates.
In order to determine the derivatives of {N e }, we first differentiate {N e } with respect
to and . It follows that

e
{N }

" x
e
e
{N } x + {N } y

x
y

= {N
= x
e
e}
e
x
{N }
+ {N } y

{N e } {N e }
x
y

oT

(7.4)

Use of (6.3) gives

e
{N }

{N e }

= [J]T

{N e } {N e }
x
y

oT

(7.5)

that is
( {N e } )
e

{B } =

= [J]T

x
{N e }
y

1 n

{N e } {N e }

oT

(7.6)

Using the above expression and changing the integration limits accordingly gives
e

[K ] =

Z 1 Z 1 (
{N e }
1

1 n
{N e }
[J]1 [D] [J]T

{N e } {N e }

oT

tdet[J]dd
(7.7)

7.3

Full formulation in one dimension

Having investigated all of the jigsaw pieces (assembly, isoparametric shape functions,
Gauian integration etc)that make up the finite element method, we can now assemble
a stiffness matrix. We will do this in 1-D for a 2-noded line element only for brevity, but
the concepts apply for 2 and 3 dimensions.

7.3.1

Formulation by hand

First we define the properties of a single element. Its area A, Youngs modulus E, mass
density (for calculation of body forces or assembling a mass matrix) and the length,
which will define using the coordinates of the nodes x1 = 5 and x2 = 9.
We continue by setting up the shape functions
1
N1 = (1 )
2
1
N2 = (1 + )
(7.8)
2
and their derivatives
N1
1
=

2
1
N2
=+
(7.9)

2
56

Recognising that the shape function derivatives are constant, and thus their product
are also constant we can choose to use 1 point Gauian integration. The Gaupoint is
therefore located at = 0.0 with a weight wt of 1. Hence also
1
2
1
N2 ( = 0) =
2
N1 ( = 0) =

(7.10)

Next we can determine the mapping from local to global coordinate systems, assembling
the shape function derivatives into a matrix
"

N
N1 N2
=
= [0.5 0.5]

(7.11)

we compute our Jacobian matrix (actually a scalar in 1D)


"

N1 N2
[J] =

#"

x1
x2

1 1
= +
2 2

"

5
9

=2

(7.12)

Thus the determinant of the Jacobian det J (simply equal to the Jacobian in 1D) and
also its inverse J 1
det J = 2
J 1 = 0.5

(7.13)

Currently, our shape function derivatives are given with respect to the local coordinate
, we therefore exploit the inverse of the Jacobian J 1 to convert to global coordinates
for our strain-displacement relationship [B]
[N ]
[N ]
=

x
x
[N ]
= J 1
= 0.5 [0.5 0.5]

= [0.25 0.25]

[B] =

(7.14)

Finally, we can compute our stiffness matrix


"
T

[K] = AE[B] [B] det J wt =

1 1
1 1

(7.15)

We could compute our mass matrix in similar fashion, by setting up a matrix [N ] containing the shape functions
[N ] = [N1 N2 ]
(7.16)
thus
[M ] = A[N ]T [N ] det J wt

57

(7.17)

resulting in

"

[M ] =
"

This is clearly not the

1
3
1
6

1
6
1
3

1 1
1 1

(7.18)

consistent matrix we were expecting! Upon inspecting

the order of polynomial that would result from the product of two shape functions (N1 N1 ,
N1 N2 N2 N1 or N2 N2 ), we can see that a quadratic function would result, thus requiring
the use of two point Gauian integration.

7.3.2

Formulation using a computer

An example computer code for the computation of the mass and stiffness matrices for
the two noded line element is now presented, using two point Gauian integration. The
use of two integration points now necessitates the use of a loop over the Gaupoints, but
is otherwise relatively straight forward.
% two node line
% isoparametric
clc; clear all
% properties
A = 1; E = 1; rho = 1;
% global coordinates
x1 = -1
x2 = 1
% Gauss pts and wts
gp(1) = -1/sqrt(3)
gp(2) = +1/sqrt(3)
wt = 1.0
M=zeros(2); K=zeros(2);
for iip = 1:2
% shape functions
xsi = gp(iip)
N1 = 0.5*(1 - xsi)
N2 = 0.5*(1 + xsi)
dN1 = -0.5
dN2 = +0.5
der = [dN1 dN2]
jac = der * [x1; x2]
detJac = det(jac)
58

invJac = inv(jac)
N = [N1 N2]
dN = [dN1 dN2]
B = invJac * dN
M = M + rho * A * N * N * detJac * wt
K = K + A * E * B * B * detJac * wt
end

7.4

Problems

1.) change the above code to compute the mass and stiffness
matrices for a 3-noded line element

59

Chapter 8
Time Domain Dynamics
8.1

Learning Outcomes

Know the difference between lumped and consistent mass matrices


Critically assess the relative merits of implicit and explicit integration schemes.

8.2

Governing equation of motion

We have so far only looked at static equilibrium, however in civil engineering many
practical cases exist where inertial effects cannot be ignored.

Figure 8.1: Constant average acceleration


We therefore have an additional inertial force to add to the strong form of the differential
equation of equilibrium
Ax

d2 u
dt2

60

(8.1)

in addition, we may also have (velocity proportional) damping forces resisting the motion.
The equation of motion governing the linear dynamic response of a system becomes
[M ] {
u} + [C] {u}
+ [K] {u} = {f (t)}

(8.2)

where [M ], [C] and [K] are the mass, damping and stiffness matrices respectively. {
u},
{u}
and {u} are the acceleration, velocity and displacement vectors for the system.
{f (t)} is a vector containing the externally applied loads.
We now look to how these problems can be solved in a step-by-step manner, i.e. at
discrete intervals in time - which we will refer to as time domain dynamics. Other
solution procedures are available where we examine the frequency response of structures
using eigenvectors and modal dynamics, referred to as the frequency domain - these
techniques are covered in detail in a later module.

8.3

Wave propagation vs Structural Dynamics

We encounter a broad range of dynamic problems in civil engineering for which we seek
a time domain solution. We like to characterise these problems depending on whether
the global response of a system is of importance as the field of structural dynamics or
the response of a structure/material subject to sudden loading (e.g. blasts and impacts)
is of interest whereby the wave propagation needs to be traced.
The solution of the dynamic equation of motion 8.2 tends to lend itself to differing time
integration techniques depending on the problem in hand.

8.4

Element Mass Matrices

A mass matrix is a discrete representation of a continuous distribution of mass. In standard applications of the finite element method, a consistent mass matrix is determined
for each element and assembly leads to a symmetric mass matrix. A consistent element
mass matrix is so-named since it is defined by using the same shape functions {N } as
used in the derivation of the stiffness matrices, as follows
Z

[m] =

Ve

{N }{N }T dV

(8.3)

With this procedure and the use of conforming elements, natural frequencies determined
from an eigenvalue solution represent upper bounds.
A simpler and historically earlier formulation is given by the lumped mass matrix approach, which is obtained by placing the particle masses mi at the nodes i of an element,
P
such that mi is the total element mass. This approach always leads to a diagonal
mass matrix which is attractive from a computational perspective, not only because it
is easier to form but also because it occupies less storage space.
Whilst consistent mass matrices are more accurate, lumped mass matrices can yield
better results in wave propagation problems because fewer spurious oscillations are generated.
61

As a very simple example of the two schemes, consider the uniform two-dimensional truss
element. Shape functions (in a given direction) to be used in (8.3) are as follows
{N }T = {

lx
l

x
}
l

(8.4)

The mass density increment dV in (8.3) may be substituted by the term (m/l)dx where
m = Al is the total mass of the element. The consistent and lumped mass matrices
are, respectively,

[m]consistent =

2
0
1
0

0
2
0
1

1
0
2
0

0
1
0
2

[m]lumped =

1
0
0
0

0
1
0
0

0
0
1
0

0
0
0
1

(8.5)

The lumped mass is obtained by placing half the total element mass m as a particle
at each node. The particle mass m/2 appears four times in [m] because four nodal
acceleration vectors are resisted by inertia.

8.5

Implicit time integration

1/2( +

t + Dt

t + Dt

t + Dt

Figure 8.2: Constant average acceleration

8.5.1

Constant average acceleration

We make an assumption that our acceleration varies linearly between time steps as shown
in figure 8.2. Therefore our average acceleration over the time step becomes
62


1
{
u}t + {
u}t+t
(8.6)
2
where the superscripts are used to denote the time at which each vector is examined. If
our acceleration is constant then our velocity must vary linearly, thus our future velocity
at time t + t may be calculated as

{
u}avg =

1
{u}
t+t = {u}
t + t {
u}t + {
u}t+t
2
i.e. new velocity = old velocity + increment rate
Similarly, our displacements must now be a quadratic function in time

1
{u}t+t = {u}t + t {u}
t + t2 {
u}t + {
u}t+t
4

8.5.2

(8.7)

(8.8)

Newmark time integration

Newmark time integration is an extension of the constant average acceleration scheme,


outlined in the previous section. However, we show that by changing the Newmark
parameters we can easily change our assumption of how our acceleration varies with
time, i.e. constant average acceleration, linear acceleration. We now rewrite equations
8.7 and 8.8 with parameters and
h

{u}
t+t = {u}
t + (1 ) {
u}t + {
u}t+t t

(8.9)

1
{u}t+t = {u}t + {u}
t t + ( ) {
u}t + {
u}t+t t2
(8.10)
2
Setting = 14 and = 21 we can see that the constant average acceleration scheme 8.7
and 8.8 are reproduced. Setting = 16 and = 12 we get a linear acceleration between
time steps. Rearranging 8.10 for {
u}t+t in terms of {u}t+t

1
t+t
t
t
t
2
{u}

{u}

{
u}

(1/2

)
{
u
}
t
t2
and substitute the above into in 8.9

{
u}t+t =

(8.11)


t+t
t
t
t
2
{u}
{u} {u}
t (1/2 ) {
u} t
{u}

= {u}
+ (1 ) {
u} +
t2
(8.12)
We now have expressions for the accelerations and velocities at time t + t in terms of
the displacements at time t + t. Considering dynamic equilibrium at time t + t by
substituting 8.11 and 8.12 into 8.2, we can solve for the displacements at time t + t
"

t+t

[M ] {
u} + [C] {u}
+ [K] {u} = {f (t)}

1
1
t+t
t
t
t
2
[M ]
{u}

{u}

{
u}

)
{
u
}
t
t2
2
63

#!

"


t+t
t
t
t
2
+ [C] {u}
+ (1 ) {
u} +
{u}

{u}

{
u}

(1/2

)
{
u
}
t
t2
t

+ [K] {u}t+t = {f (t)}

[K] {u}t+t = {f (t)}

1
t+t
t
t
2
{u}

{u}

{
u}

(1/2

)
{
u
}
t
t2
#!

"


t+t
t
t
t
t
t
2
{u}
{u} {u}
t (1/2 ) {
u} t
[C] {u}
+ (1 ) {
u} +
t2

[M ]

This integration scheme is called implicit because dynamic equilibrium is considered at


time t + t.
We can now define a number of integration constants
a0 =
a4 =

1
;
t2

1;

a1 =
a5 =

;
t
t

;
2
2

1
1
a2 = t
;
a3 = 2
1;
a6 = t(1 ); a7 = t

(8.13)

and rearranging so that all ut+t terms are on the left hand side, we get
h

n ot+t

{u}t+t = R
K

(8.14)

where the effective stiffness matrix is defined as


h

= [K] + a0 [M ] + a1 [C]
K

(8.15)

and the effective loads at time t + t are


n ot+t

8.6

= {R}t+t +[M ] a0 {u}t + a2 {u}


t + a3 {
u}t +[C] a1 {u}t + a4 {u}
t + a5 {
u} t
(8.16)

Explicit time integration (Central Difference)

The accelerations at time t can be expressed in terms of the displacements at time t, at


a previous time interval t t and a future time interval t + t
1
({u}tt 2 {u}t + {u}t+t )
(8.17)
t2
Similarly the velocities at time t may be written in terms of the displacements at times
t t and t + t
{
u} t =

1
( {u}tt + {u}t+t )
(8.18)
2t
In order to calculate our future (i.e. at time t + t) displacements, velocities and accelerations, we examine the dynamic equilibrium at time t. Substituting our expressions
for {
u}t 8.17 and {u}
t 8.18 into 8.2, we obtain
{u}
t=

64

1
2
1
1
1
t+t
t
t
[M
]
+
[C]
{u}
=
{f
(t)}

[K]

[M
]
{u}

[M
]
+
[C] {u}tt
t2
2t
t2
t2
2t
(8.19)
t+t
As {u}
is calculated by considering dynamic equilibrium at time t the integration
procedure is called an explicit time integration method.
To obtain {u}t+t from 8.19 it can be seen that {u}tt is required, therefore we need to
formulate a special starting procedure. We can do this by remembering that the initial
conditions to our problem are known (i.e. at time = 0 we have {
u}0 , {u}
0 and {u}0 ).
tt
Thus, using equations 8.17 and 8.18 we get {u}
as

t2
{
u}0
(8.20)
2
For convenience, we pre-calculate the factors pre-multiplying the system matrices in 8.19:
{u}tt = {u}0 t {u}
0+

a0 =

1
t2

1
2t

a1 =

a2 =

2
t2

= 2a0 a3 =

t2
2

1
a2

(8.21)

and solve the set of linear equations


n ot+t

{u}t+t = R
M

(8.22)

Where the effective mass matrix is defined as


h

= a0 [M ] + a1 [C]
M

(8.23)

and the effective loads at time t are


n ot

8.6.1

= {R}t [K]

2
1
[M ] {u}t
[M ] {u}tt
2
t
t2

(8.24)

Time step dependence

Explicit time integration schemes are conditionally stable. For details see Bathe section
9.4.2. However, for our purposes it is sufficient to say that explicit time integration
schemes are stable if the stress wave can only traverse the length h of one element per
time step.
If the elastic wave speed c in 1D is
s

c=

(8.25)

then the critical time step


h
(8.26)
c
Hence, why explicit integration schemes are better suited to wave propagation problems
(although it should be noted that structural dynamics problems can also be solved).
Tcrit =

65

Chapter 9
An introduction to non-linear
materials
This chapter gives a very brief and gentle introduction to the world of material modelling.

9.1

Learning Outcomes

Awareness of various measures of stress used in non-linear FE packages


An appreciation of material modelling using plasticity and damage theory
An understanding of iterative solution schemes and the relative computational
expense of choices available.

9.2

Stress measures

The value of stresses depends on the the choice of coordinate axes. The component
values may be transformed to different axes. For plane stress

x0 x0

9.2.1

y 0 y 0
x0 y0

cos2
sin2
2 cos sin
xx

sin2
cos2
2 cos sin
yy
=

cos sin cos sin cos2 sin2 xy

(9.1)

Principal stresses
0

There always exists a set of x , y axes for which the shear strain vanishes. From the
bottom equation of (9.1) setting x0 y0 = 0
( cos sin )xx + (cos sin )yy + (cos2 sin2 )xy = x0 y0 = 0

(9.2)

we get
tan 2 =

2xy
(xx yy )
66

(9.3)

and

1
2xy
= arctan
2
(xx yy )

(9.4)

Whilst we could use in (9.1) to determine the now principal stresses x0 x0 and y0 y0
a more direct way to compute them is to recognise they are eigenvalues of the stress
tensor.


xx

yx

xy
yy

=0

(9.5)

expanding the determinate


2
=0
(xx )(yy ) xy

(9.6)

the two roots of are the eigenvalues which are the principal stresses I and II :
xx + yy
1 =
+
2
xx + yy

2 =
2

9.2.2

xx yy
2

xx yy
2

2
+ xy
2
+ xy

(9.7)

Volumetric and Deviatoric stresses

The hydrostatic pressure or volumetric stress (i.e. those stresses that cause pure volumetric deformation only) on an element of material can be calculated from the normal
stresses.
1
(9.8)
p = (xx + yy + zz )
3
The deviatoric stresses (i.e. those stresses that cause pure distortional deformation only)
is obtained by subtracting the hydrostatic stresses p from the total stresses

sxx

yy

s
zz

sxy

syx

szx

9.2.3

xx

yy


zz

xy

yx

zx

(9.9)

Stress invariants

Stress invariants are useful quantities (functions of the stress components) which do not
change (invariant) with orientation
I1 = xx + yy + zz
67

(9.10)

J2 =

9.3

i
1h
(1 2 )2 (2 3 )2 (3 1 )2
6

(9.11)

Material models

A multitude of material models exist, we will briefly introduce the concepts of plasticity
and continuum damage mechanics.

9.3.1

Plasticity

The most important concept in the theory of plasticity is the yield or failure criteria.
This sets a bound upon the stresses where simple linear elastic behaviour (Hookes law)
can occur. Commonly used plasticity yield surfaces in Civil engineering include:
Steels - Von Mises (or Tresca - non-smoothed hexagonal version)
deviatoric plane
s1
s1

s2
s2

s3

J2

s3

I1

Haigh-Westergaard stress space

meridinal plane

Figure 9.1: Von Mises yield surface


Soils Mohr-Coulomb (Drucker-Prager is the smoothed version and can have curved
meridions)
Cam-Clay for soft soils, Hoek-Brown for rocks plus many, many others specific to certain
materials.
Yield criteria are expressed in mathematical form, for the Mohr-Coulomb yield criteria
this is written in terms of the stress invariant J2 as
q

y
J2
3
where y is the uniaxial yield strength of the material.
We now introduce a few rules, firstly that
f (J2 ) =

(9.12)

f (xx , yy , zz ) 0

(9.13)

68

Figure 9.2: Mohr-Coulomb yield surface

this means that the state of stress must lie within or on the yield surface. When a
material is elastic the state of stress will lie within the yield surface, when the material
is undergoing plastic deformations then the state of stress MUST lie on the yield surface
i.e.
f =0

(9.14)

we also state that for some plastic deformation to occur, the stress state must remain
on the yield surface for some time
f = 0

(9.15)

this is called Pragers consistency equation (or relation).


We will now separate our our total strain {} into elastic {}e and plastic {}p components
{} = {e } + {p }

(9.16)

We make a guess (trial) for our stresses by assuming that our material remains elastic
n

trial = [De ] {}

(9.17)

on obtaining this trial stress state we check whether this violates our yield function (i.e.
f > 0). If this is the case we have plastic deformation and we must perform return
mapping to get our stress state back on to the yield surface. Without giving a full
account of the theory of plasticity it is sufficient to say that the stresses are dropped
back onto the yield surface along a vector normal to the yield surface from the trial stress
state, see figure 9.3
To obtain our elastic stresses { e } we can multiply our elastic strains {e } with our
elastic stiffness matrix [De ]
{ e } = [De ] {e }
69

(9.18)

s1
s1

s2
s2

s3

J2

s3

I1

Figure 9.3: Return mapping

or from 9.16
{ e } = [De ] ({} {p })

(9.19)

Post yield behaviour


Figure 9.4 shows a stress-strain behaviours of a perfectly plastic material and one that
initially hardens and eventually softens.
hardening

perfectly plastic

softening

Figure 9.4: Post yield regimes


If our yield function were to remain the same shape indefinitely, then we would only be
able to obtain perfectly plastic behaviour (i.e. our stresses would remain constant with
increasing strain in figure 9.4). In order to model hardening and softening behaviour we
need to be able change the shape or position of a yield surface.
If we assume (based upon experimental data) that our yield surface maintains its original shape, but is allowed to move within the principal stress axes we have Kinematic
hardening/softening
If we can model our material behaviour by simple scaling the size of yield surface then
we have Isotropic hardening/softening

70

Figure 9.5: Kinematic hardening / softening

Figure 9.6: Isotropic hardening / softening

9.3.2

Damage mechanics
{} = (1 ) [D]e {}

(9.20)

where is a scalar (although extension to anisotropic is possible) measure of the amount


of damage a piece of material has suffered. When = 0 the material is fully intact and
equation 9.20 is simply the stress-strain relationship for elasticity, when = 1 the term
in brackets = 0 and therefore the material can sustain no stresses.
We control damage growth by means of a damage loading function
f (
, ) =

(9.21)

where is a history dependent (or material memory) parameter which records the largest
value of the equivalent strain ever obtained at a given integration point. The equivalent
strain measure employed is a constitutive assumption, for quasi-brittle materials the
Mazars equivalent strain calculated from principal strains i is frequently chosen
q

3i=1 (< i >)2


71

(9.22)

< > represent the MacCauley brackets, which have the meaning < i >= i if i > 0
(i.e. tensile) or < i >= 0.
How damage grows as a function of is defined by a damage evolution law which is
determined from experiments.

k0

ku

e~

Figure 9.7: Damage evolution


Figure 9.7 shows a simple linear damage evolution law, defined by a damage initiation
(equivalent) strain 0 and the ultimate damage (equivalent) strain. Bi-linear softening
and exponential softening are frequently encountered constitutive assumptions. They can
often be defined in terms of more familiar engineering quantities such as yield strength
ft and specific fracture energy Gf .

9.4

Solution of non-linear equations

Thus far we have looked at different material models and how we can determine or state
of stress given a state of strain at a point. However, this is not sufficient to determine the
state of strain (and subsequently stress) in a structure. When yielding or damage occurs
our individual stiffness matrices [K e ] will change and therefore the stiffness matrix for
the full system will change. Therefore, as a result of the changing stiffnesses occurring
stress redistribution will occur. Therefore, we must arrive at the state of stress at all
points in our structure by means of an iterative method.
The most frequently encountered method in commercial finite element codes is the
Newton-Raphson method. Figure 9.8 shows how the method works in 1D.
We wish to apply an external force {fext } to our system, the following steps illustrate
the Newton-Raphson algorithm for one load step (subscript i denote iteration number).
1. generate element stiffness matrices (which are now dependant upon stress)
2. assemble stiffness matrix [K]i
3. apply boundary conditions (external forces {fext } and fixities)
72

External Force

displacement

Figure 9.8: Newton-Raphson iterative solution

4. solve [K] {u}i = {fext } {fint }i for iterative displacements {u}i


5. calculate new total displacement field {u} = {u}i1 + {u}i
6. calculate strains from the total displacements
7. calculate stresses from strains
8. sum all stresses and integrate over area to obtain internal forces {fint }
9. check for convergence - if converged load step = finished, else return to step 1
A slight variant on the above, the modified Newton-Raphson is also found in FE codes, in
this case the stiffness is not updated within the load step and therefore if not converged
the above algorithm would return to step 2 instead. The modified Newton-Raphson
scheme can take many more iterations to converge, however this can be offset by the
savings in computational cost by not having to update the stiffness matrix.

9.4.1

Convergence

We must now ascertain when our iteration is deemed to have converged. Examining
figure 9.8, we have two criteria on which to judge convergence, either the forces are
sufficiently balanced or the change in displacement between iterations has become so
small as to be negligible.
73

The force based criteria is the more demanding criteria to satisfy, it is written in vector
form as
||{fext } {fint }i ||2 ||{fext } {fint }1 ||2

(9.23)

where is a value set for the tolerance, a reasonable value for this tolerance is =
103 . The symbol || and ||2 denotes taking the L2 norm, or more familiarly ||f ||2 =
q
f12 + f22 + + fn2 (vector magnitude!). i.e. the magnitude out of the balance force
vector on convergence must be 1000 times smaller than the magnitude of the out of
balance force vector in the 1st iteration.
The displacement criteria is written similarly as
||{u}i ||2 ||{u}1 ||2

(9.24)

to obtain reasonable accuracy with this convergence criteria the tolerance should not be
greater than 106 .
The convergence criteria is usually set to defaults in commercial finite element codes
and should not be altered by an inexperienced user! Furthermore, some codes will
automatically check both criteria and and output a warning if the displacement criteria
has been used in order to progress the solution on to the next load step.
In order to obtain convergence of a calculation the full load we wish to apply is normally
applied gradually, therefore our finite element code will consist of 2 major embedded
loops: the iterative loop embedded within the load step loop.

74

You might also like