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 1.1 Tensor basics . . . . . . . . . . . . . . . 1.2 Vector calculus . . . . . . . . . . . . . . 1.3 Linear algebra . . . . . . . . . . . . . . 1.4 Essentials from continuum mechanics 1.5 Exercises . . . . . . . . . . . . . . . . . 7 7 13 15 16 19 21 21 23 25 26 27 28 29 31 31 32 33 34 35 35 37 49 50 54 57 60 63 63 64 65 70 71 73

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

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

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

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

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

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

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

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

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

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

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

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

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

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

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

2 Strong and weak forms of the governing equations 2.1 One-dimensional bar . . . . . . . . . . . . . . . 2.2 Continuum elasticity . . . . . . . . . . . . . . . 2.3 Poisson equation . . . . . . . . . . . . . . . . . 2.4 Minimisation of potential energy . . . . . . . . 2.5 Regularity requirements . . . . . . . . . . . . . 2.6 Denition of trial and weight function spaces . 2.7 Exercises . . . . . . . . . . . . . . . . . . . . . . 3 The 3.1 3.2 3.3 3.4 Galerkin method Approximate solution . . . . . . . . Basic error analysis . . . . . . . . . . Convergence of the Galerkin method Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

4 Formulation of the nite element method 4.1 Finite element method with piecewise linear basis functions 4.2 General nite element basis functions . . . . . . . . . . . . . 4.3 Governing equations . . . . . . . . . . . . . . . . . . . . . . . 4.4 Isoparametric mapping . . . . . . . . . . . . . . . . . . . . . . 4.5 Numerical integration . . . . . . . . . . . . . . . . . . . . . . 4.6 Imposition of Dirichlet boundary conditions . . . . . . . . . 4.7 Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 Implementation of the nite element 5.1 Preprocessing . . . . . . . . . . . 5.2 Program ow . . . . . . . . . . . 5.3 Local-global . . . . . . . . . . . . 5.4 Stiffness matrix storage . . . . . . 5.5 Post-processing . . . . . . . . . . method . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

6 Structural elements for nite element analysis

Contents
6.1 6.2 6.3 6.4 6.5 Rod elements in space Beams . . . . . . . . . . Plate . . . . . . . . . . Shell elements . . . . . Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73 . 76 . 91 . 104 . 104 . . . . 105 105 107 108 109

7 Analysis of the nite element method 7.1 A priori error estimation . . . . . . 7.2 A posteriori error estimation . . . . 7.3 Adaptivity . . . . . . . . . . . . . . 7.4 Exercises . . . . . . . . . . . . . . .

8 Solvers for large linear systems 111 8.1 LU-decomposition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111 8.2 Iterative solvers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112 9 Time-dependent problems 9.1 Elastodynamics . . . . . . . . . . . . . 9.2 Heat equation . . . . . . . . . . . . . . 9.3 Frequency analysis for elastodynamics 9.4 Modal analysis for elastodynamics . . 9.5 Time stepping algorithms . . . . . . . 9.6 Space-time formulations . . . . . . . . 9.7 Exercises . . . . . . . . . . . . . . . . . References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113 113 116 117 118 119 124 124 125

Version 0.2

January 21, 2011

1 Introduction
This course provides an introduction to the nite element method for linear problems. 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 nite element method and commercial nite element 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 nite 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 nite element method? The nite element method (FEM) is a numerical method for solving partial differential 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 efcient computer implementation. The application of the nite element method leads to systems (often very large) of linear equations (matrices) which can be solved using a computer. The nite element method differs from the commonly used nite 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 simplies 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 orthonormal, and are generally denoted by lowercase bold characters, a, b, f , u, x. (1.2)

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= a1 . a2 (1.3)

Consider the dot product between two vectors a and b, which is denoted a b, and is dened through the operation which gives the length x of a vector x, x =

x x.

(1.4)

The dot product of two vectors is given by: a b = a i bi , where repeated indices imply summation: ab = For n = 3, ab = (1.5)

a i bi .
i =1

(1.6)

a i b i = a 1 b1 + a 2 b2 + a 3 b3 .
i =1

(1.7)

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: ij = 1 if i = j, 0 if i = j. (1.9)

Second-order tensors (which possess some similar properties to matrices) are generally 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 . The second-order tensor A in R3 can be expressed as A11 A12 A13 A = Aij = A21 A22 A23 . A31 A32 A33 (1.11)

(1.12)

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, a = Ab = Aij b j =

Aij bj
j =1

(1.13)

where n is the dimension of the vector b. Consider the case a = ABc = Dc. Second-order tensors can be multiplied, which is expressed as D = AB, and in index notation as Dij = Aik Bkj . The transpose of a tensor is denoted by the superscript T. It is dened by: a Bc = Bc a = c B T a. (1.17) (1.16) (1.15) (1.14)

January 21, 2011

Version 0.2

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 , which is equivalent to Aij = ai b j . (1.21) (1.20)

The trace of a second-order tensor is essentially the summation of its diagonal components. For example, tr ( a b) = ai bi and tr ( A) = Aii . For a second-order tensor A in R3 , this implies: tr ( A) = A11 + A22 + A33 . (1.24) (1.23) (1.22)

Using the trace, an operation similar to the dot product of two vectors, an inner product, is provided for two second-order tensors. It also yields a scalar. It is dened by: A : B = tr A T B . This is equivalent to A : B = Aij Bij . The repeated i and j indices implies: Aij Bij = (1.26) (1.25)

Aij Bij .
i =1 j =1

(1.27)

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 dened by: a = Ia, and is equal to I = ij ei e j . (1.30) (1.29)

A second-order tensor A, multiplied by its inverse A1 , is equal to the identity tensor, AA1 = A1 A = I. (1.31)

Second-order tensors are often characterised by their special properties. A matrix A is symmetric if: A T = A. Using index notation, a tensor Aij is symmetric if: Aij = A ji . A tensor A is orthogonal if: A T = A 1 . (1.34) (1.33) (1.32)

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 dened for a, b R3 by: a 2 b3 a 3 b2 (1.35) [ a b ] = a 3 b1 a 1 b3 . a 1 b2 a 2 b1

Such a denition however is not convenient for manipulation. A third-order tensor can be dened which will make manipulations more convenient. A third-order tensor maps a second-order tensor to a rst 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.
January 21, 2011 Version 0.2

(1.37)

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 orthonormal 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 fourthorder 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 orthogonal. 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. Dening Qij by Qij = ei ej ,
the components ai are given by ai = Q ji a j ,

(1.40)

(1.41)

12

Version 0.2

January 21, 2011

1.2 Vector calculus


which can also be expressed as: a = Q T a. Considering the coordinate systems illustrated in Figure 1.2, Q=
e1 e1 e2 e1 e1 e2 cos = sin e2 e2

(1.42)

sin , cos

(1.43)

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, and A = QA Q T . (1.47) (1.46)

Often coordinate transforms are used to simplify a problem. An example is a onedimensional 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 = u,x , x 4 u 2 u = u,xx , = u,xxxx , x2 x4 2 u 3 u = u,xyy . = u,xy , xy xy2 (1.48)

This notation is used commonly throughout these notes. An important operator is the divergence. The divergence of a vector eld a yields a scalar. It is expressed as:

a.
January 21, 2011 Version 0.2

(1.49)

13

1 Introduction
In terms of indices, a is equal to

a =

ai = ai,i . xi

(1.50)

In a three-dimensional space R3 ,

a =

ay a a x a az a1 + 2+ 3 = + + . x1 x2 x3 x y z

(1.51)

The divergence of a second-order tensor is given by:

A =

Aij = Aij,j . x j

(1.52)

For a two-dimensional tensor A, A11 + A12 x x2 . A = A 1 A22 21 x + x


1 2

(1.53)

Another important operator is the gradient. The gradient of a scalar a is given by:

a =

a = a,i , xi

(1.54)

which yields a vector. In a three-dimensional space, the components of a are given by: a x a (1.55) a = . y a z The gradient of a vector is given by:

a =

ai = ai,j , x j

(1.56)

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) y z x 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 nite element method is the divergence theorem (also known as Gausss 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:

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,

a d =

a n d.

(1.59)

Integration by parts is used frequently in the formulation of the nite element method. It implies that:

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

( aB ) d =

a B d, x j i ij

(1.61)

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 denite 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, nding requires nding 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 nite 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 nite 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 nite element equation will be very large. It is not practical to compute the inverse of the matrix K as it is computationally expensive (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 elimination or LU decomposition) or an approximate iterative method. Solvers for nite element problems are discussed in Chapter 8.

1.4 Essentials from continuum mechanics


The nite element method is used in these notes to solve primarily problems in continuum 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 dened as the symmetric gradient of the displacement vector: ij = 1 u + u j,i , 2 i,j (1.66)

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: = s u = 1 u + (u) T . 2 (1.67)

For convenience, the symmetric gradient using index notation will be expressed as: u(i,j) = 1 u + u j,i , 2 i,j (1.68)

where the bracket around the subscript denotes the symmetric gradient. Obviously, the strain tensor is symmetric. The stress tensor is dened 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 : , or in index notation, ij = Cijkl kl where C is a fourth-order tensor. For linear elasticity, it is dened by: Cijkl = ik jl + il jk + ij kl where = and = E 2 (1 + ) (1.74) E (1 + ) (1 2) (1.73) (1.72) (1.71) (1.70)

with E the Youngs modulus and Poissons ratio. The constants and are often referred to as Lam constants. In a homogeneous body, Lam constants are indepene e 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 u,z 33 33 . (1.75) = = = 212 12 u,y + v,x 213 13 u,z + w,x v,z + w,y 23 223

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 written as: = D (1.77)

When reducing a three-dimensional problem to two-dimensions, there are three possibilities. The rst 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 problems. This will require identication of the equations which govern equilibrium of

where the matrix D is the constitutive matrix, containing components of the fourthorder tensor C . For isotropic linear-elasticity, D has the following form: + 2 0 0 0 + 2 0 0 0 + 2 0 0 0 (1.78) D= 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

18

Version 0.2

January 21, 2011

1.5 Exercises
elastic bodies. In order to derive the governing partial differential equation, consider rst translational equilibrium (balance of linear momentum) of a body R n with boundary = , which requires that

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:

+ b d = 0

(1.80)

Balance of linear momentum should also be satised for any subdomain of . Therefore, 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 equilibrium of the body requires that:

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 applying the divergence theorem,

r ( + b) d +

E : T d = 0

(1.83)

If translational equilibrium (equation (1.80)) is satised, the rst term in equation (1.83) is zero. Then, moment equilibrium is satised 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 specic to elasticity.

1.5 Exercises
1. For three-dimensions (i = 1 3, etc.), expand the terms: a) b) c) d) e) f) a i bi ai b j Aij Bij Cij bi Cij b j 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. Conrm 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 nite element method is the identication 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 reducing 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 nite 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 onedimensional 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: = E = E du , dx (2.2)

where E is the Youngs modulus. The governing equation can then be expressed as:

Eu,xx = f .

(2.3)

To complete the problem, boundary conditions must be specied. A Dirichlet (essential) boundary condition prescribes the displacement at a point. For example, u = 0 at x=0 (2.4) f

1 0 111 000 1 0 1 0 1 0 1 0 1 0 1 0 11111111111 00000000000


h x 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 , applying a force at the end of the bar is equivalent to prescribing u,x . The mathematical problem can now be summarised as: nd u such that:

Eu,xx = f u=0 Eu,x n = h

0 < x < L, at x = 0, at x = L.

(2.6) (2.7) (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 dened space of functions V , which has an innite number of members). 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 multiplied 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 equation (2.1) by w,

w,x = w f
L 0

w V ,
L 0

(2.9)

where w V means for all w V . If equation (2.9) must hold point-wise, then

w,x dx =

w f dx

w V ,

(2.10)

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:

L 0

w,x dx =

L 0

w,x dx wh| x= L

w V .

(2.11)

Note the term wEu,x n| x=0 is not included as by denition the weight function w is equal to zero at x = 0. Inserting now the constitutive relationship = Eu,x , solving the weak form involves: nd u S such that
L 0

w,x Eu,x dx =

L 0

w f dx + wh| x= L

w V ,

(2.12)

where S is an appropriately dened space of functions which satises 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 rst 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 rst term in (2.12) yields

L 0

wEu,xx dx + wEu,x n| x= L =

L 0

w f dx + wh| x= L .

(2.13)

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 (specically at x = 0 and x = L). Inserting the weight function into equation (2.13),

L 0

( Eu,xx + f ) Eu,xx dx =

L 0

( Eu,xx + f ) f dx,

(2.14)

which can be rearranged to give


L 0

( Eu,xx + f )2 dx = 0.

(2.15)

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 satised (Dirichlet boundary conditions are satised by construction). Returning to equation (2.13), it is now proven that the rst 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 satised. 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 equations is the same as the one-dimensional bar in the previous section. The complication 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 .
January 21, 2011 Version 0.2

(2.17)

23

2 Strong and weak forms of the governing equations

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 linearelastic 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 dened function space (w = 0 on g ), and integrating over the body yields:

w ( ) d +

w b d = 0

w V .

(2.21)

The rst term in equation (2.21) can be integrated by parts (see equation (1.60)), yielding:

w : d +

w b d +

w h d = 0,

(2.22)

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 solution to the weak form involves: nd u S such that

w : C : d +

w b d +

w h d = 0

w V ,

(2.23)

where S is an appropriate space of functions which satisfy the Dirichlet boundary conditions. This is the weak equilibrium equation for a stationary continuous elastic body. Consistency can be proven in the same fashion as was used for the onedimensional 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),

: C : d =

u b d +

u h d,

(2.24)

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 nite element method is the Poisson equation. A wide range of physical phenomena are governed by this equation, including steady-state heat conduction and ow in permeable media (Darcys 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 ux vector and f is a source term. In the case of heat conductivity, q is the heat ux vector. In Darcys law, q is the ow 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 Darcys 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 conditions. The Dirichlet conditions impose: u=g on g (2.27)

which prescribes the potential on the boundary. For heat conduction, this is the temperature on the boundary g . For Darcy ow, 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 ux on h , and for Darcy ow is it the inow/outow 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 ,

w ( q) d +

w f d = 0

w V .

(2.29)

Integrating the LHS of the above equation by parts yields:

w q d

wq n d +

w f d = 0

w V .

(2.30)

Inserting now the constitutive relationship and the boundary condition q n = h leads to the problem: nd u S such that:

w u d +

wh d +

w f d = 0

w V ,

(2.31)

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 potential energy functional I, I (u) = 1 2

s u : C : s u d

u b d

u h d.

(2.32)

The potential energy for another displacement eld, w = u + v, is given by I (u) I (u + v) = 1 2

s (u + v) : C : s (u + v) d

(u + v) b d

(u + v) h d, (2.33)

26

Version 0.2

January 21, 2011

2.5 Regularity requirements

f ,x

x Figure 2.3: Example of a C0 function f . which is equal to I (u) I (u + v)

= I (u) + +
1 2

s v : C : s u d

v b d

v h d

(2.34)

s v : C : s v d,

in which the terms inside the brackets sum to zero for 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 nite element analysis is continuity. Functions are often classied 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 nite element analysis, functions which are C0 are most commonly used. This means that the functions are continuous, but their rst derivatives are not. A C0 function is shown in Figure 2.3. The function shown in Figure 2.3 is a continuous, piecewise linear function. As will be seen in the following chapters, this is a commonly used function in nite element analysis. From Figure 2.3, it is clear that it is simple to take the rst 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 rst 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 nite 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 Denition 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 integrable if:

(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 differential equations, functions which have square-integrable derivatives are of interest. Functions for which:

(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 energy must be nite. Note that C0 functions belong to H 1 . For multiple spatial dimensions, 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 innite-dimensional. That is, an innite number of different functions belong to a given Sobolev space. This is of crucial importance, since a fundamental step in the nite element method will involve nite-dimensional function spaces. It is useful to dene 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 rst a scalar problem in an n-dimensional domain . Trial functions u come from the space S (u S ). The function space S is dened 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 = 0, but this point is not important here). The weight functions come from the space V (w V ), which is dened 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 }
and similarly for weight functions w V ,

(2.39)

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 nite 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) b) c) d) u = 1/r on 1 < r < 2 u = 1/r on 0 < r < 2 u = 1/ r on 0 < r < 2 u = ax for x < 0 and u = bx for x > 0 on 1 < x < 1 (a and b are arbitrary constants, a = b)

5. Solutions for the displacement eld from linear-elastic fracture mechanics often involve a term r, where r is the distance from the crack tip (r 0). If the displacement eld 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 nite element method is one particular Galerkin method, named after the Russian engineer Galerkin. It is a method for nding approximate solutions to partial differential equations. It is closely related to the Rayleigh-Ritz method which involves choosing functions (a basis) for the solution and nding the amplitude of each function 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 nding 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 nite-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: nd uh S h such that

L 0

h h w,x Eu,x dx + w h h| x= L = 0

w h V h .

(3.1)

where V h V is a nite dimensional space. Commonly, the above equation is expressed in the abstract format as: nd uh S h such that B wh , uh = L wh where B wh , uh = and L wh = wh h| x= L . (3.4)
L 0 h h w,x Eu,x dx

w h V h

(3.2)

(3.3)

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 multidimensional context, the nite-dimensional trial and weight functions are denoted uh and wh , respectively. Considering now the elasticity problem in equation (2.23), the Galerkin problem involves: nd uh S h such that

s wh : C : h d +

wh b d +

wh h d = 0

wh V h

(3.5)

31

3 The Galerkin method


where h = s uh . In the abstract notation of equation 3.2, B wh , uh = and L wh =

s wh : C : h d
wh h d.

(3.6)

wh b d +

(3.7)

The Galerkin method (more specically, the Bubnov-Galerkin method) requires that the weight and trial functions come from the same nite-dimensional space, taking 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 uid mechanics. Different Galerkin-based methods are dened by how the unknown eld uh is represented. In the nite element method, uh and w h will be simple continuous, piecewise low-order polynomials dened on nite elements. Spectral Galerkin methods 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 solution u. Given a nite 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 doesnt 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 dened 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 wh , u B wh , e L wh = 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 wh , e = B wh , u B wh , 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 orthogonality. 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 nite dimensional space of trial functions. It can be shown that the Galerkin nite element method is optimal in terms of the energy. This error analysis tells something of what the Galerkin method calculates. Given some approximate functions, the Galerkin method will yield the best t 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 + B vh , vh

(3.12)

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: v
2 E

= 1 B (v, v) 2

(3.14)

which for an elastic body is the strain energy for a given displacement eld v. Equation (3.13) can then be expressed as: u uh
E

u wh

w h V h

(3.15)

which says that the solution computed using the Galerkin method yields a solution 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 nite element method. Crucially, convergence requires that:
h 0

lim uh = u

(3.16)

For nite element analysis, this corresponds to the exact solution being approached upon mesh renement. 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 mathematics of the nite 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 nite element method


In this chapter, a key component of the nite element method is developed. This is the discretisation of the governing equations using nite element shape functions. The unknown eld 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 implementation. The terminology in this chapter relates primarily to elasticity problems. The developments 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 nite element shape functions are continuous, piecewise linear functions. 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 1 0 1 0
1

1 0 1 0 1 0 1 0

L Figure 4.1: One-dimensional bar.

35

4 Formulation of the nite element method


nodes. The basis function at node i, is given by x x i 1 x i 1 < x x i , x i x i 1 x i x i 1 x i +1 x Ni = x i < x < x i +1 , x i x i +1 x i x i +1 0 otherwise,

(4.1)

where xi is the coordinate of node i. In nite element analysis, these basis functions are known as shape functions. For a one-dimensional bar, discretised with n nodal points, the approximate displacement eld uh is given by uh =

Ni ( x) ui ,
i =1

(4.2)

where ui is the value of the eld uh at node i. Hence, the approximate displacement eld is given in terms of the shape functions and the approximate displacement at a nite number of points (nodes). From this expression, the strain eld can be computed easily by taking the derivative of the shape functions,
h h = u,x =

dNi u. dx i i =1

(4.3)

To develop the Galerkin problem, an expression is needed for the weight function w h . It is expressed using the same basis functions as the displacement eld, hence wh =

Ni wi .
i =1

(4.4)

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


h h w,x Eu,x d =

w h f d +

w h h d

wh V h ,

(4.5)

and inserting the expression for the expressions for the approximate displacement eld and the weight function,

Ni,x wi
i =1

Nj,x u j
j =1

Ni wi
i =1

f d +

Ni,x wi
i =1

h d

(4.6)

for all possible values of wi . Given that wi is not a function of spatial position, it can be taken outside of the integrals,

wi
i =1

Ni,x E

Nj,x u j
j =1

d =

wi
i =1

Ni f d + wi
i =1

Ni h d.

(4.7)

36

Version 0.2

January 21, 2011

4.2 General nite element basis functions


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

wi u j
i =1 j =1

Ni,x E Nj,x d

wi
i =1

Ni f d + wi
i =1

Ni h d.

(4.8)

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

uj
j =1

Ni,x E Nj,x d =

Ni f d +

Ni h d

(4.9)

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 , where Kij = and fi =

(4.10)

Ni,x E Nj,x d

(4.11)

Nj f d +

Nj h d

(4.12)

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 eld along the rod. In order the solve the linear system, Dirichlet boundary conditions must be enforced. 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 nite element basis functions


The concept introduced in the previous section can be extended to higher spatial dimensions and more complex shape functions. It is useful to dene shape functions on nite 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 nite element mesh is shown in Figure 4.2. The problem has been divided into many quadrilateral elements. A nite 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 constructed by joining nodal points. Elements may not overlap. A simple nite element

January 21, 2011

Version 0.2

37

4 Formulation of the nite element method

Figure 4.2: Typical two-dimensional nite element mesh.

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

7 8 5 7 8 6

38

Version 0.2

January 21, 2011

4.2 General nite element basis functions

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) eld uh is discretised by developing a method in which the displacement at any point in a body is determined in terms of a discrete number of values which are stored at the nodes (known as degrees of freedom) and basis functions. The displacement eld is given by a linear combination of a nite number of basis functions (a summation of the basis functions, each multiplied by a nodal value, the amplitude). In the nite element method, the basis functions are dened on simple geometric elements, known as nite elements. Finite element shape functions are typically piecewise continuous polynomial functions 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 nite element shape function is only non-zero on elements to which it is attached. Once the displacement eld uh and its derivatives uh can be expressed in terms of nodal unknowns, the discretised eld can be inserted into the weak governing 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 eld 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 nite 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: N1 = N2 = Hence, uh = x x + 1 a1 + a2 . L L (4.16) x + 1, L (4.14) (4.15)

x . 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 eld with respect to x (the strain) is required. Taking the derivative of equation (4.16) with respect to x, h = duh dN1 dN2 1 1 = a + a2 = a1 + a2 . dx dx 1 dx L L (4.17)

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 eld is expressed as: uh = Nae , where N = N1 and ae = a1 . a2 (4.20) N2 , (4.19) (4.18)

The strain is given by: h = Bae , where the matrix B is equal to: B= dN1 dx dN2 . dx (4.22) (4.21)

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 nite element basis functions

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 interpolations. Higher-order elements simply have more nodes. More nodes through which the shape function must interpolate naturally means a higher-order polynomial is required. Figure 4.6 illustrates shape functions for quadratic and cubic elements. For a one-dimensional quadratic element, the displacement eld is given by: uh =

Ni (x) ai .
i =1

(4.23)

Therefore, the N matrix has the form: N = N1 N2 N3 , (4.24)

and the B matrix has a similar form. Since the displacement eld is quadratic, obviously the strain eld is linear. The interpolation basis for higher-order elements is richer since both constant, linear and quadratic (and even higher) variations in the unknown eld can be described within an element. 4.2.2 Two-dimensional continuum elasticity elements In two or more dimensions, each unknown eld (such as displacement in each direction) is interpolated using the polynomial shape functions. The displacement eld for an element is given by: uh = Nae , and the strain eld (using engineering notation) is given by: h = Bae . (4.26) (4.25)

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

January 21, 2011

Version 0.2

41

4 Formulation of the nite element method

quadratic shape functions

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: N2 Nnn N1 0 0 ... 0 x x x N1 N2 Nnn 0 ... 0 (4.28) B= 0 . y y y N1 N1 N2 N2 Nnn Nnn ... y x y x y x

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:

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 a 1y a2 x a2 y . (4.29) ae = . . . ann x ann y

42

Version 0.2

January 21, 2011

4.2 General nite 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 coefcients 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, N1 ( x2 , y2 ) = c1 x2 + c2 y2 + c3 = 0, N1 ( x3 , y3 ) = c1 x3 + c2 y3 + c3 = 0, (4.31) (4.32) (4.33)

Solving the above system of equations yields the coefcients 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

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) c3 x3 y3 1 0

January 21, 2011

Version 0.2

43

4 Formulation of the nite element method


the nodes, nd the shape function for node 2.

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


To nd the coefcients, 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 c3 2 3 1 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 matrices can be formed. The N matrix for this element is of the form: N= N1 0 0 N1 N2 0 0 N2 N3 0 0 N3 0 N3,y N3,x

and the B matrix is of the form: N1,x 0 N2,x 0 N1,y 0 N2,y B= 0 N1,y N1,x N2,y N2,x

N3,x 0 N3,y

A very commonly used element in nite element analysis is the four-node quadrilateral. 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 nite element basis functions


4 3 1

2 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 coefcients can be found by solving a linear system of equations. Solving the below system of equations would yield the coefcients for node 1,
2 x1

y2 1 y2 2 y2 3 y2 4 2 y5 y2 6

x1 y1 x2 y2 x3 y3 x4 y4 x5 y5 x6 y6

x1 x2 x3 x4 x5 x6

y1 y2 y3 y4 y5 y6

2 x2 2 x3 2 x4 x2 5
2 x6

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 nite elements are shown in Figure 4.14. A Pascal triangle for serendipity elements is shown in Figure 4.15. Note that serendipity

1 c1 1 1 c2 0 c 0 1 3 . = 1 c4 0 1 c5 0 c6 0 1

(4.37)

January 21, 2011

Version 0.2

45

4 Formulation of the nite element method

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

1 x x2 x3 x4 ... ... x3 y ... x2 y x 2 y2 ... ... xy xy2 xy3 ... y y2 y3 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 nite element basis functions

(a)

(b) Figure 4.14: Serendipity (a) and Lagrange (b) quadrilateral nite elements. 1 x x2 x3 x4 ... ... x3 y x2 y xy xy2 xy3 ... y y2 y3 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 order interpolation. Eight- and nine-node quadrilateral elements are commonly used in nite element analysis. The shape functions for the eight-node serendipity quadrilateral 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 nite element method


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

Figure 4.16: Pascal triangle for Lagrange elements.

Figure 4.17: Tetrahedral and brick three-dimensional nite 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 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 nd the polynomial 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 freedom). What remains is the insertion of the discretised eld uh into the governing weak equation. The weight (test) functions are discretised in the same fashion as the unknown eld uh . Therefore, for the multi-dimensional case within an element, wh = Nbe , (4.42) (4.43)

w = Bbe ,

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:
l2 l1

( Bbe ) T EBae d =

h,e

( Nbe ) T h d,

(4.44)

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: be T
l2 l1

B T EB d ae = be T

h,e

N T h d.

(4.45)

The be terms appear on both sides of the equality, and can therefore be eliminated,
l2 l1

B T EB d ae =

h,e

N T h d.

(4.46)

January 21, 2011

Version 0.2

49

4 Formulation of the nite element method


The term ke =
l2 l1

B T EB d

(4.47)

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 elds are inserted into equation (3.5). This yields:

( Bbe ) T DBae d =

h,e

( Nbe ) T h d +

( Nbe ) T b d

(4.48)

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

h,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 = Ane 1 ke , e= f = Ane 1 f e , e= (4.50) (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 nite element software. The shape functions are formed for a simple element conguration (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 implementation, 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 following section. A third advantage is that isoparametric mapping allows higher-order elements to have curved edges. An isoparametric mapping is dened via a mapping using the nodal shape functions. 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


1
(1,1)

y
2
(1,1)

x
1

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

conguration is given by:


nn

x= y=

Ni (, ) xi ,
i =1 nn i =1

(4.52)

Ni (, ) yi ,

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 Figure 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 dened 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 .
i =1

(4.53)

The difculty that arises is when computing derivatives with respect to the real coordinates, as the shape functions are dened in terms of the natural coordinates. In the governing weak equations, derivatives of the unknown eld 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 nite element method


tion for a function f , f f x f y = + , x y f f x f y = + . x y This can be written in matrix form as: x y f f x = , f x y f y
J

(4.54) (4.55)

(4.56)

where the matrix J is commonly known as the Jacobian matrix. Taking the inverse of the Jacobian, y f y f x 1 = , (4.57) x f f j x y
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, dened in terms of and ,
nn x Ni = x, i i =1 nn x Ni = x, i i =1 nn Ni y = y, i i =1 nn y Ni = y. i i =1

(4.59)

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 Ni nn j=1 Nj, y j x 1 j=1 Nj, y j = . (4.60) Ni j nn Nj, x j nn1 Nj, x j Ni j =1 j= y 52

Version 0.2

January 21, 2011

4.4 Isoparametric mapping


s
(0,1)

s
(0,1)

2 1 (0,0) (1,0)

r
1 (0,0) 4

2 (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 conguration. 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 simple. For the bi-unit quadrilateral in Figure 4.19, the shape function of the ith node is given by: Ni (, ) = 1 (1 + i ) (1 + i ) . 4 (4.61)

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 approach 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 threenode 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 nite element method


The shape functions for the nodes of the element in Figure 4.20 are then: N1 = t, N2 = r, N3 = s. (4.63) (4.64) (4.65)

Note the numbering of the nodes for the quadratic triangle in Figure 4.20. It is common for higher-order elements that the apexes are rst 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,
2

N4 = 4rt, N5 = 4rs, N6 = 4st. (4.66)

N3 = 2s2 s,

N2 = 2r r,

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 eld has been discretised, the element stiffness matrices and RHS vectors still involve integration over volumes and surfaces (see section 4.3). To make the formulation fully discrete (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,
1 nint

f ( ) d

f ( i ) wi ,

(4.67)

i =1

where i are discrete points on the integral domain, nint is the number of discrete points (integration points) at which the function is evaluated and wi is the weight asnint signed to each point i=1 wi = 2 . Numerical integration is illustrated in Figure 4.21. Different integration schemes specify where the points are located and the weight associated with each point. Two schemes which arise in nite 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: B T DB d =
1 1

1 1

B T DBj d d.

(4.68)

54

Version 0.2

January 21, 2011

4.5 Numerical integration


f

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 numerical integration leads to:
1 1

1 1

B T DBj d d

B ( i , i )T DB ( i , i ) j ( i , i )
i

wi .

(4.69)

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 nite 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 efcient scheme. The question that arises in nite element analysis is: How many integration points should be used? Generally, full integration schemes are recommended for their robustness. 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 derivatives 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. Therefore, one integration point is sufcient (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 nite element method

n 1 2

location i 0 1 1

weight wi 2 1 1 1 3 4 3 1 3 1 4 3 4 3 4 1 4

1
0 1

1
1 3 1 3 1

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

n 1 2

location i 0 1 3 1 3 3 5 0 3 5

weight wi 2 1 1 5 9 8 9 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 requires 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 underintegrating 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 spurious 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 deciency in the formulation. In summary, recommended integration schemes for commonly used one- and twodimensional elements are shown in Table 4.3.

4.6 Imposition of Dirichlet boundary conditions


The imposition of Neumann (force) boundary conditions in the nite element method is straightforward. They appear naturally in the weak formulation (hence the common 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 nite element method

element two-node bar three-node bar

integration scheme 1 2

three-node triangle (T3)

six-node triangle (T6)

or

four-node quadrilateral (Q4)

22

eight-node quadrilateral(Q8)

33

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 specied. Classical enforcement of Dirichlet boundary conditions in the nite 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 eld 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 satises the Dirichlet boundary conditions. In discretised form at element level, ke a = ke vv ke gv ke vg ke gg av g

fv fg

(4.71)

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 dened to be zero where Dirichlet boundary conditions are applied, ke vv ke gv ke vg ke gg av g

fv . 0

(4.72)

Since g is known, it is not included in the global system of equations to be solved. It is possible to write: ke av + ke g = f v , vv vg (4.73)

where av is the only unknown. Since g is known, Dirichlet boundary conditions can be enforced by modifying the RHS vector, ke av = f e ke g. vv vg In terms of indexes, the element RHS vector is modied, f ie,mod = f ie
nn

(4.74)

j =1

ke ge . ij j

(4.75)

Once the element stiffness matrix has been formed, the element RHS vector can be modied 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 nite 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 simplies postprocessing. 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 efcient manner (Ern and Guermond, 2004).

4.7 Exercises
1. For a plane elasticity problem, at which points is the stress from the nite element solution not uniquely dened 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 triangle (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 nite element method and the nite 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 nite element method with linear elements and for the secondorder central nite difference method. The second-order nite difference equation for the second derivative is: d2 u dx2

=
i

ui1 2ui + ui+1 h2

For unequally spaced nodes, the difference equation for the second derivative is: d2 u dx2

=
i

2ui+1 2ui1 2ui + h j h j +1 h j h j + h j +1 h j +1 h j + h j +1

Comment on the symmetry of the operators for nite elements and nite differences 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 coordinates in Example 4.1 and for E = 1 and = 0.2. Calculate the eigenvalues of the stiffness matrix and comment on their signicance. 8. Form the stiffness matrix for a four-node quadrilateral on a bi-unit square. Calculate its eigenvalues using one-point and 2 2 integration.

January 21, 2011

Version 0.2

61

5 Implementation of the nite element method


This chapter addresses practical aspects of implementing the nite element method. To this point, the underlying theory has been addressed and the discretised formulation for individual elements discussed. One of the strengths of the nite element method is the efciency with which it can be implemented in a computer code. This chapter describes how the nite 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 reect the structure of the current version of the Matlab code used in CT5123.

5.1 Preprocessing
The rst step in nite element analysis is known as preprocessing. This step involves generating a nite element mesh. For simple problems with only a few elements, this can be done by hand. For problems typically analysed using the nite element method, a mesh is too complicated to produce by hand. Mesh generation programs exist which produce meshes suitable for nite element analysis. In large nite element software packages, often a mesh generator is included. The generated mesh les serve as input for a nite element program. A nite element mesh consists of nodal coordinates and a connectivity. Figure 5.1 shows a simple nite 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 le containing
F= 5.3

4 3 2 5 4

1 6

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

63

5 Implementation of the nite element method


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

Figure 5.2: Nodal coordinates.


% element 1 2 3 4 node1 2 3 9 5 node 2 1 2 4 6 node 3 6 5 5 7 node 4 5 4 8 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 specied. The problem in Figure 5.1 involves both Dirichlet (displacement) and Neumann (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 nal 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 Youngs modulus, the Poissons ratio and the density of the material. The density is necessary when taking the self-weight into account.

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

64

Version 0.2

January 21, 2011

5.3 Local-global
% node 1 1 2 3 9 bc type 1 1 1 1 0 dof 1 2 1 1 1 value 0 0 0 0.0 5.3

Figure 5.4: Specication of boundary conditions. is shown in Figure 5.5. It begins with reading the input data from the preprocessing 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 calculation. 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 degree of freedom (or degrees of freedom) of the element, the RHS vector is modied 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 matrix 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 nite element method is the local-global relationship between 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 local and global node numbers can be inferred for each element. Consider element 3

January 21, 2011

Version 0.2

65

5 Implementation of the nite 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 end % add element RHS into global RHS

% 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 ow for a linear problem.

66

Version 0.2

January 21, 2011

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

Figure 5.6: Equation numbering.


2(4) 1(9)

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 connectivity 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, information specic to that element is copied from the global arrays containing nodal positions, 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 modied 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 assembled into the global arrays.

January 21, 2011

Version 0.2

67

5 Implementation of the nite 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 nite element method


0

500

1000

1500 0 500 1000 1500

Figure 5.12: Graphical representation of a stiffness matrix

5.4 Stiness matrix storage


A feature of the nite element method is that the stiffness matrix is sparse. This means that the stiffness matrix contains many zeros. Taking advantage of the sparse nature of the stiffness matrix yields signicant 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 nite 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 entries). 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 performed on non-zero terms which reduces the number of oating point operations required, and hence the computational time, signicantly. Yet further savings can be achieved by taking into account symmetry of the stiffness matrix. Many nite element programs store the stiffness matrix in a skyline format. For this method to be efcient, 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:
int fe =

B T d +

N T b d

(5.1)

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 nite element analysis


Special nite elements are often used in structural mechanics. Examples are beam, plate and shell elements. They are used in situations where conventional solid elements perform poorly with a practicably allowable number of elements, or in situations 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 classical equations from structural mechanics. Their governing equations derive from the governing equation of elastostatics, with simplications 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 problems 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 nite 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 convenient 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 nite element analysis


Fx* x*

y*

y z* z x

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 particularly simple. Denoting the angle between the x-axis and the x -axis as , the rotation matrix has the form: QT = cos sin sin cos (6.1)

The vector ae holds the displacement components at the nodes of an element. Therefore, 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 section 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: Q Q21 0 0 a1x a1x 11 a1y Q Q22 0 0 a1y = 12 , (6.2) 0 Q11 Q21 a2x a2x 0 0 0 Q12 Q22 a2y 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 a1y a1x Q11 Q21 0 0 . (6.3) = a2x 0 0 Q11 Q21 a2x a2y a = e a1x a2x , (6.4)

The following denitions are now adopted:

74

Version 0.2

January 21, 2011

6.1 Rod elements in space


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

The displacement in the x -direction along the bar is therefore given by: uh = N a = N qae , e (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 relative to the coordinate system on the bar. The strain in the x -direction is therefore given by:
h h = u,x = B qae

(6.7)

Similarly, the derivative of a weight function w can be expressed in the local coordinate system in terms of the global degrees of freedom,
h w,x = B qbe

(6.8)

(recall that be is a variation). Inserting now the discretised elds into the weak governing equation for a onedimensional bar, and eliminating be ,

( Bbe ) T EBae d =

( Nbe ) T h d,

(6.9)

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: ke = q T B T EB q d. (6.10)

This is equivalent to ke = q T k q, where k is the standard one-dimensional stiffness e e 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, multidimensional 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 nite element analysis

y fy Fy x T x = x1 x = x2

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

v,x y

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 rst is the classic BernoulliEuler beam, which is valid for relatively slender beams. The second is the Timoshenko beam, which takes into account shear deformations. The development of beam elements follows the same steps as for continuum elements. The governing equation is identied 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 beams 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 bre in a beam

76

Version 0.2

January 21, 2011

6.2 Beams

v,x y

x Figure 6.5: Beam segment subjected to pure shear. The bre is indicated by the heavy line. which is initially perpendicular to the beam axis. Subjecting a segment from a beam to pure shear, the bre will not rotate, as illustrated in Figure 6.5. Relative to the bre 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 bre which is initially perpendicular to the beams axis is shown in Figure 6.6. It is clear from Figure 6.6 that = v,x . 6.2.2 Equilibrium of a beam The equilibrium equations for a beam can be developed in two ways. The rst 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 dened as m=
h/2

(6.11)

h/2

xx y dy,

(6.12)

and the shear stress q is dened by q=


h/2

h/2

xy dy,

(6.13)

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 nite element analysis

v,x y

Figure 6.6: Rotation of bre in a beam.

+Q
n y n

+M

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

78

Version 0.2

January 21, 2011

6.2 Beams
that: q n d +
d

f y d = 0.

(6.14)

Noting that

q n d = q| x= L2 q| x= L1 , it is clear that

q,x d +

f y d = 0.

(6.15)

Since equilibrium must hold for an innitely small segment of a beam, translational equilibrium requires that q,x + f y = 0. For rotational equilibrium, it is required that: m n d q nx d f y x d = 0. (6.17) (6.16)

This expression can be rearranged such that m,x d q d q,x x d f y x d = 0.


(q,x

(6.18)

Satisfaction of the translational equilibrium equation implies that 0, therefore rotational equilibrium requires that m,x q = 0. The boundary of a beam is partitioned such that: v Q = , M = , v Q = , M =

+ f y ) x d =
(6.19)

(6.20a) (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 n = g mn = T q n = Fy on v , on , on M , on Q , (6.21a) (6.21b) (6.21c) (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 nite element analysis


6.2.3 Bernoulli-Euler beam A fundamental assumption in the Bernoulli-Euler theory is that a plane which is initially 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 , dx d2 v . dx2 d2 v , dx2 (6.22)

which also implies that = (6.23)

The bending moment in the beam is related to the curvature by: m = EI = EI (6.24)

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. dx2 (6.25)

Assuming EI to be constant, and inserting the constitutive relationship from equation (6.24),

EI

d4 v + f y = 0, dx4

(6.26)

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 conditions, 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 appropriately dened 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:

vm,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:

v,x m,x d +

vm,x n d +

v f y d = 0. v,x m,x d,

(6.28)

Applying integrating by parts again, this time to the term

v,xx m d

v,x mn d +

vm,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 governing weak equation for a beam involves: nd v S such that

v,xx EIv,xx d

v,x T d +

vFy d +

v f y d = 0

v V , (6.30)

where S and V are appropriately dened 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:

v2 + v2 + v2 dx < . ,x ,xx

(6.31)

In one dimension this is equivalent to the trial and test functions being at least C1 continuous, which means that both their rst and second derivatives exist. This is in contrast to second-order problems, which require C0 continuity only. For completeness, the spaces S and V are formally dened by:

S = v | v H 2 () , v = gv on v , v,x = g on ,
V = v | v H 2 () , v = 0 on v , v,x = 0 on .

(6.32a) (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 governing equation is identical to the equation of virtual work. Consider now: v v Inserting this relationship into equation (6.30) gives:

(6.33)

v,xx EIv,xx d =

v,x T d +

vFy d +

v f y d

(6.34)

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

January 21, 2011

Version 0.2

81

6 Structural elements for nite 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 initially 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 , dx (6.35)

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 , GAS (6.36)

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 introduced. The governing equations are given by the equilibrium conditions in equations (6.19) and (6.16) with the constitutive relationships m = EI, q = GAs = GAs (6.37) dv , dx (6.38)

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 GAs dx2 d d2 v dx dx2 dv dx

EI
GAs

=0

in , in ,

(6.39) (6.40)

+ fy = 0

which are two coupled second-order equations, the rst for the rotation , and the second for the displacement v. Together with the previously dened boundary conditions, 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 dened weight functions and v,

EI,xx d

GAs (v,x ) d = 0,

(6.41) (6.42)

vGAs (v,xx ,x ) d +

v f y d = 0.

Applying integration by parts once, ,x EI,x d

EI,x n d

GAs (v,x ) d = 0,

(6.43) (6.44)

v,x GAs (v,x ) d +

vGAs (v,x ) n x d +

v f y d = 0,

and then inserting the Neumann boundary conditions yields the weak problem for a Timoshenko beam of: nd v Sv and S such that

,x EI,x d

GAs (v,x ) d +
Q

T d = 0,

V v Vv .

(6.45) (6.46)

v,x GAs (v,x ) d +

vFy d +

v f y d = 0

A more precise denition of the necessary functions spaces should be provided to complete the problem. It is however assumed that = 0 on and that satises the rotation boundary condition, and v = 0 on v , and v satises the transverse displacement boundary condition. The test and trial functions should be at least C0 continuous (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,

m d +

q d =

T d +

v Fy d +

v f y d (6.47)

For many mechanical problems, the weak form or virtual work expressions appear naturally and can be used as a starting point in developing a nite element model. 6.2.5 Finite element formulations form beams Euler beams A Galerkin problem for a Bernoulli-Euler beam involves: nd vh S h such that:
h h v,xx EIv,xx d = M

h v,x T d +

vh Fy d +

vh f y d = 0

vh V h (6.48)

January 21, 2011

Version 0.2

83

6 Structural elements for nite element analysis


where S h S and V h V are nite-dimensional spaces. As for continuum elements, we wish to express the displacement eld v in terms of shape functions and nodal degrees of freedom. The problem that arises is that simple C0 nite element shape functions are not suitable. The above equation requires the evaluation of the second derivative of the interpolated displacement eld. However, the second derivative of a C0 continuous function does not exist in a classical sense. The use of C0 interpolations for fourth-order problems is not mathematically consistent and can lead to unpredictable results. Crucially, convergence of the solution is not assured for interpolations with insufcient 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 displacement 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 eld vh is given by: vh ( x ) = ( Ni ( x ) vi + Mi ( x ) i ) ,
i 2

(6.49)

where vi and i are degrees of freedom associated with node i, and the shape functions are equal to:

( x x2 )2 ( h + 2 ( x1 x )) (6.50a) h3 ( x x1 )2 ( h + 2 ( x2 x )) N2 = (6.50b) h3 ( x x1 ) ( x x2 ) 2 (6.50c) M1 = 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: v1 1 h (6.51) v = Nae = N1 M1 N2 M2 v2 2
N1 =

It is necessary to compute both the rst and second derivatives of v with respect to x. The rst derivative is given by: v1 1 h (6.52) v,x = N,x ae = N1,x M1,x N2,x M2,x v2 2 84

Version 0.2

January 21, 2011

6.2 Beams
The second derivative of v is given by: v1 1 v2 2

h v,xx = N,xx ae = N1,xx

M1,xx

N2,xx

M2,xx

(6.53)

h h Now that vh , v,x and v,xx can be computed given ae , they can be inserted into the Galerkin problem,

( N,xx be ) T EI N,xx ae d =

( N,x be ) T T d +

( Nbe ) T Fy d

( Nbe ) T f y d (6.54)

After some rearranging,

N,xx T EI N,xx d ae =

N,x T T d +

N T Fy d

N T f y d.

(6.55)

The element stiffness matrix is given by:

ke =

N,xx T EI N,xx d,

(6.56)

and the RHS vector by:

fe =

N T Fy d

N T T d +

N T f y d.

(6.57)

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 nite element analysis


Taking derivatives of the Hermitian shape functions in equation (6.50), 2 ( x x2 ) (3x + h 2x1 x2 ) , h3 2 (6x + h 2x1 4x2 ) , N1,xx = h3 ( x x2 ) (3x 2x1 x2 ) M1,x = , h2 2 (3x x1 2x2 ) M1,xx = , h2 2 ( x x1 ) (3x h x1 2x2 ) N2,x = , h3 2 (6x h 4x1 2x2 ) N2,xx = , h3 ( x x1 ) (3x x1 2x2 ) , M2,x = h2 2 (3x 2x1 x2 ) . M2,xx = h2 N1,x = (6.58a) (6.58b) (6.58c) (6.58d) (6.58e) (6.58f) (6.58g) (6.58h)

Assuming the centre of the element is at x = 0 (x2 + x1 = 0, x1 = h/2), the above equations can be simplied signicantly. Considering just the second derivatives with respect to x, N1,xx = 12x , h3 6x 1 M1,xx = 2 , h h 12x N2,xx = 3 , h 6x 1 M2,xx = 2 + . h h (6.59a) (6.59b) (6.59c) (6.59d)

Inserting these terms into equation (6.56), the stiffness matrix is of the form: 12x h3 6x 1 h/2 2 h EI 12x h ke = h3 h/2 12x h3 6x 1 + h h2

6x 1 h h2

12x h3

6x 1 + h h2

dx.

(6.60)

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 h3 6EI 2 h 12EI h3 6EI h2 6EI h2 4EI h 6EI h2 2EI h

12EI h3 6EI h2
12EI h3 6EI h2

ke =

6EI h2 2EI h . 6EI h2 4EI h

(6.61)

Timoshenko beams The nite 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. h h The Galerkin problem for the Timoshenko beam involves: nd vh Sv and h S such that
h h ,x EI,x d h h GAs v,x h

d =
Q

h T d

h h V , (6.62)

h h v,x GAs v,x h

d =

vh f y d +

vh Fy d

h v h Vv .

(6.63)

Consider the representation of the elds vh and h , and corresponding derivatives, in terms of shape functions and nodal variable, v h = N v av , e = v = h =
h h

(6.64a) (6.64b) (6.64c) (6.64d)

N a , e N v bv , e N be ,

A distinction is made between the shape functions for vh and h as these may differ. Inserting the expressions for the unknown elds in terms of nodal variables and variations into equations (6.62) and (6.63) leads to: B EIB d a + e
T

N GAs N d a e

N GAs Bv d av e

e,M

N T d.

(6.65)

Bv T GAs Bv dav e

Bv T GAs N da e

e,Q

N v T Fy d +

N v T f y d,

(6.66)

January 21, 2011

Version 0.2

87

6 Structural elements for nite element analysis


The stiffness matrix of an element is of the form k kv kv kvv f a = fv av (6.67)

where the components of the the element stiffness matrix are given by k =
e

B EIB + N GAs N d,
e e

(6.68) (6.69) (6.70) (6.71)

kv = kv = kvv =
e

N GAs Bv d, Bv T GAs N d,

Bv T GAs Bv d,

and components of the element RHS vector are given by f = fv =


e,M

N T d, N v T f y d.
T

(6.72) (6.73)

e,Q

N v T Fy d +

Note that the stiffness matrix is symmetric (kv = 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: GAs L EI GAs L EI + L + 3 L 6 , k = (6.74) e EI GAs L GAs L EI + + L 6 L 3 GAs GAs 2 2 , (6.75) kv = e GA GAs s 2 2 88

Version 0.2

January 21, 2011

6.2 Beams
and GAs L = GA s L GAs L GAs L GAs 2 GAs 2 GAs L GAs L

kvv e

(6.76)

Therefore, the stiffness matrix is of the form EI GAs L L + 3 EI GAs L + 6 L ke = GAs 2 GAs 2

EI GAs L + L 6 EI GAs L + L 3 GAs 2 GAs 2

GAs 2 GAs 2 GAs L GAs L

(6.77)

If at one end the beam is clamped, 1 = v1 = 0, and a shear load P is applied one end, EI GAs L L + 3 ke = GAs 2

GAs 0 2 2 = GAs v2 P L

(6.78)

Therefore, the displacement v2 is equal to v2 = P ( EI/L + GAs L/3) EIGAs /L2 + G2 A2 /12 s (6.79)

If L is large, v2 4PL , GAs (6.80)

which is independent of I, will yield a very stiff response. As L 0, v2 PL , GAs (6.81)

which is the correct result. Even with a very ne mesh, this element will exhibit a very stiff response. 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 nite 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 GAs L GAs EI GAs + + 4 L 4 2 2 L (6.82) ke = 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 v2 = P ( EI/L + GAs L/4) EIGAs /L2

(6.83)

If L is very large, v2 PL3 4EI (6.84)

which qualitatively the desired response, and as L 0, v2 PL GAs (6.85)

When using reduced integration, this element performs quite well when the mesh is sufciently well-rened. 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 at two-dimensional entities, are are typically loaded out of plane. Plate nite elements can be extremely complex and are an area of ongoing research. 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 nite element approaches are discussed. Also, the relevant dangers in analysing plate and shell structures with the nite 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 denitions 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) , u3 = u3 ( x, y) , (6.86a) (6.86b)

where is the rotation of a bre in the plate (see Figure 6.9). The rotation of the

January 21, 2011

Version 0.2

91

6 Structural elements for nite 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 eld in equations (6.86), the strain eld can be calculated at any point (recall = (1/2)(ui,j + u j,i )). = 3 =

z , + , 2 + w, 2

(6.88a) (6.88b)

A useful quantity is the curvature, which is a second-order tensor and at a point is given by: = 1 + , = (,) . 2 ,

(6.89)

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 dened as:
t/2

t/2

z dz

(6.90)

From symmetry of the stress tensor, it is clear that the moment tensor is symmetric. The shear force vector q is dened as:
t/2

t/2

3 dz

(6.91)

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 moment or shear stress). It is useful to dene a vector s which is normal to the vector n, and lies in the plane of . This allows the denition of following notation for

January 21, 2011

Version 0.2

93

6 Structural elements for nite element analysis


q2 m21 m22 m11 x3 m12 x2 1 q1 q2 m11 q1

m12 m22

m21

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 , mns = m n s , mnn , s mns , mns,s = s qn = q n , n = n , w,n = w, n w,s = w, s mnn,s = The quantities are illustrated in Figure 6.11. Translation equilibrium of a plate requires that:

(6.92a) (6.92b) (6.92c) (6.92d) (6.92e) (6.92f) (6.92g) (6.92h)

q n d +

pz d = 0.

(6.93)

Applying the divergence theorem to the term involving q leads to

q, d +

pz d = 0,

(6.94)

which must also hold for an innitesimally small piece of the plate, therefore q, + pz = 0, (6.95)

94

Version 0.2

January 21, 2011

PSfrag

6.3 Plate
q2 m21 m22 qn x3 x2 1 mns m11 q1

m12 s mnn n

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, m n d q n x d pz x d = 0, (6.96)

which leads to:

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 specic to the considered plate theory, hence boundary conditions are elaborated upon in the context of a given theory. To complete the problem, constitutive relationships are required which relate the moment tensor and the shear force to deformations. These constitutive relationships will also be elaborated upon in the context of the different theories. 6.3.3 Thin plates - Kirchho theory The Kirchhoff plate model theory is analogous to the Bernoulli-Euler beam. It is applicable for thin plates where shear deformations are negligible. Ironically, the outwardly simplest plate theory presents the most problems when formulating the nite

January 21, 2011

Version 0.2

95

6 Structural elements for nite 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 bres 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 inserting equation (6.95), m, + pz = 0. Since shear deformations are zero, the curvature is equal to: = 1 w, + w, . 2 (6.101) (6.100)

The moment is related to the curvature by m = C , where the constitutive tensor is equal to: (6.102)

C =

t3 + + . 12

(6.103)

where = 2/ ( + 2). Inserting the constitutive relationship (6.102) into equation (6.100) yields a fourthorder partial differential equation. After some rearranging, the governing equation can be expressed in a particularly convenient form: w, = 12 1 2 pz . Et3 (6.104)

Expanding this equation, 12 1 2 4 w 4 w 4 w +2 2 2 + 4 = pz . x y Et3 x4 y (6.105)

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 2 2 + 4 . x y x4 y

(6.106)

As a fourth-order equation, four different types of boundary conditions are possible, 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 n = g mnn = T qn + mns,s = Q on w on on M on Q (6.107a) (6.107b) (6.107c) (6.107d)

The rst two boundary conditions are Dirichlet boundary conditions, and the last two are Neumann boundary conditions. The last boundary condition is known as the modied 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,

wm, d +

wpz d = 0,

(6.108)

where is the surface of the plate. Integrating the moment term by parts once,

w, m, d +

wm, n d +

wpz d = 0.

(6.109)

Using integration by parts again on the rst term,

w, m d

w, m n d +

wm, n d +

wpz d = 0, (6.110)

which is the weak form of the governing equation for thin plate bending. The problem here is that too many boundary terms appear in the rst boundary integral. The moment can only be applied normal to the boundary (m n n ),

w, m n d =

w,n mnn d w,n mnn d +

w,s mns d wmns,s d wmns | B A (6.111)

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

w, m d

w,n mnn d +

w (mns,s + qn ) d +

wpz d = 0. (6.112)

January 21, 2011

Version 0.2

97

6 Structural elements for nite element analysis


Inserting the Neumann boundary conditions, solving the weak problems then involves: nd w S such that

w, m d

w,n T d +

wQ d +

wpz d = 0

w V , (6.113)

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: m d n T d + wQ d + wpz d = 0 (6.114)

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 dened as follows:

S = w | w H 2 () , w = gw on w , w,n = g on ,
V = w | w H 2 () , w = 0 on w , w,n = 0 on .

(6.115a) (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. However, some serious practical problems arise in nite 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 nite element context is that the moment tensor m is calculated from the curvature, which depends on which is no longer calculated directly from w ( = 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, q, + pz = 0. (6.116a) (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 introduced, q = C = C w, , where C = kt , 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) (6.119b) (6.118) (6.117)

C w, , + pz = 0

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 exibility in applying boundary conditions than the Kirchhoff theory. This is due to and w being decoupled. The naturally occurring boundary conditions involve w = gw = g mn = T qn = Q on w , on , on M , on Q . (6.120a) (6.120b) (6.120c) (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 ,

m, d

C w, d = 0.

(6.121)

Integrating the above equation by parts,

(,) m d +

m n d

C w, d = 0.

(6.122)

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

, m d +

T d

C w, d = 0,

(6.123)

January 21, 2011

Version 0.2

99

6 Structural elements for nite element analysis


which is the weak form of equation (6.119a). Multiplying now equation (6.119b) by a weight function w, wC w, ( ,) d + wpz d = 0. (6.124)

Integrating the above equation by parts yields:

w, C w, d +

wC n d +

wpz d = 0.

(6.125)

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

w, C w, d +

wQ d +

wpz d = 0,

(6.126)

which is the weak form of equation (6.119b). The weak problem therefore involves: nd S and w Sw such that:

, m d +

T d

C w, d = 0,

(6.127a)

w, C w, d +

wQ d

wpz 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 nite element method. This will require the interpolation of both the transverse displacement w and the rotation . 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:

m d +

q d +

T d

wQ d 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 Kirchhoff 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 nite elements As in elasticity, symmetry of m and allows the use of simplied engineering notation. m = Db (6.129)

where m = (m11 , m22 , m12 ) T and = (11 , 22 , 212 ) T . The matrix D b has the form: 1 1 0 0 0

Et3 D = 12 (1 2 )
b

(1 ) 2

(6.130)

For the shear forces q , q = D s , where Ds = tk 0 0 . tk (6.132) (6.131)

Kirchho plate elements There are few reliable, exible and robust Kirchhoff plate elements. The complications are rooted in the need for C1 continuity. The majority of Kirchhoff plate elements are non-conforming this means that they do not satisfy C1 continuity. However, 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 applicability.

January 21, 2011

Version 0.2

101

6 Structural elements for nite element analysis


Reissner-Mindlin plate elements Plate nite elements based on the Reissner-Mindlin principle do not require C1 continuity. Two elds are interpolated (the transverse displacement and the rotation), with derivatives of order no higher than one for both elds appearing in the weak form. This is a signicant 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, convergence requirements are guaranteed. The unknown elds, w h and h are interpolated using C0 shape functions in terms of nodal unknowns, w h = N w aw =N a
h

(6.134) (6.135)

Taking derivatives,
h w, = Bw aw

(6.136) (6.137)

=B a

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

B D b B d a e

N CBw daw + e

N CN da e

T N T d

(6.138a)

Bw T CBw daw e

Bw T CN da e

N w T Q d +

N w T pz d

(6.138b)

for an element. This can be expressed as: kww e kw e kw e k e f ew aw e = f , ae e

(6.139)

102

Version 0.2

January 21, 2011

6.3 Plate
where kww = e
e

Bw T CBw d Bw T CN d N CBw d
T T

(6.140a) (6.140b) (6.140c) N CN d


T

kw = e kw = e k = e f ew =
e Q

e e

B D b B d + N w T Q d +
T N T d T

(6.140d) (6.140e) (6.140f)

N w T pz d

f e =

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 results for thin plate problems. Using full integration for this element results in extreme shear locking. Many Reissner-Mindlin elements involve reduced or selective integration to avoid shear locking. Another possibility to avoid shear locking is to use a mixed formulation. The governing 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 nite element analysis


elds are interpolated: w, and q . It can be shown however that most mixed formulations are equivalent to reduced or selective integration (Hughes, 1987). Discrete Kirchhoff elements are based on thick shell formulations. What they require 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 at 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 ), nd 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 nite 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 elements? 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 nite element method


It was shown in Chapter 3 that the nite element method calculates a solution which is optimal in terms of the energy, given a collection of basis functions. While the solution 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 reduced. 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 nite element simulation. What it does provide is the order of convergence. The order of convergence indicates how quickly the error reduces upon mesh renement. 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 nite 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 dened 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, e n . 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: u

=0

1/2

( D u) d

(7.2)

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

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 quantied by calculating a norm of e. Two norms of particular interest

105

7 Analysis of the nite element method


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

(e e) d

(7.4)

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


1/2

(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

|u|n =

( D n u)2 d

1/2

(7.6)

which involves only a particular order derivative. An important semi-norm is the energy norm. It is dened by: u
2 E

= | u |2 = r

( 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 .
i

(7.8)

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 u uI
m

chk+1m |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 nite solution is known to be the best possible solution from the nite-dimensional space S h , it holds that u uh
E

u uI

E.

(7.10)

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

Chk+1r |u|k+1 ,
Version 0.2

(7.11)

January 21, 2011

7.2 A posteriori error estimation


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

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 seminorm |u|k+1 existing. If the exact solution is not sufciently smooth, there may be no gain in accuracy through increasing the polynomial order. It would be useful to nd an estimate in terms of lower norms, such as the error in the displacement, u uh 0 . An estimate can be obtained using Nitsches trick (see Strang and Fix (1973) for details). It leads to the estimate: u uh
s

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 e 0 , 1/2 . For k 1, the displacement error is: which is equal to e e d e
0

Chk+1 |u|k+1 . Chk |u|k+1 ,

(7.14)

In terms of the strain, e


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, e e
0 1

Ch2 |u|2 Ch|u|2 .

(7.16)

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 Table 7.1.

7.2 A posteriori error estimation


Once a nite 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 nite element method


polynomial order 1 2 3 4 displacements k 2 3 4 5 strains k 1 2 3 4

Table 7.1: Order of convergence O(hk ) for commonly used nite elements in terms of displacements and strain, assuming that the exact solution is sufciently 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 eld, the error can be estimated. Error estimation is a rich eld of applied mathematical research. Research is ongoing for more sophisticated error estimators for more complicated problems.

7.3 Adaptivity
To improve the accuracy of a nite element solution, adaptivity techniques can be employed in combination with an error estimator. Based on an analysis of the error, a nite element mesh can be adapted to improve the solution. Two forms of adaptivity are commonly used: p-adaptivity and h-adaptivity. padaptivity 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 constructed. 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 concept 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 specied 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) b) c) d) e) T3 Q4 T6 Q8 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 nite element solution of practical problems often leads to very large systems of equations. Large systems require signicant memory to store the matrices and large computational effort to solve the system. To nd the nite 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 compact support of nite 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 efcient manner, the matrix is also banded. This mean that nonzero 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 savings 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 nite 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 nite element code however, Gauss elimination is rarely used. Typically more efcient 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 nite 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 matrices.

111

8 Solvers for large linear systems


The rst 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 simply. 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. Pivoting is often used to avoid numerical problems associated with large and small terms on the diagonal. Also, for symmetric systems the algorithm can be modied, 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, iterative 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 efciency and robustness of iterative solvers can be improved signicantly through the use of preconditioning.

112

Version 0.2

January 21, 2011

9 Time-dependent problems
Until now, the nite element method has been applied only for time-independent problems. In this chapter, the unsteady heat equation and elastodynamics are considered 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 rst, 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: u = + b (9.1)

where is the density and u = 2 u/t2 is the acceleration vector. In mathematical terms, this equation differs signicantly from the static case as the governing equation is hyperbolic. Similar to static problems, its is complemented by boundary conditions. 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 conditions 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) u ( x, 0) = v0 ( x) (9.4a) (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 nite 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:

w u d =

w ( ) d +

w b d

(9.5)

Integrating by parts, using the same steps outlined in Chapter 2, and inserting Neumann boundary conditions, solving the weak form involves: for a given t > 0, nd u S such that

w u d =

s w : d +

w b d +

w h d

w V . (9.6)

9.1.2 Semi-discrete Galerkin form To reach a nite element formulation, the Galerkin form must be developed. From the weak from in the previous section, the Galerkin problem involves: nd uh S h such that

wh uh d =

s wh : h d +

wh b d
h

wh h d

wh V h , (9.7)

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 nite element shape functions. The velocity and acceleration elds are represented using the shape functions, which when considering the semidiscrete formulations are constant in time. Therefore, the nite-dimensional velocity and acceleration elds in an element are given by: uh = N ae , u = N ae ,
h

(9.8a) (9.8b)

where ae = dae /dt and ae = d2 ae /dt2 . Inserting the discretised displacement eld and the expression for the acceleration eld into equation (9.7) and rearranging, for an element,
e

N T N d ae =

B T DB d ae +

N T b d +

h,e

N T h d.

(9.9)

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 a e + k e a e = 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 an + Kan = f n . (9.11)

Before this equation can be solved, a strategy is required to deal with the time derivatives 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,
cons = Me e

N T N d.

(9.12)

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 nite 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 nite 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. Mii
lump

j =1

cons Mij

(9.13)

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 damping and its mathematical form is often vague. Damping is often included by adding the term C a to the governing equations, M a + C a + 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 increasing frequency. Conversely, the contribution of the mass matrix increases damping 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 rst 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 ux, kappa is the conductivity. The problem requires boundary conditions, as outlined in Section 2.3, and initial conditions. Given that only the rst 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 innitesimal 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, nd uh S h such that

w h cuh d +

wh uh d

w h h d =

w h f d

wh V h (9.18)
(9.19)

In matrix form, this can be expressed at time tn as: M an + Kan = f n .

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 = a cos (t ) , a = 2 a cos (t ) . Inserting these results into equation (9.11) and rearranging, (9.20) where is the frequency (radians per second). The acceleration is therefore given by: (9.21)

2 M + K a = 0,
det K 2 M = 0,

(9.22)

which is a matrix eigenvalue problem. Non-trivial solutions (a = 0) require that: (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 a, 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 difculty 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.
2 det ke e 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: e = 2 L E E/. (9.25)

for an element of length L. For the consistent mass matrix, e = 2 3/L

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 eigenfunctions, a (t) =

i (t) i
i

(9.28)

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: i T Mj = and i T Kj = i2 0 i = j, i = j. (9.30) 1 0 i = j, i = j, (9.29)

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
i i

(9.31)

Pre-multiplying both sides of this equation by j T , j T M i i + j T K i i = j T f


i i

(9.32)

The orthogonality property means that the equation has been decoupled into nm simple, 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 homogeneous 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 nding the eigenvectors and eigenvalues. In structural analysis, usually only the low frequency modes have a signicant inuence 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 , an and an at time tn (and perhaps also at earlier times steps), the values an+1 , an+1 and an+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. Explicit 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 signicantly 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 order 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 stability. 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 rst considered. 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 ) an + an+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 rst-order accurate. In matrix form, the heat equation at time tn+1 must satisfy: M an+1 + Kan+1 = f n+1 . Rearranging equation (9.35), a n +1 = 1 1 (1 ) a an an , t n+1 t (9.37) (9.36)

and inserting the above result into equation (9.36) gives, 1 1 (1 ) M + K a n +1 = f n +1 + Man + M an . t t In compact notation, the problem to solve an+1 has become Kan+1 = fn+1 , where 1 K= M+K t 1 (1 ) fn+1 = f n+1 + Man + M an , t and an 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 mechanics is the generalised Newmark scheme. Newmark time integrators are a family of schemes, both explicit and implicit. Choosing parameters appropriately for a Newmark algorithm yields a number of different, well known integrators. The Newmark algorithm gives an+1 and an+1 as: an+1 = an + t an + a n +1 t2 ((1 2) an + 2 an+1 ) 2 = an + t ((1 ) an + an+1 ) (9.41a) (9.41b) (9.40a) (9.40b) (9.39) (9.38)

120

Version 0.2

January 21, 2011

9.5 Time stepping algorithms


where and are parameters which dene the nature and properties of the algorithm. Appropriate choices of and yield well known integration methods. The Newmark method is unconditionally stale for: 2 1 2 (9.42)

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 a and a in terms of a. Calculating the necessary terms using central differences, an = an = a n +1 a n 1 2t an1 2an + an+1 . t2 (9.43a) (9.43b)

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: t 2 h (9.44)

where h is the highest natural frequency (highest value from det K 2 M = 0. The term h can be 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, t L , c (9.45)

which is the Courant, Friedrichs and Lewy (CFL) stability condition. Another commonly used time integrator is based on the trapezoidal rule, a n +1 = a n + a n +1 t ( a n + a n +1 ) , 2 t = an + ( a n + a n +1 ) . 2 (9.46a) (9.46b)

Inserting equation (9.46a) into equation (9.46b), an+1 = an + t an + t2 ( a n + a n +1 ) 4 (9.47)

This integrator is implicit. It corresponds to = 1/4 and = 1/2 in the Newmark 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 dierence approach The system of equations to be solved, with damping, has the appearance: M an + C an + 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), M an1 2an + an+1 a a n 1 + Kan = f n . + C n +1 2 2t t (9.49)

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 an1 ) + Ca Kan + f n . (9.50) 2 2t 2t n1 t t Recall that the displacement vector a is known at step n and all previous steps, and unknown at step n + 1. Given an and an1 , it is possible to calculate an+1 . The above equations can be written in a shorthand format as: Man+1 = fn , where M= and 1 1 fn = 2 M (2an an1 ) + Ca Kan + f n . 2t n1 t Then, the displacement vector a at step n + 1 is given by: an+1 = M 1 fn (9.54) (9.53) 1 1 C M+ 2 2t t (9.52) (9.51)

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: Kan = B T n d. (9.55)

A difculty with explicit central-difference time integration is the need for information 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 an1 in terms of quantities at n (time t = 0), which are the initial conditions. an1 = an t an + t2 an 2 (9.56)

The vector an1 can be used to start the time integration procedure. The central difference procedure is popular in nite element analysis. In combination with a lumped mass matrix, it is very efcient and suitable for very large problems. Furthermore, it is second-order accurate. The signicant drawback is the conditional stability. The time step must be chosen carefully for a particular discretisation. Implicit time integration the Newmark family Formulation of a Newmark scheme starts by inserting the expressions for the velocity and accelerations into: M an+1 + C an+1 + Kan+1 = f n+1 (9.57)

Rearranging the expressions in equation (9.41) for = 0 to express the accelerations and velocity at step n + 1 in terms of step n and earlier, a n +1 = 1 1 1 an an + an ( a n +1 a n ) t 2 t2 (9.58a)

a n +1 = a n

+ t (1 ) an +

1 1 1 an an + an ( a n +1 a n ) t 2 t2

(9.58b)

These equations are then inserted into equation (9.57). For simplicity, damping is ignored. This yields, M 1 1 1 an an + an ( a n +1 a n ) t 2 t2

+ Kan+1 = f n+1

(9.59)

Rearranging such that all unknown quantities appear on the LHS, and all known quantities on the RHS, 1 M + K a n +1 = M t2 1 1 1 an + an an a + 2 n t 2 t

+f

(9.60)

which in a short-hand notation can be expressed as: Kan+1 = fn+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 an+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 frequency modes in the solution. However, choosing = 1/2 reduces the integration scheme to rst 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 algorithm is the -Method, which is also known as the Hilber-Hughes-Taylor Method (Hughes, 1987). It involves using a Newmark scheme to solve : M an+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 quadrilateral 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 equivalent 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 Methods. 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. SpringerVerlag, New York. Golub, G. H. and Loan, C. F. V. (1996). Matrix Computations. The John Hopkins University 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 procedure for practical engineering analysis. International Journal for Numerical Methods in Engineering, 24:337357.

125

You might also like