CT5123 - LectureNotesThe Finite Element Method An Introduction
CT5123 - LectureNotesThe Finite Element Method An Introduction
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 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
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
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.
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
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)
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
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
(1.42)
sin , cos
(1.43)
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.
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)
A =
Aij = Aij,j . x j
(1.52)
(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
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)
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.
16
Version 0.2
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,
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
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
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
,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
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:
0 < x < L, at x = 0, at x = L.
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
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)
( 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).
+ b = 0 in .
January 21, 2011 Version 0.2
(2.17)
23
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
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.
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.
Version 0.2
25
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)
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)
s u : C : s u d
u b d
u h d.
(2.32)
s (u + v) : C : s (u + v) d
(u + v) b d
(u + v) h d, (2.33)
26
Version 0.2
f ,x
= 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.
Version 0.2
27
(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:
(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
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?
Version 0.2
29
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
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.
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)
w h V h
(3.11)
32
Version 0.2
= 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.
Version 0.2
33
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
1 0 1 0 1 0 1 0
1
1 0 1 0 1 0 1 0
35
(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)
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
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.
Version 0.2
37
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
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)
Version 0.2
39
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
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)
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)
Version 0.2
41
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
( x3 , y3 )
3
1 2
( x1 , y1 )
( x2 , y2 )
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
Version 0.2
43
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
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)
Version 0.2
45
Figure 4.12: Pascal triangle polynomial terms for triangular elements of order n.
46
Version 0.2
(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 ...
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)
Version 0.2
47
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
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)
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)
Version 0.2
49
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.
50
Version 0.2
2 4
1
(1,1)
y
2
(1,1)
x
1
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-
Version 0.2
51
(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
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
s
(0,1)
2 1 (0,0) (1,0)
r
1 (0,0) 4
2 (1,0)
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)
Version 0.2
53
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
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).
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
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
Version 0.2
55
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
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.
Version 0.2
57
integration scheme 1 2
or
22
eight-node quadrilateral(Q8)
33
58
Version 0.2
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.
Version 0.2
59
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
For unequally spaced nodes, the difference equation for the second derivative is: d2 u dx2
=
i
Comment on the symmetry of the operators for nite elements and nite differences on unequally spaced grid.
60
Version 0.2
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.
Version 0.2
61
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
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
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
Version 0.2
65
% 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
66
Version 0.2
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
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.
Version 0.2
67
% 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
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
68
Version 0.2
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
% 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
Version 0.2
69
500
1000
70
Version 0.2
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.
Version 0.2
71
F
Figure 6.1: Two-dimensional truss structure.
73
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)
74
Version 0.2
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.
Version 0.2
75
y fy Fy x T x = x1 x = x2
v,x y
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
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)
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
Version 0.2
77
v,x y
+Q
n y n
+M
Figure 6.7: Sign conventions for a bending moment and shear force resultant.
78
Version 0.2
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)
(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.
Version 0.2
79
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
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)
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)
Version 0.2
81
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
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.
EI,x n d
GAs (v,x ) d = 0,
(6.43) (6.44)
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)
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)
Version 0.2
83
(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
6.2 Beams
The second derivative of v is given by: v1 1 v2 2
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)
N,xx T EI N,xx d ae =
N,x T T d +
N T Fy d
N T f y d.
(6.55)
ke =
N,xx T EI N,xx d,
(6.56)
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.
Version 0.2
85
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
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 =
(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)
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
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)
Version 0.2
87
where the components of the the element stiffness matrix are given by k =
e
B EIB + N GAs N d,
e e
kv = kv = kvv =
e
N GAs Bv d, Bv T GAs N d,
Bv T GAs Bv d,
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
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
(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)
which is the correct result. Even with a very ne mesh, this element will exhibit a very stiff response. If the term
e
Version 0.2
89
(6.83)
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
6.3 Plate
x3
p 1 x2 t
x1 2
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
Version 0.2
91
w, 1 w
x3
92
Version 0.2
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
Version 0.2
93
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:
q n d +
pz d = 0.
(6.93)
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
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)
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
Version 0.2
95
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)
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
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)
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 =
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)
Version 0.2
97
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
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)
(,) m d +
m n d
C w, d = 0.
(6.122)
, m d +
T d
C w, d = 0,
(6.123)
Version 0.2
99
w, C w, d +
wC n d +
wpz d = 0.
(6.125)
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
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)
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.
Version 0.2
101
(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)
(6.139)
102
Version 0.2
6.3 Plate
where kww = e
e
Bw T CBw d Bw T CN d N CBw d
T 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
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
Version 0.2
103
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
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
(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
(e e) d
(7.4)
(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)
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
(7.14)
(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
(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.
Version 0.2
107
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
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.
Version 0.2
109
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
112
Version 0.2
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
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
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.
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
w h cuh d +
wh uh d
w h h d =
w h f d
wh V h (9.18)
(9.19)
2 M + K a = 0,
det K 2 M = 0,
(9.22)
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)
Version 0.2
117
9 Time-dependent problems
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)
(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
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).
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
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)
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.
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
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)
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.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
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