Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
100% found this document useful (1 vote)
96 views

Solution Procedure For Non-Linear Finite Element Equations 2003

This document describes the implementation of an arc-length method in the OpenSees finite element software. It first provides background on continuation methods and how they differ from traditional nonlinear solution methods. It then explains the key aspects of arc-length methods, including parameterization using a constraint equation, the predictor phase to determine starting values, and the corrector phase that iteratively solves the system of equations. The document outlines the algorithm used and modifications made to OpenSees classes to incorporate a new HSConstraint class for implementing the hyper-spherical arc-length method.

Uploaded by

myplaxis
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
100% found this document useful (1 vote)
96 views

Solution Procedure For Non-Linear Finite Element Equations 2003

This document describes the implementation of an arc-length method in the OpenSees finite element software. It first provides background on continuation methods and how they differ from traditional nonlinear solution methods. It then explains the key aspects of arc-length methods, including parameterization using a constraint equation, the predictor phase to determine starting values, and the corrector phase that iteratively solves the system of equations. The document outlines the algorithm used and modifications made to OpenSees classes to incorporate a new HSConstraint class for implementing the hyper-spherical arc-length method.

Uploaded by

myplaxis
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 23

SOLUTION PROCEDURE FOR NON-LINEAR

FINITE ELEMENT EQUATIONS

PROJECT REPORT
ECI 284
WINTER 2003

SUBMITTED BY:
RITU JAIN
M.S.
(Structural Engg.)
University Of California, Davis

1
PREFACE

This project is done to complete the requirement of course ECI284. The


goals of the projects were as follows:

• To study various continuation (path-following) methods.


• Get a good understanding of Hyper-Spherical Arc-Length Method.
• Implement a class called HSConstraint in OpenSees.

This report consists of two parts.

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.

In the second part, I have explained the algorithm, which I used to


implement Arc-Length Method in OpenSees. I give the design of class and
the hierarchy of classes to which it is linked in OpenSees. I also summarize
the changes I made in OpenSees to include the HSConstraint class.

2
INDEX

• Introduction to Continuation Methods


• Continuation Methods Vs Traditional methods
• Arc-Length Method
o Introduction
o Parameterization
o Predictor
o Corrector
o Step-Length Control
o Convergence/Divergence Criteria
o Different intersection Situation
• Algorithm
• Implementation in OpenSees
o Class Hierarchy in OpenSees
o Design of class ‘HSConstraint’ in C++
o Modification in OpenSees classes to include ‘HSConstraint’
• Bibliography

3
CONTINUATION METHODS

The development and application of numerical procedures for following


solution paths in nonlinear static structural problems have received
significant attention in last two decades. Apparently an ideal solution
method should be able to trace the entire static load-displacement path of a
structure, which may include both softening and hardening behavior,
together with the presence of load and displacement limit points and
possibly bifurcations as well. A considerable number of path-following
methods have been proposed and they all can be described within the
framework of continuation methods.

Basically, continuation methods add a constraint equation to the original


non-linear governing equation of the problem, and then solve the extended
system of equations by incremental-iterative procedures such as Newton-
Raphson, modified Newton Raphson, or quasi-Newton techniques, to obtain
a solution point along the path. In a step-by-step manner, together with
changing the value of a parameter contained in the constraint equation,
called the path parameter, the solution path can then be traced in terms of a
set of points.

Beginning with a known solution x0, the continuation method is to compute


further solutions
x1,x2,x3…..,xk,xk+1,……

of the extended system of equations for specified values of path parameter in


a step-by-step manner until one reaches a target point.

In general iteration methods are required to compute a particular point.


These methods normally require suitable starting values in order that the
iteration procedure converges to correct solution points since most iteration
methods are only locally convergent. A continuation method has four
aspects:

4
o Parameterization
o Prediction phase
o Corrector Phase
o Step-Length Control

The possible parameterizations of a solution method are load control,


displacement control, external work control etc. But using either of these
alone poses several problems in tracing the solution path. In continuation
method an adaptive parameterization is used, which is of more generalized
form. And it can be changed as required during the process of path-tracing.
In the predictor phase information that belongs to the point previously
computed is used to compute a suitable starting value for the corrector
phase. And in the corrector phase some numerical procedure is used to find
out the solution of the extended system with the initial guess supplied by the
predictor. The control of step size along the path is a crucial issue in the
design of continuation methods. Once the parameterization, predictor and
corrector strategies have been selected, it is hoped that such a step size
control procedure can be achieved so that the desired solution path can be
obtained at a minimum computational expense.

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.

Figure 1: Traditional Newton-Raphson Method vs. Arc-Length Method

In Newton-Raphson approach, the load is subdivided into a series of load


increments. The load increments can be applied over several load steps.
Before each solution, the Newton-Raphson method evaluates the out-of-
balance load vector, which is the difference between the restoring forces (the
loads corresponding to the element stresses) and the applied loads. The
program then performs a linear solution, using the out-of-balance loads, and
checks for convergence. If convergence criteria are not satisfied, the out-of-
balance load vector is re-evaluated, the stiffness matrix is updated, and a
new solution is obtained. This iterative procedure continues until the
problem converges.

In some nonlinear static analyses, if the Newton-Raphson method is used


alone, the tangent stiffness matrix may become singular (or non-unique),
causing severe convergence difficulties. Such occurrences include nonlinear
buckling analyses in which the structure either collapses completely or
"snaps through" to another stable configuration.

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.

Unlike traditional non-linear solution methods, continuation methods can


handle post yielding non-linear behavior of materials which show strain-
softening after yield point. They cannot be trapped in an infinite loop at the
unstable region of the solution curve (since the stiffness matrix is updated
based on both load increment and displacement increment)

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)

Where ∆l is the radius of desired intersection, and represents an


approximation to the incremental arc length (∆s). Scaling matrix S is usually
a diagonal nonnegative matrix that scales the state vector ∆u and uref is a
reference value with the dimension of √(∆uTS∆u). The vector ∆u and ∆λ are
incremental and not iterative values, and are starting from the last converged
equilibrium state. The differential form of arc-length ∆s is given by

(3)

The entire Arc-Length is given by

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

Figure 2: Spherical Arc-Length Method

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)

The solution for ∆λp is readily found:

(7)

where ∆l > 0 is the given increment length. The absolute value of


is needed if the stiffness matrix is chosen as a scaling matrix, i.e. S = Kt,
since, after passing the limit point, the stiffness matrix is non-positive
so .

Success of a path-following method depends crucially on the choice of the


appropriate sign of the iterative load factor. Predictor Criteria to select the
correct sign are as follows:
o Based on the sign of current stiffness determinant : Good for snap-
back situation but fails in the case of bifurcation
o Based on incremental predictor work: Insensitive to bifurcation but
fails in the situation of snap-back
A Solution could be to switch between these criteria according to the path
situation… The question of choosing the right sign + or – in (7) is still a
vigorous research topic.

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)

Where, is the tangent stiffness matrix. The aim is to have rnew(u,


λ) = 0 and anew = 0 (or within convergence limits) so the previous system can
be written as

(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)

The quadratic equation can be solved for δλ:

(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:

o Real roots of opposite sign : Solution process converges normally


o Real roots of equal sign opposite to that of ∆λold : When going over
a flat limit point
o Real roots of equal sign same as that of ∆λold : encounter a turning
point or erratic iteration behavior
o Complex roots : signal a sharp turning point, a bifurcation point,
erratic or divergent iterates

For the first two cases correct sign of δλ in the corrector step can be
found out by applying following schemes:

o Positive External work criterion:


External work expenditure over the predictor step > 0

(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

∆lnew = ∆lold(Idesired/Iold)n (26)

∆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:

Displacement Convergence Criteria:

The change in the last correction δu of the state vector u measured in


an appropriate norm, should not exceed a given tolerance εu. Example:
in Euclidean norm the termination criterion is given as:

(27)
Residual Convergence Criteria

Euclidean norm of residual is compared with some predefined


tolerance:

(28)
Energy Based Convergence Criteria

Above two convergence criteria are combined to give 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.

Different Intersection Situations:

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.

Situations shown in figures 3b and 3c are more complex, both corresponding


to the cases where the structure exhibits strong nonlinear features. In the
former case, except for the two solutions, xk-1 and the desired xk+1 as
expected, another two solutions, denoted by x1k+1 and x2k+1, respectively may
exist. If the correct predictor criterion is utilized, xk-1 may not be obtained,
but x1k+1 and x2k+1 may be found by the corrector unexpectedly. Furthermore,
if x2k+1 is attained, the numerical procedure can continue to follow the curve
in the right direction, but the solution information between point xk and x1k+1
will be lost. However, if x1k+1 is attained, nothing seems wrong with the
solution, but the next solution is likely to be xk, i.e., ‘trackback’ occurring
again. In the situation (3c), due to strong non-linearity, it is possible that the
corrector may converge to point xk-1 instead of the desired point xk+1, even
with a ‘normal’ initial guess from the Predictor’s point of view.

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

Progress of the Arc-Length method is described, in relation with figure (2).

1. Starts from a previously converged solution (u0, λ0fext).


2. An incremental tangential predictor step ∆u1, ∆λ1 is obtained in
prediction phase.
3. The next point (u1, λ1fext) is obtained by adding the increments ∆u1and
∆λ1 to the displacement u0 and load level λ0. This point will be the
starting for the correction phase.
4. Iteration starts and equations given in corrector phase is used to
calculate δλ1 and δu1 with ∆uold = ∆u1 and ∆λold = ∆λ1
5. New values of ∆u and ∆λ are obtained as follows
∆u2 = ∆u1+ δu1 and ∆λ2 = ∆λ1 + δλ1
6. When added to the displacement u0 and load level λ0, at the end of the
previous increment this process would lead to the next point (u2, λ2fext)
7. Next iteration again uses the equations in corrector phase to calculate
δλ2 and δu2 with ∆uold = ∆u2 and ∆λold = ∆λ2
8. New values of ∆u and ∆λ are obtained as follows
∆u3 = ∆u2+ δu2 and ∆λ3 = ∆λ2 + δλ2
9. When added to the displacement u0 and load level λ0, at the end of the
previous increment this process would lead to the next point (u3,λ3fext),
which is the intersection of constraint surface with the solution path
and hence the desired solution point.
10. Next step starts with point (u3,λ3fext) and new value of step length is
calculated using (26). Steps from 1-10 repeated until the entire path is
traced.

18
IMPLEMENTATION OF HYPER-SPHERICAL ARC-
LENGTH METHOD IN OPENSEES

Class Hierarchy:

Following tree shows the hierarchy of analysis classes under integrator in


OpenSees and shows where Hyper-Spherical Arc Length (HSConstraint)
class fits in.

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’

Here is a description of the changes I made in OpenSees:

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

You might also like