Bathe Cap8 Print Fullpage Odds
Bathe Cap8 Print Fullpage Odds
Bathe Cap8 Print Fullpage Odds
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.
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.)
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
(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
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.
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
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.
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
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,
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
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
and u4 = Vi > = 74
4
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
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
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
or
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
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)
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.
__....... • •--+-
__..........
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
- } 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
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
Degrees of freedom
of plane stress element
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
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
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)
r= [u']
U2
_[QiU2 ] = [ 0.0000239836]
-0.000010931 l
(8.51)
Sec. 8.2 Direct Solutions Using Algorithms Based on Gauss Elimination 737
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
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.
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
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)
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)
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:
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).]
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.
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
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
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)
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.
[
- ~
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:
(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.
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
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)
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.
t
( I(t+AILJ<i-1))1/21 ) Auo> - 6 -
"' -
21 v,+Atu<i-l) I (a)
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 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.
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
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)
Load Load
t+M,t{11R
t.tR1---~~
w
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.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
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.
Width= 1.0 in