Bathe Cap8 Print Fullpage Odds

Download as pdf or txt
Download as pdf or txt
You are on page 1of 37

• CHAPTER EIGHT _ _ _ _ _ _ _ _ _ _ __

Solution of Equilibrium
Equations in Static Analysis

8.1 INTRODUCTION

So far we have considered the derivation and calculation of the equilibrium equations of
a finite element system. This included the selection and calculation of efficient elements
and the efficient assemblage of the element matrices into the global finite element system
matrices. However, the overall effectiveness of an analysis depends to a large degree o,i the
numerical procedures used for the solution of the system equilibrium equations. As dis-
cussed earlier, the accuracy of the analysis can, in general, be improved if a more refined
finite element mesh is used. Therefore, in practice, an analyst tends to employ larger and
larger finite element systems to approximate the actual structure. However, this means that
the cost of an analysis and, in fact, its practical feasibility depend to a considerable degree
on the algorithms available for the solution of the resulting systems of equations. Because
of the requirement that large systems be solved, much research effort has gone into optimiz-
ing the equation solution algorithms. During the early use of the finite element method,
equations of the order 10,000 were in many cases considered of large order. Currently,
equations of the order 100,000 are solved without much difficulty.
Depending on the kind and number of elements used in the assemblage and on the
topology of the finite element mesh, in a linear static analysis the time required for solution
of the equilibrium equations can be a considerable percentage of the total solution time,
whereas in dynamic analysis or in nonlinear analysis, this percentage may be still higher.
Therefore, if inappropriate techniques for the solution of the equilibrium equations are used,
the total cost of analysis is affected a great deal, and indeed the cost may be many times,
say 100 times, larger than is necessary.
In addition to considering the actual computer effort that is spent on the solution of
the equilibrium equations, it is important to realize that an analysis may, in fact, not be
possible if inappropriate numerical procedures are used. This may be the case because the
analysis is simply too costly using the slow solution methods. But, more seriously, the
695
Sec. 8.2 Direct Solutions Using Algorithms Based on Gauss Elimination 697

depends on the specific properties of the finite element stiffness matrix: symmetry, positive
definiteness, and handedness.
In the following we consider first the Gauss elimination procedure as it is used in the
solution of positive definite, symmetric, and banded systems. We briefly consider the solu-
tion of symmetric indefinite systems in Section 8.2.5.

8.2.1 Introduction to Gauss Elimination

We propose to introduce the Gauss solution procedure by studying the solution of the
equations KU = R derived in Example 3.27 with the parameters L = 5, EI = 1; i.e.,

(8.2)

In this case the stiffness matrix K corresponds to a simply supported beam with four
translational degrees of freedom, as shown in Fig. 8.1. (We should recall that the equi-
librium equations have been derived by finite differences; but, in this case, they have the
same properties as in finite element analysis.)

The Mathematical Operations

Let us first consider the basic mathematical operations of Gauss elimination. We proceed
in the following systematic steps:

Step 1: Subtract a multiple of the first equation in (8.2) from the second and
third equations to obtain zero elements in the first column of K. This means that - !
times the first row is subtracted from the second row, and ! times the first row is
subtracted from the third row. The resulting equations are

(8.3)

Step 2: Considering next the equations in (8.3), subtract - ~ times the second
equation from the third equation and f4 times the second equation from the fourth
equation. The resulting equations are

(8.4)
Sec. 8.2 Direct Solutions Using Algorithms Based on Gauss Elimination 699

Using (8.5), we can now simply solve for the unknowns U4, U3, U2, and U1:

; - (-a2)U4
1 12
U3= =-
1/- 5
_ 1 - (-!l)U3 - (l)U4 _ 13
U2 - li - 5 (8.6)
5

Ui =0 - (-4)lls - (l)lls - (0)1s = _8


5 5
The procedure in the solution is therefore to subtract in step number i in succession
multiples of equation i from equations i + l, i + 2, . . . , n, where i = 1, 2, . . . , n - 1.
In this way the coefficient matrix K of the equations is reduced to upper triangular form,
i.e., a form in which all elements below the diagonal elements are zero. Starting with the
last equation, it is then possible to solve for all unknowns in the order Un, Un-1, ... , U1.
It is important to note that at the end of step i the lower right submatrix of order n - i
[indicated by dashed lines in (8.3) to (8.5)] is symmetric. Therefore, the elements above and
including the diagonal can give all elements of the coefficient matrix at all times of the
solution. We will see in Section (8.2.3) that in the computer implementation we work with
only the upper triangular part of the matrix.
Another important observation is that this solution assumes in step i a nonzero ith
diagonal element in the current coefficient matrix. It is the nonzero value of the ith diagonal
element in the coefficient matrix that makes it possible to reduce the elements below it to
zero. Also, in the back-substitution for the solution of the displacements, we again divide
by the diagonal elements of the coefficient matrix. Fortunately, in the analysis of
displacement-based finite element systems, all diagonal elements of the coefficient matrix
are positive at all times of the solution, which is another property that makes the application
of the Gauss elimination procedure very effective. (This property is not necessarily pre-
served when the stiffness matrices are derived using a mixed formulation or by finite
differences; see Sections 3.3.4 and 4.4.2). We will prove in Section 8.2.5 that the diagonal
elements must remain larger than zero, but this property is also observed by considering the
physical process of Gauss elimination.

The Physical Process

In order to identify the physical process corresponding to the mathematical operations in


Gauss elimination, we note first that the operations on the coefficient matrix K are indepen-
dent of the elements in the load vector R. Therefore, let us consider now only the operations
on the coefficient matrix K and for ease of explanation again use the above example and
Fig. 8.1. We consider that no loads are applied and hence have

(8.7)
Sec. 8.2 Direct Solutions Using Algorithms Based on Gauss Elimination 701

5 -4 0

(a)~

1.0
j ::;)==l :::--l-==
-4 6 -4 1

(b) $. ~j:;J=l 1.0


1 -4 6 -4

Cc) J;;; ~j::J- 1


1.0
-4 5

(d) d'}; l==l::j~ 1.0


Figure 8.3 Experimental results of forces (given to one digit) in clamps due to unit displace~
ments. (Note that the zero force in the top and bottom results is unrealistic with the given
beam curvature but the value of the force is so small that we neglect it.)

and the accuracy of the laboratory measurements, the measured forces will be slightly
different, but in our Gedankenexperiment we neglect that difference.)
We now remove clamp 1 and repeat the experiment in the laboratory on the same
physical beam. The results are shown in Fig. 8.4. The measured forces now correspond to
the columns in the stiffness matrix (8.9) [shown also in Fig. 8.l(b)]. Next, we also remove
clamp 2 and continue the experiment to obtain the force measurements shown in Fig. 8.5.
These results correspond to the stiffness matrix in Fig. 8.l(c). Finally, we also remove
clamp 3, and the force measurement gives the result shown in Fig. 8.6, which corresponds
to the stiffness given in Fig. 8.l(d).
The important point of our Gedankenexperiment is that the mathematical operations
of Gauss elimination correspond to releasing degrees of freedom, one degree of freedom at
a time, until only one degree of freedom is left (in our example U4). The process of releasing
a degree of freedom corresponds physically to removing the corresponding clamp. Hence,
at every stage of the Gauss elimination a new stiffness matrix of the same physical structure
is established, but this matrix corresponds to fewer degrees of freedom than were previously
used.
Of course, in a laboratory experiment we are free to establish stiffness matrices of the
structure considered corresponding to any arbitrary set of selected degrees of freedom.
Indeed, considering the beam in Fig. 8.2, we could by measurements establish first the
stiffness in Fig. 8.l(d), then the stiffness matrix in Fig. 8.l(c), then the stiffness matrix in
Fig. 8.l(b), and finally the stiffness matrix in Fig. 8.l(a), or use any other order of measure-
ments. Also, we could move the clamps to any other locations and introduce more clamps,
Sec. 8.2 Direct Solutions Using Algorithms Based on Gauss Elimination 703

and then establish stiffness matrices for the corresponding displacement degrees of free-
dom. However, in the finite element analysis we need a certain number of degrees of
freedom to accurately describe the behavior of the structure (see Section 4.3), which results
in a specific finite element model, and then we are able to establish the stiffness matrices
of only this finite element model with certain degrees of freedom released. Gauss elimina-
tion is the process of releasing degrees of freedom.

EXAMPLE 8.1: Assume that you know a laboratory technician who knows nothing about
finite elements and equation solutions. She/he has performed an experiment using clamps that
measure forces on a beam structure in the laboratory; see Fig. ES.I. By moving the clamps to
"unit" and "zero" positions, the following forces have been measured.

Clamp for U1 Clamp for U2 Clamp for U, Clamp for U4

Figure E8.l Beam with clamps

The result of the first experiment is


Ui U2 U3
,.. -,,.., -4 1
Forces in clamps ·---·":_ 4 : 6 _ 4 (a)
due to U1 = 1 and , 1
U2 = U3 = U4 = O F3 : 1 : -4 5
F4 1, ... 0)
_,, 1 -2
The technician has in a second experiment removed the clamp for U2 and repeated the
measurement to obtain the following forces.
The result of the second experiment is
U3 u4

Forces in clamps -s

fl
T
due to U1 = l FJ 10
T (b)
and UJ = U4 = 0 F4 -4
T
You are suspicious of whether she/he measured the forces correctly in this second exper-
iment. Assume that the first experiment was correctly performed. Check whether the second
experiment was also correctly performed.
The stiffness matrix (b) is correct if it is obtained from (a) after releasing the degree of
freedom U2, Performing Gauss elimination on U2. we obtain from the matrix in (a),
13
T - jS 2]
3
K= -,..S ,_,
"i' __4
[ 3
2
3
\

-3
3
"';
I J
S
6
Sec. 8.2 Direct Solutions Using Algorithms Based on Gauss Elimination 705

l~
eliminating U3 ,
-12
3 0
-123 12
3 0

Next, we eliminate U2 and obtain


1
2
j
-4
-13
6
0 =~rnJ =rn
0 0

and finally we eliminate U4,


[-f
-1
-4
10
3

0
0
6
0 =l][~} [!]
0 01[] []
0

[-t
-1
-4
3

0
10
0
6
o
-i
-4
i u4
.U2
U3
= l
0
I
The solution for the displacements is now obtained as follows:
U1 =J
u4 = 4 - (-1)! =~
! 5

u2 = 1 - (-12)!
3
- (-1)1 13
3 s = _
~ 5
u3 = 0 - (l)!s - (-4)1s - (-4)il 12
s == _
6 5
which is the solution obtained earlier.

8.2.2 The LDL r Solution

We have seen in the preceding section that the basic procedure of the Gauss elimination
solution is to reduce the equations to correspond to an upper triangular coefficient matrix
from which the unknown displacements U can be calculated by a back-substitution. We now
want to formalize the solution procedure using appropriate matrix operations. An addi-
tional important purpose of the discussion is to introduce a notation that can be used
throughout the following presentations. The actual computer implementation is given in the
next section.
Considering the operations performed in the Gauss elimination solution presented in
the preceding section, the reduction of the stiffness matrix K to upper triangular form can
be written

(8.10)
Sec. 8.2 Direct Solutions Using Algorithms Based on Gauss Elimination 707

elements of S; i.e., du = s;;. Substituting for S into (8.14) and noting that K is symmetric
and the decomposition is unique, we obtain S = LT, and hence,
K = LDLT (8.16)
It is this LDU decomposition of K that can be used effectively to obtain the solution of the
equations in ( 8.1) in the following two steps:
LV = R (8.17)
DLTU =v (8.18)
where in (8.17) the load vector R is reduced to obtain V,
V = L;..!1 ... Li 1 L1 1R (8.19)
and in (8.18) the solution U is obtained by a back-substitution,
Fu= n- 1 v (8.20)
In the implementation the vector V is frequently calculated at the same time as the
matrices L, 1 are established. This was done in the example solution of the simply supported
beam in Section 8.2.1.
It should be noted that in practice the matrix multiplications to obtain Lin (8.15) and
V in (8.19) are not formally carried out, but that L and V are established by directly
modifying K and R. This is discussed further in the next section, in which the computer
implementation of the solution procedure is presented. However, before proceeding, con-
sider the example in Section 8.2.1 for the derivation of the matrices defined above.

EXAMPLE 8.3: Establish the matrices Li" 1, i = l, 2, 3, S, L, and D and the vector V corre-
sponding to the stiffness matrix and the load vector of the simply supported beam treated in
Section 8.2.1.
Using the information given in Section 8.2. l, we can directly write down the required
matrices:

L>' = [! -4
¥ -¥ll1
7
011
_ag

6
7
5

where the matrix L, 1 stores in the ith column the multipliers that were used in the elimination
of the ith equation and the matrix S is the upper triangular matrix obtained in (8.5). The matrix
D is a diagonal matrix with the pivot elements on its diagonal. In this case,
Sec. 8.2 Direct Solutions Using Algorithms Based on Gauss Elimination 709

the calculation is completed using


gij
[ .. = - i= mb •••• j - 1 (8.22)
IJ d;;
j-1

djj = kjj - L zrjgrj (8.23)

It should be noted that the summations in (8.21) and (8.23) do not involve multiplications
with zero elements outside the skyline of the matrix and that the lii are elements of the
matrix U rather than of L. We refer to the solution algorithm given in (8.21) to· (8.23)
[actually with (8.24) and (8.25)] as the active column solution or the skyline (or column)
reduction method.
Considering the storage arrangements in the reduction, the element l1i when calculated
for use in (8.23) immediately replaces 8ii, and dii replaces kii· Therefore, at the end of the
reduction we have elements dJJ in the storage locations previously used by kJJ, and lrJ is stored
in the locations of krj, j > r.
In order to get familiar with the solution algorithm, we consider the following exam-
ples.

EXAMPLE 8.4: Use the solution algorithm given in (8.21) to (8.23) to calculate the triangular
factors D and Lr of the stiffness matrix of the beam considered in Example 8.3.
The initial elements considered are, when written in their respective matrix locations,

with m1 = l, m2 = l, m3 = I. and m4 = 2. Using (8.21) to (8.23), we obtain, for j = 2,


du = ku = 5
g12 = k12 = -4

lri = -g,2
du
= --45
d22 = k22 lrig12 =6 - (-4)(-!) = ¥
and thus the resulting matrix elements are now, using a dotted line to separate the reduced from
the unreduced columns,

-! tj
Next, we obtain, for j
g13
= 3,
= k13 = 1
l
s -~
6 -4
5

823 = k23 - 112813 = -4 - (- !)(1) = -11-


Sec. 8.2 Direct Solutions Using Algorithms Based on Gauss Elimination 711

The algorithm gives, in this case with du = 2, for j = 2,


K12 = k12 = -2
112 -d11 = --2
= 812 2
= -1
d22 = k22 - l12g12 =3- (-1)(-2) =1
and thus the resulting matrix elements are
2 -1 -1
1 -2 0
5 -3 0
10 4
10
Forj = 3, 823 = k23 = -2
123 = -823
d22
= --2
1
= -2
d33 = k33 - l23g23 =5- (-2)(-2) =1
and the coefficient array is now
2 -1 -1
1 -2 0
-3 0
10 4
10
For}= 4, g34 = k34 = -3
-3
/34 = -834
d33
= - 1
= -3

dw = ~ - [34g34 = 10 - (-3)(-3) =1
and the resulting matrix elements are
2 -1 -1
l -2 0
-3 0
1 4
10
Finally we have, for j = 5,
81s = k1s = -I
g25 = k25 - lr2g15 =0- (-1)(-1) = -1
g35 = k33 - /2382, =0 (-2)(-1) = -2
g45 = k4s - /34g35 = +4 - (-3)(-2) = -2
Sec. 8.2 Direct Solutions Using Algorithms Based on Gauss Elimination 713

EXAMPLE 8.6: Use the algorithm given in (8.24) and (8.25) to calculate the solution to the
problem KU= R, when K is the stiffness matrix considered in Example 8.5 and
0
1
R = 0
0
0
In the solution we employ the D, LT factors of K calculated in Example 8.5. Using (8.24)
for the forward reduction, we obtain
Vi= R1 = 0
V2 = R2 - l12 Vi =1- 0 =1
V3 = R3 - b V2 =0 - (-2)(1) = 2
V4 = ~ - /34 V3 =0 - (-3)(2) =6

= 0 - 0 - (-1)(1) - (-2)(2) - (-2)(6) = 17


Immediately after calculation of V;. the element replaces R,. Thus, we now have in the vector that
initially stored the loads,
0
1
V= 2
6
17
The first step in the back-substitution is to evaluate V, where V = o- 1v. ~ere we obtain
0
1
V= 2 (a)
6
34
and thus, Us= Vs== 34
Now we use (8.25) with yes> = V of (a). Hence we obtain, for i = 5,
Vi > = vis> -
4
l1s Us= 0 - (-!}(34) = 17
4
V~ > = v~> - lzsUs = 1 - (-1)(34) = 35
4
Vi > = v~> - /3s Us =2 - (-2)(34) = 70
V~ > = v~> - l4s Us = 6 - (-2)(34) = 74
4

and u4 = Vi > = 74
4

For i = 4, vr> = V~ > - 4


l34 U4 = 70 - (-3)(74) = 292
Sec. 8.2 Direct Solutions Using Algorithms Based on Gauss Elimination 716

requirement for a sparse solver means that the number of fill-in elements (elements that
originally are zero but become nonzero) should be small (see A. George, J. R. Gilbert, and
J. W. H. Liu (eds.) [A]). The use of such reordering procedures, while generally not giving
the actual optimal ordering of the equations, is very important because in practice the initial
ordering of the equations is usually generated without regard to the efficiency of the
equation solution but merely with regard to the effectiveness of the definition of the model.
The solution algorithm in (8.21) to (8.25) has been presented in two-dimensional
matrix notation; e.g., element (r,j) of K has been denoted by kri· Also, to demonstrate the
working of the algorithm, in Examples 8.4 and 8.5 the elements considered in the reduction
have been displayed in their corresponding matrix locations. However, in actual computer
solution, the active columns of the matrix K are stored effectively in a one-dimensional
array. Assume that the storage scheme discussed in Chapter 12 is used; i.e., the pertinent
elements of K are stored in the one-dimensional array A of length NWK and the addresses
of the diagonal elements of K are stored in MAXA. An effective subroutine that uses the
algorithm presented above [i.e., the relations in (8.21) to (8.25)] but operates on the
stiffness matrix using this storage scheme is given next.
Subroutine COLSOL. Program COLSOL is an active column solver to obtain the
LDL7 factorization of a stiffness matrix or reduce and back-substitute the load vector. The
complete process gives the solution of the finite element equilibrium equations. The argu-
ment variables and use of the subroutine are defined by means of comments in the program.
SUBROUTINE COLSOL (A,V,MAXA,NN,NWK,NNM,KKK,IOUT) COLOOOOl
c • COL00002
c . • COL00003
c . P ROGRAM • COL00004
c . TO SOLVE FINITE ELEMENT STATIC EQUILIBRIUM EQUATIONS IN • COLOOOOS
c . CORE, USING COMPACTED STORAGE AND COLUMN REDUCTION SCHEME • COL00006
c . • COL00007
c . INPUT VARIABLES - - • COL00008
c . A{NWk) • STIFFNESS MATRIX STORED IN COMPACTED FORM • COL00009
c • V{NN) • RIGHT-HAND-SIDE LOAD VECTOR , COLOOOlO
c . MAXA(NNM). VECTOR CONTAlNlNG ADDRESSES or DIAGONAL • COLOOOll
c . ELEMENTS OF STIFFNESS MATRIX IN A • COL00012
c • NN • NUMBER or EQUATIONS • COL00013
c . NWK • NUMBER or ELEMENTS BELOW SKYLINE or MATRIX • COL00014
c • NNM • NN + 1 • COL00015
c . KKK • INPUT FLAG • COL00016
c • EQ. 1 TRIANGULARIZATION or STIFFNESS MATRIX • COL00017
c . EQ. 2 REDUCTION AND BACK-SUBSTITUTION OF LOAD VECTOR. COL00018
c . IOUT • UNIT NUMBER USED FOR OUTPUT • COL00019
c • • COL00020
c . - - OUTPUT - - • COL00021
c . A(NWK) • D AND L - FACTORS or STIFFNESS MATRIX • COL00022
c . V(NN) • DISPLACEMENT VECTOR • COL00023
c .
c . . .....................
IMPLICIT DOUBLE PRECISION (A-H,O-Z)
• COL00024
COL00025
COL00026
c • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • •• COL00027
C. THIS PROGRAM IS USED IN SINGLE PRECISION ARITHMETIC ON CRAY • COL00028
C. EQUIPMENT AND DOUBLE PRECISION ARITHMETIC ON IBM MACHINES, • COL00029
C. ENGINEERING WORKSTATIONS AND PCS. DEACTIVATE ABOVE LINE FOR • COL00030
C. SINGLE PRECISION ARITHMETIC. • COL0003l
c . . . . . . . . . . • . . . . . . . . • . . . . . . . . • COL00032
DIMENSION A(NWK),V(NN),MAXA(NNM) COL00033
c COL00034
c PERFORM L*D*L(T) FACTORIZATION or STIFFNESS MATRIX COL00035
c COL00036
IF (KKK-2) 40,150,150 COL00037
40 DO 140 N•l,NN COI.00038
KN•MAXA(N) COL00039
KL•KN + 1 COL00040
Sec. 8.2 Direct Solutions Using Algorithms Based on Gauss Elimination 717

8.2.4 Cholesky Factorization, Static Condensation,


Substructures, and Ftontal Solution

In addition to the LDLT decomposition described in the preceding sections, various other
schemes are used that are closely related. All methods are applications of the basic Gauss
elimination procedure.
In the Cholesky factorization the stiffness matrix is decomposed as follows:
K = Lil (8.26)
where
L = LD 112 (8.27)
Therefore, the Cholesky f~tors could be calculated from the D and L factors, but, more
generally, the elements of L are calculated directly. An operation count shows that slightly
more operations are required in the equation solution if the Cholesky factorization is used
'rather than the LDL7 decomposition. In addition, the Cholesky factorization is suitable only
for the solution of positive definite systems, for which all diagonal elements du are positive,
because otherwise complex arithmetic would be required. On the other hand, the LDL7
decomposition can also be used effectively on indefinite systems (see Section 8.2.!5).
Considering a main use of the Cholesky factorization, the decomposition is employed
effectively in the transformation of a generalized eigenproblem to the standard form (see
Section 10.2.5).

EXAMPLE 8. 7: Calculate the Cholesky factor L of the stiffness matrix K of the simply
supported beam treated in Section 8.2.1 and in Examples 8.2 to 8.4.
The L and D factors of the beam stiffness matrix have been given in Example 8.3.
Rounding to three significant decimals, we have

L =
1.000
-0.800

t
1.000
0.200 -1.143
0.000 0.357
1.000
-1.333
0

l [
i.000
; D=
.000
2.800
2.143
0.833
l
l l
Hence,

,., _ [ -0.800
I.~ 1.000 r-236 1.673
L - 0.200 -1.143 1.000 1.464
0.000 0.357 -1.333 1.000

t
0.913

2.236
- _ -1.789 1.673
or L - 0.447 -1.912 I.™ ]
0 0.597 -1.952 0.913

An algorithm that in some cases can effectively be used in the solution of the equi-
librium equations is static condensation (see E. L. Wilson [BJ). The name "static conden-
sation" refers to dynamic analysis, for which the solution technique is demonstrated in
Section 10.3.1. Static condensation is employed to reduce the number of element degrees
Sec. 8.2 Direct Solutions Using Algorithms Based on Gauss Elimination 719

L .. ,
E-Young's

___ _.....,.....____
B
modulus
-
)~.
A,
U2 Ua

2A1
Figure E8.8 Truss element with linearly varying area

We have for the element,

EA1 [-~~
6
L 3 -28
-~~ _2!][~:J [::J
25 U3
=
R3
(a)

In order to apply the equations in (8.28) to (8.30), we rearrange the equations in (a) to obtain

-EAi [ -28 U3 = [R1]


173 253 -20J[U1] R3
6
L -20 -28 48 U2 R2
The relation in (8.30) now gives

EA1 {[173 253] _[-2o][I.]r-20 -2sJ}[U1] = [Ri + ! R2]


6L -28 48 U3 R3 + a R2

or

Also, (8.29) yields (b)

Using Gauss elimination directly on (a) for U2, we obtain


17 _(20)(20) 0 3 - (20)(28) [U I J= [R 1 + 1Q
482R J
48 48
EA1 . _ 48 -28 U2 R2 (c)
20
6L 3 - (20)(28) (28 )(28 ) U3 R3 + ff R2
48 0 25- 48

But separating the equations for U1 and U3 from the equation for U2, we can rewrite the relation
in (c) as

~ EA, [
9 L -1
1-l][U']
1 U3
= [R• + t,; R2]
R3 + ti. R2
and U2 = 241 [ EAi
3L R2 + IOU, + 14U3 ]

which are the relations obtained using the formal static condensation procedure.
Sec. 8.2 Direct Solutions Using Algorithms Based on Gauss Elimination 721

Using Gauss elimination on degrees of freedom U2 and U4, we obtain


(20)(20} (20)(28)
23 - 0 3- 0 0
48 48
U1 0
-20 48 -28 0 0
U2 0
EA1 (20)(28) (28)(28) (40)(40) (40)(56) (b)
6L
3-
48
0 59 -
48
- 96
0 6-
96
U3 0

0 0 -40 96 -56
u4 0
Us Rs
(40)(56) (56)(56)
0 0 6- 0 50 -
96 96
Now, extracting the equilibrium equations corresponding to degrees of freedom 1, 3, and 5 and
degrees of freedom 2 and 4 separately, we have

13
-EAt
9 L
ij
- [ -1 3 -2
0 -2 2
-1 o][u']
U3
Us
= [OJ
0
Rs
(c)

and Ui = ti[SU1 + 7U3]


(d)
U4 = f2[5U3 + 1Us]
However, using the two degree of freedom truss element stiffness matrix derived in Example 8.8
to directly assemble the structure stiffness matrix corresponding to degrees of freedom l, 3, and
5, we use as element stiffness matrices in (a),

Km = 13 EA, fi
0 0 0 O OJ
9 [
L O O O
-1
1 (e)
0

O
2 -2OJ (f)
-2 2
and obtain the stiffness matrix in (c). Also, the relation (b) in Example 8.8 corresponds to
relations (d) in this example. It should be noted that the total effort to solve the equilibrium
equations using the condensed truss element stiffness matrix is less than when the original three
degree of freedom element stiffness matrix is used because in the first case the internal degree
of freedom was statically condensed out only once, whereas in (b) the element internal degree
of freedom is, in fact, statically condensed out twice. The direct solution using the condensed
element stiffness matrices in (e) and (f) is, however, possible only because these stiffness matrices
are multiples of each other.

As indicated in Example 8.9, it can be particularly effective to employ static conden-


sation when the same element is used many times. An application of this concept is
employed in substructure analysis, in which the total structure is considered to be an
assemblage of substructures (see, for example, J. S. Przemienieck.i [A] and M. F. Rubinstein
[A]). Each substructure, in turn, is idealized as an assemblage of finite elements, and all
Sec. 8.2 Direct Solutions Using Algorithms Based on Gauss Elimination 723

Bar with linearly varying area

__....... • •--+-
__..........
u, U3
U2
__....... • .............
u, U3

.
(a) First-level substructure

__......
• __..,.....
• • .__,.....
u,
.
Us
U3
---,...... • • • ._.......
U1 Us

---,......
u,
. (b) Second-level substructure

• • • • .--.......
• • • __...... u,
---,......
u,
. • • •
U61 R6

• • • • .
---,......
u,
(c) Third-level substructure and actual structure

Figure ES.10 Analysis of bar using substructuring

to evaluate the equilibrium relations corresponding to U1, U3 , and U5 :

l3 AiE[ l -1 OJ[U1] [ R1 + fi R\, J


9 T -1 u3 = R3 + ii R2 + ii R4 7
3 -2 (c)
0 -2 2 Us Rs + ti R4
The relation for calculating u,. is similar to the one in (b):
U,. = 241 ( 23L
EAi R4 + lOU3 + 14Us)
Using Gauss elimination on the equations in (c) to condense out Uh we obtain

13 AiE[ J O-j][U'] [Rt+R3ijR~


9 T -1 3 -2 U3 =
+f R\+ f6R
+ R2 + R4 ii Il
4
]

- } 0 J Us ~ R2 + J R3 + *R4 + Rs
Sec. 8.2 Direct Solutions Using Algorithms Based on Gauss Elimination 725

performing the Gauss solution. In the program ADINA the equations are considered in
blocks that can be taken into high-speed core. The block sizes (number of columns per
block) are automatically established in the program and depend on the high-speed storage
available. The solution of the system equations is then obtained in an effective manner by
first reducing in blocks the stiffness matrix and the load vectors consecutively and then
performing the back-substitution. Similar procedures are presently used in many analysis
programs.
Instead of first assembling the complete structure stiffness matrix, we may assemble
and reduce the equations at the same time. A specific solution scheme proposed by B. M.
Irons [DJ called the frontal solution method has been used effectively. In the solution
procedure only those equations that are actually required for the elimination of a specific
degree of freedom are assembled, the degree of freedom considered is statically condensed
out, and so on.
As an example, consider the analysis of the plane stress finite element idealization of
the sheet in Fig. 8.8. There are two equations associated with each node of the finite element
mesh. namely. the equations corresponding to the U and V displacements, respectively. In
the frontal solution scheme the equations are statically condensed out in the order of the
elements; i.e., the first equations considered would be those corresponding to nodes l,
2, . . . . To be able to eliminate the degrees of freedom of node 1 it is only necessary to
assemble the final equations that correspond to that node. This means that only the stiffness
matrix of element 1 needs to be calculated, after which the degrees of freedom correspond-
ing to node 1 are statically condensed out. Next (for the elimination of the equations
corresponding to node 2), the final equations corresponding to the degrees of freedom at
node 2 are required, meaning that the stiffness matrix of element 2 must be calculated and
added to the previously reduced matrix. Now the degrees of freedom corresponding to
node 2 are statically condensed out; and so on.
It may now be realized that the complete procedure, in effect, consists of statically
condensing out one degree offreedom after the other and always assembling only those
equations (or rather element stiffness matrices) that are actually required during the
specific condensation to be performed. The finite elements that must be considered for the

Elementq Element q+ t Elementq+2 Element q+3

m+3

Element 1 Element4

Vt N~~1
Wavefront
,4

Wave front
Figure 8.8 Frontal solution of plane
for node 1 for node 2 stress finite element idealization
Sec. 8.2 Direct Solutions Using Algorithms Based on Gauss Elimination 727

The solutions to (8.33) are the eigenpairs (A;, ct,,), i = 1, ... , n, and the complete solution
can be written
K4> = 4>A
where ti) is a matrix of the orthonormalized eigenvectors, ti) = [ cl>1, ••• , cl>n], and A is a
diagonal matrix of the corresponding eigenvalues, A = diag(A;). Since ct,T ct, = 4>ct,T = I,
we also have
(8.34)
and (8.35)
Referring to Section 2.6, we recall that A, of K represents the minimum that can be
reached by the Rayleigh quotient when an orthonormality constraint is satisfied on the
eigenvectors cl>1, ••• , ct>,-1:

. {cf>rKcf>}
>..; = mm cf>Tcf> }
with (8.36)
cf>Tcf>r = 0; for r = 1, 2, , , , , i - 1
Therefore, ! A1 is the minimum strain energy that can be stored in the element assemblage,
and the corresponding displacement vector is ct>,. For a positive definite system stiffness
matrix, we therefore have A1 > 0. On the other hand, for the stiffness matrix of an unre-
strained system, we have A1 = A2 = · · · = Am = 0, where m is the number of rigid body
modes present, m < n. As the system is restrained, the number of eigenvalues of K is
decreased by 1 for each degree of freedom that is eliminated, and a zero eigenvalue is lost
if the restraint results in the elimination of a rigid body mode.

EXAMPLE 8. 11: Determine whether the deletion of the four degrees of freedom of the plane
stress element in Fig. E8. l l results in the elimination of the rigid body modes.
The plane stress element has three rigid body modes: ( 1) uniform horizontal translation,
(2) uniform vertical translation, and (3) in-plane rotation. Consider the sequential deletion of the
degrees of freedom, as shown in Fig. E8.1 l. The deletion of U4 results in eliminating the
horizontal translation rigid body mode. Similarly the deletion of V4 results in the deletion of

qq U4 deleted U4 and V, deleted

Degrees of freedom
of plane stress element

u,, v.., and V1 deleted U4, V4 , V1, and U2 deleted

Figure E8.11 Deletion of degrees of freedom of plane stress element


Sec. 8.2 Direct Solutions Using Algorithms Based on Gauss Elimination 729

p'"(,t~.,~

~ K t3l·[5]
Third associated
constraint problem
Afu, 7MMhA

pl11(,i<11) 1
~ ~ .............__ ;t(11

A.1;1• o....~..s~~---i·<..~---4-.s-,----,i-1;-1.-,•-;-1r,9--.-•
First associated
constraint problem
[ 5 -4
Km = -4 6 -4
11 JP f f fn
1-46 ~,,,~~
U, U2 U3

Original problem

Figure 8.9 Eigenvalue solutions of simply supported beam and of associated constraint
problems

We shall encounter the use of the Sturm sequence property of the leading principal
minors more extensively in the design of eigenvalue solution algorithms (see Chapter 11 ).
However, in the following we use the property to yield more insight into the solution of a
set of simultaneous equations with a symmetric positive definite, positive semidefinite, or
indefinite coefficient matrix. A symmetric indefinite coefficient matrix will be encountered
in the solution of eigenproblems.
We showed in Sections 8.2.1 and 8.2.2 that if K is the stiffness matrix of a properly
restrained structure, we can factorize K into the form
K = LDL7 (8.39)
Sec. 8.2 Direct Solutions Using Algorithms Based on Gauss Elimination 731

Assume next that the matrix K is the stiffness matrix of a finite element assemblage
that is unrestrained. In this case, K is positive semidefinite, A = 0.0 is a root, and det K is
zero, which, using (8.40), means that dii for some i must be zero. Therefore, the factoriza-
tion of K as shown in the preceding sections is, in general, not possible because a pivot
element will be zero. It is again instructive to consider the associated constraint problems.
When K is positive semidefinite, we note that the characteristic polynomial corresponding
to K(i) will have a zero eigenvalue, and this zero eigenvalue will be retained in all matrices
K<,-1), . . . , K. This follows because, first, the Sturm sequence property ensures that the
smallest eigenvalue of K<i-t) is smaller or equal to the smallest eigenvalue of KCi\ and
second, K has no negative eigenvalues. For the ith associated constraint problem, we will
therefore have

(8.43)

from which it follows that an element of n<0 is zero. However, assuming that the zero root
occurs only in the ith associated constraint problem [i.e., det (V')D<'>L(r)7) > 0 for r > i],
it follows that dn-i, n-i is zero. In summary therefore, if K is positive semidefinite, the
factorization of K into LDU (i.e., the Gauss elimination process) will break down at the
time a zero diagonal element dkk is encountered, which means that the (n - k)th associated
constraint problem with a zero eigenvalue prevents the continuation of the factorization
process.
In the case of a positive semidefinite matrix, a zero diagonal element must be encoun-
tered at some stage of the factorization. However, considering the decomposition of an
indefinite matrix (i.e., some of the eigenvalues of the matrix are negative and some are
positive), a zero diagonal element is encountered only if one of the associated constraint
problems has a zero eigenvalue. Namely, as in the case of a positive semidefinite matrix, dkk
is zero if the (n - k)th associated constraint problem has a zero eigenvalue. However, if
none of the associated constraint problems has a zero eigenvalue, all elements du are
nonzero and, in exact arithmetic, no difficulties are encountered in the factorization. We
shall discuss the decomposition of indefinite coefficient matrices further in the solution of
eigenproblems (see Section 11.4.2). Figure 8.10 shows typical cases that use the simply
supported beam in Fig. 8.9 on spring supports for which, in the decompositions, we would
and would not encounter a zero diagonal element.
Assume that a zero diagonal element du is encountered in the Gauss elimination. To
be able to proceed with the solution, it is necessary to interchange the ith row with another
row, say the jth row, where j > i. The new diagonal element should not be zero, and to
increase solution accuracy, it should be large (see Section 8.2.6). This row interchange
corresponds to a rearranging of the equations, where it should be noted that the row
interchange results in the coefficient matrix no longer being symmetric. On the other hand,
symmetry would be preserved if we were to interchange not only the ith and jth rows but
also the corresponding columns to obtain a nonzero diagonal element in row i, which is not
always possible (see Example 10.4). In effect, the interchange of columns and rows corre-
sponds to a rearranging of the associated constraint problems in such a way that these have
nonzero eigenvalues.
The remedy of row interchanges assumes that it can be arranged for the new diagonal
element to be nonzero. In fact, this will always be the case unless the matrix has a zero
eigenvalue of multiplicity m and i = n - m + 1. In this case the matrix is singular and du
Sec. 8.2 Direct Solutions Using Algorithms Based on Gauss Elimination 733

El• 1.0

L
L• 1.0

{a) Initial degree of freedom numbering (b) Degree of freedom numbering


that requires column and row interchange

Figure ES.13 Beam element with two rigid body modes

sponding to vertical translation and rotation. We have

L-1
I
= [:l
!
I
Q
0 0
]
Hence, L-•K=
I
[2 -6
0
O
0
I
O
-1
12
0
0
0
-] -1
0
1

Then L-'
2 =~0 0I 1
O I 0
]
= L2 1Li 1K = ~
-6
-12 -]
0 -1
and S
[2 0
0
0
0
0
0
(a)

Therefore, as expected, the last two rows in S consist of zero elements, and L 3 1 cannot and
need not be calculated. We should also note that if the numbering of the degrees of freedom of
the beam element were initially as in Fig. E8.13(b), we would need to interchange rows and
columns 2 with rows and columns 3 in order to be able to continue with the triangularization.
This, however, is equivalent to using the degree of freedom numbering that we were concerned
with in the first place, i.e .• the numbering in Fig. E8.13(a).
Using the matrix S in (a), we can now formally evaluate the rigid body mode displacements
of the beam, i.e., solve the equations KU = 0 to obtain two linearly independent solutions for U.
First, assume that U4 = 1 and U3 = O; then using S, we obtain
12U, - 6U2 =6
U2 =1
Hence,
Then assume that U4 = 0, U3 = l, to obtain
12U1 - 6U2 = 12
U2 =0
Sec. 8.2 Direct Solutions Using Algorithms Based on Gauss Elimination 735

tion 8.2.1), the solution would be as follows:

3.42 -3.42][~·]
[ -3.42
= [l.30] (8.46)
101 U2 0
where the hats over U1 and U2 indicate that the solution of (8.46) is different from the
solution of (8.44). Using that with chopping to three digits,

-3 42)
101 - ( 3.~2 (-3.42) = 101 - (-1)(-3.42) 97.5

we obtain 3.42
[ 0.0
-3.42][~1]
97.5 U2
= [l.30]
1.30
(8.47)

where the bars over U1 and U2 indicate that we solve (8.46) approximately. Continuing to
use three-digit chopping arithmetic, we have
- 1.30
U2 = 97.S = 0.0133
-
.and U1 = 3.142 [1.30 - (-3.42)(0.0133)] = 3.142 (1.34) (8.48)

= 0.391

Referring to the above example, we can identify two kinds of errors: a truncation error
and a roundMoff error. The truncation error is the error arising because the exact matrix K
and load vector R in ( 8.44) are represented to only three-digit precision, as given in ( 8.46).
The round-off error is the error that arises in the solution of (8.46) because only three-digit
arithmetic is used. Considering the situations in which each type of error would be large,
we note that the truncation error can be large if the absolute magnitude of the elements in
the matrix K including the diagonal elements varies by a large amount. The round-off error
can be large if a small diagonal element du is used that creates a large multiplier l;i· The
reason that the truncation and round-off errors are large under the above conditions is that
the basic operation in the factorization is a subtraction of a multiple of the pivot row from
the rows below it. If in this operation numbers of widely different magnitudes are sub-
tracted-that have, however, been represented to only a fixed number of digits-the errors
in this basic operation can be relatively large.
To identify the round-off errors and the truncation errors individually in the example,
we need to solve (8.46) exactly, in which case we obtain

3.42
[ 0
-3.42][Q1]
97 .58 U2
= [1.30]
1.30
(8.49)

and 01 = o.3934393613 (8.50)


02 = 0.0133224020
The error in the solution arising from initial truncation is therefore

r= [u']
U2
_[QiU2 ] = [ 0.0000239836]
-0.000010931 l
(8.51)
Sec. 8.2 Direct Solutions Using Algorithms Based on Gauss Elimination 737

Following the basic Gauss elimination process, we have


-4
2.55944 -3.17610
-3.17610 5.64902
-4
-4 1
2.55944 -3.17610
0 1.70771
0 -2.75907
-4
2.55944 -3.17610
1.70771

0.68670]
The back-substitution yields U = 1.63768
[ 1.62674
0.665151
The exact answer (to seven digits) is
o. 1031241]
U = 1.6652256
[ 1.6542831
0.6821567
Evaluating AR as given in (8.54), we obtain

AR =
[
-1.59]
1
1
-1.64
_
[- 1.59002237
0.99998340
0.99994470
-1.639971895
l[ l =
0.00002237
0.00001660
0.00005530
. -0.000028105

.017021
0.02756
Also evaluating r, we have
r = 0.02754
~0.01701
We therefore see that AR is relatively much smaller than r. Indeed, the displacement errors
are of the order 1 to 2 percent, although the load errors seem to indicate an accurate solution of
the equations.

Considering (8.55), we must expect that solution accuracy is difficult to obtain when
the smallest eigenvalue ofK is very small or nearly zero; i.e., the system can almost undergo
rigid body motion. Namely, in that case the elements in K- 1 are large and the solution errors
may be large although A.R is small. Also, to substantiate this conclusion, we may realize
that if A1 of K is small, the solution KU = R may be thought of as one step of inverse
iteration with a shift close to A1. But the analysis in Section 11.2.1 shows that in such a case
Sec. 8.2 Direct Solutions Using Algorithms Based on Gauss Elimination 739

The condition number of K can in practice be evaluated approximately by calculating


an upper bound for A,,, say ,\~,
(8.63)
where any matrix norm may be used (see Example 8.17), and evaluating a lower bound for
A1, say ,\1, using inverse iteration (see Section 11.2.1). We thus have

cond(K) =~~ (8.64)

EXAMPLE 8.17: Calculate an estimate of the condition number of the matrix K used in
Example 8.15.
Here we have, using the oo norm (see Section 2. 7),
II Kllao = 14.855
and by inverse iteration we obtain A1 = 0.0009. Hence,
log 1o(cond (K)) = 4.2176
and the conclusions reached in Example 8.16 are still valid.

The preceding considerations on round-off and truncation errors yield the following
two important results:

1. Both types of errors can be expected to be large if structures with widely varying
stiffness are analyzed. Large stiffness differences may be due to different material
moduli, or they may be the result of the finite element modeling used, in which case
a more effective model can frequently be chosen. This may be achieved by the use of
finite elements that are nearly equal in size and have almost the same lengths in each
dimension, the use of master-slave degrees of freedom, i.e., constraint equations (see
Section 4.2.2 and Example 8.19), and relative degrees of freedom (see Example 8.20).
2. Since truncation errors are most significant, to improve the solution accuracy it is
necessary to evaluate both the stiffness matrix K and the solution of KU = R in
double precision. It is not sufficient (a) to evaluate Kin single precision and then solve
the equations in double precision (see Example 8.18), or (b) to evaluate K in single
precision, solve the equations in single precision using a Gauss elimination procedure,
and then iterate for an improvement in the solution employing, for example, the
Gauss-Seidel method.

We demonstrate these two conclusions by means of some simple examples.

EXAMPLE 8. 18: Consider the simple spring system in Fig. ES.18. Calculate the displacements
when k = 1, K = 10,000 using four-digit arithmetic. The equilibrium equations of the sys-
tem are

[-~ ~: -OK][~:]=[~]
0 -K K +k U3 1
Sec. 8.2 Direct Solutions Using Algorithms Based on Gauss Elimination 741

and the complete solution is U = 2.0]


2.0
[ 2.0
This solution is approximate. However, comparing the solution with the exact result (see
Example 8.18), we find that the main response is properly predicted.

EXAMPLE 8.20: Use relative degrees of freedom to analyze the system in Fig. E8.18.
Using relative degrees of freedom, the displacement degrees of freedom defined are UJ, ti 1,
and A2, where
U2 = UJ + 42
U, = U2 + 41

or we have
[ ~:]
U3
= [~
0
~
0
~][!:]
1 U3
(a)

The matrix relating the degrees of freedom ti., ti2 , and U3 to the degrees of freedom u., U2, and
U3 is the matrix T. The equilibrium equations for the system using relative degrees of freedom
are (T 7 KT)Urc1 = TTR; i.e., the equilibrium equations are now
0

['°f 10.000
0
Or•J [''OJ
0
1.0
42
U3
= 1.0
2.0
(b)

with the solution 41 = 0.0001


42 = 0.0001
U3 = 2.0

Hence, we obtain u. = 2.0002


U2 = 2.0001
LJ3 = 2.0000
Therefore, using four-digit arithmetic, we obtain the exact solution of the system if relative
degrees of freedom are used (see Example 8.18). However, it should be noted that the equilibrium
equations corresponding to the relative degrees of freedom would have to be formed directly, i.e.,
without the transformation used in this example.

8.2. 7 Exercises

8.1. Consider the cantilever beam in Example 8.1 with the given stiffness matrix. Calculate the
experimental results that you expect to obtain in a laboratory experiment for the stiffnesses of the
beam, as described in Figs. 8.3 to 8.6 for the simply supported beam discussed in the text. That
is, give the forces in the clamps and the deflected shapes of the cantilever beam corresponding
to the stiffness measurements of the four cases: all four clamps present, clamp 1 removed, clamps
1 and 2 removed, and clamps 1, 2, and 3 removed.
8.2. Given the stiffness matrix of the cantilever beam in Example 8.1, calculate the stiffness matrix
corresponding to U2 and U4 only, that is, with the degrees of freedom U1 and U3 released. Then
Sec. 8.2 Direct Solutions Using Algorithms Based on Gauss Elimination 743

U2
~ El
u, ~
I I
I· L•1 ~I
(a)

I.. L=1 -+· L=1 ~1


1-·---· El·-·-· ~ M _____ 2El·-·-·-l
Roller

M=k,18; k11•7
{b)

S.S. The cantilever beam in Example 8.1 is loaded with a concentrated force corresponding to U2;

~i [~1
hence, the governing equations are

[_;o -: -!
2
1 -4 5 -2 U3
= [~]
0
-2 1 u4 o
Calculate the displacement solution by performing Gauss elimination on the displacement vari-
ables in the order U4, U3, and U1•
8.6. Consider the four-node finite element shown with its boundary conditions. Assume that Gauss
elimination is performed in the usual order for U1, U2, .· .. , and so on, i.e., from the lowest to
the highest degree of freedom number. Determine for cases l to 3 whether any zero diagonal
element will be encountered in the elimination process, and if so, at what stage of the solution
this will be the case.
u, U2 / U3 U1
U3 U2
u, U2

,, U5 u, Us
U3 u,
Case 1 Case2 Case3

8.7. Establish the LDU factorization of the cantilever beam stiffness matrix Kin Example 8.1 (K is
the result of the first experiment;_Jee Exercise 8.5). Use this factorization to calculate det Kand
to calculate the Cholesky factor L of K.
8.8. Prove that corresponding to (8.10) and (8.14) we indeed have S = DS and S = L7•
Sec. 8.3 Iterative Solution Methods 745

8.15. Consider the structural model in Example 8.9 and assume that a stiffness of k, (EAi/L) X i
is added to the degree of freedom U;, i = 1, 2, ... , 5. Hence, these stiffness values are only
an addition to the diagonal elements of the original stiffness matrix given in Example 8.9. Use
substructuring to solve for the stiffness matrix of the resulting structure defined by the degrees
of freedom U1t U3, and Us only.
8.16. Use substructuring to solve for the 3 X 3 stiffness matrix and corresponding force vector of the
bar structure in Fig. ES.IO corresponding to the degrees of freedom Ui. U1, and U9.
8.17. Consider the cantilever beam in Example 8.1 and its stiffness matrix (which is given in the result
of the first experiment; see Exercise 8.5}. Calculate the eigenvalues of the original problem and
of the associated constraint problems and thus show that the Sturm sequence property holds in
this case. (Hint: See Fig. 8.9.)
8.18. Consider the stiffness matrix in Exercise 8.4. Calculate the eigenvalues of the original problem
and of the associated constraint problems and thus show that the Sturm sequence property holds
in this case. (Hint: See Figure 8.9.)
8.19. Consider the following matrix:

[-!~ 1~_: 10~:Jk

Evaluate the value of k such that the condition number of the matrix is about 10 8 •
8.20. Calculate the exact condition number of the simply supported beam stiffness matrix in Fig. 8.1 (a)
and an approximation thereof using a norm. [Hint: See Fig. 8.9 and (8.63).]

8.3 ITERATIVE SOLUTION METHODS

In many analyses some form of direct solution based on Gauss elimination to solve the
equilibrium equations KU = R is very efficient (see Section 8.2). It is interesting to note,
however, that during the initial developments of the finite element method, iterative solution
algorithms have been employed (see R. W. Clough and E. L. Wilson [A]).
A basic disadvantage of an iterative solution is that the time of solution can be
estimated only very approximately because the number of iterations required for conver-
gence depends on the condition number of the matrix K and whether the acceleration
schemes used are effective for the particular case considered. It is primarily for this reason
that the use of iterative methods in finite element analysis was largely abandoned during the
1960s and 1970s, while the direct methods of solution have been refined and rendered
extremely effective (see Section 8.2).
However, when considering very large finite element systems, a direct method of
solution can require a large amount of storage and computer time. The basic reason is that
the required storage is proportional to nmK, where n = number of equations, mK == half-
bandwidth, and a measure of the number of operations is ! nmi:. Since the half-bandwidth
is (roughly) proportional to Vn, we recognize that as n increases, the demands on storage
and computation time can become very large. In practice, the available storage on a
computer frequently limits the size of finite element system that can be solved.
On the other hand, in an iterative solution the required storage is much less because
we need to store only the actually nonzero matrix elements under the skyline of the matrix,
a pointer array that indicates the location of each nonzero element, and some arrays, also
Sec. 8.3 Iterative Solution Methods 747

The fact that considerable storage can be saved in an iterative solution has prompted
a large amount of research effort to develop increasingly effective iterative schemes. The
key to effectiveness is of course to reach convergence within a reasonable number of
iterations.
As we shall see, of major importance in an iterative scheme is therefore a procedure
to accelerate convergence when slow convergence is observed. The fact that effective
acceleration procedures have become available for many applications has rendered iterative
methods very attractive.
In the next sections we first consider the classical Gauss-Seidel iterative procedure and
then the conjugate gradient method. The Gauss-Seidel method was used in the early
applications of the finite element method (see R. W. Clough and E. L. Wilson [A]) and
continues to find use. However, the conjugate gradient method presented here is particu-
larly attractive.

8.3.1 The Gauss-Seidel Method

Our objective is to calculate iteratively the solution to the equations KU = R. Let U(l) be
an initial estimate for the displacements U. If no better value is known, u<l} may be the null
vector.
In the Gauss-Seidel iteration (see L. Seidel [A] and R. S. Varga [A]), we then evaluate
for s = 1, 2, . . . :
(8.65)

where u~s> and R; are the ith component of U and R and s indicates the cycle of iteration.
Alternatively, we may write in matrix form,

(8.66)

where Ko is a diagonal matrix, KD = diag(ku), and KL is a lower triangular matrix with the
elements kii such that

K =Ki+ Ko+ KI (8.67)

The iteration is continued until the change in the current estimate of the displacement vector
is small enough, i.e., until

(8.68)

where Eis the convergence tolerance. The number of iterations depends on the "quality" of
the starting vector u< 0 and on the conditioning of the matrix K. But it is important to note
that the iteration will always converge, provided that K is positive definite. Furthermore, the
rate of convergence can be increased using overrelaxation, in which case the iteration is as
follows:

(8.69)
Sec. 8.3 Iterative Solution Methods 749

We now vary /3 and recalculate the solution. The following table gives the number of iterations
required for convergence with E = 0.001 as a function of /3:
/3 LO 1.1 1.2 1.3 1.4 1.5 1.6 1.7 1.8 1.9

Number of iterations 104 88 74 61 49 37 23 30 43 82

Hence, for this example, we find that the minimum number of iterations is required at
/3 = 1.6.

It is instructive to identify the physical process that is followed in the solution proce-
dure. For this purpose we note that on the right-hand side of (8.69) we evaluate an out-of-
balance force corresponding to degree of freedom i,
i-1 n
Q)s> = R; ~ ku u;5+o - ~ ku UJ1> (8.70)
j=l i""i

and then calculate an improved value for the corresponding displacement component u~s+ 0
using
(8.71)

where i = 1, ... , n. Assuming that f3 = l, the correction to Uf'> in (8.71) is calculated by


applying the out-of-balance force Q~s> to the ith nodal degree of freedom, with all other
nodal displacements kept fixed. The process is therefore identical to the moment-
distribution procedure, which has been used extensively in hand calculation analysis of
frames (see E. Lightfoot [A]). Howevert faster convergence is achieved if the acceleration
factor f3 is used.
In the above equations, we summed over all .off-diagonal elements [see (8.65) and
(8.70)]. However, in practice we would of course include in the summation only those
degrees of freedom that correspond to nonzero entries in the stiffness matrix. As we pointed
out earlier, only the nonzero matrix elements would be stored and be operated on.

8.3.2 Conjugate Gradient Method with Preconditioning

One of the most effective and simple iterative methods (when used with preconditioning)
for solving KU = R is the conjugate gradient algorithm of M. R. Hestenes and E. Stiefel
[A] (see also J. K. Reid [A] and G. H. Golub and C. F. van Loan [A]).
The algorithm is based on the idea that the solution of KU = R minimizes the total
potential II = ! U7 KU - U7 R [see ( 4.96) to (4.98)). Hence, the task in the iteration is,
given an approximation u<s> to U for which the total potential is rr<s>, to find an improved
approximation u<s+t> for which rr<s+t> < rrcs>. However, not only do we want the total
potential to decrease in each iteration but we also want u<s+i> to be calculated efficiently and
the decrease in the total potential to occur rapidly. Then the iteration will converge fast.
In the conjugate gradient method, we use in the sth iteration the linearly independent
vectors p<l), p<2>, p(3>, ..• , p<s> and calculate the minimum of the total potential in the space
spanned by these vectors. This gives u<s+n (see Exercise 8.23). Also, we establish the
additional basis vector p<s+ t) used in the subsequent iteration.
Sec. 8.3 Iterative Solution Methods 751

properties in (8.73) and (8.74) are not exactly satisfied, but this loss of orthogonality is not
detrimental.
To increase the rate of convergence of the solution algorithm, preconditioning is used.
The basic idea is that instead of solving KU = R, we solve

i:u = i (8.76)
where
i = cz 1Kc; 1
u = CRU (8.77)
R = Ci 1
R

The nonsingular matrix KP = Ct CR is called the preconditioner. The objective with this
transformation is to obtain a matrix K with a much improved condition number. Various
preconditioners have been proposed (see G. H. Golub and C. F. van Loan [A], T. A. Manteuf-
fel [A), and J. A. Meijerink and H. A. van der Vorst [A]), but one approach is particularly
valuable, namely, using some incomplete Cholesky factors of K.
In this approach a reasonable matrix KP is obtained from inexact factors of K such that
any equation solution with KP as coefficient matrix can be oalculated very efficiently. In
principle, many different incomplete Cholesky factors of K could be calculated. In one
scheme, incomplete Cholesky factors of K are obtained by performing the usual factoriza-
tion, as described in Section 8.2, but considering only and operating only on those locations
where K has nonzero entries. Hence, all matrix elements below the skyline that originally
are zero remain zero during the factorization and therefore need not be stored.
Instead of considering all initially nonzero elements in K, we may also decide to
include in the factorization only those elements that are larger in magnitude than a certain
threshold and set all other elements to zero. This approach leads to additional storage
savings. Also, it can be effective to scale all diagonal elements in relation to the off-diagonal
elements prior to performing the incomplete factorization, and of course we may use an
exact factorization of certain submatrices in K to establish the incomplete factors (see
Exercises 8.27 and 8.28). Clearly, there are many different possibilities, and various inter-
esting relations between different approaches can be derived (see, for example, G. H. Golub
and C. F. van Loan [A]).
Let L and L7 be the chosen incomplete Chole~t_ factors of K; !_hen in the p~condi-
tioning with these factors we use the matrix Kp = LL7 with CL= Land CR = L 7 .
Whichever preconditioner KP is employed,using the conjugate gradient algorithm of
(8.72) for the problem in (8.76), we thus arrive at the following algorithm.

Choose the starting iteration vector u< 1>.


Calculate the residual r< 0 = R - Kum. If r<o = O, quit.
Else:
Calculate z0 > = K; 1ro>.
Set p0 > = z< 0 .
Sec. 8.3 Iterative Solution Methods 753

[
- ~
0
2
-1
- ~][~:]
l U3
= [~]
0

8.22. Show that the orthogonality properties (8.73) and (8.74) hold in the conjugate gradient iteration
technique (using exact arithmetic).
8.23. Show that with the conjugate gradient algorithm in (8.72), the minimum of II in the space
spanned by the vectors pO>, ..• , p<s> is obtained by using the minimum of II in the space
spanned by p 0>, ••• , p<s-t) and the solution for cxs given by the algorithm.
8.24. Derive the preconditioned incomplete Cholesk:y conjugate gradient algorithm in (8.78) from the
standard algorithm in (8.72).
8.25. Solve the system of equations in Exercise 8.21 using the conjugate gradient algorithm (without
preconditioning).
8.26. Solve the system of equations in Exercise 8.21 using the conjugate gradient method with precon-
ditioning. Use the following preconditioner:

8.27. Consider the following system of equations:

(a) Solve the equations using the preconditioned conjugate gradient algorithm with KP corre-
sponding to the incomplete Cholesk:y factors that are obtained by performing the factoriza-
tion on K as usual but ignoring all zero elements.
(b) Solve the equations using the preconditioned conjugate gradient algorithm with the precon-
ditioner

~i [~:]
8.28. Consider the simply supported beam problem in Fig. 8.1, governed by the equations,

[-! -: -!
1 -4
0
6
-4
-4
5
U;
U4
= [~]
0
0
Solve this set of equations by the conjugate gradient method using two different preconditioners
that you shall propose.
Sec. 8.4 Solution of Nonlinear Equations 755

The methods we now present are basic techniques that in practice would be combined
in a self-adaptive procedure that chooses load steps, iterative method, and convergence
criteria automatically depending on the problem considered and solution accuracy sought.

8.4.1 Newton-Raphson Schemes

The most frequently used iteration schemes for the solution of nonlinear finite element
equations are the Newton-Raphson iteration given in (8.80) to (8.83) and closely related
techniques. Because of the importance of the Newton-Raphson method, let us derive the
procedure in a more formal manner.
The finite element equilibrium requirements amount to finding the solution of the
equations
f(U*) =0 (8.84)
where f(U*) = t+AtR(U*) - rdrF{U*) (8.85)
We denote here and in the following the complete array of the solution as U* but
realize that this vector may also contain variables other than displacements, for example,
pressure variables and rotations (see Sections 6.4 and 6.5).
Assume that in the iterative solution we have evaluated r+A,u<H>~ then a Taylor series
expansion gives

f(U*) = f('+A•u<Hl) + [~] I (U* - t+Aru<Hl) + higher-order terms (8.86)


oU t+lirU(l-1)

Substituting from (8.85) into (8.86) and using (8.84), we obtain

aF]
[ au I,+A1u<1- n (U* - •+ 4 ,u<1-1>) + higher-order terms = r+A,R - ,+A,F(i-O (8.87)

where we assumed that the externally applied loads are deformation-independent [see
(6.83) and (6.84) regarding deformation-dependent loading].
Neglecting the higher-order terms in (8.87), we can calculate an increment in the
displacements,
(8.88)
where i+A,Ko-n is the current tangent stiffness matrix

(8.89)

and the improved displacement solution is


(8.90)
The relations in (8.88) and (8.90) constitute the Newton-Raphson solution of (8.79). Since
an incremental analysis is performed with time (or load) steps of size At (see Chapter 6),
the initial conditions in this iteration are ,+A,K<0> = 'K, i+A1F<0> = 'F and i+A,u<0 > = 'U. The
iteration is continued until appropriate convergence criteria are satisfied as discussed in
Section 8.4.4.
Sec. 8.4 Solution of Nonlinear Equations 757

point of iteration for which the procedure does not converge (see Exercise 8.31 ). Hence, the
representation in Fig. 8.11 is rather simplistic because a very special case is considered-
that of a well..behaved single degree of freedom system. In the solution of systems with many
degrees of freedom, the response curves will in general be rather nonsmooth and compli-
cated.
The Newton-Raphson iteration is demonstrated in the solution of a simple problem as
follows.

EXAMPLE 8.23: For a single degree of freedom system we have


,+o.,R = to; ,+A,p = 4 + 21 ('+A,u)•12 1
and 'U = 1. Use the Newton-Raphson iteration to calculate ,+o.,u.
In this case we have, corresponding to (8.88) as the governing equation,

t
( I(t+AILJ<i-1))1/21 ) Auo> - 6 -
"' -
21 v,+Atu<i-l) I (a)

Using (a) with t+Aru<0> = 1, we obtain


r+Aruco = 5.0000; t+AtLJ(l) = 8.4164
r+AILJ(3) = 8.9902; tHl.tLJ(4) = 9.0000
and convergence is achieved in four iterations.

Since the Newton-Raphson iteration is so widely used in finite element analysis and
indeed represents the primary solution scheme for nonlinear finite element equations, it is
appropriate that we summarize some major properties of the method (see, for example,
D. P. Bertsekas [A]).

The first property is


If the tangent stiffness matrix r+A,K<;-o is nonsingular, if f and its first derivatives with
respect to the solution variables (i.e. the elements of the tangent stiffness matrix} are
continuous in a neighborhood of U*, and if r+A,u<H> lies in that neighborhood, then
rHru<i) will be closer to U* than i+A,u<H> and the sequence of iterative solutions
generated by the algorithm (8.88) to (8.90) converges to U*.
The second property is
If the tangent stiffness matrix also satisfies
11,+A,Kh.1, ,+A,Klu2 11 s Lllu1 - 0211 <s.91)
for all U1 and U2 in the neighborhoodofU* andL > 0, then convergence is quadratic.
This means that if the error after iteration i is of order e, then the error after iteration
i + 1 will be of the order E 2 • The condition in (8.91) is referred to as Lipschitz
continuity,· it is stronger than mere continuity in the stiffness matrix but weaker than
differentiability of the matrix.

The practical consequence of these properties is that if the current solution iterate is
sufficiently close to the solution U* and if the tangent stiffness matrix does not change
abruptly, we can expect rapid (i.e., quadratic) convergence. The assumption is of course that
Sec. 8.4 Solution of Nonlinear Equations 759

One such modification is to use the initial stiffness matrix °K in (8.88) and thus
operate on the equations:
(8.92)
0
with the initial conditions t+ArF< > = F, r+Aru< > =
1 0
U. In this case only the matrix °K needs
1

to be factorized, thus avoiding the expense of recalculating and factorizing many times the
coefficient matrix in (8.88). This "initial stress" method corresponds to a linearization of
the response about the initial configuration of the finite element system and may converge
very slowly or even diverge.
In the modified Newton-Raphson iteration an approach somewhat in between the full
Newton-Raphson iteration and the initial stress method is employed. In this method we use
"K au<i) = ,+ 111 R F<H>
1+ 111 {8.93)

with the initial conditions ,+.1,F<0 > = 'F, r+A1u<0 > = 'U, and T corresponds to one of the
accepted equilibrium configurations at times 0, ilt, 2 ilt, ... , or t (see Example 6.4). The
modified Newton-Raphson iteration involves fewer stiffness reformations than the full
Newton-Raphson iteration and bases the stiffness matrix update on an accepted equilibrium
configuration. The choice of time steps when the stiffness matrix should be updated depends
on the degree of nonlinearity in the system response; i.e. the more nonlinear the response,
the more often the updating should be performed.
Figure 8.12 illustrates the performance of the initial stress and the modified Newton-
Raphson methods for the single degree of freedom system already considered in Fig. 8.11.
With the very large range of system properties and nonlinearities that may be encoun-
tered in engineering analysis, we find that the effectiveness of the above solution approaches
depends on the specific problem considered. The most powerful procedure for reaching
convergence is the full Newton-Raphson iteration in (8.88) to (8.90), but if the initial stress
or modified Newton-Raphson method can be employed, the solution cost may be reduced
significantly. Hence, in practice, these solution options can also be very valuable, and an
automatic procedure that self-adaptively chooses an effective technique is most attractive.

8.4.2 The BFGS Method

As an alternative to forms of Newton-Raphson iteration, a class of methods known as


matrix update methods or quasi-Newton methods has been developed for iteration on
nonlinear systems of equations (see J.E. Dennis, Jr. [A]). These methods involve updating
the coefficient matrix (or rather its inverse) to provide a secant approximation to the matrix
from iteration (i - 1) to (i). That is, defining a displacement increment
(8.94)
and an increment in the out-of-balance loads, using (8.80),
'Y(i) = .liR{i-o - aRm (8.95)
the updated matrix ,+ArK<i> should satisfy the quasi-Newton equation
,+A,K(i) 6(i) = y<n (8.96)
These quasi-Newton methods provide a compromise between the full re-formation of the
stiffness matrix performed in the full Newton-Raphson method and the use of a stiffness
Sec. 8.4 Solution of Nonlinear Equations 761

This condition number is then compared with some preset tolerance, a large number,
and the updating is not performed if the condition number exceeds this tolerance.

Considering the actual computations involved, it should be recognized that using the
matrix updates defined above, the calculation of the search direction in (8.97) can be
rewritten as
AU = (I + wCi-O v(i-Or) · · · (I + wrn v<l)r)' K- 1(I + vO> w<l)T) ..•
1

(I + v<H> w<;-oT)('+4tR _ 1+4tF(i-O) (8.105)

Hence, the search direction can be computed without explicitly calculating the updated
matrices or performing any additional costly matrix factorizations as required in the full
Newton-Raphson method.
As pointed out above, the line search is an integral part of the solution method. Of
course, such line searches as performed in (8.98) and (8.99) can also be used in the
Newton-Raphson methods presented in Section 8.4.1. With the line search performed
within an iteration (i), the expense of the iteration increases, but fewer iterations may be
needed for convergence. Also, the line search may prevent divergence of the iterations, and
in practice, this increased robustness is the major reason why a line search can in general
be effective.
We demonstrate the BFGS iteration in the following simple example.

EXAMPLE 8.24: Use the BFGS iteration method to solve for t+Alu of the system considered
in Example 8.23. Omit the line searches in the solution.
Since this is a single degree of freedom system, the solution for •+fl.tu could be evaluated
using only line searches, i.e., by applying (8.99), provided STOL is a tight enough convergence
tolerance. However, to demonstrate in this example the basic steps of the BFGS method more
clearly [the use of relations (8.94) to (8.96)], we do not include line searches in the iterative
solution.
In this analysis (8.97) reduces to
AV = e+ArK-l){i-1)(6 - 21 v,+AtU(i-1) I)
with ('+fl.tK- 1)<0) = l, t+Aru<0> = l and using f3 = 1.0, we obtain the following values:
t+Aru(i-1) 6,"'{j == 8(i) t+AtU(i) y(i) (•+AtK-l)(i)

1 1.000 4.000 5.000 2.472 1.618


2 5.000 2.472 7.472 0.995 2.485
3 7.472 1.324 8.796 0.465 2.850
4 8.796 0.194 8.991 0.065 2.982
5 8.991 0.009 9.000 0.003 2.999

and convergence is achieved after five iterations.

8.4.3 Load-Displacement-Constraint Methods

An important requirement of a nonlinear analysis is frequently the calculation of the


collapse load of a structure. Figure 8.13 illustrates schematically the response of a structural
model that we might seek. For very small loads the load-displacement response is linear.
Sec. 8.4 Solution of Nonlinear Equations 763

Since (8.106) represents n equations in n + 1 unknowns, we need an additional


equation that is used to determine the load multiplier. If we apply one of the previously
presented methods to solve (8.106), we obtain
(8.107)
where the coefficient matrix "'K corresponds to the solution schemes discussed in the
previous sections.
The unknowns in then equations (8.107) are the vector of displacement increments2
au<i) and the load multiplier increment A,\ c;>. The additional equation required for solution
is a constraint equation between a,\<0 and au0>, of the form,
J(t,.>.,<i), AU<i)) = 0 (8.108)
Let us define within a load step
um = t+Atv(i) - 'U (8.109)
and >,.,{i) = t+At>,.,(i) 'A (8.110)
Hence, u<i) represents the total increment in displacements within the load step [up to
iteration (i)] and ,\0> represents the corresponding total increment in load multiplier. An
effective constraint equation is given by the spherical constant arc length criterion (see
M. A. Crisfield [A] and E. Ramm [A]),
U(i)TU(i)
(>,.,{i>)2 + - - = (Al)2 (8.111)
r;
where Al is the arc length for the step and f3 is a normalizing factor ( to render the terms
dimensionless). Figure 8.14(a) illustrates this criterion. In practice, the magnitude of Al is
selected based on the history of iterations in the previous steps and is reduced in the current
step if convergence difficulties are encountered. Typically, Al should be large when the
response is almost linear and should be small when the response is highly nonlinear.

Load Load
t+M,t{11R

t.tR1---~~
w

Displacement tu t+Atum Displacement


(a) Spherical constant arc length criterion (b} Constant increment of external work criterion

Figure 8.14 Load·displacemenHonstraint criteria (single degree of freedom simplification)


Another effective constraint equation (see K. J. Bathe and E. N. Dvorkin [C]), is the
scheme of constant increment of external work given by

2
This vector also contains in general. of course, other variables such as rotations and pressures, and R.
and 1+ 41 f(i-t) contain the corresponding entries.
Sec. 8.4 Solution of Nonlinear Equations 765

where ED is a displacement convergence tolerance. The vector 1+ 41U is not known and must
be approximated. Frequently, it is appropriate to use in (8.119) the last calculated value
,+ 41 U<il as an approximation to ,+A,U and a sufficiently small value Eo. However, in some
analyses the actual solution may still be far from the value obtained when convergence is
measured using (8.119) with ,+i1,uCi>. This is the case when the calculated displacements
change only little in each iteration but continue to change for many iterations, as may occur,
for example, in elastoplastic analysis under loading conditions when the modified Newton-
Raphson iteration is used.
A second convergence criterion is obtained by measuring the out-of-balance load
vector. For example, we may require that the norm of the out-of-balance load vector be
within a preset tolerance EF of the original load increment
IJt+t1tR - t+t1IF(i)ll2 s EFll'+AtR - 'Fll2 (8.120)
A difficulty with this criterion is that the displacement solution does not enter the termina-
tion criterion. As an illustration of this difficulty, consider an elastoplastic truss with a very
small strain-hardening modulus entering the plastic region. In this case, the out-of-balance
loads may be very small while the displacements may still be much in error. Hence, the
convergence criteria in (8.119) and (8.120) may have to be used with very small values of
ED and EF. Also, the expressions must be modified appropriately when quantities of different
units are measured (such as displacements, rotations, pressures, and so on).
In order to provide some indication of when both the displacements arid the forces are
near their equilibrium values, a third convergence criterion may be useful in which the
increment in internal energy during each iteration (i.e., the amount of work done by the
out-of-balance loads on the displacement increments) is compared to the initial internal
energy increment. Convergence is assumed to be reached when, with EE a preset energy
tolerance,
(8.121)
Since this convergence criterion contains both the displacements and the forces, it is
in practice an attractive measure. Some experiences with these convergence measures are
given by K. J. Bathe and A. P. Cimento [A]. An important point is that the convergence
tolerances ED, EF, and EE may need to be quite small in some solutions in order to reach a
good solution accuracy. In general, use of the full Newton-Raphson method in the incre-
mental solution leads to a higher accuracy in the solution than use of the modified Newton-
Raphson method since, if convergence occurs, the solution error diminishes quite rapidly in
the last iterations of the full Newton-Raphson method (consider, for example, Exer-
cises 8.40 and 9.31).

8.4.5 Exercises

8.31. Consider the single degree of freedom system shown.


(a} Use the full Newton-Raphson iteration method, the initial stress method. and the BFGS
method to calculate the response of the system.
(b) Establish a value of the constant c for which the full Newton-Raphson method will not
converge.
J R,.,.u
YM----i.. R= 4

F'"' force in the spring = u + cu 3; c =0.1


Sec. 8.4 Solution of Nonlinear Equations 767

8.38. Use a computer program to calculate the collapse and postcollapse response of the structure
shown. Consider various areas A1 that you choose.

E• 3 x 106

8.39. Use a computer progam to calculate the response of the plane stress cantilever shown. Use the
von Mises yield condition with isotropic hardening and increase the load P until full collapse of
the structure.
Compare the solution efficiencies when using the full Newton-Raphson, modified Newton-
Raphson. and the BFGS methods and also use a load-displacement-constraint procedure.

p
E • 200,000 MPa
4mm V•0.30

,-..-------100 mm------11-I Uy•200 MPa


Er• 20 MPa

Width• 1 mm

8.40. Use a computer program to solve for the large displacement response of the cantilever beam
=
shown below. Increase P to reach a tip deflection of A 10 in. Compare the solution
efficiencies when using the full Newton-Raphson and modified Newton-Raphson methods, with

;I,.- -. .---v
or without line searches, and the BFGS method.

_ I 0.1 in J--114 E • 1.2 x 104 lblin2


V•0.2
- - - - - - - 1 0 . 0 in--------i""'1

Width= 1.0 in

You might also like