Solution Procedure For Non-Linear Finite Element Equations 2003
Solution Procedure For Non-Linear Finite Element Equations 2003
PROJECT REPORT
ECI 284
WINTER 2003
SUBMITTED BY:
RITU JAIN
M.S.
(Structural Engg.)
University Of California, Davis
1
PREFACE
In the first part, I have tried to explain what I have learnt and what I have
done towards achieving the above goals. It explains briefly about path-
following methods in the beginning. Later it explains various aspects of an
Arc-Length Method. It gives a brief overview of problems associated with
the Arc-Length method.
2
INDEX
3
CONTINUATION METHODS
4
o Parameterization
o Prediction phase
o Corrector Phase
o Step-Length Control
5
Continuation methods Vs Traditional non-
linear solution methods
The difference between a continuation method and a traditional non-linear
solution method can be described in terms of Newton-Raphson method Vs
Arc-Length Method.
6
For such situations the arc-length method is useful to avoid bifurcation
points and track unloading. The arc-length method causes the Newton-
Raphson equilibrium iterations to converge along an arc, as can be seen in
figure 1, thereby often preventing divergence, even when the slope of the
load vs. deflection curve becomes zero or negative. The constraint equation
is forced to be satisfied at each iteration.
7
ARC-LENGTH METHOD
An arc-length method is a continuation method used to solve non-linear
finite element equations. The equation that governs the non-linear static
structural problems can be expressed in the form:
(1)
Where, fint (u) are the internal forces which are functions of displacement u,
the vector fext is a fixed external loading vector and the scalar λ is a load
level parameter that multiplies fext. This equation describes the case of
proportional loading in which the loading pattern is kept fixed. These
governing equations are called residual force equations.
Parameterization:
Generally, the solution path is parameterized using a general scalar equation
or an auxiliary surface. The aim is to find its intersection with equation (1).
In Arc-Length method this equation is called constraining equation and is
given by
(2)
(3)
(4)
The main essence of arc-length method is that the load parameter λ becomes
a variable. With load parameter λ variable we are dealing with n+1
8
unknown. In order to solve this problem we have n equilibrium equations (1)
and the one constraint equation (2).
Predictor:
In this phase information that belongs to the point previously computed is
used to compute a suitable starting value for the corrector phase using
following formulas:
(5)
where Kt is the tangent stiffness matrix at the beginning of increment.
Substitution equation (5) into the constraining equation (2) one obtains:
9
(6)
(7)
Corrector:
In the correction phase, some numerical procedure is used to find out the
solution of the extended system. Arc-length solves the augmented system of
equations by applying Newton-Raphson to equations (1) and (2)
10
(8)
(9)
One can solve previous system of two equations for δu and δλ as follows:
(10)
Where κ is the augmented stiffness matrix given by
(11)
The iterative displacement δu is split into two parts, with the Newton change
at the new unknown load level:
(12)
becomes:
(13)
where is the displacement vector corresponding to fixed load
vector fext and is an iterative change that would stem from the standard
load-controlled Newton-Raphson at a fixed load level λold. With the solution
for δu from (13), the incremental displacements are:
11
(14)
where δλ is the only unknown. The constraint equation (2) can be used here
and by rewriting it as:
(15)
new new
then by substitution ∆u and ∆λ from (14) and (12) one ends up with
following quadratic scalar equation:
(16)
or, by collecting terms
(17)
(18)
or, if a1 = 0, then:
(19)
Then complete change is defined from equation 14:
(20)
12
An ambiguity is introduced in the solution for δλ in (18). The tangent at
the regular point on the equilibrium path has two possible directions,
which generally intersect the constraint hyper-surface at two points. So,
the solution for δλ can be characterized as:
For the first two cases correct sign of δλ in the corrector step can be
found out by applying following schemes:
(21)
Fails at bifurcation points and turning points because
(22)
at these points.
o Angle Criterion:
Calculate ∆unew for both δλ1 and δλ2 and whichever lies closest
to the old incremental step direction ∆uold is selected.
(23)
(24)
Cosine of the angle should be maximum and is given by
following formula:
(25)
13
Step-Length Control:
A number of strategies have been proposed for controlling the step length
size. In Arc Length method Automatic increment is used. The new
incremental length is found by applying
∆lold : old incremental factor for which Iold iterations were required.
Idesired : input, desired number of iterations
n is set to ½.
Convergence Criteria:
The arc-length method uses following convergence criteria:
(27)
Residual Convergence Criteria
(28)
Energy Based Convergence Criteria
(29)
14
Divergence Diagnosis:
The Newton-Raphson method is not guaranteed to converge. Some sort of
divergence detection scheme is therefore necessary to stop the erroneous
iteration cycle. Divergence can be diagnosed if either of the following
inequalities occurs:
(30)
(31)
Where, gu and gr are dangerous growth factors.
15
Figure 3: Three different intersection situations
The constraint surface may intersect with the solution path in various ways.
Figures 3a-c show three situations which may be more likely to occur in
practice.
Figure (3a) exhibits a weak non-linear structural behavior and two solutions
xk-1 and xk+1 exists. In general, ‘trackback’ could happen only if a poor
initial guess is constructed in predictor stage.
16
The above discussion suggest that, except for the poor initial guess,
‘trackback’ happens mainly because the constraint surface has more than
one intersection with the solution curve, or because the non-linearity of the
problem changes too dramatically between xk and xk+1. As a matter of fact
the fundamental reason is the deficiency between the path parameter used
and the true arc length s, which increases when the non-linear features
become strong. The only way to decrease the difference is to adopt a proper
step size control strategy so that the change between any two adjacent
situations is not very sharp and the tangent prediction can be sufficiently
close to the desired solution.
17
ALGORITHM
18
IMPLEMENTATION OF HYPER-SPHERICAL ARC-
LENGTH METHOD IN OPENSEES
Class Hierarchy:
Movable Object
Integrator
EigenIntegrator IncrementalIntegrator
TransientIntegrator StaticIntegrator
LoadControl
DisplacementControl
ArcLength HSConstraint
19
20
Design of class ‘HSConstraint’ in C++:
Definition of Class HSConstraint is given in a header file called
‘HSConstraint.h’. The header file also contains the declaration of different
parameters used in Arc-Length method, for e.g. ψu, ψf, uref, scaling matrix S,
arc length etc. It also declares some vectors and matrices required for the
implementation of Arc-Length Method.
The constructor of class takes four arguments of type ‘double’: arclength,
psi_u, psi_f and u_ref. All arguments except arclength have default values
set in the constructor. Constructor will be modified later to take value of
Scaling matrix also.
The destructor of the class deletes all the vectors and matrices objects
created.
The class is implemented in a C++ file called ‘HSConstraint.cpp’. The class
has the following methods:
1. int HSConstraint::NewStep(void): This method implements predictor
in the Arc-Length method. Returns ‘0’ if everything go right. In case
of error, it returns ‘-1’.
2. int HSConstraint::update(const Vector &dU): This method
implements Corrector in the Arc-Length method. It takes a vector of
displacements as its argument. It is needed because after each iteration
the SOE is going to change. Returns ‘0’ if everything go right. In case
of error, it returns ‘-1’.
3. int HSConstraint::domainChanged(void): This method is called when
the arc-length method is first called to set the domain. After that it is
called when a solution point is obtained and the process goes to the
next step. Returns ‘0’ if everything go right. In case of error, it returns
‘-1’.
4. int HSConstraint::sendSelf(int cTag, Channel &theChannel): This
method returns ‘-1’ if it is unable to send the data across the channel.
Else it returns ‘0’.
5. int HSConstraint::recvSelf(int cTag, Channel &theChannel,
FEM_ObjectBroker &theBroker): This method returns ‘-1’ if it is
unable to receive the data from the channel. Else it returns ‘0’.
6. void HSConstraint::Print(ostream &s, int flag): This method is used to
print the data in an output stream ‘s’.
21
Modification in OpenSees classes to include class
‘HSConstraint’
New Files:
HSConstraint.h: OpenSees/SRC/analysis/integrator/HSConstraint.h
HSConstraint.cpp: OpenSees/SRC/analysis/integrator/HSConstraint.cpp
Updated Files:
Makefile: OpenSees/SRC/analysis/integrator/Makefile
Added ‘HSConstraint.o’ with obj files names.
classTags.h: OpenSees/SRC/classTags.h
Added a tag, named ‘INTEGRATOR_TAGS_HSConstraint’
numbered ‘14’ for HSConstraint.cpp.
commands.cpp: OpenSees/SRC/tcl/commands.cpp
Added code to define an OpenSees command for
HSConstraint class.
Makefile: OpenSees/SRC/Makefile
22
BIBLIOGRAPHY
• Y.T. Feng, D. Peric, D.R.J Owen, Determination of travel directions
in path following methods, Mathl. Comput. modeling, vol. 21, No
7,pp. 43-59, 1995
• Lecture Notes by Prof. Boris Jeremic
• Y.T. Feng, D. Peric, D.R.J Owen, A new criterion for determination
of initial loading parameter in arc-length method, computers &
structures, vol. 58, No 3,pp. 479-485, 1996
• Anders Eriksson, Costin Pacoste, Adam Zdunek, Numeric Analysis of
complex instability behavior using incremental-iterative strategies,
Computer methods in applied mechanics and engineering, vol. 179,
1999 265-305
• E. A. De Souza Neto, Y.T. Feng , On the determination of the path-
direction for Arc-length methods in presence of bifurcation and snap-
back, Computer methods in applied mechanics and engineering, vol.
179, 1999 81-89
• Anders Eriksson, Structural instability analyses based on generalized
path-following, Computer methods in applied mechanics and
engineering, vol. 156, 1998 45-74
• M.A. Crisfield, A new Arc-length method for handling sharp snap-
backs, computers & structures, vol. 66, No 5, pp. 705-709, 1998
• W. Szyszkowsky, J.B. Husband, Curvature Controlled Arc Length
Method, Computational Mechanics 24 (1999)245-257
• Reijo Kouhia, Martti Mikkola, Numerical Treatment of multiple
bifurcation points
23