You are on page 1of 125

The Finite Element Method: An Introduction

Dr. Garth N. Wells


gnw20@cam.ac.uk

University of Cambridge
and
Delft University of Technology
c G. N. Wells 2009
gnw20@cam.ac.uk
Contents

1 Introduction 7
1.1 Tensor basics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
1.2 Vector calculus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
1.3 Linear algebra . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
1.4 Essentials from continuum mechanics . . . . . . . . . . . . . . . . . . . 16
1.5 Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19

2 Strong and weak forms of the governing equations 21


2.1 One-dimensional bar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
2.2 Continuum elasticity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
2.3 Poisson equation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
2.4 Minimisation of potential energy . . . . . . . . . . . . . . . . . . . . . . 26
2.5 Regularity requirements . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
2.6 Definition of trial and weight function spaces . . . . . . . . . . . . . . . 28
2.7 Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29

3 The Galerkin method 31


3.1 Approximate solution . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
3.2 Basic error analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
3.3 Convergence of the Galerkin method . . . . . . . . . . . . . . . . . . . . 33
3.4 Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34

4 Formulation of the finite element method 35


4.1 Finite element method with piecewise linear basis functions . . . . . . 35
4.2 General finite element basis functions . . . . . . . . . . . . . . . . . . . 37
4.3 Governing equations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
4.4 Isoparametric mapping . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
4.5 Numerical integration . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
4.6 Imposition of Dirichlet boundary conditions . . . . . . . . . . . . . . . 57
4.7 Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60

5 Implementation of the finite element method 63


5.1 Preprocessing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
5.2 Program flow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
5.3 Local-global . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
5.4 Stiffness matrix storage . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
5.5 Post-processing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71

6 Structural elements for finite element analysis 73

5
Contents

6.1 Rod elements in space . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73


6.2 Beams . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
6.3 Plate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
6.4 Shell elements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104
6.5 Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104

7 Analysis of the finite element method 105


7.1 A priori error estimation . . . . . . . . . . . . . . . . . . . . . . . . . . . 105
7.2 A posteriori error estimation . . . . . . . . . . . . . . . . . . . . . . . . . 107
7.3 Adaptivity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108
7.4 Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109

8 Solvers for large linear systems 111


8.1 LU-decomposition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111
8.2 Iterative solvers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112

9 Time-dependent problems 113


9.1 Elastodynamics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113
9.2 Heat equation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116
9.3 Frequency analysis for elastodynamics . . . . . . . . . . . . . . . . . . . 117
9.4 Modal analysis for elastodynamics . . . . . . . . . . . . . . . . . . . . . 118
9.5 Time stepping algorithms . . . . . . . . . . . . . . . . . . . . . . . . . . 119
9.6 Space-time formulations . . . . . . . . . . . . . . . . . . . . . . . . . . . 124
9.7 Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124

References 125

6 Version 0.2 January 21, 2011


1 Introduction

This course provides an introduction to the finite element method for linear prob-
lems. The underlying mathematics of the method are introduced and details of its
computer implementation are discussed. Students will develop an understanding of
the fundamentals underlying the finite element method and commercial finite ele-
ment software. This course also provides a foundation to the more advanced courses,
such as ‘Finite element methods for nonlinear analysis’ (CT5142).
This chapter establishes the notation used in these notes and reviews the basic tools
needed to develop and understand the finite element method. The material should
serve as a review, and possibly an extension of familiar concepts. It also provides a
reference point for later developments in the text.

What is the finite element method?

The finite element method (FEM) is a numerical method for solving partial differ-
ential equations. It is particularly suited for solving partial differential equations on
complex geometries, as are commonly encountered in solid and structural mechanics.
The procedure can be largely automatised, making it well suited to efficient computer
implementation. The application of the finite element method leads to systems (often
very large) of linear equations (matrices) which can be solved using a computer.
The finite element method differs from the commonly used finite difference method
as it is based on a variational formulation. When applied for solving problems in solid
and structural mechanics, it is closely related to the concepts of energy and virtual
work.

1.1 Tensor basics

Throughout these notes, a Cartesian, orthonormal basis is assumed. This simplifies


vector and tensor operations considerably as the basis vectors can be ignored and
operations expressed in terms of indices only. Orthonormal basis vectors are shown
in Figure 1.1. Scalars are denoted by italic type face,

a, b, s. (1.1)

Vectors involve components and a basis, which for simplicity is assumed to be or-
thonormal, and are generally denoted by lowercase bold characters,

a, b, f , u, x. (1.2)

7
1 Introduction

x2

a
e2 = [0 1 0]

e1 = [1 0 0] x1

e3 = [0 0 1]

x3

Figure 1.1: Example of orthonormal base vectors.

A vector a in an n-dimensional space R n can be expressed in terms of its components,


ai where i runs from one to n. In the case n = 2,
 
a
a= 1 . (1.3)
a2

Consider the dot product between two vectors a and b, which is denoted a · b, and
is defined through the operation which gives the length k xk of a vector x,

k xk = x · x. (1.4)

The dot product of two vectors is given by:

a · b = a i bi , (1.5)

where repeated indices imply summation:


n
a·b = ∑ a i bi . (1.6)
i =1

For n = 3,
3
a·b = ∑ a i b i = a 1 b1 + a 2 b2 + a 3 b3 . (1.7)
i =1

8 Version 0.2 January 21, 2011


1.1 Tensor basics

For an orthonormal basis, ei · e j = δij , allowing the base vectors to be discarded and
the more familiar notation

a · b = ai b j δij = ai bi , (1.8)

can be used. At times, the dot product maybe written as a T b, in the vein of matrix
multiplication. The symbol δij is known as the Kronecker delta:
(
1 if i = j,
δij = (1.9)
0 if i 6= j.

Second-order tensors (which possess some similar properties to matrices) are gen-
erally denoted by uppercase bold characters,

A, K, M, R (1.10)

As with vectors, a second-order tensor A can be expressed in terms of components,


Aij ,

A = Aij . (1.11)

The second-order tensor A in R3 can be expressed as


 
A11 A12 A13
A = Aij =  A21 A22 A23  . (1.12)
A31 A32 A33

Second-order tensors are linear operators that act upon vectors. A second-order
tensor A takes the vector b and transforms it into the vector a,
n
a = Ab = Aij b j = ∑ Aij bj (1.13)
j =1

where n is the dimension of the vector b. Consider the case

a = ABc = Dc. (1.14)

Second-order tensors can be multiplied, which is expressed as

D = AB, (1.15)

and in index notation as

Dij = Aik Bkj . (1.16)

The transpose of a tensor is denoted by the superscript ‘T’. It is defined by:

a · Bc = Bc · a = c · B T a. (1.17)

January 21, 2011 Version 0.2 9


1 Introduction

In terms of indices:

Aij T = A ji . (1.18)

The transpose of a second-order tensor implies interchanging the rows and columns
of its components. A useful identity involving the transpose is:

( AB) T = B T A T . (1.19)

Second-order tensors can be formed through the dyadic production of two vectors,

A = a ⊗ b, = ai b j , (1.20)

which is equivalent to

Aij = ai b j . (1.21)

The trace of a second-order tensor is essentially the summation of its diagonal com-
ponents. For example,

tr ( a ⊗ b) = ai bi (1.22)

and

tr ( A) = Aii . (1.23)

For a second-order tensor A in R3 , this implies:

tr ( A) = A11 + A22 + A33 . (1.24)

Using the trace, an operation similar to the dot product of two vectors, an inner prod-
uct, is provided for two second-order tensors. It also yields a scalar. It is defined
by:
 
A : B = tr A T B . (1.25)

This is equivalent to

A : B = Aij Bij . (1.26)

The repeated i and j indices implies:


n n
Aij Bij = ∑ ∑ Aij Bij . (1.27)
i =1 j =1

This operation has no equivalent in matrix-vector convention. For two second-order


tensors in R2 ,

A : B = A11 B11 + A12 B12 + A21 B21 + A22 B22 . (1.28)

10 Version 0.2 January 21, 2011


1.1 Tensor basics

The identity tensor I is defined by:

a = Ia, (1.29)

and is equal to

I = δij ei ⊗ e j . (1.30)

A second-order tensor A, multiplied by its inverse A−1 , is equal to the identity tensor,

AA−1 = A−1 A = I. (1.31)

Second-order tensors are often characterised by their special properties. A matrix


A is symmetric if:

A T = A. (1.32)

Using index notation, a tensor Aij is symmetric if:

Aij = A ji . (1.33)

A tensor A is orthogonal if:

A T = A −1 . (1.34)

As will be shown in the following section, matrices which rotate the reference frame
are orthogonal.
Another important operation is the cross, or vector, product. It is defined for a, b ∈
R3 by:
 
a 2 b3 − a 3 b2
[ a × b ] =  a 3 b1 − a 1 b3  . (1.35)
a 1 b2 − a 2 b1

Such a definition however is not convenient for manipulation. A third-order tensor


can be defined which will make manipulations more convenient. A third-order tensor
maps a second-order tensor to a first order tensor. A common third-order tensor is
the alternating (or permutation) tensor E . The components of E are given by:

[E ] = Eijk = ei · e j × ek . (1.36)

The expression for E in terms of the basis ei is lengthy and not shown here. The result
of the above equation is rather simple. If any of the indices are repeated, Eijk = 0.
If the permutation {i, j, k} is even, Eijk = 1, and if the permutation {i, j, k} is odd,
Eijk = −1. The cross product of two vectors yields a vector. The cross product can be
introduced via the third-order tensor E ,

E : ( a ⊗ b) = a × b. (1.37)

January 21, 2011 Version 0.2 11


1 Introduction

x2

e2′ = [− sin θ cos θ ] e2 = [0 1]

e1′ = [cos θ sin θ ]

θ e1 = [1 0]

x1

Figure 1.2: Rotation between coordinate systems.

This operation is particularly important when considering moments. For an orthonor-


mal basis, in terms of indices,

A : B = Aijk Bjk . (1.38)

In elasticity, the stress and strain are second-order tensors. They are related to each
other via a fourth-order tensor, denoted here as C .

C = Cijkl . (1.39)

Fortunately, due to physical symmetries, it will not be necessary to manipulate fourth-


order tensors directly.

Coordinate transformations
For many problems, it is convenient to rotate the coordinate frame. Vector and tensor
components can be rotated (change of basis) using a rotation matrix Q, which is or-
thogonal. Consider the orthonormal coordinate systems in Figure 1.2. It may prove
convenient to transform vector components relative to the ei system to components
in the ei′ system. Consider that for a vector a, the components in ei system are known,
and it would be convenient to have the components in the ei′ system.
Defining Qij by

Qij = ei · e′j , (1.40)

the components ai′ are given by

ai′ = Q ji a j , (1.41)

12 Version 0.2 January 21, 2011


1.2 Vector calculus

which can also be expressed as:

a′ = Q T a. (1.42)

Considering the coordinate systems illustrated in Figure 1.2,


   
e1 · e1′ e1 · e2′ cos θ − sin θ
Q= = , (1.43)
e2 · e1′ e2 · e2′ sin θ cos θ

and note that Q is orthogonal,

QQ T = Q T Q = I. (1.44)

Therefore, components in the rotated reference frame can be transformed back to the
original reference frame by:

a = Qa′ . (1.45)

At times it is necessary to also rotate the components of a second-order tensor from


one coordinate system to another. This is done by the operation:

A′ = Q T AQ, (1.46)

and

A = QA′ Q T . (1.47)

Often coordinate transforms are used to simplify a problem. An example is a one-


dimensional rod element in a three-dimensional space. It is convenient to rotate
 the
reference such such the position along the bar is given by [ x]′ = x1′ , 0, 0 , which
effectively reduces the three-dimensional problem to a one-dimensional problem.

1.2 Vector calculus


Subscripts are commonly used as a short-hand notation for derivatives. Characters
after a comma in the subscript denote differentiation with respect to that variable.
Consider a function u which is dependent on the position x. Some of its derivatives
can be written as:
∂u ∂2 u ∂4 u ∂2 u ∂3 u
= u,x , = u ,xx , = u,xxxx , = u,xy , = u,xyy . (1.48)
∂x ∂x2 ∂x4 ∂x∂y ∂x∂y2

This notation is used commonly throughout these notes.


An important operator is the divergence. The divergence of a vector field a yields
a scalar. It is expressed as:

∇ · a. (1.49)

January 21, 2011 Version 0.2 13


1 Introduction

In terms of indices, ∇ · a is equal to


∂ai
∇·a = = ai,i . (1.50)
∂xi
In a three-dimensional space R3 ,
∂a1 ∂a ∂a ∂a x ∂ay ∂az
∇·a = + 2+ 3 = + + . (1.51)
∂x1 ∂x2 ∂x3 ∂x ∂y ∂z
The divergence of a second-order tensor is given by:
∂Aij
∇·A = = Aij,j . (1.52)
∂x j

For a two-dimensional tensor A,


 
∂A11 ∂A12
∂x + ∂x2 
∇ · A =  ∂A 1 ∂A22
. (1.53)
∂x + ∂x
21
1 2

Another important operator is the gradient. The gradient of a scalar a is given by:
∂a
∇a = = a,i , (1.54)
∂xi
which yields a vector. In a three-dimensional space, the components of ∇ a are given
by:
 
∂a
 ∂x 
 
 ∂a 
∇a =  ∂y  .
 (1.55)
 
 
∂a
∂z
The gradient of a vector is given by:
∂ai
∇a = = ai,j , (1.56)
∂x j

which yields a second-order tensor. In a three-dimensional space, the components of


∇ a are given by:
 
∂a1 ∂a1 ∂a1
 ∂x ∂y ∂z 
 
 ∂a2 ∂a2 ∂a2 
∇a =  . (1.57)
 ∂x ∂y ∂z 
 ∂a3 ∂a3 ∂a3 
∂x ∂y ∂z

14 Version 0.2 January 21, 2011


1.3 Linear algebra

Γ
Figure 1.3: Continuous body Ω ⊂ R n bounded by Γ.

An essential theorem in formulating the finite element method is the divergence


theorem (also known as Gauss’s theorem). It transforms a volume integral to a surface
integral. Consider the body Ω in Figure 1.3. The boundary of the body Ω is denoted
Γ = ∂Ω. The outward unit normal to the body is denoted n. The divergence theorem
states:
Z Z
∇ · A dΩ = An dΓ, (1.58)
Ω ∂Ω

where n is the outward normal to the body Ω. The surface of Ω is given by ∂Ω. For
a vector a,
Z Z
∇ · a dΩ = a · n dΓ. (1.59)
Ω ∂Ω

Integration by parts is used frequently in the formulation of the finite element


method. It implies that:
Z Z Z
a · (∇ · B) dΩ = − ∇ a : B dΩ + a · Bn dΓ. (1.60)
Ω Ω ∂Ω

The above equation also holds for the case in which a is replaced by a scalar and B is
replaced by a vector. The above formula is simple to derive by using the product rule
for differentiation to expand
Z Z
∂ 
∇ · ( aB ) dΩ = a B dΩ, (1.61)
Ω Ω ∂x j i ij

and then applying the divergence theorem.

1.3 Linear algebra


The eigenvalues and eigenvectors of a matrix provide information as to its properties.
For example, the eigenvalues of the stress tensor are the principal stresses, and the

January 21, 2011 Version 0.2 15


1 Introduction

corresponding eigenvectors are the principal stress directions. Also, the eigenvalues
of a matrix indicates if a matrix has a unique inverse. For a matrix A, vectors b and
scalars λ which satisfy

( A − λI ) b = 0 (1.62)

are known as eigenvectors and eigenvalues, respectively, of A. For a symmetric matrix,


all eigenvalues are real. For a positive definite matrix A, all eigenvalues are positive
and real, which guarantees that the inverse of A exists, and is unique. Equation (1.62)
implies that:

det ( A − λI ) = 0. (1.63)

For a 2 × 2 matrix, finding λ requires finding the roots of a quadratic equation. For a
3 × 3 matrix, the roots of a cubic equation must be found. The polynomial is known
as the characteristic equation of A. For large matrices, special numerical algorithms are
used to calculate the eigenvalues. A zero eigenvalue implies that the matrix A has a
linearly dependent column. Eigenvalue tests are often used in studying the matrices
arising in the finite element method.
A system of n linear equations can be expressed as:

Ku = f , (1.64)

where K is an n × n matrix, and u and f are vectors of length n. In the context of the
finite element method, K will often be referred to as the ‘stiffness matrix’ and f the
‘right-hand side vector’. The solution u is given by:

u = K −1 f . (1.65)

Typically, the system of equations in a finite element equation will be very large. It is
not practical to compute the inverse of the matrix K as it is computationally expen-
sive (both in terms of the number of operations required and the memory required).
The system of equations is usually solved using a direct method (such as Gauss elim-
ination or LU decomposition) or an approximate iterative method. Solvers for finite
element problems are discussed in Chapter 8.

1.4 Essentials from continuum mechanics


The finite element method is used in these notes to solve primarily problems in con-
tinuum mechanics. This requires some background in continuum mechanics and
linear-elasticity. This section is intended to cover only the important concepts which
are used later in these notes. It is not a comprehensive coverage of the topic.
The strain ǫ is defined as the symmetric gradient of the displacement vector:

1 
ǫij = ui,j + u j,i , (1.66)
2

16 Version 0.2 January 21, 2011


1.4 Essentials from continuum mechanics

which is clearly a second-order tensor. In compact notation, the above expression can
be written as:
1 
ǫ = ∇s u = ∇u + (∇u) T . (1.67)
2
For convenience, the symmetric gradient using index notation will be expressed as:

1 
u(i,j) = ui,j + u j,i , (1.68)
2
where the bracket around the subscript denotes the symmetric gradient. Obviously,
the strain tensor is symmetric. The stress tensor is defined through the traction vector
t (force per unit area) on a surface,

σn = t (1.69)

where n is the unit normal vector to the surface. Similar to the strain tensor, the
stress tensor is symmetric (which can be proved by considering the balance of angular
momentum, as will be shown in the next chapter).
A constitutive equation relates the stresses in a material to the strain. For solid,
linear-elastic continua, this can be written as:

σ = C : ǫ, (1.70)

or in index notation,

σij = Cijkl ǫkl (1.71)

where C is a fourth-order tensor. For linear elasticity, it is defined by:


 
Cijkl = µ δik δjl + δil δjk + λδij δkl (1.72)

where
νE
λ= (1.73)
(1 + ν) (1 − 2ν)

and
E
µ= (1.74)
2 (1 + ν )

with E the Young’s modulus and ν Poisson’s ratio. The constants λ and µ are often
referred to as Lamé constants. In a homogeneous body, Lamé constants are indepen-
dent of the position.
Due to symmetry, in three-dimensions the stress and strain tensors have only six
independent components. In two-dimensions, this reduces to four. For convenience,

January 21, 2011 Version 0.2 17


1 Introduction

‘engineering’ notation is often adopted, in which the stress and strain are represented
as vectors,
     

 ǫ11 
 
 ǫ11 
 
 u,x  
     


 ǫ22 




 ǫ22 




 v,y  

     
ǫ33 ǫ33 u,z
ǫ= = = . (1.75)

 2ǫ12 
 
 γ12 
 
 u,y + v,x 


2ǫ13 
  
γ13 
  
u,z + w,x 


 
        

2ǫ23 γ23 v,z + w,y

The stress tensor is expressed in a vector form, although without the factor ‘2’ on the
shear terms.
 

 σ11 

 


 σ22 

  
σ33
σ= (1.76)

 σ12 


σ13 



  
σ23

Using the vector format for stress and strain, the constitutive relationship can be writ-
ten as:

σ = Dǫ (1.77)

where the matrix D is the constitutive matrix, containing components of the fourth-
order tensor C . For isotropic linear-elasticity, D has the following form:
 
λ + 2µ λ λ 0 0 0
 λ
 λ + 2µ λ 0 0 0 
 λ λ λ + 2µ 0 0 0 
D=  (1.78)
 0
 0 0 µ 0 0 
 0 0 0 0 µ 0
0 0 0 0 0 µ

When reducing a three-dimensional problem to two-dimensions, there are three


possibilities. The first is known as plane strain. This assumes that the normal strain
in the out-of-plane direction is zero (ǫ33 = 0). It is then likely that the stress in the
out-of-plane direction is not equal to zero. This is reasonable for problems which are
relatively thick in the third direction, such as a dam wall. The second possibility is
plane stress (σ33 = 0). In this case, the normal stress out-of-plane is assumed to be
zero. This approximation is good for very thin members, such as many beams. The
third possibility is axisymmetric. In this case, the strain in the out-of-plane direction is
dependent on the distance from an axis of rotation. An axisymmetric formulation is
for example commonly used when simulating a circular foundation.
In these notes, particular attention will be paid to solving elastic continuum prob-
lems. This will require identification of the equations which govern equilibrium of

18 Version 0.2 January 21, 2011


1.5 Exercises

elastic bodies. In order to derive the governing partial differential equation, consider
first translational equilibrium (balance of linear momentum) of a body Ω ⊂ R n with
boundary Γ = ∂Ω, which requires that
Z Z Z Z
t dΓ + b dΩ = σn dΓ + b dΩ = 0 (1.79)
∂Ω Ω ∂Ω Ω

where b is a body force. Application of the divergence theorem to the integral over
∂Ω gives:
Z
∇ · σ + b dΩ = 0 (1.80)

Balance of linear momentum should also be satisfied for any subdomain of Ω. There-
fore, the integral can be removed from equation(1.80), leading to:

∇ · σ + b = 0 in Ω (1.81)

Consider now moment equilibrium (balance of angular momentum). Moment equi-


librium of the body Ω requires that:
Z Z Z Z
r × t dΓ + r × b dΩ = r × σn dΓ + r × b dΩ = 0 (1.82)
∂Ω Ω ∂Ω Ω

where r is the position vector of a point on ∂Ω. Considering that t = σn, and apply-
ing the divergence theorem,
Z Z
r × (∇ · σ + b) dΩ + E : σ T dΩ = 0 (1.83)
Ω Ω

If translational equilibrium (equation (1.80)) is satisfied, the first term in equation


(1.83) is zero. Then, moment equilibrium is satisfied if the stress tensor is symmetric,
since E : σ T = 0, if σ is symmetric. Therefore, the partial differential equation of
equilibrium is given by equation (1.80). This will also be referred to as the ‘strong’
governing equation. Note that this equation is general, and not specific to elasticity.

1.5 Exercises
1. For three-dimensions (i = 1 → 3, etc.), expand the terms:
a) a i bi
b) ai b j
c) Aij Bij
d) Cij bi
e) Cij b j
f) Fik Gkj
2. How many independent components does a symmetric second-order tensor in
R n have?

January 21, 2011 Version 0.2 19


1 Introduction

3. What is the trace of the identity tensor I equal to in R n ?


4. Confirm that the rotation matrix R in equation (1.43) is orthogonal.
5. Using the product rule for differentiation and the divergence theorem, derive
the integration by parts formula in equation (1.60).
6. A common and important operator in applied mathematics (and mechanics)
is the Laplace operator ∆ (sometimes denoted ∇2 ). It is equivalent to ∇ · ∇.
Expand ∆u in a three-dimensional space using index notation.
7. Derive the isotropic linear-elastic constitutive matrix D for plane stress and
plane strain conditions

20 Version 0.2 January 21, 2011


2 Strong and weak forms of the governing equations
An essential step in developing the finite element method is the identification of the
governing equation and casting it in its ‘weak form’. To do this, the strong form is
multiplied by a weight function and integrated by parts. This has the effect of reduc-
ing the order of the derivatives appearing in the equation, and leads to a form which
is convenient for later numerical solution. The weak form is also commonly known
as a the ‘variational form’ or a ‘variational equation’. The finite element method is a
variational method, addressing the weak (variational) form of the relevant governing
equation.

2.1 One-dimensional bar


Consider the one-dimensional bar in Figure 2.1. The governing equation for a one-
dimensional rod element with unit cross-sectional area is (see equation (1.81)):

−σ,x = f , (2.1)

where σ,x is the normal stress in the rod and f is a distributed load along the rod.
This is complemented by a constitutive relationship which gives the stress in the rod
in terms of the strain. For a linear-elastic rod, the normal stress is given by:
du
σ = Eǫ = E , (2.2)
dx
where E is the Young’s modulus. The governing equation can then be expressed as:

− Eu,xx = f . (2.3)

To complete the problem, boundary conditions must be specified. A Dirichlet (essen-


tial) boundary condition prescribes the displacement at a point. For example,

u = 0 at x=0 (2.4)

0110 111
000
f
h

101010 0
1
x

111111111111
000000000000
L
x=0

Figure 2.1: One-dimensional bar.

21
2 Strong and weak forms of the governing equations

prescribes the displacement at one end of the bar in Figure 2.1 to be equal to zero. A
Neumann (natural) boundary condition prescribes the applied traction,

σn = h at x = L, (2.5)

where n is the outward normal to the bar (equal to 1 in this case). The above boundary
condition sets the applied traction at x = L equal to h. Considering that σ = Eu,x , ap-
plying a force at the end of the bar is equivalent to prescribing u,x . The mathematical
problem can now be summarised as: find u such that:

− Eu,xx = f 0 < x < L, (2.6)


u=0 at x = 0, (2.7)
Eu,x n = h at x = L. (2.8)

To develop the weak form of the governing equation, both sides of equation (2.6)
are multiplied by a scalar weight function w ∈ V (w ∈ V means that w comes from the
appropriately defined space of functions V , which has an infinite number of mem-
bers). An important requirement on the space V is that functions w be zero where
Dirichlet boundary conditions are applied. Since both sides of the equation are mul-
tiplied by the weight function, the equation must still hold for all admissible weight
function (this is a technical point which is discussed in section 2.6). Multiplying equa-
tion (2.1) by w,

−wσ,x = w f ∀w ∈ V , (2.9)

where ‘∀w ∈ V ’ means ‘for all w ∈ V ’. If equation (2.9) must hold point-wise, then
Z L Z L
− wσ,x dx = w f dx ∀w ∈ V , (2.10)
0 0

is also true. Taking guidance from equation (1.60), equation (2.10) can be integrated
by parts and the Neumann boundary condition from equation (2.8) inserted, which
yields:
Z L Z L
− wσ,x dx = w,x σ dx − wh| x= L ∀w ∈ V . (2.11)
0 0

Note the term wEu,x n| x=0 is not included as by definition the weight function w is
equal to zero at x = 0. Inserting now the constitutive relationship σ = Eu,x , solving
the weak form involves: find u ∈ S such that
Z L Z L
w,x Eu,x dx = w f dx + wh| x= L ∀w ∈ V , (2.12)
0 0

where S is an appropriately defined space of functions which satisfies the Dirichlet


boundary conditions. This is the weak form of the governing equation. Note that in
the strong form, after inserting the constitutive relationship (2.3), derivatives of order

22 Version 0.2 January 21, 2011


2.2 Continuum elasticity

two with respect to x appear. In the weak form (2.12), only first derivatives with
respect to x appear.
Since the weak form is derived from the strong form, it follows that a solution of
the strong form is also a solution of the weak form. What remains to be shown is that
the weak form is equivalent to the strong form (that a solution of the weak form is
also a solution of the strong form, at least in a generalised sense). Assuming that E is
constant and integrating by parts the first term in (2.12) yields
Z L Z L
− wEu,xx dx + wEu,x n| x= L = w f dx + wh| x= L . (2.13)
0 0

Note again that no terms at x = 0 appear, as by construction, w(0) = 0. Following


Hughes (1987), consider a weight function w ∈ V which is equal to φ ( Eu,xx + f ),
where φ is greater than zero over the interval ]0, L[ and zero outside (specifically at
x = 0 and x = L). Inserting the weight function into equation (2.13),
Z L Z L
− φ ( Eu,xx + f ) Eu,xx dx = φ ( Eu,xx + f ) f dx, (2.14)
0 0

which can be rearranged to give


Z L
φ ( Eu,xx + f )2 dx = 0. (2.15)
0

Since φ > 0 and ( Eu,xx + f )2 ≥ 0, the above equation can only hold if − Eu,xx = f ,
satisfying the strong governing equation (in a distributional sense). What remains
now is to ensure that the Neumann boundary condition is satisfied (Dirichlet bound-
ary conditions are satisfied by construction). Returning to equation (2.13), it is now
proven that the first term is equal to zero. Hence, for any allowable weight function
at x = L,

Eu,x n = h, (2.16)

proving that the Neumann boundary conditions are satisfied. For a more elaborate
mathematical treatment, see Brenner and Scott (1994).

2.2 Continuum elasticity


A more complicated example is continuum elasticity. The basic form of the equa-
tions is the same as the one-dimensional bar in the previous section. The complica-
tion arises from the three-dimensional setting. Consider now the continuous body
in Figure 2.2. The strong governing equation for this problem was developed in the
previous chapter. Recall that the governing equation is given by:

∇ · σ + b = 0 in Ω. (2.17)

January 21, 2011 Version 0.2 23


2 Strong and weak forms of the governing equations

Γh

Γg
n

Figure 2.2: Continuous body Ω ⊂ R n with boundary Γ (Γ = Γg ∪ Γh , Γg ∩ Γh = ∅).

As in the one-dimensional case, a constitutive relationship is required. For a linear-


elastic material,
σ = C : ǫ, (2.18)
where C is a fourth-order tensor. Boundary conditions are still required to complete
the problem. On part of the boundary, the displacements are prescribed (Dirichlet
boundary conditions). In Figure 2.2, the part of the boundary where displacements
are prescribed is denoted Γg ,
u=g on Γg . (2.19)
On the remaining boundary, Γh , tractions (potentially zero) are applied (traction ≡
force per unit area on a surface),
t=h on Γh . (2.20)
The boundary-value problem is now complete.
To derive the weak form, the same steps as in the case of the one-dimensional bar
are followed. First, the governing equation is multiplied by a weight function w ∈ V ,
and integrated over the body. Note that in this case, the weight function w is a vector.
Multiplying equation (2.17) by w ∈ V , where again V is an appropriately defined
function space (w = 0 on Γg ), and integrating over the body Ω yields:
Z Z
w · (∇ · σ ) dΩ + w · b dΩ = 0 ∀w ∈ V . (2.21)
Ω Ω
The first term in equation (2.21) can be integrated by parts (see equation (1.60)), yield-
ing:
Z Z Z
− ∇w : σ dΩ + w · b dΩ + w · h dΓ = 0, (2.22)
Ω Ω Γh

24 Version 0.2 January 21, 2011


2.3 Poisson equation

where σn has been replaced by the prescribed traction h (the Neumann boundary
condition). Inserting now the constitutive relationship from equation (2.18), a solu-
tion to the weak form involves: find u ∈ S such that
Z Z Z
− ∇w : C : ǫ dΩ + w · b dΩ + w · h dΓ = 0 ∀w ∈ V , (2.23)
Ω Ω Γh

where S is an appropriate space of functions which satisfy the Dirichlet boundary


conditions. This is the weak equilibrium equation for a stationary continuous elas-
tic body. Consistency can be proven in the same fashion as was used for the one-
dimensional problem.
Often the term ∇w is written as ∇s w, the symmetric gradient of w. It is simple to
show that ∇w : σ = ∇s w : σ if σ is symmetric (see exercise 1). Consider now w as a
‘virtual displacement’ δu. Therefore ∇s w ≡ δǫ. Inserting this into equation (2.23),
Z Z Z
δǫ : C : ǫ dΩ = δu · b dΩ + δu · h dΓ, (2.24)
Ω Ω Γh

which is the equation of virtual work. The equation of virtual work is therefore the
weak form of the governing equation. There exists a close link between weak forms
and virtual work for a range of problems. However, the variational framework is
more general.

2.3 Poisson equation


An equation which is often solved using the finite element method is the Poisson
equation. A wide range of physical phenomena are governed by this equation, in-
cluding steady-state heat conduction and flow in permeable media (Darcy’s law).
The previous example of continuum elasticity was an example of a system of Poisson
equations – one for each spatial direction. Here the Poisson equation is addressed in
a more generic fashion.
Consider the following equation:

−∇ · q + f = 0 in Ω (2.25)

where q is a flux vector and f is a source term. In the case of heat conductivity, q is
the heat flux vector. In Darcy’s law, q is the flow rate. The constitutive relationship is
given by:

q = −κ ∇ u (qi = −κij u,j ) (2.26)

where u is a potential. Inserting the constitutive equation into (2.25) yields a Poisson
equation. The constitutive relationship depends on the problem being solved. For
linear heat conduction, the scalar u is the temperature. For an isotropic medium,
κ = κI, where κ is the thermal conductivity. For Darcy’s law, u is the hydraulic head
and κ is known as the hydraulic conductivity.

January 21, 2011 Version 0.2 25


2 Strong and weak forms of the governing equations

As for all previous examples, the boundary-value problem requires boundary con-
ditions. The Dirichlet conditions impose:
u=g on Γg (2.27)
which prescribes the potential on the boundary. For heat conduction, this is the tem-
perature on the boundary Γg . For Darcy flow, it is the hydraulic head. The Neumann
boundary condition requires that:
−q · n = h on Γh (2.28)
where n is the outward normal to the surface Γh (see Figure 2.2). In the case of
heat conduction, this imposes the heat flux on Γh , and for Darcy flow is it the in-
flow/outflow across a boundary.
The weak form of the Poisson equation is derived following the same steps as in
the previous two examples. Multiplying equation (2.25) by a weight function w and
integrating over the body Ω,
Z Z
− w (∇ · q) dΩ + w f dΩ = 0 ∀w ∈ V . (2.29)
Ω Ω

Integrating the LHS of the above equation by parts yields:


Z Z Z
∇w · q dΩ − wq · n dΓ + w f dΩ = 0 ∀w ∈ V . (2.30)
Ω Γh Ω

Inserting now the constitutive relationship and the boundary condition −q · n = h


leads to the problem: find u ∈ S such that:
Z Z Z
− ∇w · κ∇u dΩ + wh dΓ + w f dΩ = 0 ∀w ∈ V , (2.31)
Ω Γh Ω

which is the weak form of the Poisson equation.

2.4 Minimisation of potential energy


For particular equations, such as equilibrium of an elastic body, there exists a close
link between minimisation of energy and solution of the weak form. For an elastic
body Ω, suppose that u is the solution to the weak problem, and consider the poten-
tial energy functional I,
Z Z Z
1
I (u) = ∇s u : C : ∇s u dΩ − u · b dΩ − u · h dΩ. (2.32)
2 Ω Ω ∂Ω

The potential energy for another displacement field, w = u + v, is given by


Z
1
I (u) ≤ I (u + v) = ∇s (u + v) : C : ∇s (u + v) dΩ
2 Ω
Z Z
− (u + v) · b dΩ − (u + v) · h dΩ, (2.33)
Ω ∂Ω

26 Version 0.2 January 21, 2011


2.5 Regularity requirements

f f ,x

x x

Figure 2.3: Example of a C0 function f .

which is equal to

I (u) ≤ I (u + v)
Z Z Z 
s s
= I (u) + ∇ v : C : ∇ u dΩ − v · b dΩ − v · h dΩ (2.34)
Ω Ω ∂Ω
Z
1
+ ∇s v : C : ∇s v dΩ,
2 Ω

in which the terms inside the brackets sum to zero for


R any v since u is a solution to
the weak form (see equation 2.23), and the last term Ω ∇s v : C : ∇s v dΩ ≥ 0, which
proves that solution of the weak form corresponds to minimisation of the potential
energy.

2.5 Regularity requirements


A common topic in finite element analysis is continuity. Functions are often classi-
fied as being C n continuous. Continuity refers to whether or not the derivatives of
a function are continuous. If a function is C n , this means that its nth derivative is
continuous. In finite element analysis, functions which are C0 are most commonly
used. This means that the functions are continuous, but their first derivatives are not.
A C0 function is shown in Figure 2.3. The function shown in Figure 2.3 is a contin-
uous, piecewise linear function. As will be seen in the following chapters, this is a
commonly used function in finite element analysis. From Figure 2.3, it is clear that it
is simple to take the first derivative of the function f . However, in a classical sense,
its second derivative does not exist.
Consider now if the function f is a possible solution u of the strong equation for a
bar (equation (2.3)). It is not a possible solution, since for equation (2.3) to make sense,
the second derivative of f with respect to x ( f ,xx ) must exist. Examining now the weak
form for the rod (equation (2.12)), it is clear that it involves only first derivatives with
respect to x of u and w. Therefore a function like f is a possible solution of the weak
form and a possible weight function.
In summary, the weak form allows for more possible solutions. This is a classic
mathematical property of weak forms, and is essential for the finite element method.

January 21, 2011 Version 0.2 27


2 Strong and weak forms of the governing equations

The theory of which functions are allowed is discussed on more detail in the following
advanced section.

2.6 Definition of trial and weight function spaces


There are certain mathematical requirements that must be met by the trial and weight
functions for the weak form to ‘make sense’. A function u is said to be square inte-
grable if:
Z
(u)2 dx < ∞. (2.35)

Functions which are square integrable come from the Hilbert space known as L2 (Ω).
Clearly, such functions may be discontinuous. When solving second-order differ-
ential equations, functions which have square-integrable derivatives are of interest.
Functions for which:
Z
(u)2 + (u,x )2 dΩ < ∞ (2.36)

are known as members of the Sobolev space on degree one, which is denoted H 1 (Ω).
The notation u ∈ H 1 means that u comes from (is an element of) H 1 . In physical
terms, the requirement that the trial functions be square-integrable implies that en-
ergy must be finite. Note that C0 functions belong to H 1 . For multiple spatial dimen-
sions, there do however exist functions from H 1 (Ω) which are not C0 continuous.
This can be seen in the well-known Sobolev embedding theorem.
Importantly, Sobolev spaces are infinite-dimensional. That is, an infinite number
of different functions belong to a given Sobolev space. This is of crucial importance,
since a fundamental step in the finite element method will involve finite-dimensional
function spaces.
It is useful to define function spaces, from which the trial and weight functions come.
Functions spaces can be considered the ‘family’ of functions from which u and w can
come. Consider first a scalar problem in an n-dimensional domain Ω. Trial functions
u come from the space S (u ∈ S ). The function space S is defined by:

S = {u | u ∈ H 1 (Ω) , u| Γg = g}. (2.37)

This says that the S is a collection of functions from H 1 (Ω) which satisfy the Dirichlet
boundary conditions (technically this is not a space if g 6= 0, but this point is not
important here). The weight functions come from the space V (w ∈ V ), which is
defined by:

V = {w | w ∈ H 1 (Ω) , w| Γg = 0}. (2.38)

This says that V is a collection of functions which come from H 1 (Ω) which are equal
to zero where Dirichlet boundary conditions are applied.

28 Version 0.2 January 21, 2011


2.7 Exercises

In multiple dimensions, u ∈ S where

S = {ui | ui ∈ H 1 (Ω) , ui | Γg = gi } (2.39)

and similarly for weight functions w ∈ V ,

V = {wi | wi ∈ H 1 (Ω) , wi | Γg = 0}. (2.40)

Further details can be found in texts on functional analysis and the mathematical
analysis of the finite element method.

2.7 Exercises
1. For 3 × 3 second-order tensors (matrices), prove that ∇w : σ = ∇s w : σ if σ is
symmetric. (Hint: use index notation.)
2. Derive the weak equilibrium equation (2.23) for elasticity using index notation.
3. The Helmholtz equation is given by:

∇ · (∇φ) + kφ = 0

and is often used in wave propagation problems. Derive the weak form.

4. Show whether the following functions belong to H 1 on the given domain:


a) u = 1/r on 1 < r < 2
b) u = 1/r on 0 < r < 2

c) u = 1/ r on 0 < r < 2
d) u = ax for x < 0 and u = bx for x > 0 on −1 < x < 1 (a and b are arbitrary
constants, a 6= b)
5. Solutions for the√displacement field from linear-elastic fracture mechanics often
involve a term r, where r is the distance √ from the crack tip (r ≥ 0). If the
displacement field was of the form u = a r (all derivatives of a exist and are
well behaved and a is not dependent on r), is u a possible trial solution?

January 21, 2011 Version 0.2 29


3 The Galerkin method
The finite element method is one particular Galerkin method, named after the Rus-
sian engineer Galerkin. It is a method for finding approximate solutions to partial dif-
ferential equations. It is closely related to the Rayleigh-Ritz method which involves
choosing functions (a basis) for the solution and finding the amplitude of each func-
tion by minimising the energy. The Galerkin method is however more general, being
able to solve a greater range of problems.
The essence of the Galerkin method involves taking the weak form of the governing
equation, as developed in the previous chapter, and finding the best solution to a
problem given a collection of functions.

3.1 Approximate solution


First, consider the approximate solution to some problem, uh ∈ S h , where S h ⊂ S is
a finite-dimensional space. This means that there is a limited number of possibilities.
For example, uh could be a combination of low order polynomial functions. The
Galerkin problem for an elastic bar (equation (2.12)) involves: find uh ∈ S h such that
Z L
h h
− w,x Eu,x dx + w h h| x= L = 0 ∀w h ∈ V h . (3.1)
0

where V h ⊂ V is a finite dimensional space. Commonly, the above equation is ex-


pressed in the abstract format as: find uh ∈ S h such that
   
B wh , uh = L wh ∀w h ∈ V h (3.2)

where
  Z L
B wh , uh = h
w,x h
Eu,x dx (3.3)
0

and
 
L wh = wh h| x= L . (3.4)

This abstract format is introduced to keep the derivation of some later developments
compact. Furthermore, it is generic for a range of different problems. In a multi-
dimensional context, the finite-dimensional trial and weight functions are denoted
uh and wh , respectively. Considering now the elasticity problem in equation (2.23),
the Galerkin problem involves: find uh ∈ S h such that
Z Z Z
− ∇s wh : C : ǫh dΩ + wh · b dΩ + wh · h dΓ = 0 ∀wh ∈ V h (3.5)
Ω Ω Γh

31
3 The Galerkin method

where ǫ h = ∇s uh . In the abstract notation of equation 3.2,


  Z
B wh , uh = ∇s wh : C : ǫh dΩ (3.6)

and
  Z Z
L wh = wh · b dΩ + wh · h dΓ. (3.7)
Ω Γh

The Galerkin method (more specifically, the Bubnov-Galerkin method) requires


that the weight and trial functions come from the same finite-dimensional space, tak-
ing into account the special requirements on the weight and trial functions where
Dirichlet boundary conditions are applied. In Petrov-Galerkin method, the weight
functions come from a different function space than the trial functions. This method
is used for special applications, often in fluid mechanics.
Different Galerkin-based methods are defined by how the unknown field uh is rep-
resented. In the finite element method, uh and w h will be simple continuous, piece-
wise low-order polynomials defined on ‘finite elements’. Spectral Galerkin meth-
ods for example use a truncated Fourier series as the basis. A basic question which
arises when computing an approximate solution is how uh relates to the exact solu-
tion u. Given a finite number of possibilities in S h , which solution does the method
seek? Understanding this requires some basic error analysis. The error analysis will
tell how the computed solution uh differs from the actual solution u and why the
Galerkin method works (or for problems not considered here, why it doesn’t work).
This is examined in the following section.

3.2 Basic error analysis


It is interesting to check how the solution computed using the Galerkin procedure
compares to the exact solution. For the one-dimensional problem, the error in the
displacement e at a point is defined by:

e = u − uh (3.8)
where u is the exact solution and uh is the solution to equation (3.1). The approximate
solution is therefore equal to:

uh = u − e (3.9)
For generality, this will be investigated using the abstract notation. Inserting equation
(3.9) into equation (3.2),
     
B w h , u − B w h , e − L w h = 0 ∀w h ∈ V h (3.10)
   
Since u is the exact solution, B w h , u − L w h = 0 ∀w h ∈ V h , this implies that:
     
B w h , e = B w h , u − B w h , uh = 0 ∀w h ∈ V h (3.11)

32 Version 0.2 January 21, 2011


3.3 Convergence of the Galerkin method

which in mathematical terms means that the error is orthogonal to the function space
V h with respect to B (·, ·). This important result is commonly known as Galerkin or-
thogonality. This means that the approximate solution uh is a projection of the exact
solution u onto the space of the weight functions. In the Bubnov-Galerkin, the weight
functions w h come form the same space as the trial functions uh , hence the solution uh
is the projection of the exact solution onto the finite dimensional space of trial func-
tions. It can be shown that the Galerkin finite element method is optimal in terms of
the energy. This error analysis tells something of what the Galerkin method calcu-
lates. Given some approximate functions, the Galerkin method will yield the best fit
to the exact solution in terms of energy. Consider the following:
     
B u − uh + vh , u − uh + vh = B u − uh , u − uh + vh + B vh , u − uh + vh
   
= B u − uh , u − uh + 2B vh , u − uh (3.12)
 
+ B vh , vh

for any vh ∈ V h , where u is the exact solution and uh is the solution to the Galerkin
problem. From Galerkin orthogonality (equation (3.11)), the term B(u − uh , vh ) is
equal to zero. Furthermore, B(vh , vh ) ≥ 0. Denoting now w h = uh − vh , the above
result leads to the conclusion that:
   
B u − uh , u − uh ≤ B u − wh , u − wh ∀w h ∈ V h (3.13)

This implies that the solution uh is closer to u than any other element of V h in terms
of B (·, ·). Consider the ‘energy’ norm:

kvk2E = 12 B (v, v) (3.14)


which for an elastic body is the strain energy for a given displacement field v. Equa-
tion (3.13) can then be expressed as:

ku − uh k E ≤ ku − wh k E ∀w h ∈ V h (3.15)
which says that the solution computed using the Galerkin method yields a solu-
tion which is optimal in terms of the strain energy. Given a choice of functions, the
Galerkin method therefore chooses those which minimise the error in terms of the
strain energy.
There is a close relationship between the Rayleigh-Ritz method and the Galerkin
method. It has been shown that the Galerkin method minimises the error in terms
of the energy, which is the principle behind the Rayleigh-Ritz method. For many
problems in solid mechanics, the two are equivalent.

3.3 Convergence of the Galerkin method


It has been shown here that the Galerkin method works. How well it works requires
a priori error estimation. This is reserved for a later section as it relies on some details

January 21, 2011 Version 0.2 33


3 The Galerkin method

of the finite element method. Crucially, convergence requires that:

lim uh = u (3.16)
h →0

For finite element analysis, this corresponds to the exact solution being approached
upon mesh refinement. A major question which arises is how fast the exact solution
is approached as h is reduced.
Details of these procedures and more elaborate mathematical analysis of the issue
considered in this chapter can be found in a range of books relating to the mathemat-
ics of the finite element method (Braess, 2001; Brenner and Scott, 1994; Reddy, 1998;
Strang and Fix, 1973).

3.4 Exercises
1. For elasticity, show that a solution to the Galerkin problem corresponds to a
minimisation of the potential energy.

34 Version 0.2 January 21, 2011


4 Formulation of the finite element method

In this chapter, a key component of the finite element method is developed. This is
the discretisation of the governing equations using finite element shape functions. The
unknown field uh (the displacement for elasticity problems) will be described using
basis functions (the shape functions) and discrete nodal values which represent the
amplitude of the basis functions. Discretisation is a step toward computer implemen-
tation.
The terminology in this chapter relates primarily to elasticity problems. The de-
velopments are however general and the same procedure can be used to solve other
problems.

4.1 Finite element method with piecewise linear basis functions

The simplest finite element shape functions are continuous, piecewise linear func-
tions. Consider the elastic bar in Figure 4.1, which is restrained at both ends and
loaded by a distributed force f . Along the bar, a number of ‘nodes’ are located, and
the domain between two nodes is known as an element. Associated with each node
is a hat-like basis function which has a value of one at the node, and zero at all other

1
0 1
0
0
1
0
1 1 2 3 4 5 6 7 8
0
1
0
1
0
1 0
1
L

Figure 4.1: One-dimensional bar.

35
4 Formulation of the finite element method

nodes. The basis function at node i, is given by



x x i −1


x − x − x i −1 < x ≤ x i ,
 i −1 x i − x i −1
 i

Ni = x x i +1 (4.1)
− x i < x < x i +1 ,


 x i − x i +1 x i − x i +1


0 otherwise,
where xi is the coordinate of node i. In finite element analysis, these basis functions
are known as ‘shape functions’. For a one-dimensional bar, discretised with n nodal
points, the approximate displacement field uh is given by
n
uh = ∑ Ni ( x) ui , (4.2)
i =1

where ui is the value of the field uh at node i. Hence, the approximate displacement
field is given in terms of the shape functions and the approximate displacement at
a finite number of points (nodes). From this expression, the strain field can be com-
puted easily by taking the derivative of the shape functions,
n
dNi
ǫh = u,x
h
= ∑ u. (4.3)
i =1
dx i
To develop the Galerkin problem, an expression is needed for the weight func-
tion w h . It is expressed using the same basis functions as the displacement field,
hence
n
wh = ∑ Ni wi . (4.4)
i =1

Recalling the weak form for a one-dimensional elastic rod,


Z Z Z
h h
w,x Eu,x dΩ = w h f dΩ + w h h dΓ ∀ wh ∈ V h , (4.5)
Ω Ω Γh

and inserting the expression for the expressions for the approximate displacement
field and the weight function,
! !
Z n n


∑ Ni,x wi E ∑ Nj,x u j dΩ
i =1 j =1
! !
Z n Z n
=

∑ Ni wi f dΩ +
Γh
∑ Ni,x wi h dΓ (4.6)
i =1 i =1

for all possible values of wi . Given that wi is not a function of spatial position, it can
be taken outside of the integrals,
!
n Z n n Z n Z
∑ wi Ni,x E ∑ Nj,x u j dΩ = ∑ wi Ni f dΩ + ∑ wi Ni h dΓ. (4.7)
Ω Ω Γh
i =1 j =1 i =1 i =1

36 Version 0.2 January 21, 2011


4.2 General finite element basis functions

Likewise, u j can also be taken outside of the integrals,


!
n n Z n Z n Z
∑ wi ∑ uj Ω
Ni,x E Nj,x dΩ = ∑ wi Ω
Ni f dΩ + ∑ wi
Γh
Ni h dΓ. (4.8)
i =1 j =1 i =1 i =1

This equation must hold for all possible combinations of wi . Consider the case that
all but one wi is equal to zero. Therefore, for each i
n Z Z Z
∑ uj Ω
Ni,x E Nj,x dΩ =

Ni f dΩ +
Γh
Ni h dΓ (4.9)
j =1

must hold. This yields n equations (one for each wi , and n unknowns in the form of
ui ), which can be expressed as the system of equations,

Kij u j = f i , (4.10)

where
Z
Kij = Ni,x E Nj,x dΩ (4.11)

and
Z Z
fi = Nj f dΩ + Nj h dΓ (4.12)
Ω Γh

The matrix K = Kij is commonly known as the stiffness matrix, and f = f i as the
right-hand side (RHS) vector. Solving this linear system of equations provides u j ,
and hence an expression for the approximate displacement field along the rod.
In order the solve the linear system, Dirichlet boundary conditions must be en-
forced. For the zero Dirichlet conditions, this is relatively simple. If a boundary
condition is applied at node k, then the row and the column k is removed from the
stiffness matrix, and the kth term is deleted from the vector f . A discussion of more
general boundary conditions is delayed until the end of the chapter.

4.2 General finite element basis functions


The concept introduced in the previous section can be extended to higher spatial di-
mensions and more complex shape functions. It is useful to define shape functions
on finite elements. Matrices and vectors can be built for each element before being
assembled into global matrices and vectors.
A mesh divides a body into a number of elements. A typical finite element mesh
is shown in Figure 4.2. The problem has been divided into many quadrilateral ele-
ments. A finite element mesh consists of nodal points and elements. Nodes are points
in space, while elements are lines (1D), surfaces (2D) or volumes (3D) which are con-
structed by joining nodal points. Elements may not overlap. A simple finite element

January 21, 2011 Version 0.2 37


4 Formulation of the finite element method

Figure 4.2: Typical two-dimensional finite element mesh.

6
4 7
3 8
4 7
5 8
3
1 6
2 5
9
1 2
Figure 4.3: Simple two-dimensional finite element mesh.

38 Version 0.2 January 21, 2011


4.2 General finite element basis functions

1 1

1 2
L
x=0
Figure 4.4: One-dimensional linear bar element and associated shape functions.

mesh is shown in Figure 4.3. In Figure 4.3, the mesh is constructed with triangular
elements. Both nodes and elements are numbered. Each element has three nodes.
As in the one-dimensional case, the unknown (displacement) field uh is discretised
by developing a method in which the displacement at any point in a body is deter-
mined in terms of a discrete number of values which are stored at the nodes (known
as degrees of freedom) and basis functions. The displacement field is given by a linear
combination of a finite number of basis functions (a summation of the basis functions,
each multiplied by a nodal value, the amplitude). In the finite element method, the
basis functions are defined on simple geometric elements, known as finite elements.
Finite element shape functions are typically piecewise continuous polynomial func-
tions with a ‘compact support’. Each shape function Ni is associated with a node i.
They are characterised by being equal to unity at their node, and zero at all other
nodes. Having a compact support, shape functions are non-zero only close to their
node. A finite element shape function is only non-zero on elements to which it is
attached. Once the displacement field uh and its derivatives ∇uh can be expressed
in terms of nodal unknowns, the discretised field can be inserted into the weak gov-
erning equations. Shape functions for various elements are discussed in detail in the
following sections.

4.2.1 One-dimensional bar elements

To begin, linear one dimensional elements, as introduced in Section 4.1, are examined.
Consider the one-dimensional bar element in Figure 4.4. The bar has two nodes,
denoted by the solid circles. For a node i, the shape function associated with that
node, Ni , is equal to one at the node and zero at all other nodes. The displacement
field inside the bar in terms of discrete nodal values and shape functions is given by:

uh ( x ) = N1 ( x ) a1 + N2 ( x ) a2 , (4.13)

January 21, 2011 Version 0.2 39


4 Formulation of the finite element method

where ai is the displacement at node i (it is ‘stored’ at the node). The shape functions
corresponding to each node are given by:
x
N1 = − + 1, (4.14)
L
x
N2 = . (4.15)
L
Hence,
 x  x
u h = − + 1 a1 + a2 . (4.16)
L L
This type of element is known as a linear element, as its shape functions are linear
polynomials. The weak form of the governing equations involves derivatives with
respect to the spatial position. Therefore, to solve a problem, the derivative of the
displacement field with respect to x (the strain) is required. Taking the derivative of
equation (4.16) with respect to x,
duh dN1 dN2 1 1
ǫh = = a + a2 = − a1 + a2 . (4.17)
dx dx 1 dx L L
In the case of a linear displacement interpolation, the derivative of the shape function
with respect to x is a constant function within an element. Now, in terms of nodal
degrees of freedom ae , the displacement and strain can be calculated in any part of
the element.
In matrix-vector notation, the displacement field is expressed as:

uh = Nae , (4.18)
where
 
N = N1 N2 , (4.19)
and
 
a1
ae = . (4.20)
a2
The strain is given by:

ǫh = Bae , (4.21)
where the matrix B is equal to:
 
dN1 dN2
B= . (4.22)
dx dx
The shape functions for two linear elements are shown in Figure 4.5. Note also that
these shape functions posses C0 continuity – they are continuous but their derivatives
involve jumps across element boundaries.
The matrix-vector notation for uh and ǫh may seem trivial for one-dimensional
problems. It does however make the generalisation to multiple dimensions simple.

40 Version 0.2 January 21, 2011


4.2 General finite element basis functions

1 1 1

L1 L2

Figure 4.5: Shape functions for two one-dimensional linear bar elements.

Higher-order one-dimensional elements


It is possible to develop one-dimensional elements with higher-order polynomial in-
terpolations. Higher-order elements simply have more nodes. More nodes through
which the shape function must interpolate naturally means a higher-order polyno-
mial is required. Figure 4.6 illustrates shape functions for quadratic and cubic ele-
ments. For a one-dimensional quadratic element, the displacement field is given by:
3
uh = ∑ Ni (x) ai . (4.23)
i =1

Therefore, the N matrix has the form:


 
N = N1 N2 N3 , (4.24)
and the B matrix has a similar form. Since the displacement field is quadratic, obvi-
ously the strain field is linear.
The interpolation basis for higher-order elements is richer since both constant, lin-
ear and quadratic (and even higher) variations in the unknown field can be described
within an element.

4.2.2 Two-dimensional continuum elasticity elements


In two or more dimensions, each unknown field (such as displacement in each direc-
tion) is interpolated using the polynomial shape functions. The displacement field
for an element is given by:

uh = Nae , (4.25)
and the strain field (using engineering notation) is given by:

ǫ h = Bae . (4.26)
The matrix N contains the element shape functions. In two dimensions, it has the
form:
 
N1 0 N2 0 . . . Nnn 0
N= , (4.27)
0 N1 0 N2 . . . 0 Nnn

January 21, 2011 Version 0.2 41


4 Formulation of the finite element method

1 1 1

1 2 3
quadratic shape functions

1 1 1 1

1 2 3 4
cubic shape functions

Figure 4.6: Higher-order one-dimensional elements.

where nn is the numbers of nodes of the element. For two-dimensional problems, the
matrix B has the form:
 
∂N1 ∂N2 ∂Nnn
 ∂x 0 0 . . . 0
 ∂x ∂x 

 ∂N1 ∂N2 ∂Nnn 
 
B= 0 0 ... 0 . (4.28)
 ∂y ∂y ∂y 
 
 ∂N1 ∂N1 ∂N2 ∂N2 ∂Nnn ∂Nnn 
...
∂y ∂x ∂y ∂x ∂y ∂x
The nodal degrees of freedom (normally one for each spatial dimension at each node
for elasticity problems) are stored in a vector a. For a two-dimensional problem,
 

 a1 x 

 a1 y 

 

 
 a
 2x 
 

ae = a2 y . (4.29)

 .. 


 . 

 


 a nn

x

 
ann y
The simplest element in two-dimensions is the three-node triangle. It is shown in
Figure 4.7. Its shape functions are of the form:

42 Version 0.2 January 21, 2011


4.2 General finite element basis functions

( x3 , y3 )
3

1
2
( x1 , y1 )
( x2 , y2 )

Figure 4.7: Three-node triangular element.

Figure 4.8: Shape function for a three-node element.

N = c1 x + c2 y + c3 . (4.30)
The shape function for a node is illustrated in Figure 4.8. Given that a shape function
should have a value of unity at its node and zero at other nodes, the coefficients c can
be found by solving a linear system of equations. Consider node 1 in Figure 4.7. Its
shape function must satisfy:
N1 ( x1 , y1 ) = c1 x1 + c2 y2 + c3 = 1, (4.31)
N1 ( x2 , y2 ) = c1 x2 + c2 y2 + c3 = 0, (4.32)
N1 ( x3 , y3 ) = c1 x3 + c2 y3 + c3 = 0, (4.33)
where ( xi , yi ) is the location of the ith node. This can be cast in a matrix form as:
    
x 1 y 1 1  c 1  1 
 x2 y2 1 c2 = 0 . (4.34)
   
x3 y3 1 c3 0
Solving the above system of equations yields the coefficients for the shape function
of node 1. It is clear from the linear form of the shape functions for the three-node
triangle that the derivatives are constant, hence the strain in the element is constant.
Example 4.1
Consider the element in Figure 4.7. Given the following coordinates of each of

January 21, 2011 Version 0.2 43


4 Formulation of the finite element method

the nodes, find the shape function for node 2.

( x1 , y1 ) = (1, 2)
( x2 , y2 ) = (4, 1)
( x3 , y3 ) = (2, 3)

To find the coefficients, a system of equations (see equation (4.34)) is formed.


Since the shape function for node 2 is being calculated, the only non-zero term
on the RHS corresponds to node 2.
    
1 2 1  c1  0
4 1 1  c 2 = 1
   
2 3 1 c3 0

Solving this system of equations gives:

N2 = 0.25x − 0.25y + 0.25

Once the shape functions have been computed for each node, the N and B ma-
trices can be formed. The N matrix for this element is of the form:
 
N1 0 N2 0 N3 0
N=
0 N1 0 N2 0 N3

and the B matrix is of the form:


 
N1,x 0 N2,x 0 N3,x 0
B= 0 N1,y 0 N2,y 0 N3,y 
N1,y N1,x N2,y N2,x N3,y N3,x


A very commonly used element in finite element analysis is the four-node quadri-
lateral. Its shape functions are of the form:

N = c1 xy + c2 x + c3 y + c4 . (4.35)

It is also know as a bilinear element, due to the presence of the xy terms in the shape
functions. A four-node quadrilateral element is shown in Figure 4.9. A shape function
for a four-node element is shown in Figure 4.10. Unlike the three-node triangle, the
strain in this element is not constant.

Higher-order solid elements


As in one-dimensional problems, plane and three-dimensional elements can have
higher-order interpolations. The shape functions for a six-node triangle are of the
form:

N = c1 x2 + c2 y2 + c3 xy + c4 x + c5 y + c6 (4.36)

44 Version 0.2 January 21, 2011


4.2 General finite element basis functions

4
3

Figure 4.9: Four-node quadrilateral element.

Figure 4.10: A shape function for four-node quadrilateral element.

As with the three-node triangle, the coefficients can be found by solving a linear sys-
tem of equations. Solving the below system of equations would yield the coefficients
for node 1,
    
x12 y21 x1 y1 x1 y1 1  c
 1   
1

 2  
 
 

 x2 y22 x2 y2 x2 y2 1 
 c2 



 0

    
   
1 c3 0
 2   
 x3 y23 x3 y3 x3 y3    

 2
 =
 c4  0 . (4.37)
 x4 y24 x4 y4 x4 y4 1    
 










 x2 y25 x5 y5 x5 y5 
1 
 c 5 
 
 0 

 5  
 
 

    
x62 y26 x6 y6 x6 y6 1
 c 6
 0 

Two shape functions for a six-node triangle are shown in Figure 4.11
The polynomial terms needed for triangular elements can be taken from a Pascal
triangle (see Figure 4.12). Note that triangular elements are complete – that is the
shape functions contain all polynomial terms up to a given order. Each time the
order of a triangle is increased, a new ‘row’ of terms from the Pascal triangle is added
to the shape functions. Linear, quadratic and cubic triangular elements are shown in
Figure 4.13.
Higher-order quadrilateral elements can also be constructed. They belong to one
of two families: serendipity or Lagrange. Serendipity elements have nodes only on
element boundaries, whereas Lagrange elements have nodes on the element interior.
Several serendipity and Lagrange finite elements are shown in Figure 4.14. A Pas-
cal triangle for serendipity elements is shown in Figure 4.15. Note that serendipity

January 21, 2011 Version 0.2 45


4 Formulation of the finite element method

Figure 4.11: Two shape functions for a six-node triangular element.

1
x y
x2 xy y2
x3 x2 y xy2 y3
x4 x3 y x 2 y2 xy3 y4
... ... ... ... ... ... ...

Figure 4.12: Pascal triangle – polynomial terms for triangular elements of order n.

Figure 4.13: Linear, quadratic and cubic triangular elements.

46 Version 0.2 January 21, 2011


4.2 General finite element basis functions

(a)

(b)

Figure 4.14: Serendipity (a) and Lagrange (b) quadrilateral finite elements.

1
x y
x2 xy y2
x3 x2 y xy2 y3
x4 x3 y xy3 y4
... ... ... ...

Figure 4.15: Pascal triangle for serendipity elements.

elements of order higher than three ’miss’ polynomial terms, and are therefore not
recommended. Internal nodes must be introduced to ensure all polynomial terms are
included. The Pascal triangle for Lagrange elements is shown in Figure 4.16. The
elements do not suffer from the limitation of missing polynomial terms for any or-
der interpolation. Eight- and nine-node quadrilateral elements are commonly used
in finite element analysis. The shape functions for the eight-node serendipity quadri-
lateral have the form:

N = c1 x2 y + c2 xy2 + c3 x2 + c4 y2 + c5 xy + c6 x + c7 y + c8 , (4.38)

and for the nine-node Lagrange quadrilateral the shape functions have one extra term
and are of the form:

N = c1 x2 y2 + c2 x2 y + c3 xy2 + c4 x2 + c5 y2 + c6 xy + c7 x + c8 y + c9 . (4.39)

January 21, 2011 Version 0.2 47


4 Formulation of the finite element method

1
x y
x2 xy y2
x3 x2 y xy2 y3
... x3 y x 2 y2 xy3 ...

... x 3 y2 x 2 y3 ...

... x 3 y3
...

Figure 4.16: Pascal triangle for Lagrange elements.

Figure 4.17: Tetrahedral and brick three-dimensional finite elements.

4.2.3 Three-dimensional elements


Three-dimensional elements are increasingly used in engineering analysis. They can
be formed in the same fashion as one- and two-dimensional elements. Commonly
used shapes are tetrahedra and bricks. These two elements are shown in Figure 4.17.
The computational effort required for three-dimensional analysis can become high.
Not only do the elements tend to have more nodes, they often have more degrees of
freedom per node.
A four-node tetrahedral element has linear shape functions. They are of the form:

N = c1 x + c2 y + c3 z + c4 . (4.40)

Similar to the three-node triangle, the derivatives of the shape functions are constant
within an element. The simplest brick element has eight nodes. Its shape functions
are of the form:

N = c1 xyz + c2 xy + c3 xz + c4 yz + c5 x + c6 y + c7 z + c8 . (4.41)

This is known as a ‘trilinear element’. Higher-order version of both tetrahedral and


brick elements also exist. The numbers of nodes per element increases rapidly. Also,
wedge type elements are often used for generating meshes for complex geometries.

48 Version 0.2 January 21, 2011


4.3 Governing equations

x=0 x = l1 x = l2
x=L

Figure 4.18: One-dimensional bar showing the element that extends from x = l1 to
x = l2 .

The three-dimensional equivalent of a Pascal triangle can be used to find the poly-
nomial terms for higher-order three-dimensional elements (Zienkiewicz and Taylor,
1989)

4.3 Governing equations


At this point, it is known how the displacement and the displacement gradient at
a point in space can be expressed in terms of the nodal variables (degrees of free-
dom). What remains is the insertion of the discretised field uh into the governing
weak equation.
The weight (test) functions are discretised in the same fashion as the unknown
field uh . Therefore, for the multi-dimensional case within an element,

wh = Nbe , (4.42)
s h
∇ w = Bbe , (4.43)

where the notation has been ‘abused’ as ∇s wh is being expressed as a vector (recall
that this is possible due to symmetry). Now, the one-dimensional governing equation
for an elastic rod (equation (3.1)) is considered. Take a single element (of any order)
which extends from l1 to l2 (see Figure 4.18). The discretised governing equation for
the element is expressed as:
Z l2 Z
( Bbe ) T EBae dΩ = ( Nbe ) T h dΓ, (4.44)
l1 Γh,e

where the integral over Γh,e is only non-zero if the boundary of the element coincides
with the boundary Γh . The discrete nodal values can be removed from the integrals,
which after some rearranging (using ( Ac) T = c T A T ) leads to:
Z l2 Z
be T B T EB dΩ ae = be T N T h dΓ. (4.45)
l1 Γh,e

The be terms appear on both sides of the equality, and can therefore be eliminated,
Z l2 Z
B T EB dΩ ae = N T h dΓ. (4.46)
l1 Γh,e

January 21, 2011 Version 0.2 49


4 Formulation of the finite element method

The term
Z l2
ke = B T EB dΩ (4.47)
l1

is known as the ‘element stiffness matrix’. Once the stiffness matrix has been formed
for an element, its contribution is added to the ‘global’ stiffness matrix K.
For a continuum elasticity problem, the discretised displacement and strain fields
are inserted into equation (3.5). This yields:
Z Z Z
( Bbe ) T DBae dΩ = ( Nbe ) T h dΓ + ( Nbe ) T b dΩ (4.48)
Ωe Γh,e Ωe

(recall that b denotes the body force). Following the same steps as for the one-
dimensional problem, the element stiffness matrix is expressed as:
Z Z Z
B T DB dΩ ae = N T h dΓ + N T b dΩ. (4.49)
Ωe Γh,e Ωe

Once the stiffness matrix has been formed for each element in the problem, it must
be assembled into the global stiffness matrix. This is denoted symbolically by the
operation:

K = Anee =1 k e , (4.50)
ne
f = A e =1 f e , (4.51)

where A represents the assembly operation and ne is the number of elements in the
mesh. For an element stiffness matrix, the term k ij relates local nodes i and j. In
the global mesh, local node i has global node number I, and similarly for J. The
component k ij is added to the location K I J . The assembly process is discussed in
more detail in Chapter 5.

4.4 Isoparametric mapping


In practice, isoparametric elements are used in finite element software. The shape
functions are formed for a simple element configuration (typically elements with unit
length side and with sides aligned with the coordinate system and with a convenient
origin). This approach has a number of advantages. From the point of view of im-
plementation, it requires the programming of only one function to evaluate the shape
functions of a type of element, irrespective of the exact shape of the element. It also
allows the simple application of numerical integration, as is discussed in the follow-
ing section. A third advantage is that isoparametric mapping allows higher-order
elements to have curved edges.
An isoparametric mapping is defined via a mapping using the nodal shape func-
tions. For a two dimensional problem, the point ( x, y) in the ‘physical’ Cartesian

50 Version 0.2 January 21, 2011


4.4 Isoparametric mapping

x
3

(−1,1) (1,1) 2
4 3 4

ξ
y

1 2
x
(−1,−1) (1,−1)
1

Figure 4.19: Isoparametric mapping for a bi-unit square.

configuration is given by:

nn
x= ∑ Ni (ξ, η ) xi ,
i =1
nn
(4.52)
y= ∑ Ni (ξ, η ) yi ,
i =1

where (ξ, η ) are known as the ‘natural coordinates’, and nn is number of nodes of
the element. The mapping for a four-node quadrilateral element is illustrated in Fig-
ure 4.19. The map x takes a point within the bi-unit square in the (ξ, η ) domain and
maps it to a point in the ‘real’ element in the Cartesian ( x, y) system. The position
on the bi-unit square is given by the natural coordinates, ξ and η. The map ξ is the
inverse of x, taking a point in the real Cartesian ( x, y) system and mapping to a point
(ξ, η ) in the bi-unit square.
Using an isoparametric mapping, shape functions can be defined on simple shapes,
such as the bi-unit square. For example the displacement in the x-direction at a point
is given by:

nn
uh = ∑ Ni (ξ, η ) aix . (4.53)
i =1

The difficulty that arises is when computing derivatives with respect to the real coor-
dinates, as the shape functions are defined in terms of the natural coordinates. In the
governing weak equations, derivatives of the unknown field with respect to x and y
are required. To proceed, consider the application of the product rule for differentia-

January 21, 2011 Version 0.2 51


4 Formulation of the finite element method

tion for a function f ,


∂f ∂ f ∂x ∂ f ∂y
= + , (4.54)
∂ξ ∂x ∂ξ ∂y ∂ξ
∂f ∂ f ∂x ∂ f ∂y
= + . (4.55)
∂η ∂x ∂η ∂y ∂η
This can be written in matrix form as:
    
 ∂f  ∂x ∂y  ∂ f 
 ∂ξ   ∂ξ ∂ξ  
   ∂x 
=   , (4.56)

 ∂f  ∂x ∂y   ∂f 
   
  
∂η ∂η ∂η ∂y
| {z }
J

where the matrix J is commonly known as the Jacobian matrix. Taking the inverse of
the Jacobian,
    
∂f  ∂y ∂y  ∂ f 

 
 ∂x  − 
  
1  ∂η ∂ξ 
 ∂ξ ,
=  (4.57)
 ∂f  j  ∂x ∂x  ∂f 
 
  − 
 

∂y ∂η ∂ξ ∂η
| {z }
J

where
j = det J. (4.58)
In light of the isoparametric mapping (equation (4.52)), the terms in the matrix J can
be computed. Using the shape function, defined in terms of ξ and η,
nn
∂x ∂Ni
=∑ x,
∂ξ i =1
∂ξ i
nn
∂x ∂Ni
=∑ x,
∂η i =1
∂η i
nn
(4.59)
∂y ∂Ni
=∑ y,
∂ξ i =1
∂ξ i
nn
∂y ∂Ni
=∑ y.
∂η i =1
∂η i
Once terms of the matrix J have been formed, from equation (4.57) the derivatives of
the shape function of node i with respect to x and y can be computed,
   
 ∂Ni   nn nn
  ∂Ni 

 ∂x 
1 ∑ j=1 Nj,η y j − ∑ j=1 Nj,ξ y j  ∂ξ 
 
=   . (4.60)
∂N  j − ∑nn Nj,η x j ∑ nn
N x ∂Ni 
 i

 
 
 j =1 j =1 j,ξ j  
∂y ∂η

52 Version 0.2 January 21, 2011


4.4 Isoparametric mapping

s s

3 (0,1) 3 (0,1)

5
6

2 r 2 r
1 1
(0,0) (1,0) (0,0) 4 (1,0)

Figure 4.20: Three-node and six-node triangles using area coordinates.

Now, once the derivatives of the shape functions have been calculated on the simple
isoparametric domain, they can be calculated for the real configuration. While this
procedure may seen complex, it can be implemented in a computer code in a simple
and compact fashion.

Quadrilateral elements

The shape functions for quadrilateral elements on a bi-unit square is particularly sim-
ple. For the bi-unit quadrilateral in Figure 4.19, the shape function of the ith node is
given by:

1
Ni (ξ, η ) = (1 + ξ i ξ ) (1 + ηi η ) . (4.61)
4

Similar formulae can be found for eight- and nine-node elements (Hughes, 1987).

Triangular elements

Isoparametric mappings are also applied for triangular elements. A popular ap-
proach is to ‘degenerate’ a quadrilateral element to a triangular element (Bathe, 1996;
Hughes, 1987). This way, a four-node quadrilateral element can be reduced to a three-
node triangular element, and an eight-node quadrilateral element can be reduced to
a six-node triangular element. Is is also possible to directly address isoparametric
triangular elements. The latter approach is followed here.
Triangular elements are often described using area coordinates. Consider the triangle
in Figure 4.20. The position of a point inside the triangle is given by r, s and t, where:

t = 1 − r − s. (4.62)

January 21, 2011 Version 0.2 53


4 Formulation of the finite element method

The shape functions for the nodes of the element in Figure 4.20 are then:

N1 = t, (4.63)
N2 = r, (4.64)
N3 = s. (4.65)

Note the numbering of the nodes for the quadratic triangle in Figure 4.20. It is com-
mon for higher-order elements that the apexes are first numbered (corner nodes in the
case of quadrilateral elements), then the mid-side nodes. For a quadratic (six-node)
triangular element, the shape functions are equal to:

N1 = 2t2 − t, N4 = 4rt,
2
N2 = 2r − r, N5 = 4rs, (4.66)
N3 = 2s2 − s, N6 = 4st.

There is a formula for the shape functions of arbitrary order in terms of r, s and t on
triangles (Hughes, 1987, p. 166).

4.5 Numerical integration

At this stage, the problem is not yet fully discrete. While the displacement field has
been discretised, the element stiffness matrices and RHS vectors still involve integra-
tion over volumes and surfaces (see section 4.3). To make the formulation fully dis-
crete (and amendable to computer implementation), numerical integration is applied.
Before proceeding to the element matrices, numerical integration in one-dimension is
considered.
For the integration of a function f (ξ ) from −1 to 1,
Z 1 nint

−1
f (ξ ) dξ ≃ ∑ f ( ξ i ) wi , (4.67)
i =1

where ξ i are discrete points on the integral domain, nint is the number of discrete
 the function is evaluated and wi is the weight as-
points (integration points) at which
n
signed to each point ∑i=int1 wi = 2 . Numerical integration is illustrated in Figure 4.21.
Different integration schemes specify where the points are located and the weight as-
sociated with each point. Two schemes which arise in finite element analysis are
Newton-Cotes and Gauss integration.
To evaluate the stiffness matrix of an element, it convenient to integrate in the (ξ, η )
domain. To do this, consider in two dimensions that:
Z Z 1 Z 1
B T DB dΩ = B T DBj dξ dη. (4.68)
Ωe −1 −1

54 Version 0.2 January 21, 2011


4.5 Numerical integration

−1 ξ1 ξ2 ξ3 ξ4 1 ξ

Figure 4.21: Numerical integration of the function f .

Note the appearance of the determinant of the Jacobian, j. This is due to dx dy =


j dξ dη (the substitution rule for integration has been applied). Application of nu-
merical integration leads to:
Z 1 Z 1 n

−1 −1
B T DBj dξ dη ≃ ∑ B (ξ i , ηi )T DB (ξ i , ηi ) j (ξ i , ηi ) wi . (4.69)
i

Note that B (ξ i , ηi ) is the usual B matrix, containing derivatives of the shape functions
with respect to x and y, evaluated at the point (ξ i , ηi ). To perform the numerical
integration of the element stiffness matrix, the last remaining issue is the selection of
an appropriate integration scheme.
A Newton-Cotes scheme uses equally spaced integration points. The sampling
points and weights are listed in Table 4.1. Importantly, (n + 1) integration points are
required when using a Newton-Cotes scheme to integrate an nth-order polynomial.
Most commonly in finite element analysis, Gauss integration is used. It is also known
as ‘Gauss quadrature’. Gauss quadrature is the optimal numerical integration scheme
for polynomials in one dimension. Optimal means that to integrate a polynomial
exactly, it requires the least number of points. For a (2n − 1)th-order polynomial,
Gauss integration requires n points to integrate the polynomial exactly. The location
and weights for Gauss integration in one dimension for up to three points are given
in Table 4.2. Three points integrate as 5th order polynomial exactly in one dimension.

For multi-dimensional problems, the one-dimensional scheme can be extended in


each spatial direction. This is simple when using isoparametric elements. However,
in multiple dimensions Gauss integration is not necessarily the most efficient scheme.
The question that arises in finite element analysis is: How many integration points
should be used? Generally, full integration schemes are recommended for their robust-
ness. Full integration means that the stiffness matrix is integrated exactly (assuming
j = constant). The integrand of the stiffness matrix is B T DB, where B contains deriva-
tives of the shape functions. Therefore, if the shape functions are linear, the terms in B
are constant and the stiffness matrix is also constant throughout the element. There-
fore, one integration point is sufficient (in one, two and three dimensions). If the
shape functions are quadratic, B contains linear terms, which when squared give a

January 21, 2011 Version 0.2 55


4 Formulation of the finite element method

n location ξ i weight wi
1 0 2

2 1 1
1 1

1
3 −1
3
4
0
3
1
1
3
1
4 −1
4
1 3

3 4
1 3
3 4
1
1
4

Table 4.1: Newton-Cotes integration rules for one dimension on the domain [−1, 1].

n location ξ i weight wi
1 0 2

1
2 −√ 1
3
1
√ 1
3
r
3 5
3 −
5 9
8
0
9
r
3 5
5 9

Table 4.2: Gauss integration rules for one dimension on the domain [−1, 1].

56 Version 0.2 January 21, 2011


4.6 Imposition of Dirichlet boundary conditions

Figure 4.22: Spurious zero energy mode for the eight-node quadrilateral element
when using 2 × 2 integration.

quadratic variation. To integrate a quadratic function in two dimensions, two points


are required in each direction.
For some applications it may be advantageous to use reduced integration schemes
in combination with particular elements. The four-node quadrilateral element re-
quires 2 × 2 points for full integration, although it is often integrated with just one
point. Similarly, the eight-node quadrilateral requires 3 × 3 points for full integration,
although a 2 × 2 scheme is often used. Reduced integration schemes can improve
the performance of some elements for special applications. The danger of under-
integrating elements is that spurious modes may arise. This means that a deformation
mode exists which does not contribute to the energy. This deformation mode can
develop in an uncontrolled fashion. Figure 4.22 shows the classic ‘hour-glass’ spuri-
ous mode for an eight-node quadrilateral when using reduced 2 × 2 integration. It is
often argued that a zero energy mode will be restrained by neighbouring elements,
although it is safer to use full integration. A test for the element stiffness matrix is
to calculate its eigenvalues. The number of zero eigenvalues indicates the number of
rigid body modes - modes which do not contribute to the energy. In one dimension,
there should only be one zero eigenvalue which corresponds to translation. In two
dimensions, there should be only three zero eigenvalues, two relating the translation
(x and y directions) and one for rigid body rotation. If a two-dimensional element has
more than three zero eigenvalues, there is likely a deficiency in the formulation.
In summary, recommended integration schemes for commonly used one- and two-
dimensional elements are shown in Table 4.3.

4.6 Imposition of Dirichlet boundary conditions


The imposition of Neumann (force) boundary conditions in the finite element method
is straightforward. They appear naturally in the weak formulation (hence the com-
mon name ‘natural boundary conditions’). Non-zero Dirichlet boundary conditions
are more complicated to enforce. In the Galerkin method, the trial functions (uh )
must satisfy the Dirichlet boundary conditions. In solid and structural mechanics,

January 21, 2011 Version 0.2 57


4 Formulation of the finite element method

element integration scheme

two-node bar 1

three-node bar 2

three-node triangle (T3) 1

six-node triangle (T6) or 3

four-node quadrilateral (Q4) 2×2

eight-node quadrilateral(Q8) 3×3

Table 4.3: Recommended integration schemes for commonly used elements.

58 Version 0.2 January 21, 2011


4.6 Imposition of Dirichlet boundary conditions

this means that the uh must satisfy the prescribed displacements where they are spec-
ified. Classical enforcement of Dirichlet boundary conditions in the finite element
method relies on the property of the shape functions that they are non-zero at their
own node and equal to zero at all other nodes. Two common approached are outlined
below.

4.6.1 Elimination of ‘Dirichlet’ degrees of freedom


The displacement field can be expressed by:

uh = vh + gh , (4.70)

where uh is the displacement, vh is equal to zero where Dirichlet (displacement)


boundary conditions are applied and gh satisfies the Dirichlet boundary conditions.
In discretised form at element level,
 e    
e kvv kevg av fv
k a= e = , (4.71)
k gv kegg g fg

where av are the nodal unknowns at nodes where no Dirichlet boundary conditions
are applied, and g are the applied Dirichlet boundary conditions. Since the weight
function is defined to be zero where Dirichlet boundary conditions are applied,
    
kevv kevg av fv
= . (4.72)
kegv kegg g 0

Since g is known, it is not included in the global system of equations to be solved. It


is possible to write:

kevv av + kevg g = f v , (4.73)

where av is the only unknown. Since g is known, Dirichlet boundary conditions can
be enforced by modifying the RHS vector,

kevv av = f e − kevg g. (4.74)

In terms of indexes, the element RHS vector is modified,


nn
f ie,mod = f ie − ∑ keij gej . (4.75)
j =1

Once the element stiffness matrix has been formed, the element RHS vector can be
modified to enforce Dirichlet boundary conditions before assembly into the global
RHS vector. The advantages of this approach are that degrees of freedom to which
Dirichlet boundary conditions are applied do not appear in the global stiffness matrix
and symmetries which may be present in the stiffness matrix are preserved.

January 21, 2011 Version 0.2 59


4 Formulation of the finite element method

4.6.2 Retention of ‘Dirichlet’ degrees of freedom


A simpler approach to imposing Dirichlet boundary conditions is to set all terms on
the row of the stiffness matrix corresponding to a node where a Dirichlet boundary
condition is applied (row k) equal to zero, except the diagonal term which is set equal
to one. The value of Dirichlet boundary condition is then inserted into the vector f
at position k. The advantage of this scheme is its simplicity, and that the value of the
Dirichlet boundary condition is returned in the solution vector which simplifies post-
processing. A disadvantage is that the size of the system of equations to be solved is
larger than when the extra degrees of freedom are eliminated (but only marginally so
in a typical simulation) and if the stiffness matrix is symmetric before the imposition
of Dirichlet boundary conditions, symmetry is lost. However, modern iterative linear
solvers can deal with the consequences of boundary conditions being applied in this
fashion is a very efficient manner (Ern and Guermond, 2004).

4.7 Exercises
1. For a plane elasticity problem, at which points is the stress from the finite ele-
ment solution not uniquely defined when using C0 elements?
2. Form the shape functions for a Lagrange nine-node quadrilateral element
3. The three-node triangle element is often referred to as the ‘constant strain trian-
gle’ (CST). Show why this is.
4. Under what conditions the matrix B T DB is symmetric?
5. Consider the Laplace equation, which is given by:
∆u = ∇ · (∇u) = 0
To solve this problem, both the finite element method and the finite difference
method require the solution of a system of equations Ka = f . In one dimension
and for equally spaced nodal points (nodes are a distance h apart), compare the
matrix K for the finite element method with linear elements and for the second-
order central finite difference method. The second-order finite difference equa-
tion for the second derivative is:

d2 u u − 2ui + ui+1
= i −1
dx2 i h2
For unequally spaced nodes, the difference equation for the second derivative
is:

d2 u 2ui−1 2ui 2ui+1
2
= − + 
dx i h j h j + h j +1 h j h j +1 h j +1 h j + h j +1
Comment on the symmetry of the operators for finite elements and finite differ-
ences on unequally spaced grid.

60 Version 0.2 January 21, 2011


4.7 Exercises

6. Calculate and plot the shape functions for the eight-node quadrilateral element
on a bi-unit square.
7. Formulate the stiffness matrix for the element in Figure 4.7 using the nodal co-
ordinates in Example 4.1 and for E = 1 and ν = 0.2. Calculate the eigenvalues
of the stiffness matrix and comment on their significance.
8. Form the stiffness matrix for a four-node quadrilateral on a bi-unit square. Cal-
culate its eigenvalues using one-point and 2 × 2 integration.

January 21, 2011 Version 0.2 61


5 Implementation of the finite element method

This chapter addresses practical aspects of implementing the finite element method.
To this point, the underlying theory has been addressed and the discretised formu-
lation for individual elements discussed. One of the strengths of the finite element
method is the efficiency with which it can be implemented in a computer code. This
chapter describes how the finite element method can be implemented in a computer
code. It is illustrated with schematic extracts of computer code.
The notation used in this chapter follows as closely as possible the notation used in
the accompanying Matlab code.
Note: Code examples in the chapter does not reflect the structure of the current version of
the Matlab code used in CT5123.

5.1 Preprocessing
The first step in finite element analysis is known as preprocessing. This step involves
generating a finite element mesh. For simple problems with only a few elements,
this can be done by hand. For problems typically analysed using the finite element
method, a mesh is too complicated to produce by hand. Mesh generation programs
exist which produce meshes suitable for finite element analysis. In large finite ele-
ment software packages, often a mesh generator is included. The generated mesh
files serve as input for a finite element program.
A finite element mesh consists of nodal coordinates and a connectivity. Figure 5.1
shows a simple finite element mesh of four-noded quadrilaterals. Both nodes and
elements have been numbered. Also shown are the applied boundary conditions
(both prescribed displacements and the applied force). A typical input file containing

F= 5.3
3 4 9

3
2 8
5
4

2 7
1
6

Figure 5.1: Finite element mesh with elements and nodes numbered.

63
5 Implementation of the finite element method

% node x y
1 0.0 0.0
2 0.0 0.8
3 0.0 2.0
4 0.5 2.0
5 0.6 1.0
6 0.76 0.7
7 2.1 0.82
8 2.1 1.5
9 2.1 2.0

Figure 5.2: Nodal coordinates.

% element node1 node 2 node 3 node 4


1 2 1 6 5
2 3 2 5 4
3 9 4 5 8
4 5 6 7 8

Figure 5.3: Element connectivity.

the nodal coordinates is shown in Figure 5.2. For each node, the x and y coordinate is
given. The connectivity list for Figure 5.1 is given in Figure 5.3. For each element, the
node numbers are listed. The list can begin with any node of the element, although
the numbering must process in an anti-clockwise direction (to avoid calculating a
negative volume and hence a negative element stiffness).
In addition to nodal coordinates and the connectivity, boundary conditions must be
specified. The problem in Figure 5.1 involves both Dirichlet (displacement) and Neu-
mann (force) boundary conditions. The list in Figure 5.4 gives the applied boundary
condition. First, the node to which a boundary condition is applied is listed. The
second column gives the boundary condition type: Dirichlet (displacement) = 1 and
Neumann (force) = 0. The third column gives the degree-of-freedom to which the
boundary condition is applied (dof=1 represents the x-direction and dof=2 represents
the y-direction). The final column is the value of the applied boundary condition.
This is either a prescribed force or the prescribed displacement.
The preprocessing is completed by specify the material data. For an isotropic
linear-elastic analysis, the is Young’s modulus, the Poisson’s ratio and the density
of the material. The density is necessary when taking the self-weight into account.

5.2 Program flow


Once the input for a finite element analysis has been prepared, the calculation phase
can begin. The outline of a typical finite element program for linear static problems

64 Version 0.2 January 21, 2011


5.3 Local-global

% node bc type dof value


1 1 1 0
1 1 2 0
2 1 1 0
3 1 1 0.0
9 0 1 5.3

Figure 5.4: Specification of boundary conditions.

is shown in Figure 5.5. It begins with reading the input data from the preprocess-
ing stage. Once the input data has been read, each degree of freedom at which no
Dirichlet boundary condition is applied is given an equation number. This is stored in
an array ID(node#,dof#) (see Figure 5.6). For degrees of freedom where a Dirichlet
boundarycondition is applied, ID=0. Degrees of freedom where Dirichlet boundary
conditions are applied do not appear in the stiffness matrix. Hence, for the problem
in Figure 5.1 the size of stiffness matrix is 14 × 14. After the number of equations has
been determined, it is then possible to allocate the memory required for the calcula-
tion.
Once the memory has been allocated, it is possible to start a major element of the
analysis – the calculation of the element stiffness matrix and element RHS. For each
element, the element stiffness matrix ke is formed and added into the global stiffness
matrix K. Similarly, the element RHS vector f e for each element is formed and added
into the global RHS vector f . If a Dirichlet boundary condition is applied to a de-
gree of freedom (or degrees of freedom) of the element, the RHS vector is modified to
impose the boundary condition. The element RHS vector is also assembled into the
global RHS vector. After looping over all the elements and forming the stiffness ma-
trix and RHS vector, Neumann boundary conditions are added into the RHS vector.
The second major step is the solution of the system of equations:

Ka = f .

Various methods can be used to do this. The best method depends on the nature
of the problem and its size. This aspect is discussed in Chapter 8. After the system
of equations has been solved, the displacement can be calculated at any point in the
body. For large problems, the amount of data can be immense. This data requires
post-processing to interpret the data and to extract the desired information.

5.3 Local-global
A key to implementing the finite element method is the local-global relationship be-
tween nodes. All nodes in a mesh have a global number. Locally, for each element,
each node of the element has a local number. The global node numbers can be seen
in Figure 5.1. From the connectivity (Figure 5.3), the relationship between the lo-
cal and global node numbers can be inferred for each element. Consider element 3

January 21, 2011 Version 0.2 65


5 Implementation of the finite element method

% start program

% read input data


read_nodes
read_connectivity
read_boundary_conditions
read_material_data

% number equations
number_equations

% setup memory allocation


memory_allocate

% loop over elements


for i=1:number_elements
local_arrays % copy global to local arrays
element_form % form stiffness matrix k_e and f_e for element
assemble_K % add element stiffness matrix into K
apply_dirichlet_bc % modify f_e for Dirichlet boundary conditions

assemble_f % add element RHS into global RHS


end

% apply Neumann boundary conditions


apply_neumann_bc

% solve system Ku = f
u = K\f

% post-process results
calculate_stress
plot_displacements

% end program

Figure 5.5: Finite element program flow for a linear problem.

66 Version 0.2 January 21, 2011


5.3 Local-global

ID(1,1) = 0 ID(1,2) = 0
ID(2,1) = 0 ID(2,2) = 1
ID(3,1) = 0 ID(3,2) = 2
ID(4,1) = 3 ID(4,2) = 4
ID(5,1) = 5 ID(5,2) = 6
ID(6,1) = 7 ID(6,2) = 8
ID(7,1) = 9 ID(7,2) = 10
ID(8,1) = 11 ID(8,2) = 12
ID(9,1) = 13 ID(9,2) = 14

Figure 5.6: Equation numbering.

1(9)
2(4)

4(8)

3 (5)

Figure 5.7: Global/local numbering of element 3. The global node number is shown
in brackets.

in Figure 5.1. For element three, the local and global node numbers are shown in
Figure 5.7. An array (matrix) connect(element#,local node#) contains the connec-
tivity data which is in Figure 5.3. For example, connect(3,1) = 9, connect(3,2)
= 4, connect(3,3) = 5, connect(3,4) = 8. Before forming the element i, infor-
mation specific to that element is copied from the global arrays containing nodal po-
sitions, displacements at nodes and any other relevant information to smaller local
arrays for the element. An example piece of code is shown in Figure 5.8 for copy
elements of the global arrays to the local element arrays.
Once the local arrays have been assembled for element i, its stiffness matrix can be
formed. A simple function to form the stiffness matrix and RHS vector of an element
is shown Figure 5.9. The process is repeated for every element in the mesh. Once the
stiffness matrix has been calculated for an element, it is possible to impose Dirichlet
boundary conditions by modifying the element RHS vector f e . The process is shown
in Figure 5.10.
After the stiffness matrix and RHS vector has been formed for an element and the
RHS vector has been modified for any Dirichlet boundary conditions, the element
stiffness matrix and RHS vector is added into the global stiffness matrix and global
RHS vector. This process relies on indexing between local degrees of freedom and
their global equation number. An example piece of code is given in Figure 5.11. Note
that degrees of freedom where Dirichlet boundary conditions are applied are not as-
sembled into the global arrays.

January 21, 2011 Version 0.2 67


5 Implementation of the finite element method

% setup local arrays for element i


for j=1:nodes_per_element % loop over each node
x_e(j,:) = x(connect(i,j),:) % copy nodal postions

% copy displacements from global to local array


for k=1:dof_per_node % loop over each degree of freedom
jj = j*dof_per_node - dof_per_node + k
if ID(connect(i,j),k) ~= 0
a_e(jj) = a( ID(connect(i,j), k) )
else
a_e(jj) = g_e(jj) % displacement is prescribed
end
end

end
% return to main program

Figure 5.8: Set-up of local element arrays for element i.

% form element stiffness matrix

ip_scheme % determine integration scheme

for i=1:number_ip_points % loop over integration points


ip_location % calculate position of integration point
shape_function % evaluate shape functions at integration point
form_B_matrix
form_D_matrix
k_e = k_e + B’*D*B*w(i)*xj(i) % add contribution of ip to k_e
f_e = f_e + N’*b*w(i)*xj(i) % add contribution of ip to f_e
if postprocess == true % if stress is required
stress(i) = D*B*a_e
end
end

% return to main program

Figure 5.9: Formation of element stiffness matrix.

68 Version 0.2 January 21, 2011


5.3 Local-global

% impose Dirichlet boundary conditions

for i=1:nodes_per_element*dof_per_node
f_e(:) = f_e(:) - k_e(:,i)*g_e(i)
end

% return to main program

Figure 5.10: Imposing Dirichlet boundary conditions.

% assemble k_e and f_e for element i into K and f

for j=1:nodes_per_element
for k=1:dof_per_node
ii = ID(connect(i,j), k)
kk = j*dof_per_node - dof_per_node + k
for l=1:nodes_per_element
for m=1:dof_per_node
jj = ID(connect(i,l), m)
ll = l*dof_per_node - dof_per_node + m
if ii~=0 & jj~=0
K(ii,jj) = K(ii,jj) + k_e(kk,ll)
end
end
end
if ii ~= 0
f(ii) = f(ii) + f_e(kk)
end
end
end

% return to main program

Figure 5.11: Assembly of local arrays into global arrays.

January 21, 2011 Version 0.2 69


5 Implementation of the finite element method

500

1000

1500
0 500 1000 1500

Figure 5.12: Graphical representation of a stiffness matrix

5.4 Stiffness matrix storage

A feature of the finite element method is that the stiffness matrix is sparse. This means
that the stiffness matrix contains many zeros. Taking advantage of the sparse na-
ture of the stiffness matrix yields significant computational savings, both in terms of
memory and computational time. Figure 5.12 represents graphically the structure of
the stiffness matrix for a problem involving 700 four-noded quadrilateral elements.
This is relatively small for a finite element analysis. Non-zero terms are marked by
a dot. The dimension of the matrix is 1530 × 1530 (giving a total of 2 340 900 en-
tries). However, only 23 638 entries are non-zero (1% of the total matrix elements).
Assuming double precision storage, storing the whole matrix would require almost
18 megabytes of memory. Storing only the non zero terms requires on 283 kilobytes
of memory! In addition, solvers are implemented such that operations are not per-
formed on non-zero terms which reduces the number of floating point operations
required, and hence the computational time, significantly. Yet further savings can be
achieved by taking into account symmetry of the stiffness matrix.
Many finite element programs store the stiffness matrix in a skyline format. For
this method to be efficient, the mesh must be constructed in an ‘optimal’ fashion to
minimise the bandwidth of the stiffness matrix. This essentially requires that the
node numbers of nodes which are close to each should also be close. Typically, mesh
generation programs will label nodes optimally, or have the option to relabel nodes
to minimise the stiffness matrix bandwidth. The stiffness matrix in Figure 5.12 is
well-numbered, as all non-zero terms are close to the diagonal which minimises the
bandwidth.

70 Version 0.2 January 21, 2011


5.5 Post-processing

5.5 Post-processing
After a calculation has been completed, post-processing of the data is required. Three
quantities of potential interest from a linear-elastic calculation are displacements,
stresses and reaction forces.
It is important to realise that the stress computed at a point is not always reliable.
More reliable are the reaction forces at nodes where Dirichlet boundary conditions
are applied. Reaction forces can be evaluates by calculating the so-called internal force
vector f int . The internal force vector for an element is given by:
Z Z
f eint = B T σ dΩ + N T b dΩ (5.1)
Ωe Ωe

Once assembled for all elements (at all nodes, including where Dirichlet boundary
conditions are applied), it gives the reaction force at each node. For static problems,
the internal force vector should be zero where no Dirichlet boundary conditions are
applied. This means that the body is in equilibrium.

January 21, 2011 Version 0.2 71


6 Structural elements for finite element analysis

Special finite elements are often used in structural mechanics. Examples are beam,
plate and shell elements. They are used in situations where conventional solid el-
ements perform poorly with a practicably allowable number of elements, or in sit-
uations where they provide a higher degree of accuracy (in terms of the quantity
of interest) than plane elements for the same computational effort. These elements
are derived from different governing equations, which are closely related to classi-
cal equations from structural mechanics. Their governing equations derive from the
governing equation of elastostatics, with simplifications and assumptions which are
applicable for common structural problems.
The formulation of structural elements tends to be more complex than continuum
elements. A particular problem is that classical thin bending problems in structural
mechanics are governed by fourth-order equations. That is, the strong governing
equations involve fourth-order derivatives, in contrast to continuum elasticity prob-
lems which involve only second-order derivatives. This has serious consequences for
the shape functions which can be employed.

6.1 Rod elements in space


In Chapter 4, a one-dimensional rod element was developed that could only transmit
normal forces. It is however possible to assemble this element into a truss structure
in two or three dimensions. A simple two-dimensional truss structure is shown in
Figure 6.1. Joints (nodes) of the truss can translate in both the x- and y-directions.
Hence, a finite element model will require two degrees of freedom at each node.
The use of truss elements in a two- or three dimensional structure relies upon a
rotation between different coordinate systems. Each element is rotated to a conve-
nient coordinate system. The most convenient system is one in which the axis of the
truss element is aligned with the x coordinate axis. Consider the truss element in
Figure 6.2, which is oriented in the three-dimensional space. For a truss structure in

F
Figure 6.1: Two-dimensional truss structure.

73
6 Structural elements for finite element analysis

Fx*
x*

y*

z* x
z

Figure 6.2: Linear truss element in three-dimensional space.

three dimensions, a node will have three degrees of freedom, and in two dimensions,
two degrees of freedom. For a two dimensional truss structure, the rotation is partic-
ularly simple. Denoting the angle between the x-axis and the x ⋆ -axis as θ, the rotation
matrix has the form:
 
cos θ sin θ
QT = (6.1)
− sin θ cos θ
The vector ae holds the displacement components at the nodes of an element. There-
fore, the vector ae has four components (a component in the x and y direction at each
node). The displacement components can be rotated using the matrix Q (see sec-
tion 1.1) to give the nodal displacements in terms of the coordinate system aligned
with the axis of the truss element. Since truss elements are based on the assumption
that only normal forces (σx⋆ ) can be transmitted, displacements in the y⋆ -direction are
not resisted by an element. The only displacement of any consequence for an element
is in the x ⋆ -direction. The displacements at nodes one and two, of a linear bar, in the
x ⋆ - and y⋆ -directions are given by:
    
a1x⋆  Q Q21 0 0   a1x 
  11


 ⋆   a1y 

a1y Q 12 Q 22 0 0
=  , (6.2)
a ⋆  0 0 Q11 Q21   a 
 2x⋆   2x 

 
 
a2y 0 0 Q12 Q22 a2y
where Qij are components of the matrix Q. Given that the only displacements of
interest are the in x ⋆ -direction, the above problem can be reduced to give:
 

 a1x 
     
a1x⋆ Q11 Q21 0 0 a1y
= . (6.3)
a2x⋆ 0 0 Q11 Q21  a 
 2x 
 
a2y
The following definitions are now adopted:
 
⋆ a1x⋆
ae = , (6.4)
a2x⋆

74 Version 0.2 January 21, 2011


6.1 Rod elements in space

and
 
Q11 Q21 0 0
q= . (6.5)
0 0 Q11 Q21

The displacement in the x ⋆ -direction along the bar is therefore given by:

uh⋆ = N ⋆ a⋆e = N ⋆ qae , (6.6)

where N ⋆ contains the shape functions for a one-dimensional bar (see equation (4.19)
for a linear element). The ‘star’ denotes that the shape functions are constructed rel-
ative to the coordinate system on the bar. The strain in the x ⋆ -direction is therefore
given by:

ǫh⋆ = u,x
h⋆ ⋆
⋆ = B qa e (6.7)

Similarly, the derivative of a weight function w can be expressed in the local coordi-
nate system in terms of the global degrees of freedom,
h⋆ ⋆
w,x ⋆ = B qb e (6.8)

(recall that be is a variation).


Inserting now the discretised fields into the weak governing equation for a one-
dimensional bar, and eliminating be ,
Z Z
( Bbe ) T EBae dΩ = ( Nbe ) T h dΓ, (6.9)
Ωe Γh

where the LHS of equation (6.9) is the stiffness matrix. Inserting the relationships in
equations (6.7) and (6.8) into the weak governing equation (2.12), the element stiffness
matrix is equal to:
Z
ke = q T B⋆ T EB⋆ q dΩ. (6.10)
Ωe

This is equivalent to ke = q T k⋆e q, where k⋆e is the standard one-dimensional stiffness


matrix for a bar. Clearly, the stiffness matrix for a one-dimensional element can be
formed, and with the aid of the matrix q it can be transformed into the global, multi-
dimensional coordinate system.
It is important to ensure that a truss structure does not form a mechanism. A classic
sign of a mechanism is singularity of the global stiffness matrix of the structure.

January 21, 2011 Version 0.2 75


6 Structural elements for finite element analysis

fy
Fy
x

T
x = x1 x = x2

Figure 6.3: Plane beam element Ω = ( x1 , x2 ).

v,x

v,x

Figure 6.4: Rotation of a line normal to the axis in a beam segment.

6.2 Beams
Two types of beams are considered in this section. The first is the classic Bernoulli-
Euler beam, which is valid for relatively slender beams. The second is the Timo-
shenko beam, which takes into account shear deformations. The development of
beam elements follows the same steps as for continuum elements. The governing
equation is identified and then the weak form developed. For simplicity, straight,
in-plane beams are considered; there are no out-of plane forces or moments. Such a
beam is illustrated in Figure 6.3.
Consistent with previous sections, the ‘domain’ of the beam, is denoted Ω = ( x1 , x2 ),
and its ends (the boundary of Ω) are denoted Γ = x1 ∪ x2 . The outward normal is
denoted n.

6.2.1 Kinematics of a beam


Beam theory is based upon the assumption that planes which are normal to the
beam’s axis remain plane. For a transverse displacement v, Figure 6.4 shows the
rotation of the plane due to a rigid body rotation. Consider now a fibre in a beam

76 Version 0.2 January 21, 2011


6.2 Beams

v,x

Figure 6.5: Beam segment subjected to pure shear. The fibre is indicated by the heavy
line.

which is initially perpendicular to the beam axis. Subjecting a segment from a beam
to pure shear, the fibre will not rotate, as illustrated in Figure 6.5. Relative to the fibre
which has not rotated, a plane which remains perpendicular to the axis undergoes a
rotation γ.
For a beam segment subjected to both rotation and shear deformation, the rotation
θ of a fibre which is initially perpendicular to the beam’s axis is shown in Figure 6.6.
It is clear from Figure 6.6 that

θ = v,x − γ. (6.11)

6.2.2 Equilibrium of a beam


The equilibrium equations for a beam can be developed in two ways. The first is
to elaborate the kinematics of the beam, which together with some assumptions as
to the stress in different directions can be inserted into the elasticity equations from
Chapter 1. In the second method, which will be followed here, equilibrium of a beam
can be considered directly.
The bending moment m in a beam is defined as
Z h/2
m= σxx y dy, (6.12)
− h/2

and the shear stress q is defined by


Z h/2
q= σxy dy, (6.13)
− h/2

Figure 6.7 show the ‘resultant’ force Q and moment M due to a moment m and a
shear force q in a beam. Note that M = m n and Q = q n, where n is the outward unit
normal vector. Considering translational equilibrium of a beam segment Ω, it is clear

January 21, 2011 Version 0.2 77


6 Structural elements for finite element analysis

γ θ

v,x

Figure 6.6: Rotation of fibre in a beam.

+Q
n n

y
+M x

Figure 6.7: Sign conventions for a bending moment and shear force resultant.

78 Version 0.2 January 21, 2011


6.2 Beams

that:
Z Z
q n dΓ + f y dΩ = 0. (6.14)
dΩ Ω
R
Noting that dΩ q n dΓ = q| x= L2 − q| x= L1 , it is clear that
Z Z
q,x dΩ + f y dΩ = 0. (6.15)
Ω Ω

Since equilibrium must hold for an infinitely small segment of a beam, translational
equilibrium requires that

q,x + f y = 0. (6.16)

For rotational equilibrium, it is required that:


Z Z Z
m n dΓ − q nx dΓ − f y x dΩ = 0. (6.17)
dΩ dΩ Ω

This expression can be rearranged such that


Z Z Z Z
m,x dΩ − q dΩ − q,x x dΩ − f y x dΩ = 0. (6.18)
Ω Ω Ω Ω
R
Satisfaction of the translational equilibrium equation implies that Ω (q,x + f y ) x dΩ =
0, therefore rotational equilibrium requires that

m,x − q = 0. (6.19)

The boundary Γ of a beam is partitioned such that:

Γv ∪ ΓQ = Γ, Γv ∩ ΓQ = ∅, (6.20a)
Γθ ∪ ΓM = Γ, Γθ ∩ ΓM = ∅ (6.20b)

Denoting applied end forces Fy , distributed loads f y and applied moments T (all
shown in Figure 6.3), the boundary conditions are

v = gv on Γv , (6.21a)
θn = gθ on Γθ , (6.21b)
mn = T on ΓM , (6.21c)
q n = Fy on ΓQ , (6.21d)

These equations, and boundary conditions, are valid for both Bernoulli-Euler and
Timoshenko beam theories.

January 21, 2011 Version 0.2 79


6 Structural elements for finite element analysis

6.2.3 Bernoulli-Euler beam


A fundamental assumption in the Bernoulli-Euler theory is that a plane which is ini-
tially normal to the longitudinal axis remains a plane and normal to the longitudinal
axis. This assumption implies that the shear rotation γ is equal to zero, so the rotation
can be directly related to the displacement v,
dv
θ= , (6.22)
dx
which also implies that
d2 v
κ= . (6.23)
dx2
The bending moment in the beam is related to the curvature by:
d2 v
m = − EIκ = − EI , (6.24)
dx2
where I is the moment of inertia of the beam. The negative sign is due to the sign
convention in which the rotation and the resultant moment are in opposite directions.
Taking now the derivative of all terms in equation (6.19) with respect to x, and then
inserting equation (6.16) yields:
d2 m
+ f y = 0. (6.25)
dx2
Assuming EI to be constant, and inserting the constitutive relationship from equation
(6.24),
d4 v
− EI + f y = 0, (6.26)
dx4
which is the strong equation of equilibrium for a Bernoulli-Euler beam. Being a
fourth-order equation, two boundary conditions are required at both ends of the
beam. Dirichlet boundary conditions involve the prescription of the displacement
or the rotation (equations (6.21a) and (6.21b)), and Neumann involve either the shear
force or moment (equations (6.21c) and (6.21d)). With appropriate boundary condi-
tions, the boundary value problem is complete and can be solved.

Weak governing equation


Following the procedures from Chapter 2, the weak form of equilibrium for a beam
can be developed. Multiplying equation (6.25) by a weight function v̄, from an appro-
priately defined space, which is equal to zero where Dirichlet (kinematic) boundary
conditions are applied (the bar is used in this section to denote a weight function) and
integration over the beam Ω yields:
Z Z
v̄m,xx dΩ + v̄ f y dΩ = 0. (6.27)
Ω Ω

80 Version 0.2 January 21, 2011


6.2 Beams

Integrating by parts the term involving the moment M once yields:


Z Z Z
− v̄,x m,x dΩ + v̄m,x n dΓ + v̄ f y dΩ = 0. (6.28)
Ω Γ Ω
R
Applying integrating by parts again, this time to the term Ω v̄,x m,x dΩ,
Z Z Z Z
v̄,xx m dΩ − v̄,x mn dΓ + v̄m,x n dΓ + v̄ f y dΩ = 0. (6.29)
Ω Γ Γ Ω
Inserting now the Neumann (natural) boundary conditions from equations (6.21c)
and (6.21d), and inserting the constitutive relation in equation (6.24), solving the gov-
erning weak equation for a beam involves: find v ∈ S such that
Z Z Z Z
− v̄,xx EIv,xx dΩ − v̄,x T dΓ + v̄Fy dΓ + v̄ f y dΩ = 0 ∀v̄ ∈ V , (6.30)
Ω ΓM ΓQ Ω

where S and V are appropriately defined spaces. The integration domain for the
boundary integrals has been changed since v̄ = 0 on Γv , and v̄,x = 0 on Γθ . Note that
a fourth-order problem, after integrating by parts twice, has second-order derivatives
in its weak form. Consistency of the above weak form can be proven following the
same procedure as in in Section 2.1.
The existence of second-order derivatives in the weak form deserves some special
attention. For the weak form to ‘make sense’, the trial functions (v ∈ S ) and the
weight (test) functions (v̄ ∈ V ) must possess a higher degree of regularity (roughly
speaking, continuity) than for classical continuum problems. Both S and V must be
subspaces of the Sobolev space H 2 (Ω), which contains functions satisfying:
Z
v2 + v2,x + v2,xx dx < ∞. (6.31)

In one dimension this is equivalent to the trial and test functions being at least C1
continuous, which means that both their first and second derivatives exist. This is in
contrast to second-order problems, which require C0 continuity only. For complete-
ness, the spaces S and V are formally defined by:
n o
S = v | v ∈ H 2 (Ω) , v = gv on Γv , v,x = gθ on Γθ , (6.32a)
n o
V = v̄ | v̄ ∈ H 2 (Ω) , v̄ = 0 on Γv , v̄,x = 0 on Γθ . (6.32b)

For the case of an elastic continuum, it was shown that if the weight function could
be considered as a ‘virtual displacement’, it implies that the weak form of the govern-
ing equation is identical to the equation of virtual work. Consider now:
v̄ ≡ δv (6.33)
Inserting this relationship into equation (6.30) gives:
Z Z Z Z
δv,xx EIv,xx dΩ = − δv,x T dΓ + δvFy dΓ + δv f y dΩ (6.34)
Ω ΓM ΓQ Ω

which is the equation of virtual work for a Bernoulli-Euler beam beam.

January 21, 2011 Version 0.2 81


6 Structural elements for finite element analysis

6.2.4 Timoshenko beam

Timoshenko beams are more general Bernoulli-Euler beams as they allow for shear
deformation, and are hence suitable for relatively short beams. They also provide a
solid introduction to moderately thick plate theories where the advantage of shear
deformable theories will become more apparent.
Timoshenko beam theory does not rely on the assumption that a plane which is ini-
tially normal to the longitudinal axis remains normal to the longitudinal axis. Planes
must remain plane, but not necessarily normal. This means that shear deformations
can be taken into account. Recall from equation (6.11) that rotation θ of a plane is
given by

dv
θ= − γ, (6.35)
dx

where γ is the rotation due to shear. In terms of the shear force and properties of the
beam, it is related to the shear force by the constitutive relationship:

q
γ= , (6.36)
GAS

where G is the shear modulus and As is the effective shear area. Relative to the
Bernoulli-Euler theory, an additional unknown, the shear strain γ, has been intro-
duced. The governing equations are given by the equilibrium conditions in equations
(6.19) and (6.16) with the constitutive relationships

m = − EIκ, (6.37)
 
dv
q = GAs γ = GAs −θ , (6.38)
dx

and considering v and θ to be the fundamental unknowns. Inserting the constitutive


relationships into the equilibrium equations in (6.19) and (6.16) leads to:

 
d2 θ dv
− EI 2 − GAs −θ = 0 in Ω, (6.39)
dx dx
 2 
d v dθ
GAs − + fy = 0 in Ω, (6.40)
dx2 dx

which are two coupled second-order equations, the first for the rotation θ, and the
second for the displacement v. Together with the previously defined boundary con-
ditions, the problem is complete.

82 Version 0.2 January 21, 2011


6.2 Beams

Weak governing equations


Multiplying equations (6.39) and (6.40) by appropriately defined weight functions θ̄
and v̄,
Z Z
− θ̄EIθ,xx dΩ − θ̄GAs (v,x − θ ) dΩ = 0, (6.41)
Ω Ω
Z Z
v̄GAs (v,xx − θ,x ) dΩ + v̄ f y dΩ = 0. (6.42)
Ω Ω

Applying integration by parts once,


Z Z Z
θ̄,x EIθ,x dΩ − θ̄EIθ,x n dΓ − θ̄GAs (v,x − θ ) dΩ = 0, (6.43)
Ω Γ Ω
Z Z Z
− v̄,x GAs (v,x − θ ) dΩ + v̄GAs (v,x − θ ) n x dΓ + v̄ f y dΩ = 0, (6.44)
Ω Γ Ω

and then inserting the Neumann boundary conditions yields the weak problem for a
Timoshenko beam of: find v ∈ Sv and θ ∈ Sθ such that
Z Z Z
θ̄,x EIθ,x dΩ − θ̄GAs (v,x − θ ) dΩ + θ̄T dΓ = 0, ∀θ̄ ∈ Vθ (6.45)
Ω Ω ΓM
Z Z Z
− v̄,x GAs (v,x − θ ) dΩ + v̄Fy dΓ + v̄ f y dΩ = 0 ∀v̄ ∈ Vv . (6.46)
Ω ΓQ Ω

A more precise definition of the necessary functions spaces should be provided to


complete the problem. It is however assumed that θ̄ = 0 on Γθ and that θ satisfies
the rotation boundary condition, and v̄ = 0 on Γv , and v satisfies the transverse dis-
placement boundary condition. The test and trial functions should be at least C0 con-
tinuous (in contrast to the C1 continuity for the Bernoulli-Euler theory). As with all
problems, consistency can be proven through the application of integration by parts.
As before, considering δθ ≡ θ̄ and δv ≡ v̄, and using γ = v,x − θ, adding the weak
forms in equations (6.45) and (6.46) is equivalent to the virtual work equation,
Z Z Z Z Z
− δκ m dΩ + δγ q dΩ = − δθ T dΓ + δv Fy dΓ + δv f y dΩ (6.47)
Ω Ω ΓM ΓQ Ω

For many mechanical problems, the weak form or virtual work expressions appear
naturally and can be used as a starting point in developing a finite element model.

6.2.5 Finite element formulations form beams


Euler beams
A Galerkin problem for a Bernoulli-Euler beam involves: find vh ∈ S h such that:
Z Z Z Z
h h h
v̄,xx EIv,xx dΩ = − v̄,x T dΓ + v̄h Fy dΓ + v̄h f y dΩ = 0 ∀v̄h ∈ V h (6.48)
Ω ΓM ΓQ Ω

January 21, 2011 Version 0.2 83


6 Structural elements for finite element analysis

where S h ⊂ S and V h ⊂ V are finite-dimensional spaces. As for continuum elements,


we wish to express the displacement field v in terms of shape functions and nodal
degrees of freedom. The problem that arises is that simple C0 finite element shape
functions are not suitable. The above equation requires the evaluation of the second
derivative of the interpolated displacement field. However, the second derivative of
a C0 continuous function does not exist in a classical sense. The use of C0 interpo-
lations for fourth-order problems is not mathematically consistent and can lead to
unpredictable results. Crucially, convergence of the solution is not assured for inter-
polations with insufficient continuity.
The solution is to use C1 shape functions. Such shape functions can be constructed
relatively easily in one dimension (the extension to multiple dimensions is however
far from trivial). Hermitian polynomials are C1 functions, and involve both displace-
ment and rotational degrees of freedom. A Hermitian beam element with two nodes
has four degrees of freedom (two displacement degrees of freedom and two rotation
degrees of freedom). This results in a cubic interpolation of the displacement along
the element. The displacement field vh is given by:
2
vh ( x ) = ∑ ( Ni ( x ) vi + Mi ( x ) θi ) , (6.49)
i

where vi and θi are degrees of freedom associated with node i, and the shape func-
tions are equal to:

− ( x − x2 )2 (− h + 2 ( x1 − x ))
N1 = (6.50a)
h3
( x − x1 )2 ( h + 2 ( x2 − x ))
N2 = (6.50b)
h3
( x − x1 ) ( x − x2 ) 2
M1 = (6.50c)
h2
( x − x1 )2 ( x − x2 )
M2 = (6.50d)
h2
for an element of length h with ends from x1 to x2 (x2 > x1 ). The displacement at a
point in the beam is given by:
 
v 
 1

 
  θ1
vh = Nae = N1 M1 N2 M2 (6.51)
v 
 2

 
θ2
It is necessary to compute both the first and second derivatives of v with respect to x.
The first derivative is given by:
 
v 
 1

 
h
  θ1
v,x = N,x ae = N1,x M1,x N2,x M2,x (6.52)
v 
 2

 
θ2

84 Version 0.2 January 21, 2011


6.2 Beams

The second derivative of v is given by:

 
 v1 
 
h
   θ1 
v,xx = N,xx ae = N1,xx M1,xx N2,xx M2,xx (6.53)
 v2 
 
 
θ2

Now that vh , v,x


h and v h can be computed given a , they can be inserted into the
,xx e
Galerkin problem,

Z Z Z
( N,xx be ) T EI N,xx ae dΩ = − ( N,x be ) T T dΓ + ( Nbe ) T Fy dΓ
Ω ΓM ΓQ
Z
+ ( Nbe ) T f y dΩ (6.54)

After some rearranging,

Z Z Z
N,xx T EI N,xx dΩ ae = − N,x T T dΓ + N T Fy dΓ
Ω ΓM ΓQ
Z
+ N T f y dΩ. (6.55)

The element stiffness matrix is given by:

Z
ke = N,xx T EI N,xx dΩ, (6.56)

and the RHS vector by:

Z Z Z
fe = N T Fy dΓ − N T T dΓ + N T f y dΩ. (6.57)
ΓQ ΓM Ω

The operation to form the RHS vector essentially translates the applied loads into
equivalent nodal shear forces and moments.

January 21, 2011 Version 0.2 85


6 Structural elements for finite element analysis

Taking derivatives of the Hermitian shape functions in equation (6.50),

2 ( x − x2 ) (3x + h − 2x1 − x2 )
N1,x = , (6.58a)
h3
2 (6x + h − 2x1 − 4x2 )
N1,xx = , (6.58b)
h3
( x − x2 ) (3x − 2x1 − x2 )
M1,x = , (6.58c)
h2
2 (3x − x1 − 2x2 )
M1,xx = , (6.58d)
h2
2 ( x − x1 ) (3x − h − x1 − 2x2 )
N2,x = − , (6.58e)
h3
2 (6x − h − 4x1 − 2x2 )
N2,xx = − , (6.58f)
h3
( x − x1 ) (3x − x1 − 2x2 )
M2,x = , (6.58g)
h2
2 (3x − 2x1 − x2 )
M2,xx = . (6.58h)
h2

Assuming the centre of the element is at x = 0 (x2 + x1 = 0, x1 = − h/2), the above


equations can be simplified significantly. Considering just the second derivatives
with respect to x,

12x
N1,xx = , (6.59a)
h3
6x 1
M1,xx = 2 − , (6.59b)
h h
12x
N2,xx = − 3 , (6.59c)
h
6x 1
M2,xx = 2 + . (6.59d)
h h

Inserting these terms into equation (6.56), the stiffness matrix is of the form:

 12x 
 h3 
 6x 1 
Z h/2  h2 − h 
  
ke =   EI 12x 6x 1

12x
− 3
6x 1
+ dx. (6.60)

− h/2  − 12x 
 h3 h2 h h h2 h
 h 3 
 6x 1 
+
h2 h

Integrating the terms in the stiffness matrix exactly from − h/2 to h/2 (assuming EI

86 Version 0.2 January 21, 2011


6.2 Beams

to be constant), the element stiffness matrix is equal to:


 12EI 6EI 6EI 
h3 h2
− 12EI
h3 h2
 6EI 4EI 2EI 
 2 h − 6EI
h2 h 

 h
ke =  12EI 6EI 12EI . (6.61)
 − h3 − h2 h3
− 6EI 
h2 

6EI 2EI
h2 h − 6EI
h2
4EI
h

Timoshenko beams
The finite element formulation for the Timoshenko beam is relatively simple, due to
the second-order nature of the governing equations. This will allow the use of the
standard shape functions introduced in Chapter 4.
The Galerkin problem for the Timoshenko beam involves: find vh ∈ Svh and θ h ∈ Sθh
such that
Z Z   Z
h h
θ̄,x EIθ,x dΩ − θ̄ h GAs v,x
h
− θ h dΩ = − θ̄ h T dΓ ∀θ̄ h ∈ Vθh , (6.62)
Ω Ω ΓM
Z   Z Z
h h
v̄,x GAs v,x − θ h dΩ = v̄h f y dΩ + v̄h Fy dΓ ∀v̄h ∈ Vvh . (6.63)
Ω Ω ΓQ

Consider the representation of the fields vh and θ h , and corresponding derivatives, in


terms of shape functions and nodal variable,

vh = N v ave , (6.64a)
h
θ = N θ aθe , (6.64b)
h
v̄ = N v bve , (6.64c)
θ̄ h = N θ bθe , (6.64d)

A distinction is made between the shape functions for vh and θ h as these may dif-
fer. Inserting the expressions for the unknown fields in terms of nodal variables and
variations into equations (6.62) and (6.63) leads to:
Z Z Z
T T T
Bθ EIBθ dΩ aθe + N θ GAs N θ dΩ aθe − N θ GAs Bv dΩ ave
Ωe Ωe Ωe
Z
T
=− N θ T dΓ. (6.65)
Γe,M

Z Z
Bv T GAs Bv dΩave − Bv T GAs N θ dΩaθe
Ωe Ωe
Z Z
= N v T Fy dΓ + N v T f y dΩ, (6.66)
Γe,Q Ωe

January 21, 2011 Version 0.2 87


6 Structural elements for finite element analysis

The stiffness matrix of an element is of the form


 θθ    
k kθv aθ f
= θ (6.67)
kvθ kvv av fv
where the components of the the element stiffness matrix are given by
Z
T T
kθθ = Bθ EIBθ + N θ GAs N θ dΩ, (6.68)
Ωe
Z
T
kθv = − N θ GAs Bv dΩ, (6.69)
Ωe
Z
kvθ = − Bv T GAs N θ dΩ, (6.70)
Ωe
Z
kvv = Bv T GAs Bv dΩ, (6.71)
Ωe

and components of the element RHS vector are given by


Z
T
fθ = − N θ T dΓ, (6.72)
Γe,M
Z Z
fv = N v T Fy dΓ + N v T f y dΩ. (6.73)
Γe,Q Ωe

T
Note that the stiffness matrix is symmetric (kθv = kvθ ).

Locking
Conceptually, Timoshenko beam theory is superior to the Bernoulli-Euler theory in
that it is valid for both short and slender beams. Ideally, only a Timoshenko beam
element would be necessary in practice, and both short and slender beams could be
analysed. This would be advantageous from the point of view of generality, and
for simplicity as the Timoshenko element used C0 shape functions. However, when
applying Timoshenko elements for thin bending problems, the result are plagued by
shear locking. This is the effect in which the shear contribution to the energy does not
vanish, resulting in an overly stiff response.
Consider a Timoshenko beam element of length L, with linear shape functions for
both the displacement and rotation. The components of the stiffness matrix are given
by:
 
EI GAs L EI GAs L
 L + 3 − +
L 6 
kθθ
e =
 , (6.74)
EI GAs L EI GAs L 
− + +
L 6 L 3
 
GAs GAs

 2 2 
kθv
e =
 , (6.75)
GAs GAs 

2 2

88 Version 0.2 January 21, 2011


6.2 Beams

and
 
GAs GAs
 L −
L 
kvv
e =
 GA
 (6.76)
s GAs 

L L

Therefore, the stiffness matrix is of the form


 
EI GAs L EI GAs L GAs GAs
 L + 3 −
L
+
6 2

2 
 
 EI GAs L EI GAs L GAs GAs 
 
− + + − 
 L 6 L 3 2 2 
ke =   (6.77)
 GAs GAs GAs GAs 
 − 

 2 2 L L 
 GAs GAs GAs GAs 
− − −
2 2 L L

If at one end the beam is clamped, θ1 = v1 = 0, and a shear load P is applied one end,
 
EI GAs L GAs    
 L + 3 −
2 
θ2 0
ke =    =   (6.78)
 GAs GAs 
v2 P

2 L

Therefore, the displacement v2 is equal to

P ( EI/L + GAs L/3)


v2 = (6.79)
EIGAs /L2 + G2 A2s /12

If L is large,

4PL
v2 ≈ , (6.80)
GAs

which is independent of I, will yield a very stiff response. As L → 0,

PL
v2 ≈ , (6.81)
GAs

which is the correct result. Even with a very fine mesh, this element will exhibit a
very stiff response.
R T
If the term Ωe N θT GAs N θ dΩ is evaluated using one-point numerical integration

January 21, 2011 Version 0.2 89


6 Structural elements for finite element analysis

(which is reduced for this term), the element stiffness matrix would have the form
 
EI GAs L EI GAs L GAs GAs
 L + − + −
 4 L 4 2 2  
 EI GAs L EI GAs L GAs GAs 
 
− + + − 
 L 4 L 4 2 2 
ke =   (6.82)
 GAs GAs GAs GAs 
 − 

 2 2 L L  
 GAs GAs GAs GAs 
− − −
2 2 L L
Now, for the one element problem clamped at one end, v2 is equal to

P ( EI/L + GAs L/4)


v2 = (6.83)
EIGAs /L2
If L is very large,

PL3
v2 ≈ (6.84)
4EI
which qualitatively the desired response, and as L → 0,

PL
v2 ≈ (6.85)
GAs
When using reduced integration, this element performs quite well when the mesh is
sufficiently well-refined. The case is similar for quadratic elements, where selective
integration (two-point) leads to a dramatic reduction in locking response.

90 Version 0.2 January 21, 2011


6.3 Plate

x3
p
θ1
x2
t
x1

θ2

Figure 6.8: Coordinate system for a plate.

6.3 Plate

Plates are effectively generalisations of beam elements to two spatial dimensions.


They are flat two-dimensional entities, are are typically loaded out of plane.
Plate finite elements can be extremely complex and are an area of ongoing re-
search. A serious problem stems from the need for C1 interpolations in the classic
thin plate and shell bending theories. Given the enormous number of different plate
and shell elements, this section does not provide an exhaustive coverage. The basic
governing equations of shell and plate elements and the most common finite element
approaches are discussed. Also, the relevant dangers in analysing plate and shell
structures with the finite element method are presented. More detailed coverage can
be found in a number of books (Zienkiewicz and Taylor, 1991; Hughes, 1987; Bathe,
1996). A particularly accessible account can be found in Cook et al. (1989).

6.3.1 Plate kinematics

The adopted coordinate system and sign convention for rotations θα for plates is
shown in Figure 6.8. For convenience, the convention differs from the right-hand
rule. The adopted definitions simplify the formulation as it will avoid the need for a
−1 factor on particular terms. The surface of the plate in the x1 –x2 plane is denoted
Ω, and the boundary is Γ. The three coordinates are denoted x, y and z, or x1 , x2
and x3 . Similarly, displacement may be denoted u, v and w (displacements in the x, y
and z directions, respectively), or u1 , u2 and u3 when using indexes. It is convenient
to express many relationships for plates using index notation. T When using Greek
subscripts, summation is implied from one to two. The plate has a thickness t, and
the coordinate z = 0 corresponds to the mid-surface of the plate.
In plate theory, the displacement of a point is given by:

uα = −zθα ( x, y) , (6.86a)
u3 = u3 ( x, y) , (6.86b)

where θα is the rotation of a fibre in the plate (see Figure 6.9). The rotation of the

January 21, 2011 Version 0.2 91


6 Structural elements for finite element analysis

γα θ α

w,α
1
w

x3

Figure 6.9: Plate kinematics with shear deformation included.

92 Version 0.2 January 21, 2011


6.3 Plate

mid-surface of the plate is given by w,α , and the shear strain is given by γα ,

γα = w,α − θα . (6.87)

Note that if γα = 0, then θα = w,α . From the displacement field in equations (6.86),
the strain field can be calculated at any point (recall ǫ = (1/2)(ui,j + u j,i )).

−z 
ǫαβ = θα,β + θ β,α (6.88a)
2
−θα + w,α
ǫα3 = (6.88b)
2

A useful quantity is the curvature, which is a second-order tensor and at a point is


given by:

1 
καβ = θα,β + θ β,α = θ(α,β) . (6.89)
2

6.3.2 Equilibrium of a plate

The equilibrium equations for a plate are developed here in the same fashion as for
plates. The alternative approach would be to insert the plate kinematics into the
elasticity equations.
The moment tensor mαβ in a plate is defined as:

Z t/2
σαβ z dz (6.90)
−t/2

From symmetry of the stress tensor, it is clear that the moment tensor is symmetric.
The shear force vector qα is defined as:

Z t/2
σα3 dz (6.91)
−t/2

The different resultant moments and transverse forces acting on cross-sections of a


plate are shown in Figure 6.10 (‘resultants’ are forces which are equivalent to a mo-
ment or shear stress). It is useful to define a vector s which is normal to the vector
n, and lies in the plane of Ω. This allows the definition of following notation for

January 21, 2011 Version 0.2 93


6 Structural elements for finite element analysis

q2 q1
m12
m11
m21
m22
m21
m22
m11
x3 m12 q2
q1

x2 θ1
x1

θ2

Figure 6.10: Moment and transverse shear force resultants acting on cross-sections of
a plate (adapted from Hughes (1987)).

quantities relative to an arbitrarily oriented plate edge:

mnn = mαβ n β nα , (6.92a)


mns = mαβ n β sα , (6.92b)
∂mnn
mnn,s = , (6.92c)
∂s
∂mns
mns,s = , (6.92d)
∂s
qn = qα nα , (6.92e)
θn = θα nα , (6.92f)
w,n = w,α nα (6.92g)
w,s = w,α sα (6.92h)

The quantities are illustrated in Figure 6.11.


Translation equilibrium of a plate requires that:
Z Z
qα nα dΓ + pz dΩ = 0. (6.93)
∂Ω Ω

Applying the divergence theorem to the term involving qα leads to


Z Z
qα,α dΩ + pz dΩ = 0, (6.94)
Ω Ω

which must also hold for an infinitesimally small piece of the plate, therefore

qα,α + pz = 0, (6.95)

94 Version 0.2 January 21, 2011


PSfrag
6.3 Plate

q2 q1
m12
m11
m21
s

m22 mnn
qn
mns
x3 n

x2 θ1
x1

θ2

Figure 6.11: Moment and transverse shear force resultants acting on an edge of a plate
(adapted from Hughes (1987)).

is the equation for translational equilibrium. Considering now rotational equilibrium,


Z Z Z
mαβ n β dΓ − q β n β xα dΩ − pz xα dΩ = 0, (6.96)
∂Ω ∂Ω Ω

which leads to:


Z Z Z Z
mαβ,β dΩ − qα dΩ − q β,β xα dΩ − pz xα dΩ = 0, (6.97)
Ω Ω Ω Ω

noting that q β xα ,β = q β xα,β + q β,α xα = qα + q β,α xα . Since translation equilibrium
requires that q β,β + pz = 0, rotational equilibrium requires that

mαβ,β − qα = 0. (6.98)

The boundary conditions for a plate are more complicated that for a beam, and
are specific to the considered plate theory, hence boundary conditions are elaborated
upon in the context of a given theory. To complete the problem, constitutive relation-
ships are required which relate the moment tensor and the shear force to deforma-
tions. These constitutive relationships will also be elaborated upon in the context of
the different theories.

6.3.3 Thin plates - Kirchhoff theory


The Kirchhoff plate model theory is analogous to the Bernoulli-Euler beam. It is ap-
plicable for thin plates where shear deformations are negligible. Ironically, the out-
wardly simplest plate theory presents the most problems when formulating the finite

January 21, 2011 Version 0.2 95


6 Structural elements for finite element analysis

element method. Assuming transverse shear deformations are zero, equation (6.87)
reduces to:

θα = w,α (6.99)

which corresponds to the classical theory for beams and plates which assumes fibres
which are initially normal to the mid-surface remain normal to the mid-surface. The
shear force qα is no longer ‘independent’. The goal is now to eliminate qα from the
governing equations. This can be done by differentiating equation (6.98) and insert-
ing equation (6.95),

mαβ,αβ + pz = 0. (6.100)

Since shear deformations are zero, the curvature κ is equal to:

1 
καβ = w,αβ + w,βα . (6.101)
2
The moment is related to the curvature by

mαβ = −Cαβγδ κγδ , (6.102)

where the constitutive tensor is equal to:

t3  
Cαβγδ = µ δαβ δβδ + δαδ δβγ + λ̄δαβ δγδ . (6.103)
12
where λ̄ = 2λµ/ (λ + 2µ).
Inserting the constitutive relationship (6.102) into equation (6.100) yields a fourth-
order partial differential equation. After some rearranging, the governing equation
can be expressed in a particularly convenient form:

12 1 − ν2
w,ααββ = pz . (6.104)
Et3
Expanding this equation,

∂4 w ∂4 w ∂4 w 12 1 − ν2
+2 2 2 + 4 = pz . (6.105)
∂x4 ∂x y ∂y Et3

This equation is known as the ‘biharmonic equation’. It is often written in a shorthand


format using the biharmonic operator ∇4 ,

∂4 w ∂4 w ∂4 w
∇4 w = + 2 + . (6.106)
∂x4 ∂x2 y2 ∂y4

As a fourth-order equation, four different types of boundary conditions are pos-


sible, and the Kirchhoff plate model requires two boundary conditions at all points

96 Version 0.2 January 21, 2011


6.3 Plate

on the boundary. Considering the partition of the boundary in equation (6.20), the
boundary conditions are given by:
w = gw on Γw (6.107a)
θ n = gθ on Γθ (6.107b)
mnn = T on ΓM (6.107c)
qn + mns,s = Q on ΓQ (6.107d)
The first two boundary conditions are Dirichlet boundary conditions, and the last
two are Neumann boundary conditions. The last boundary condition is known as
the ‘modified shear’ boundary condition.

Weak form
The weak form of the governing equation for a thin plate is derived using the same
processes applied for second-order problems. The governing equation is multiplied
by a weight function, then integrated by parts. Rather than multiplying the governing
equation (6.105) by a weight function w̄, and integrating over the plate surface Ω, it
is convenient to carry out the process on equation (6.100). Multiplying by a weight
function w̄, for which w = 0 on Γw and w,n = 0 on Γθ , and integrating over the surface
of the plate,
Z Z
w̄mαβ,αβ dΩ + w̄pz dΩ = 0, (6.108)
Ω Ω

where Ω is the surface of the plate. Integrating the moment term by parts once,
Z Z Z
− w̄,α mαβ,β dΩ + w̄mαβ,β nα dΓ + w̄pz dΩ = 0. (6.109)
Ω Γ Ω

Using integration by parts again on the first term,


Z Z Z Z
w̄,αβ mαβ dΩ − w̄,α mαβ n β dΓ + w̄mαβ,β nα dΓ + w̄pz dΩ = 0, (6.110)
Ω Γ Γ Ω

which is the weak form of the governing equation for thin plate bending. The prob-
lem here is that too many boundary terms appear in the first boundary integral. The
moment can only be applied normal to the boundary (mαβ n β nα ),
Z Z Z
− w̄,α mαβ n β dΓ = − w̄,n mnn dΓ − w̄,s mns dΓ
Γ
ZΓ ZΓ (6.111)
=− w̄,n mnn dΓ + w̄mns,s dΓ − w̄mns | BA
Γ Γ

The last term will be ignored, and leads to the well known ‘corner forces’ in thin
plate theory. Inserting the above relationship into equation (6.110) (ignoring the point
terms), yields
Z Z Z Z
w̄,αβ mαβ dΩ − w̄,n mnn dΓ + w̄ (mns,s + qn ) dΓ + w̄pz dΩ = 0. (6.112)
Ω Γ Γ Ω

January 21, 2011 Version 0.2 97


6 Structural elements for finite element analysis

Inserting the Neumann boundary conditions, solving the weak problems then in-
volves: find w ∈ S such that
Z Z Z Z
w̄,αβ mαβ dΩ − w̄,n T dΓ + w̄Q dΓ + w̄pz dΩ = 0 ∀w̄ ∈ V , (6.113)
Ω ΓM ΓQ Ω

where the functions in S satisfy the Dirichlet boundary conditions.


Considering w̄ as a virtual displacement δw, w̄,α as a virtual rotation δθα , and w̄,αβ
as the virtual curvature, δκαβ , the above equation is the equation of virtual work for
a plate:
Z Z Z Z
δκαβ mαβ dΩ − δθn T dΓ + δwQ dΓ + δwpz dΩ = 0 (6.114)
Ω ΓM ΓQ Ω

Recall that the bending moment mαβ is a function of the curvature, which in turn
involves second derivatives of w, hence the highest order derivatives in the weak
governing equation are order two.
For completeness, the spaces S and V for the weak form of Kirchhoff plate theory
are defined as follows:
n o
S = w | w ∈ H 2 (Ω) , w = gw on Γw , w,n = gθ on Γθ , (6.115a)
n o
V = w̄ | w̄ ∈ H 2 (Ω) , w̄ = 0 on Γw , w̄,n = 0 on Γθ . (6.115b)

Consistency can proven through the repeated application of integration by parts.

6.3.4 Moderately thick plates – Reissner-Mindlin theory


The Reissner-Mindlin theory for plates includes shear deformation. It is analogous to
the Timoshenko beam. As such, it is applicable for both thick and thin plates. How-
ever, some serious practical problems arise in finite element analysis when applying
Reissner-Mindlin elements for the analysis of thin plates.
For this theory, the governing equations for equilibrium are the same as for the
Kirchhoff theory. The difference lies in the kinematics and the constitutive model.
The rotation of the plate cannot be calculated simply as a derivative of the transverse
displacement. The key to the success of this approach in a finite element context is
that the moment tensor mαβ is calculated from the curvature, which depends on θα
which is no longer calculated directly from w (θα 6= w,α ). The problem now involves
two different unknowns; w and θα .
The governing equations for a thick plate are those given in Section 6.3.2. Unlike
for thin plates, the governing equations cannot be further reduced since θα is not a
direct function of w. The equations of equilibrium are:

mαβ,β − qα = 0, (6.116a)
qα,α + pz = 0. (6.116b)

98 Version 0.2 January 21, 2011


6.3 Plate

In addition to the constitutive relationship relating moment and curvature (equation


(6.102)), a constitutive relation relating the shear forces to the shear strain is intro-
duced,

qα = Cαβ γβ = Cαβ w,β − θ β , (6.117)

where

Cαβ = ktµδαβ , (6.118)

and k is a correction factor which is equal to 5/6.


This set of equations can be reduced by eliminating qα ,

mαβ,β − Cαβ w,β − θ β = 0 (6.119a)

Cαβ w,αβ − θ β,α + pz = 0 (6.119b)

It is these equations which will be solved. This set of equations cannot be reduced
further. This means than the governing equations are being solved in their irreducible
form.
The structure of the governing equations for Mindlin-Reissner plates theory offers
a greater degree of flexibility in applying boundary conditions than the Kirchhoff
theory. This is due to θα and w being decoupled. The ‘naturally’ occurring boundary
conditions involve

w = gw on Γw , (6.120a)
θα = gαθ on Γθ , (6.120b)
mαn = Tα on ΓM , (6.120c)
qn = Q on ΓQ . (6.120d)

Given that one of the unknowns, θα , is a vector, three boundary conditions must be
applied at all points on the boundary.

Weak form
To derive the weak form, both equations (6.119a) and (6.119b) are addressed. Firstly,
equation (6.119a) is multiplied by a weight function θ̄α ,
Z Z 
θ̄α mαβ,β dΩ − θ̄α Cαβ w,β − θ β dΩ = 0. (6.121)
Ω Ω

Integrating the above equation by parts,


Z Z Z 
− θ̄(α,β) mαβ dΩ + θ̄α mαβ n β dΓ − θ̄α Cαβ w,β − θ β dΩ = 0. (6.122)
Ω Γ Ω

Inserting now Neumann boundary conditions (θ̄α = 0 where θα is prescribed) yields:


Z Z Z 
− θ̄α,β mαβ dΩ + θ̄α Tα dΓ − θ̄α Cαβ w,β − θ β dΩ = 0, (6.123)
Ω ΓM Ω

January 21, 2011 Version 0.2 99


6 Structural elements for finite element analysis

which is the weak form of equation (6.119a). Multiplying now equation (6.119b) by a
weight function w̄,
Z   Z
w̄Cαβ w,αβ − θ( β,α) dΩ + w̄pz dΩ = 0. (6.124)
Ω Ω

Integrating the above equation by parts yields:


Z  Z Z
− w̄,α Cαβ w,β − θ β dΩ + w̄Cαβ γβ nα dΓ + w̄pz dΩ = 0. (6.125)
Ω Γ Ω

Inserting again Neumann boundary conditions (w̄ = 0 where w is prescribed),


Z  Z Z
− w̄,α Cαβ w,β − θ β dΩ + w̄Q dΓ + w̄pz dΩ = 0, (6.126)
Ω ΓQ Ω

which is the weak form of equation (6.119b). The weak problem therefore involves:
find θα ∈ Sθ and w ∈ Sw such that:
Z Z
− θ̄α,β mαβ dΩ + θ̄α Tα dΓ
Ω ΓM
Z 
− θ̄α Cαβ w,β − θ β dΩ = 0, ∀θ̄α ∈ Vθ (6.127a)

Z  Z
− w̄,α Cαβ w,β − θ β dΩ + w̄Q dΓ
Ω ΓQ
Z
+ w̄pz dΩ = 0 ∀w̄ ∈ Vw (6.127b)

Note that both weak equations contains derivatives no higher than order one. It
is equations (6.127a) and (6.127b) that are solved using the finite element method.
This will require the interpolation of both the transverse displacement w and the ro-
tation θα . However, the highest order derivative appearing for both terms is one.
Hence, C0 shape functions can be applied.
Combining both equations (multiplying equation (6.127b) by minus one), adopting
the notation δw = w̄, δκαβ = θ(α,β) and δγα = w̄,α − θ̄α , and taking advantage of the
symmetry of mαβ , yields:
Z Z Z Z
−δκαβ mαβ dΩ + δγα qα dΩ + δθα Tα dΓ − δwQ dΓ
Ω Ω ΓM ΓQ
Z
− δwpz dΩ = 0 (6.128)

which is the equation of virtual work for a Reissner-Mindlin plate. Note that different
to the virtual work equation for a KirchhoffR plate (6.114), the above equation includes
a contribution to the energy due to shear ( Ω δγα qα dΩ).

100 Version 0.2 January 21, 2011


6.3 Plate

6.3.5 Plate finite elements


As in elasticity, symmetry of mαβ and καβ allows the use of simplified ‘engineering’
notation.

m = −Db κ (6.129)

where m = (m11 , m22 , m12 ) T and κ = (κ11 , κ22 , 2κ12 ) T . The matrix D b has the form:
 
1 ν 0
 
b Et3 ν 1 0 
D =  . (6.130)
12 (1 − ν2 ) 



(1 − ν )
0 0
2
For the shear forces qα ,

q = D s γ, (6.131)

where
 
s tkµ 0
D = . (6.132)
0 tkµ

Kirchhoff plate elements


There are few reliable, flexible and robust Kirchhoff plate elements. The complica-
tions are rooted in the need for C1 continuity. The majority of Kirchhoff plate ele-
ments are non-conforming – this means that they do not satisfy C1 continuity. How-
ever, some non-conforming elements yield satisfactory results. In place of requiring
C1 continuity, a less severe requirement is that elements satisfy a ‘patch test’. A patch
test is a numerical test which tests the ability of an element to reproduce particular
results which provides and indication as to whether or not a particular element is
suitable for analysis. In particular, it tests whether an element can represent rigid
body modes and a state of constant strain. In the context of plates, constant strain
implies constant curvature.
A common Kirchhoff plate element is rectangular and has four nodes and twelve
degrees of freedom. It does not however satisfy C1 continuity. The element is still
useful as it passes the patch test. Its shape functions are of the form:

N = c1 x3 y + c2 xy3 + c3 x3 + c4 y3 + c5 x2 y + c6 xy2 + c7 x2 + c8 y2
+ c9 xy + c10 x + c11 y + c12 . (6.133)

The applicability of this element is however limited by its inability to satisfy the patch
test as a quadrilateral – the element can only be used as a rectangle.
There exists a range of Kirchhoff plate elements, none of which are of general ap-
plicability.

January 21, 2011 Version 0.2 101


6 Structural elements for finite element analysis

Reissner-Mindlin plate elements

Plate finite elements based on the Reissner-Mindlin principle do not require C1 con-
tinuity. Two fields are interpolated (the transverse displacement and the rotation),
with derivatives of order no higher than one for both fields appearing in the weak
form. This is a significant advantage. It is then possible to form different elements
using the same procedures as for plane and three-dimensional continuum elements.
Isoparametric mappings can be used to construct arbitrary shapes.
The procedures developed in Chapter 4 for continuum elements can be applied to
develop plate elements. When using C0 shape functions with full integration, conver-
gence requirements are guaranteed. The unknown fields, w h and θh are interpolated
using C0 shape functions in terms of nodal unknowns,

w h = N w aw (6.134)
h θ θ
θ =N a (6.135)

Taking derivatives,

h
w,α = Bw aw (6.136)
h θ θ
κ =B a (6.137)

Inserting the discretised fields into equations (6.127a) and (6.127b) gives:

Z Z Z
T T T
Bθ D b Bθ dΩ aθe − N θ CBw dΩaw
e + N θ CN θ dΩaθe
Ωe Ωe Ωe
Z
=− NθT T dΓ (6.138a)
ΓM

Z Z
Bw T CBw dΩaw
e − Bw T CN θ dΩaθe
Ωe Ωe
Z Z
= N w T Q dΓ + N w T pz dΩ (6.138b)
ΓQ Ωe

for an element. This can be expressed as:

    w
kww kwθ aw
e f
e e = eθ , (6.139)
kθw
e kθθ
e aθe fe

102 Version 0.2 January 21, 2011


6.3 Plate

where
Z
kww
e = Bw T CBw dΩ (6.140a)
Ωe
Z
kwθ
e =− Bw T CN θ dΩ (6.140b)
Ωe
Z
T
kθw
e =− N θ CBw dΩ (6.140c)
Ωe
Z Z
T T
kθθ
e = Bθ D b Bθ dΩ + N θ CN θ dΩ (6.140d)
Ωe Ωe
Z Z
f ew = N w T Q dΓ + N w T pz dΩ (6.140e)
ΓQ Ωe
Z
T
f eθ = − NθT T dΓ (6.140f)
ΓM

Note again that the element stiffness matrix is symmetric. These are the equations
that are assembled into a global stiffness matrix, and solved.
Shape functions of different orders can be formulated (even different orders for
the transverse displacement and the rotation) and numerical integration is applied.
While different elements can be used which will result in a consistent formulation,
the performance of different elements may vary drastically.
It is possible to simulate thin plates using elements based on the Reissner-Mindlin
formulation. It is of course attractive if both thick and thin plates can be analysed
using the same elements. To do this, the response of Reissner-Mindlin elements in
the limit (t → 0) should be studied. The result should converge to the thin plate
theory. This is not the case in practice, and is discussed in the following section.

Mindlin-Reissner plate elements for thin plate problems


Ideally, thick plate formulations could be used for analysing thin plates. The problem
which is confronted is shear locking. As t → 0, Reissner-Mindlin elements typically
show an overly stiff response, compared to exact thin plate solutions. The reason for
this is that the contribution of the transverse shear deformation to the energy does not
vanish. The locking effect can be so extreme as to render elements unusable. For this
reason, extensive research efforts have been aimed at developing Reissner-Mindlin
elements which do not lock in the thin plate limit.
The simplest solution to shear locking is to use reduced or selective integration.
This excludes the spurious contribution of the transverse shear deformation to the
bending energy. For example, a four-node quadrilateral with 2 × 2 integration for
bending terms and one-point integration for transverse shear terms yields good re-
sults for thin plate problems. Using full integration for this element results in extreme
shear locking. Many Reissner-Mindlin elements involve reduced or selective integra-
tion to avoid shear locking.
Another possibility to avoid shear locking is to use a mixed formulation. The gov-
erning equations are not reduced to their primal form in terms of w and θα , but three

January 21, 2011 Version 0.2 103


6 Structural elements for finite element analysis

fields are interpolated: w, θα and qα . It can be shown however that most mixed for-
mulations are equivalent to reduced or selective integration (Hughes, 1987).
Discrete Kirchhoff elements are based on thick shell formulations. What they re-
quire is that the Kirchhoff thin plate requirement of zero transverse shear strain is
met at a discrete number of points within an element. These elements do not require
reduced integration to avoid shear locking. However, some ambiguities arise when
applying distributed loads.

6.4 Shell elements


Shells exist in a three-dimensional space. They are essentially curved plates. A simple
approximation to a shell structure is to use a collection of flat combined plate/membrane
elements to approximate the curved surface. Shell elements can also be formulated
directly. The three-dimensional nature of the element makes them more complicated
than plates. The direct formulation of shell elements is not addressed here. Details
of their formulation can be found in numerous references (Bathe, 1996; Hughes, 1987;
Cook et al., 1989; Zienkiewicz and Taylor, 1991).

6.5 Exercises
1. For a truss element with ends located at ( x1 , y1 ) and ( x2 , y2 ), find the rotation
matrix R that rotates from the ( x, y) system to the convenient ( x ′ , y′ ) system.
2. For a two-node Hermitian beam element, how does the bending moment and
the shear forces vary along the length of the element?
3. Sketch the Hermitian shape functions in equation (6.50).

4. Give the stiffness matrix for a two-node beam element in two-dimensions that
allows for axial deformations.
5. Give two examples of when finite element analysis with continuum elements is
preferable and two examples where beam, plate or shell elements is preferable.
Provide a short reasoning for each case.
6. What is the danger in applying reduced or selective integration for plate ele-
ments?
7. If a constant distributed load is applied normal to a plate surface, pz , calculate
the equivalent nodal forces for an eight-node Reissner-Mindlin element.

104 Version 0.2 January 21, 2011


7 Analysis of the finite element method
It was shown in Chapter 3 that the finite element method calculates a solution which
is optimal in terms of the energy, given a collection of basis functions. While the solu-
tion may be optimal, this does not tell how large the error is. It is of course important
to have some idea of the magnitude of the error and how it can be controlled and re-
duced. Also, it is useful to know ‘how accurate’ different elements are. This is known
as the order of convergence – if the size of the element is halved, how much smaller will
the error be?

7.1 A priori error estimation


A priori error estimation does not provide quantitative information as to the error in
a finite element simulation. What it does provide is the order of convergence. The
order of convergence indicates how quickly the error reduces upon mesh refinement.
The order depends on several factors. One is with which ‘norm’ the error is being
measured. For example, is the error in terms of displacements being measured, or the
error in terms of the strain. Another factor is the smoothness of the exact solution.
For finite element analysis, the order of convergence depends heavily on the type of
element. We want to know if we halve the element size (leading to at least a doubling
in computational effort), how much smaller will the error be.
Recall from Chapter 3 the error e at a point is defined as:

e = u − uh , (7.1)

where u is the exact solution and uh is the approximate solution. To give an indication
of the size of the error, it is necessary to consider a norm of the error, kekn . The
subscript n indicates the type of norm. The Sobolev norm, which is the type of norm
which will be used here, is given by:
!1/2
n Z
α 2
kukn = ∑ ( D u) dΩ , (7.2)
α =0 Ω

where D α denotes the α derivative. For example, setting n = 2, the Sobolev norm is
equal to:
Z 1/2

k u k2 = uu + u,i u,i + u,ij u,ij dΩ . (7.3)

This scalar value is a measure of the ‘magnitude’ of a function. The magnitude of


the error is quantified by calculating a norm of e. Two norms of particular interest

105
7 Analysis of the finite element method

involve n = 0 and n = 1. For example, setting n = 0 gives:


Z 1/2
k e k0 = (e · e) dΩ , (7.4)

which is a measure of the error in the displacements. Setting n = 1,


Z 1/2
k e k1 = (e · e + ∇e : ∇e) dΩ , (7.5)

which now includes the gradient of e, thereby introducing a measure of the error in
the strain. A Sobolev semi-norm is given by
Z 1/2
|u|n = ( D n u)2 dΩ , (7.6)

which involves only a particular order derivative. An important semi-norm is the


energy norm. It is defined by:
Z
kuk2E = |u|2r = ( Dr u)2 dΩ, (7.7)

where r is the order of the derivatives appearing in the weak form.


Consider the nodal interpolate u I ,

uI = ∑ Ni aiI . (7.8)
i

The nodal interpolate is equal to the exact solution at the nodes (u − u I = 0 at the
nodes), hence it interpolates the exact solution using the provided shape functions.
Interpolation theory provides the inequality

ku − u I km ≤ chk+1−m |u|k+1 , (7.9)

where k is the polynomial order, c is an unknown constant, and h is a measure of


the element size. Note that to ensure convergence, k + 1 > m. Given that a finite
solution is known to be the best possible solution from the finite-dimensional space
S h , it holds that

ku − uh k E ≤ ku − u I k E . (7.10)

This means that the finite element solution is at least as accurate as the nodal inter-
polate in terms if energy. In this way, the question of determining an error estimate
is no longer a finite element question, rather a question which can be answered from
interpolation theory. Inserting now equation (7.10) into the above expression,

ku − uh kr ≤ Chk+1−r |u|k+1 , (7.11)

106 Version 0.2 January 21, 2011


7.2 A posteriori error estimation

where C is a constant, independent of h. For an elasticity problem, r = 1, hence

ku − uh k1 ≤ Chk |u|k+1 . (7.12)

This implies that the solution converges in this norm at a rate equal to the polynomial
order. For practical purposes, this norm is dominated by the error in the strain, hence
it represents the error in the energy. This result is however conditional upon the semi-
norm |u|k+1 existing. If the exact solution is not sufficiently smooth, there may be no
gain in accuracy through increasing the polynomial order.
It would be useful to find an estimate in terms of lower norms, such as the error in
the displacement, ku − uh k0 . An estimate can be obtained using ‘Nitsche’s trick’ (see
Strang and Fix (1973) for details). It leads to the estimate:

ku − uh ks ≤ Ch β |u|k+1 . (7.13)

where β = min (k + 1 − s, 2(k + 1 − r )).


In elasticity, the two quantities of special interest are the displacements and the
strains (and hence the stresses). The error in the displacements is given by kek0 ,
R 1/2
which is equal to Ω e · e dΩ . For k ≥ 1, the displacement error is:

kek0 ≤ Chk+1 |u|k+1 . (7.14)

In terms of the strain,

kek1 ≤ Chk |u|k+1 , (7.15)

which implies that the approximate strains converge to the exact result slower than
the approximate displacements. For linear elements, k = 1. Therefore,

kek0 ≤ Ch2 |u|2


(7.16)
kek1 ≤ Ch|u|2 .

Hence linear elements are known as being O(h2 ) in terms of displacements, and O(h)
in terms of strains. The notation O(h a ) means that the error is ‘of the order h a ’. Of
course as h becomes small, the greater a the smaller the error. Larger a implies faster
convergence. The convergence order for different polynomial orders is given in Ta-
ble 7.1.

7.2 A posteriori error estimation


Once a finite element solution has been calculated, a natural question is how close
the solution is to the exact solution. This is error analysis, which tells ‘how good’ the
calculated solution is. The order of convergence of a particular element type indicates
how quickly the exact solution is approached, but does not tell how far the computed
solution is from the exact solution.

January 21, 2011 Version 0.2 107


7 Analysis of the finite element method

polynomial order displacements k strains k


1 2 1
2 3 2
3 4 3
4 5 4

Table 7.1: Order of convergence O(hk ) for commonly used finite elements in terms
of displacements and strain, assuming that the exact solution is sufficiently
smooth.

A posteriori error estimators are generally either residual-based or rely on stress


recovery techniques. Fortunately, some relatively simple error estimators exist for
linear problems. The most common is the Zienkiewicz-Zhu (ZZ) (Zienkiewicz and
Zhu, 1987) stress recovery error estimator. It is based on the property that the stresses
at certain points within an element are super-convergent. That is, they converge faster
toward the exact solution than other points. The essence of the error estimator is
to take the stresses at the super convergent points and form an interpolation of the
stress using these points. Then, by comparing the stresses interpolated from the super
convergent points with the stress computed from the derivative of the displacement
field, the error can be estimated.
Error estimation is a rich field of applied mathematical research. Research is ongo-
ing for more sophisticated error estimators for more complicated problems.

7.3 Adaptivity
To improve the accuracy of a finite element solution, adaptivity techniques can be
employed in combination with an error estimator. Based on an analysis of the error,
a finite element mesh can be adapted to improve the solution.
Two forms of adaptivity are commonly used: p-adaptivity and h-adaptivity. p-
adaptivity involves increasing the polynomial order of elements to reduce the error
in the calculated solution. h-adaptivity uses another technique to reduce the error.
It relies upon reducing the size of the element. Hence, a new mesh must be con-
structed. It is possible to generate an entirely new mesh, or to devise procedures
which sub-divide elements where the error is large. A mathematically appealing con-
cept is hp-adaptivity. It has an extraordinary rate of convergence, but is challenging
to implement.
It may be desirable to reduce the error to a specified value throughout a mesh.
Given a estimation of the error, adaptivity can be employed to reduce the error where
needed. Then, the problem is re-analysed, the error is again estimated, and adaptivity
is employed. The process can be repeated until the prescribed error tolerance is met.
Given a measure of the error, an adaptive scheme is required to reduce the error to
the prescribed levels. At this point, knowing the order of convergence of an element
may prove useful. To halve the error in a particular problem using h-adaptivity, it

108 Version 0.2 January 21, 2011


7.4 Exercises

helps to know how quickly the error reduces for a particular element.

7.4 Exercises
1. Give the order of convergence in terms of the strain for the following element:
a) T3
b) Q4
c) T6
d) Q8
e) Q9
2. When using Q4 elements, how much smaller would you expect the error in
the displacements and the stresses to be if all the elements are made 2.7 times
smaller?

3. List some advantages and disadvantages of p- and h-adaptivity.

January 21, 2011 Version 0.2 109


8 Solvers for large linear systems

Note: This chapter is still being developed.


The finite element solution of practical problems often leads to very large systems
of equations. Large systems require significant memory to store the matrices and
large computational effort to solve the system. To find the finite element solution to a
problem, the following system needs to be solved:

Ka = f (8.1)

The stiffness matrix K typically has a number of special properties. Due to the com-
pact support of finite element shape functions, the system of equations is sparse. This
means that the stiffness matrix contains many zero elements. Furthermore, if nodes
are numbered in an efficient manner, the matrix is also banded. This mean that non-
zero terms are located close to the diagonal. Another special property is symmetry.
For all problems examined in these notes, the stiffness matrix is symmetric. This is a
consequence of using a Galerkin formulation.
Storing only non-zero elements in the computer memory leads to enormous sav-
ings in memory. Further savings can be achieved for symmetric matrices by storing
only the diagonal terms and non-zero terms above the diagonal. However, unlike
finite difference methods, the exact structure of the stiffness matrix is not constant.
It varies for different meshes. Therefore, a general method is required to solve the
system of equations. 
Gauss elimination – number of operations O n3
In finite element code however, Gauss elimination is rarely used. Typically more
efficient direct or iterative solvers are used. Direct solvers yield a result with a known
number of steps. Iterative solvers approach the exact solution. The number of steps
performed depends on the desired accuracy.

8.1 LU-decomposition
A commonly used direct solution technique is known as LU-decomposition. It is
particularly effective for solving moderately sized problems where the bandwidth of
K is limited (as is the case for a well constructed finite element mesh). The system of
equations Ka = f is rewritten as:

LUa = f (8.2)

where L is a lower triangular matrix with ones on the diagonal and U is an upper
diagonal matrix. The motivation is that it is relatively simple to solve triangular ma-
trices.

111
8 Solvers for large linear systems

The first step is to factorise the matrix K in L and U. In a computer implementation,


the factorised matrices can be stored in the memory allocated for K. Then, the system
of equations:
Ly = f (8.3)
is solved (the ‘result’ being y). This is step is known as ‘forward substitution. The
following step, ‘backward substitution’, is then to solve the system:
Ua = y (8.4)
which yields the solution to the original problem, a.
The procedure can be implemented in a computer programming surprisingly sim-
ply. The following code extracts for solving a banded system are taken from Golub
and Loan (1996).
for k=1:n-1
for i=k+1:min(k+p,n)
K(i,k) = K(i,k)/A(k,k)
end
for j=k+1:min(k+q,n)
for i=k+1:min(k+p,n)
K(i,j) = K(i,j) - K(i,k)*K(k,j)
end
end
end
There are several variations on this procedure to improve its performance. ‘Pivot-
ing’ is often used to avoid numerical problems associated with large and small terms
on the diagonal. Also, for symmetric systems the algorithm can be modified, yielding
considerable computational savings.

8.2 Iterative solvers


Direct solvers are relatively simple to program and are robust. However, they can
become prohibitively expensive for very large problems. An alternative is the use of
iterative solvers. Iterative solvers ‘iterate’ toward the exact solution. The process is
stopped when the desired tolerance is reached. For large system of equations, iter-
ative solvers are generally faster than direct solvers, although the time required for
convergence depends heavily on the nature of the matrix K. Unlike direct solvers, it
is not possible to compute exactly the required computational effort before starting
the computation.
To be added:
Gauss-Siedel
Krylov subspace methods
Conjugate-gradient
The efficiency and robustness of iterative solvers can be improved significantly
through the use of preconditioning.

112 Version 0.2 January 21, 2011


9 Time-dependent problems
Until now, the finite element method has been applied only for time-independent
problems. In this chapter, the unsteady heat equation and elastodynamics are consid-
ered in which the time dimension must be addressed.

9.1 Elastodynamics
The majority of this chapter deals with elastodynamics problems. Two approaches
will be elaborated. The first, modal analysis, relies on linearity of the underlying
problem and is suited to vibration analysis. The second, less subtle, approach is more
general and suited to wave propagation problems.

9.1.1 Governing equation and the weak form for elastodynamics


The equation of motion is given by:

ρü = ∇ · σ + b (9.1)

where ρ is the density and ü = ∂2 u/∂t2 is the acceleration vector. In mathematical


terms, this equation differs significantly from the static case as the governing equa-
tion is hyperbolic. Similar to static problems, its is complemented by boundary condi-
tions. On parts of the boundary, time-dependent Dirichlet boundary conditions are
prescribed,

u=g on Γg . (9.2)

On other parts of the boundary, time-dependent Neumann boundary conditions are


applied,

σn = h on Γh (9.3)

Dynamic problems require some ‘extra’ information compared to their quasi-static


counterparts. These are initial conditions. Initial conditions correspond to the con-
ditions at time zero (t = 0). Elastodynamics involves the second derivative of the
displacement with respect to time, therefore two initial conditions are required:

u ( x, 0) = u0 ( x) (9.4a)
u̇ ( x, 0) = v0 ( x) (9.4b)

where v is the velocity (v = ∂u/∂t).


All problems up to this chapter were elliptic. With elliptic problems, information
travels through the domain immediately. For example, when a load is applied at the

113
9 Time-dependent problems

free end of a restrained rod, a reaction force is felt immediately at the other end. The
equations for elastodynamics are hyperbolic. With hyperbolic problems ‘information’
travels at finite speeds. If a bar, restrained at one end, is hit with a hammer at the free
end, a stress wave will travel through the bar and a force at the restrained end will
not be felt until the stress wave arrives.
Deriving the weak form for dynamic problems follows the familiar procedure.
Multiplying equation (9.1) by a weight function w, which is independent of time,
and integrating gives:
Z Z Z
ρw · ü dΩ = w · (∇ · σ ) dΩ + w · b dΩ (9.5)
Ω Ω Ω
Integrating by parts, using the same steps outlined in Chapter 2, and inserting Neu-
mann boundary conditions, solving the weak form involves: for a given t > 0, find
u ∈ S such that
Z Z Z Z
ρw · ü dΩ = − ∇s w : σ dΩ + w · b dΩ + w · h dΓ ∀w ∈ V . (9.6)
Ω Ω Ω Γh

9.1.2 Semi-discrete Galerkin form


To reach a finite element formulation, the Galerkin form must be developed. From
the weak from in the previous section, the Galerkin problem involves: find uh ∈ S h
such that
Z Z Z
ρwh · üh dΩ = − ∇s wh : σ h dΩ + wh · b dΩ
Ω Ω Ω
Z
+ wh · h dΓ ∀wh ∈ V h , (9.7)
Γh

which is known as ‘semi-discrete’. This stems from the fact that the dependence on
time t has not been addressed in the same fashion as the spatial dependency x. The
time dimension is left continuous.
To solve dynamic problems using a computer, like for the static case the governing
equation must be expressed in terms of nodal unknowns and basis functions. This
is again done using finite element shape functions. The velocity and acceleration
fields are represented using the shape functions, which when considering the semi-
discrete formulations are constant in time. Therefore, the finite-dimensional velocity
and acceleration fields in an element are given by:

u̇h = N ȧe , (9.8a)


h
ü = N äe , (9.8b)

where ȧe = dae /dt and äe = d2 ae /dt2 . Inserting the discretised displacement field
and the expression for the acceleration field into equation (9.7) and rearranging, for
an element,
Z Z Z Z
N T ρN dΩ äe = − B T DB dΩ ae + N T b dΩ + N T h dΓ. (9.9)
Ωe Ωe Ωe Γh,e

114 Version 0.2 January 21, 2011


9.1 Elastodynamics

This equation is commonly called the ‘semi-discrete’ equation. This equation can be
written is a shorthand format as:

Me äe + ke ae = f e (9.10)

where Me is the element mass matrix. Once the element contributions have been
assembled into the global mass and stiffness matrices and the global RHS vector, for
a given time tn

M än + Kan = f n . (9.11)

Before this equation can be solved, a strategy is required to deal with the time deriva-
tives of a.

9.1.3 Mass matrix


There are several methods to form the mass matrix. The obvious choice from the
variational approach is the consistent mass matrix. This is formed similarly to the
stiffness matrix,
Z
Mecons = ρN T N dΩ. (9.12)
Ωe

This is typically formed by integrating numerically, in the same fashion as for the
element stiffness matrix. As with the element stiffness matrix, the mass matrix is
symmetric and will have off-diagonal terms.
Before the variational basis of the finite element method was properly understood,
it was not entirely clear how the mass matrix should be formed. A common approach
was to form a lumped mass matrix. This corresponds to having discrete, lumped
masses at each node. Since finite element shape functions are equal to unity at their
node and zero at all other nodes, the lumped mass matrix has non-zero terms only on
the diagonal. This property is highly advantageous in combination with some time
integration schemes, as will be discussed in the following sections.
Since lumped schemes do not follow naturally from the variational formulation,
there is some freedom in determining exactly how the lumped mass matrix should be
calculated. Perhaps the simplest procedure to form lumped mass matrices is to form
the matrices using numerical integration, but with integration points located only at
element nodes. Since shape functions are equal to unity at their node and zero at all
other nodes, this will yield a diagonal mass matrix. It is however possible that nodes
will have zero or negative masses. Another procedure is based on summing rows of
the consistent mass matrix.
n
lump
Mii = ∑ Mijcons (9.13)
j =1

where n is the dimension of the mass matrix. All off-diagonal terms are equal to zero.
This procedure however can lead to negative masses on the diagonal. Other more

January 21, 2011 Version 0.2 115


9 Time-dependent problems

sophisticated lumping schemes are possible which will avoid negative masses. There
is no rich theory underlying the choices. The performance of lumped mass matrices
is guided primarily by experience. They two key points are that zero and negative
masses on the diagonal should be avoided. It will become clear when addressing
particular time integration schemes why lumped mass matrices are popular.

9.1.4 Damping
Problems in structural dynamics often involve damping. The precise source of damp-
ing and its mathematical form is often vague. Damping is often included by adding
the term C ȧ to the governing equations,

M ä + C ȧ + Ka = f , (9.14)

where the matrix C represents the sources of damping in the structure. A simple
method of introducing damping is to say:

C = τM + ψK, (9.15)

where τ and ψ are user chosen parameters. This is known as Rayleigh damping. The
contribution of the stiffness matrix to the damping matrix increases damping with in-
creasing frequency. Conversely, the contribution of the mass matrix increases damp-
ing with decreasing frequency. The choice of the parameters τ and ψ is certainly
arbitrary, representing the uncertainty in the source of damping. A discussion can be
found in Cook et al. (1989).
Damping due to the material response can also be included. It can be included
through the damping matrix C, or through the constitutive model relating stress and
strain. This topic is left to other courses which address non-linear material behaviour.

9.2 Heat equation


The heat equation is introduced here as a step to the problems in elastodynamics.
Unlike elastodynamics, it involves first order derivatives with respect to time. The
steady-state version of the equation was introduced in Section 2.3. In strong form,
unsteady heat diffusion is governed by:

ρcu̇ + ∇ · q = f , (9.16)

where in the context of diffusion of heat, c is the ‘capacity’, u is the temperature,


q = −κ ∇u is the heat flux, kappa is the conductivity. The problem requires boundary
conditions, as outlined in Section 2.3, and initial conditions. Given that only the first
derivative with respect to time is involved, only one type of initial condition may be
provided, namely the temperature at t = 0,

u ( x, t) = u0 ( x) . (9.17)

116 Version 0.2 January 21, 2011


9.3 Frequency analysis for elastodynamics

The heat equation is parabolic. If one end of a rod is heated, this is immediately felt
(an infinitesimal amount) and increases with time.
Following the usual processes in developing the weak form, the semi-discrete Galerkin
problem for the heat equation involves: for a given t > 0, find uh ∈ S h such that
Z Z Z Z
w h ρcu̇h dΩ + ∇wh · κ ∇uh dΩ − w h h dΓ = w h f dΩ ∀wh ∈ V h (9.18)
Ω Ω Γh Ω

In matrix form, this can be expressed at time tn as:


M ȧn + Kan = f n . (9.19)

9.3 Frequency analysis for elastodynamics


If an undamped system is allowed to vibrate freely (no forcing terms), its motion is
harmonic. The displacements at the nodes can be described by
a = ā cos (ωt − α) , (9.20)
where ω is the frequency (radians per second). The acceleration is therefore given by:
ä = −ω 2 ā cos (ωt − α) . (9.21)
Inserting these results into equation (9.11) and rearranging,
 
−ω 2 M + K ā = 0, (9.22)

which is a matrix eigenvalue problem. Non-trivial solutions (ā 6= 0) require that:


 
det K − ω 2 M = 0, (9.23)

where ω are the natural frequencies of the system. If stiffness and mass matrices are
of dimension n, there are n eigenvalues λ (λ = ω 2 ). The eigenvectors are ā, which
are also known as natural modes.
For explicit time integration procedures, it is important to know the highest natural
frequency of the discrete problem. The difficulty is that the size of the problem in
equation (9.23) can be very large. An upper bound to the highest frequency can be
found by calculating the frequencies for all individual elements.
 
det ke − ωe2 me = 0 (9.24)

The highest frequency from all elements provides an upper bound to the highest
frequency of the problem.
For a one-dimensional linear element, it is relatively simple to calculate the natural
frequencies. It turns out that for a lumped mass matrix, the highest frequency is equal
to:
s
2 E
ωe = (9.25)
L ρ
√ p
for an element of length L. For the consistent mass matrix, ωe = 2 3/L E/ρ.

January 21, 2011 Version 0.2 117


9 Time-dependent problems

9.4 Modal analysis for elastodynamics


Modal analysis involves the dividing of the response of a structure into a number of
modes. The sum of the modes gives the total displacement. For linear problems, it is
then possible to treat each mode individually. Consider a solution

a = ψi cos (ωi t + θi ) . (9.26)

Inserting the above equation into the unforced version ( f = 0) of equation (9.11) ,
 
K − ωi2 M Ψi = 0, (9.27)

where Ψi are eigenvectors, and are known as vibration modes, and ωi are the natural
frequencies. The nodal displacements can be expressed as a summation of eigenfunc-
tions,

a (t) = ∑ αi (t) Ψi (9.28)


i

where αi (t) is the amplitude of the ith eigenmode.


A special property of the eigenmodes Ψi is that they are orthogonal. This means that:
(
T 1 i = j,
Ψi MΨj = (9.29)
0 i 6= j,

and
(
T ωi2 i = j,
Ψi KΨj = (9.30)
0 i 6= j.

Orthogonality implies that the vibration modes do not interact with each other. It is
then possible to treat each mode separately.
Inserting equation (9.28) into equation (9.11) yields:

M ∑ α̈i Ψi + K ∑ αi Ψi = f (9.31)
i i

Pre-multiplying both sides of this equation by Ψj T ,

Ψj T M ∑ α̈i Ψi + Ψj T K ∑ αi Ψi = Ψj T f (9.32)
i i

The orthogonality property means that the equation has been decoupled into nm sim-
ple, separate equations,

α̈i + ωi2 αi = Ψi T f . (9.33)

118 Version 0.2 January 21, 2011


9.5 Time stepping algorithms

Now, for each mode of interest, the above equation can be solved. Typically, this
equation can be solved analytically. For the unforced case, equation (9.33) is a homo-
geneous ordinary partial differential equation, with the solution

αi = c1 sin (ωi t) + c2 cos (ωi t) . (9.34)

Solutions for forced cases are dependent on the type of loading.


In applying modal analysis, the computational effort lies in finding the eigenvec-
tors and eigenvalues. In structural analysis, usually only the low frequency modes
have a significant influence on the structural response. Therefore, equation (9.33) is
only solved for a few modes. Modal analysis relies on the orthogonality property of
the eigenfunctions. Therefore it is limited to linear analysis. For non-linear problems,
the orthogonality property does not hold. Further discussion of modal methods can
be found in Craig (1981) and Cook et al. (1989).

9.5 Time stepping algorithms


Time stepping algorithms involve schemes to increment the time in discrete steps
∆t. Given the values of an , ȧn and än at time tn (and perhaps also at earlier times
steps), the values an+1 , ȧn+1 and än+1 at time tn+1 = tn + ∆t are needed. To do this,
a time stepping scheme is needed. Time is then incremented until the desired time is
reached.
Time stepping schemes are distinguished by being either explicit or implicit. Ex-
plicit integrators rely only on information at time step n, and perhaps earlier steps
(such as n − 1) to compute the solution at time step n + 1. Implicit schemes rely on
information at time step n + 1, and perhaps information at time step n and earlier
steps. This means a system of equations must be solved for implicit schemes. Hence,
implicit schemes generally require significantly extra computational effort, compared
to explicit schemes.
Accuracy is not the difference between explicit and implicit schemes. Explicit
schemes can be constructed to have a high degree of accuracy (such as the 4th or-
der Runge-Kutta method, which is O(∆t4 ) accurate). Conversely, implicit schemes
may have a low degree of accuracy (such as the backward Euler scheme, which is
O(∆t) accurate). The difference between explicit and implicit schemes lies in stabil-
ity. Stability means the range of time steps ∆t for which an integrator will calculate a
stable result (small errors do not grow exponentially). If an integrator is unstable, it
will ‘blow-up’, rapidly diverging from any sensible result. There are known schemes
of exceptional accuracy, but due to their extremely poor stability properties they are
useless. There are no known unconditionally stable explicit schemes.

9.5.1 One-step algorithms for the heat equation

To introduce time stepping algorithms, the unsteady heat equation is first consid-
ered. It provides a step towards the more complicated schemes for elastodynamics.

January 21, 2011 Version 0.2 119


9 Time-dependent problems

A popular family of algorithms are ‘generalised trapezoidal’ methods. They involve:

an+1 = an + ∆t ((1 − θ ) ȧn + θ ȧn+1 ) , (9.35)

where 0 ≤ θ ≤ 1. Well known methods are the explicit forward Euler (θ = 0) method,
and the implicit trapezoidal (θ = 1/2) and backward Euler (θ = 1) methods. In
practice, the forward Euler is not particularly useful as its stability properties are
poor. For the problems to be considered here, the trapezoidal method is particularly
attractive as it is unconditionally stable, and is second-order accurate. The backward
Euler method is also unconditionally stable, but only first-order accurate.
In matrix form, the heat equation at time tn+1 must satisfy:

M ȧn+1 + Kan+1 = f n+1 . (9.36)

Rearranging equation (9.35),

1 1 (1 − θ )
ȧn+1 = a − an − ȧn , (9.37)
θ∆t n+1 θ∆t θ
and inserting the above result into equation (9.36) gives,
 
1 1 (1 − θ )
M + K a n +1 = f n +1 + Man + M ȧn . (9.38)
θ∆t θ∆t θ

In compact notation, the problem to solve an+1 has become

K̂an+1 = fˆn+1 , (9.39)

where
1
K̂ = M+K (9.40a)
θ∆t
1 (1 − θ )
fˆn+1 = f n+1 + Man + M ȧn , (9.40b)
θ∆t θ
and ȧn is computed from equation (9.37).

9.5.2 One-step algorithms for elastodynamics


The most commonly used time integration scheme in solid and structural mechan-
ics is the generalised Newmark scheme. Newmark time integrators are a family of
schemes, both explicit and implicit. Choosing parameters appropriately for a New-
mark algorithm yields a number of different, well known integrators. The Newmark
algorithm gives an+1 and ȧn+1 as:

∆t2
an+1 = an + ∆t ȧn + ((1 − 2β) än + 2β än+1 ) (9.41a)
2
ȧn+1 = ȧn + ∆t ((1 − γ) än + γ än+1 ) (9.41b)

120 Version 0.2 January 21, 2011


9.5 Time stepping algorithms

where β and γ are parameters which define the nature and properties of the algo-
rithm. Appropriate choices of β and γ yield well known integration methods. The
Newmark method is unconditionally stale for:
1
2β ≥ γ ≥ (9.42)
2
For γ = 1/2, a Newmark scheme is second-order accurate.
A commonly used time integrator is the central difference method. It is necessary
to express the terms ȧ and ä in terms of a. Calculating the necessary terms using
central differences,
a n +1 − a n −1
ȧn = (9.43a)
2∆t
an−1 − 2an + an+1
än = . (9.43b)
∆t2
It is possible to rearrange these terms and show that they are equivalent to equation
(9.41) for β = 0 and γ = 1/2. It is clear that this algorithm is explicit – it is possible
to express an+1 in terms of quantities at n and earlier times (which are known). This
scheme is O(∆t2 ) accurate, but it is conditionally stable. It is stable for:
2
∆t ≤ (9.44)
ωh

where ω h is the highest natural frequency (highest value from det K − ω 2 M = 0.
The term ω h can be
p estimated for linear elements as 2c/L, where c is the dilatational
wave speed (c = E/ρ) and L is the length of an element. Therefore,
L
∆t ≤ , (9.45)
c
which is the Courant, Friedrichs and Lewy (CFL) stability condition.
Another commonly used time integrator is based on the trapezoidal rule,
∆t
ȧn+1 = ȧn + ( än + än+1 ) , (9.46a)
2
∆t
a n +1 = an + ( ȧn + ȧn+1 ) . (9.46b)
2
Inserting equation (9.46a) into equation (9.46b),

∆t2
an+1 = an + ∆t ȧn + ( än + än+1 ) (9.47)
4
This integrator is implicit. It corresponds to β = 1/4 and γ = 1/2 in the New-
mark family of integrators. This method is unconditionally stable and the accuracy
is O(∆t2 ). Its stability properties are attractive, but as will be shown later, it requires
the factorisation of a large matrix. It is also energy conserving.

January 21, 2011 Version 0.2 121


9 Time-dependent problems

Explicit time integration – central difference approach


The system of equations to be solved, with damping, has the appearance:

M än + C ȧn + Kan = f n . (9.48)

It is assumed that a and its time derivatives are known at time t and unknown at
time t + ∆t (corresponding to n + 1). Inserting the central difference expressions from
equation (9.43),

an−1 − 2an + an+1 a − a n −1


M 2
+ C n +1 + Kan = f n . (9.49)
∆t 2∆t
Rearranging the above equation such that all terms at t + ∆t are on the LHS and all
terms at time t are on the RHS,
 
1 1 1 1
M + C an+1 = 2 M (2an − an−1 ) + Ca − Kan + f n . (9.50)
∆t 2 2∆t ∆t 2∆t n−1

Recall that the displacement vector a is known at step n and all previous steps, and
unknown at step n + 1. Given an and an−1 , it is possible to calculate an+1 . The above
equations can be written in a shorthand format as:

M̂an+1 = fˆn , (9.51)

where
 
1 1
M̂ = 2
M+ C (9.52)
∆t 2∆t

and
1 1
fˆn = 2 M (2an − an−1 ) + Ca − Kan + f n . (9.53)
∆t 2∆t n−1
Then, the displacement vector a at step n + 1 is given by:

an+1 = M̂ −1 fˆn (9.54)

If both M and C are diagonal matrices, an+1 can be calculated without solving a
system of equations (hence the attractiveness of lumped mass matrices when using
explicit time integrators). In practice, it is not necessary to form the stiffness matrix K.
The term Kan is equivalent to:
Z
Kan = B T σn dΩ. (9.55)

A difficulty with explicit central-difference time integration is the need for infor-
mation at n − 1 when starting a calculation. A procedure is required to ‘start’ the

122 Version 0.2 January 21, 2011


9.5 Time stepping algorithms

algorithm at t = 0. Combining equations (9.43) it is possible to express an−1 in terms


of quantities at n (time t = 0), which are the initial conditions.

∆t2
an−1 = an − ∆t ȧn + än (9.56)
2
The vector an−1 can be used to start the time integration procedure.
The central difference procedure is popular in finite element analysis. In combi-
nation with a lumped mass matrix, it is very efficient and suitable for very large
problems. Furthermore, it is second-order accurate. The significant drawback is the
conditional stability. The time step must be chosen carefully for a particular discreti-
sation.

Implicit time integration – the Newmark family


Formulation of a Newmark scheme starts by inserting the expressions for the velocity
and accelerations into:

M än+1 + C ȧn+1 + Kan+1 = f n+1 (9.57)

Rearranging the expressions in equation (9.41) for β 6= 0 to express the accelerations


and velocity at step n + 1 in terms of step n and earlier,

1 1 1
än+1 = ( a n +1 − a n ) − ȧn − än + än (9.58a)
β∆t2 β∆t 2β

ȧn+1 = ȧn
  
1 1 1
+ ∆t (1 − γ) än + γ ( a n +1 − a n ) − ȧ n − ä n + ä n (9.58b)
β∆t2 β∆t 2β

These equations are then inserted into equation (9.57). For simplicity, damping is
ignored. This yields,
 
1 1 1
M ( a n +1 − a n ) − ȧn − än + än + Kan+1 = f n+1 (9.59)
β∆t2 β∆t 2β

Rearranging such that all unknown quantities appear on the LHS, and all known
quantities on the RHS,
   
1 1 1 1
M + K a n +1 = M an + ȧn + ȧn − än + f (9.60)
β∆t2 β∆t2 β∆t 2β

which in a short-hand notation can be expressed as:

K̂an+1 = fˆn+1 (9.61)

January 21, 2011 Version 0.2 123


9 Time-dependent problems

Since the stiffness matrix K is not diagonal, calculating an requires the solution of a
system of equations. At time step n, the vector fˆ can be calculated from an , the terms
in f are prescribed and both M and K can be formed. Solving the resulting system of
equations yields an+1 . Note that calculating the ‘new’ ȧn+1 introduces a dependency
on the parameter γ.
With the Newmark scheme, numerical damping can be introduced by choosing
γ > 1/2. Numerical damping aids in controlling undesirable spurious high fre-
quency modes in the solution. However, choosing γ 6= 1/2 reduces the integration
scheme to first order accuracy O(t).

9.5.3 α-Method for elastodynamics


In dynamic simulations, it is usually desirable to introduce some numerical damping
to suppress spurious high-frequency modes. The problem with the Newmark scheme
is that the introduction of any numerical damping reduces the order of accuracy from
two to one. A number of algorithms have been developed to preserve second-order
accuracy while allowing for the introduction of numerical damping. One such al-
gorithm is the α-Method, which is also known as the Hilber-Hughes-Taylor Method
(Hughes, 1987). It involves using a Newmark scheme to solve :

M än+1 + (1 − α) Kan+1 − αKan = f n+1+α , (9.62)

where f n+1+α = f n+1+θ∆t . If α = 0, the α-Method reduces to the Newmark scheme. If


−1/3 < α < 0, γ = (1 − 2α) /2 and β = (1 − α)2 /4, the algorithm is unconditionally
stable and second-order accurate. Numerical dissipation can be controlled through
the parameter α. Decreasing α increases the dissipation.

9.6 Space-time formulations


Time as a degree of freedom.

9.7 Exercises
1. Calculate the consistent and lumped mass matrices for the four-noded quadri-
lateral element.
2. Derive the mass matrix for a two-noded beam element.
3. Rearrange equation (9.41) to show for β = 0 and γ = 1/2 the scheme is equiva-
lent to a central-difference procedure.

124 Version 0.2 January 21, 2011


References
Bathe, K.-J. (1996). Finite Element Procedures. Prentice-Hall, New Jersey.
Braess, D. (2001). Finite Elements: Theory, fast solvers, and applications in solid mechanics.
Cambridge University Press, Cambridge.
Brenner, S. C. and Scott, L. R. (1994). The Mathematical Theory of Finite Elements Meth-
ods. Springer-Verlag, New York.

Cook, R. D., Malkus, D. S., and Plesha, M. E. (1989). Concept and Applications of Finite
Element Analysis. John Wiley & Sons, New York, third edition.
Craig, R. R. (1981). Structural Dynamics. John Wiley and Sons, Inc., New York.
Ern, A. and Guermond, J. L. (2004). Theory and Practice of Finite Elements. Springer-
Verlag, New York.
Golub, G. H. and Loan, C. F. V. (1996). Matrix Computations. The John Hopkins Uni-
versity Press, Baltimore.
Hughes, T. J. R. (1987). The Finite Element Method - Linear Static and Dynamic Finite
Element Analysis. Prentice-Hall, London, England.
Reddy, B. D. (1998). Introductory Functional Analysis. Springer, London.
Strang, G. and Fix, G. (1973). Analysis of the Finite Element Method. Prentice-Hall,
Englewood Cliffs, New Jersey.
Zienkiewicz, O. C. and Taylor, R. L. (1989). The Finite Element Method, volume 1.
McGraw-Hill Book Company, Berkshire, fourth edition.
Zienkiewicz, O. C. and Taylor, R. L. (1991). The Finite Element Method, volume 2.
McGraw-Hill Book Company, Berkshire, fourth edition.
Zienkiewicz, O. C. and Zhu, J. Z. (1987). A simple error estimator and adaptive pro-
cedure for practical engineering analysis. International Journal for Numerical Methods
in Engineering, 24:337–357.

125

You might also like