Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
I wish to thank my supervisor, Professor R. Vescovini, for his support, helpfulness and
encouragement. His eort and the time He dedicated to this work were extremely precious
to me. I am grateful to Him for the possibility He gave me to work on my graduation thesis
under His supervision, and for the substantial contribution He gave to my technical skills
in the last years of my studies.
Special thanks are due to Professor T. Merlini, who transmitted to me his outstanding
passion for structural mechanics and taught me most of my knowledge of this subject. If it
was not for Him, probably, my thesis would concern a dierent matter.
I wish to thank also all of my friends and my university mates. Their moral support
and the wonderful moments spent together were really important to me.
Finally, I want to dedicate this work to my family, that gave me a fundamental support
and that has always believed in my possibilities.
i
Sommario
Abstract
1 Introduction 1
1.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.2 Literature Review . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.3 Present Work . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.4 Outline . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
7 Continuation Methods 99
7.1 Preliminaries . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99
7.2 Critical Points Computation . . . . . . . . . . . . . . . . . . . . . . . . . . . 103
7.2.1 Critical Points Detection and Computation . . . . . . . . . . . . . . 105
7.3 Branch Switching Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . 108
7.3.1 Normal Vector Method . . . . . . . . . . . . . . . . . . . . . . . . . . 108
7.3.2 Eigenvector Injection Method . . . . . . . . . . . . . . . . . . . . . . 109
7.4 Modied Riks' Continuation Method . . . . . . . . . . . . . . . . . . . . . . 110
7.5 Dissipated Energy Continuation Method . . . . . . . . . . . . . . . . . . . . 112
2.1 Planar interface element between two three-dimensional nite elements (taken
from [10]) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
2.2 Single-mode constitutive equations: (a) mode II or mode III; (b) mode I
(taken from [11]) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
2.3 Mixed-mode 2D cohesive constitutive law (taken from [11]) . . . . . . . . . 15
2.4 Directory structure of the PyFEM code. The root directory is called PyFEM-
x.y, where x.y indicates the version number of the code (taken from [10]) . . 16
2.5 PyFEM architecture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
2.6 Architecture of cohesive element implementation . . . . . . . . . . . . . . . 21
2.7 Input and output variables of the method getStressCoh . . . . . . . . . . 22
2.8 Structure of the function getStressCoh . . . . . . . . . . . . . . . . . . . 23
2.9 Model for cohesive elements validation . . . . . . . . . . . . . . . . . . . . . 24
2.10 Comparison Abaqus-PyFEM . . . . . . . . . . . . . . . . . . . . . . . . . . 25
9.10 Beam with embedded cohesive layer: fourth bifurcation branch . . . . . . . 140
9.11 Beam with embedded cohesive layer: bifurcation diagram . . . . . . . . . . 140
9.12 Beam with embedded cohesive layer: deformed congurations along the
bifurcation branches (displacements 5×) . . . . . . . . . . . . . . . . . . . . 141
9.13 Beam with embedded cohesive layer: buckling mode 3 . . . . . . . . . . . . 142
9.14 Beam with embedded cohesive layer: bifurcation diagrams . . . . . . . . . . 142
9.15 Arch with embedded cohesive layer: structural model . . . . . . . . . . . . . 144
9.16 Arch with embedded cohesive layer: nite element mesh . . . . . . . . . . . 145
9.17 Arch with embedded cohesive layer: bifurcation diagram . . . . . . . . . . . 145
9.18 Arch with embedded cohesive layer: comparison between continuation method
and Riks' method . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 146
9.19 Arch with embedded cohesive layer: nal congurations on the primary path
and on the bifurcation branch (displacements 2×) . . . . . . . . . . . . . . . 147
9.20 Arch with embedded cohesive layer: bifurcation diagrams . . . . . . . . . . 147
9.6 Beam with embedded cohesive layer: values of λ at critical points . . . . . . 143
9.7 Arch with embedded cohesive layer: geometric features . . . . . . . . . . . . 144
9.8 Arch with embedded cohesive layer: properties of the cohesive constitutive
law . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145
9.9 Arch with embedded cohesive layer: analysis parameters . . . . . . . . . . . 145
9.10 Arch with embedded cohesive layer: analysis results . . . . . . . . . . . . . 147
9.11 Arch with embedded cohesive layer: values of λ at critical points . . . . . . 148
Chapter 1
Introduction
1.1 Overview
In recent years, aircraft manufacturers are showing an increasing interest in the use of
composite structures. The introduction of composites has the potential to provide lighter
structures thanks to their high stiness to weight ratio, attractive fatigue properties and
the possibility to reduce the number of joints. Furthermore, composite structures are not
subject to corrosion and enable to create materials with directional properties, character-
ized by optimized stacking sequences. Nevertheless, composite materials raise also some
peculiar aspects, one of the most relevant being the fact that composite materials can ex-
hibit multiple damage mechanisms involving dierent scale levels. The initiation of damage
does not imply that the material cannot bear additional load, as the structure can usually
carry higher loads before the complete failure. The onset of a damage mechanism can
lead to the progressive development of dierent ones before reaching collapse. As a result,
the prediction of damage phenomena is an essential task to determine the collapse load.
Furthermore, failure mechanisms such as delaminations occur between layers, and are not
visible on the laminate surface.
For these reasons, the nite element simulations of the damage process of composite struc-
tures are becoming increasingly important in the aerospace industry.
Since the failure of composite materials implies a reduction of the mechanical properties of
the material, all of these simulations involve nonlinear analyses characterized by material
nonlinearities. Furthermore, the directionality of the structural properties implies that all
the potential load paths and all the load conditions that may lead to critical states must
be considered, and a high number of simulations is likely to be required. To perform these
analyses, reliable numerical models and robust and ecient solvers are needed.
In the present thesis work, the numerical prediction of delaminations is of primary concern.
In particular, a class of arc-length procedures and two continuation methods are developed
for delamination problems involving cohesive elements.
Delamination growth is usually accompanied by a nonlinear strain-softening behaviour,
which is characterized by a reduction of structural resistance at increasing strain.
Modern numerical models adopted in delamination problems, like the cohesive elements,
can lead to numerical diculties that cause convergence problems when ordinary solution
procedures are used. It follows that signicant benets can be achieved developing specic
solution techniques for this kind of simulations.
2 Introduction
procedure. During the damage process, the stiness matrix can lose its positive-denitness
and a sudden loss of stiness can be observed. As a consequence, complex structural
behaviours such as sharp snap-backs may arise. These phenomena cause the inadequacy
of those algorithms that involve the inversion of the stiness matrix, such as the Newton-
like and the arc-length methods, which usually result unsuitable to perform this kind of
simulations [18, 26].
For these reasons, analyses involving cohesive elements are usually performed adopting
direct integration methods. These procedures are not subject to the above mentioned nu-
merical issues as they do not require the inversion of the stiness matrix.
The use of direct integration methods turns delamination analyses into dynamic problems.
However, in real structures, delamination growth is usually an unstable phenomenon char-
acterized by a dynamic behaviour. As a consequence, the dynamic solution of delamination
problems is a sound approach.
Direct integration methods can be divided into explicit and implicit ones. Explicit strate-
gies are always able to provide a correct solution but, to avoid divergence, they require a
small step size [5], which leads to long simulations. Implicit solvers provide stable solutions
also with larger time steps, but, in case of unstable delamination growth, they often fail to
converge or provide oscillating solutions depending on the mesh size and on the cohesive
law parameters. An example of application of a combined quasi-static and implicit method
is presented in [8, 9].
To improve convergence and provide smoother solutions in the implicit methods, a suc-
cessful strategy was the introduction of the viscous regularization [12, 21], based on the
introduction of a ctitious viscosity in the cohesive constitutive law. This approach is ef-
fective to solve convergence diculties, but the solution is aected by the unrealistic eects
of viscosity.
Regarding quasi-static techniques, direct integration methods are characterized by a higher
computational cost and are not able to trace the virtual unloading branches generated by
snap-backs.
The development of eective quasi-static techniques, like the arc-length methods, could
lead to a reduction of the computational cost with respect to dynamic solvers, and would
enable to trace the complete quasi-static equilibrium path, providing a deeper insight into
the structural behaviour.
Starting from the early 2000s, a renewed interest in the application of quasi-static proce-
dures to delamination analyses is found in literature, and a consistent number of innovative
techniques is introduced.
Since fracture propagation is characterized by the localization of strains in a restricted area
surrounding the crack tip, relevant benets are obtained with the introduction of so called
local arc-lengths [2, 28]. The idea behind these methods is to include in the constraint
equation only the degrees of freedom of the nodes located in the neighbourhood of the crack
tip. This approach implies that the user should know in advance where the delamination
propagation is going to start.
With respect to classic quasi-static techniques, the modern arc-length methods are de-
veloped for specic problems and often feature cumbersome and articulated procedures.
In [20, 44] an arc-length method adopting a constraint equation based on the energy re-
lease rate is presented. This approach can robustly trace complex structural responses,
but requires a double solution strategy to trace both elastic and dissipative equilibrium
branches. In [18] an arc-length algorithm based on a constraint that xes the increment of
4 Introduction
the crack length is introduced. Despite being eective, this method is based on a complex
and cumbersome procedure.
In the late seventies, continuation methods start being applied to the study of the post-
buckling behaviour [36]. These path-following techniques were originally introduced by
Davidenko [15, 16] in 1953. They rely on the idea of transforming a nonlinear system of
equations into a dierential one. This system is parametrized with respect to a solution
parameter, and is solved as an initial value problem [3, 34, 40]. The application of contin-
uation methods to nonlinear structural analyses enables to trace the primary equilibrium
path of the structure, also in presence of snaps [36], to detect and compute the critical
points [7, 36, 41] and to trace the bifurcation branches [27, 47]. As a result, continuation
methods enable to trace the complete bifurcation diagram of the structure, providing a
powerful approach to perform post-buckling analyses. While a consistent number of ex-
amples concerning the use of continuation methods to study the post-buckling behaviour
of elastic structures can be found in literature, very few applications of these techniques to
delaminating structures exist. These applications either adopt already existing strategies,
or provide new procedures that are modied versions of the already existing ones [19].
In the rst part of the work, a new class of arc-length procedures is developed for problems
involving strain-softening behaviours and cohesive elements. These methods are called
hybrid-constraint methods and rely on the idea of combining a geometric constraint equa-
tion and a dissipative one by means of a weighted sum. The weighted sum is realized
by means of a function that is updated during the solution procedure on the basis of the
damage state of the structure.
Adopting dierent geometric constraint equations, three algorithms belonging to the family
of hybrid-constraint methods are presented.
An innovative root selection scheme is proposed for the arc-length strategies relying on a
quadratic constraint equation. This strategy can be adopted only when energy dissipation
is occurring, and enables to follow always the dissipative solution. This strategy is fast and
prevents convergence on elastic unloading solutions. In addition, an automatic procedure
is provided to switch the root selection scheme in the hybrid-constraint methods.
A second part of the work is focused on continuation methods and two novel strategies are
developed. Firstly, a modied version of the Riks' continuation method is presented. As
compared to the original Riks' method [36], the terms of the constraint equation related
to the load factor are removed. This strategy provides increased robustness in the compu-
tation of the vector tangent to the equilibrium path, hence preventing the doubling back
of the solution. The modied Riks' continuation method is not suitable for the application
to problems involving strain-softening responses, however, if delamination propagation is
primarily dominated by buckling or geometric nonlinearities, it provides satisfactory per-
formance.
To the best of the author's knowledge, no continuation methods specically developed for
problems involving strain-softening responses can be found in literature. In this thesis,
a continuation method for this kind of problems is introduced. This procedure is here
referred to as the dissipated energy continuation method, and is based on the dissipated
energy constraint introduced in [20, 44]. Since the dissipated energy constraint works only
if a certain amount of energy is being dissipated, an additional solution strategy, based on
the modied Riks' continuation method, is used in the procedure to perform the contin-
uation process on elastic branches. This formulation can accurately trace the equilibrium
paths and shows excellent robustness on bifurcation branches dominated by dissipative
phenomena.
1.4 Outline
The thesis is structured as follow:
• The performance of the continuation methods presented in this work are compared
in Chapter 9 by means of two numerical tests.
• Chapter 10 reports the concluding remarks and some future developments of the
methods presented in this investigation.
where t+∆t is the Green-Lagrange strain tensor at the time t + ∆t, σ t+∆t is the second
Piola-Kirchho stress tensor at the time t + ∆t, u represents the displacement vector, t is
the vector of external applied loads per unit surface, V is the body volume, S is the body
surface, ρ0 is the material density, g is the vector dening directions and intensities of
the forces per unit volume, and the symbol δ indicates a virtual variation of the quantity
associated with it. Eq. (2.1) represents the nonlinear form of the Principle of Virtual
Works (PVW).
The numerical solution of Eq. (2.1) is often sought using numerical procedures such as
the nite element method, which involve the application of Newton-like methods. These
strategies imply a linearisation of Eq. (2.1) in the neighbourhood of a reference congura-
tion, which is usually the equilibrium conguration assumed by the structure at the time
t.
In presence of geometric nonlinearities, an incremental decomposition of and σ is neces-
8 Introduction to Nonlinear Finite Element Analysis and Cohesive Elements
σ t+∆t = σ t + ∆σ (2.2)
t+∆t t t
= + ∆ = + ∆e + ∆η (2.3)
where ∆e contains the terms linear in the displacement increment and ∆η contains the
terms that are nonlinear in the displacement increment.
Substituting Eq. (2.3) in Eq. (2.1) and noting that δt+∆t = δ∆ and ∆σ = D∆,
where D is the material elasticity matrix, the following linearised equilibrium equations
are obtained:
Z Z Z Z
δ∆eT D∆e dV + δ∆eT D∆η dV + δ∆η T D∆e dV + δ∆η T D∆η dV
VZ ZV Z V Z V
(2.4)
T t T T T t
+ δ∆η σ dV = δu t dS + ρ0 δu g dV − δ∆e σ dV
V S V V
The higher-order terms in Eq. (2.4) are neglected in the linearisation process, obtaining:
Z Z
T
δ∆e D∆e dV + δ∆η T σ t dV =
ZV Z V Z (2.5)
T
δu t dS + ρ0 δuT g dV − δ∆eT σ t dV
S V V
The incremental approach derived in Eq. (2.5) is known as total Lagrangian update for-
mulation.
In absence of geometric nonlinearities ∆ = ∆e. In addition, material nonlinearities
make the elasticity matrix D dependent on strains, so that D = D(). In this case
∆σ = D()∆ + dD d ∆, and the total Lagrangian equations become:
t
Z Z
T dD t
δ∆e D∆e dV + δ∆eT ∆e dV =
d
ZV Z V Z (2.6)
δuT t dS + ρ0 δuT g dV − δ∆eT σ t dV
S V V
The expression of Eq. (2.6) is quadratic in terms of displacements, and is suitable to derive
linear equations. The discretization of the variational principle of Eq. (2.6) is discussed in
the next section.
u = Na (2.7)
Introduction to Nonlinear Finite Element Analysis and Cohesive Elements 9
where a is the vector of nodal displacements, i.e. the vector of the unknowns, and N is
the matrix containing the shape functions.
Introducing a matrix D containing the appropriate derivatives with respect to the coordi-
nates (x, y, z) the expression of the linear strain eld is derived as:
e = DNa = BL a (2.8)
Z
KL = BTL DBL dV (2.9)
ZV
KN L = BTN L T BN L dV (2.10)
V
where KL and KN L are the linear and nonlinear terms of the tangent stiness matrix
respectively, BN L is a matrix containing the variations of the terms in BL , and T represents
the second Piola-Kirchho tensor written in matrix form. The expression of T for a two-
dimensional conguration is:
σxx σxy 0 0
σxy σyy 0 0
T =
0
(2.11)
0 σxx σxy
0 0 σxy σyy
The terms on the right hand side of Eq. (2.5) become the vector of nodal external forces
t+∆t
fext and the vector of internal forces fint
t according to:
Z Z
t+∆t
fext = NT t dS + ρ0 NT g dV (2.12)
ZS V
t
fint = BTL σ t dV (2.13)
V
t+∆t
δ∆aT K∆a = δ∆aT (fext t
− fint ) (2.14)
K = (KL + KN L ) (2.15)
Thanks to the arbitrariness of the virtual displacements δ∆a, the linearised structural
problem can be expressed as:
t+∆t
K∆a = fext t
− fint (2.16)
The unknown ∆a can be computed by inverting the stiness matrix, so that the vector
at+∆t is obtained.
In presence of material nonlinearities, the expression of Eq. (2.14) still holds, but the
10 Introduction to Nonlinear Finite Element Analysis and Cohesive Elements
Figure 2.1: Planar interface element between two three-dimensional nite elements (taken
from [10])
The subscripts n, s, t in Figure 2.1 stand for the normal and the two shear modes respec-
tively. Interface elements consist of two layers of coincident nodes, which form the two sides
of the element, and the governing kinematic quantities are a set of mutually orthogonal,
relative displacements, δ3 , δ1 and δ2 for the normal and the two shear modes respectively.
The relative displacements can be collected in a relative displacement vector δ , and can
be related to the displacements at the upper (+) and the lower sides (−) of the interface
by means of a vector u and a matrix L:
−1 1 0 0 0 0
L = 0 0 −1 1 0 0 (2.19)
0 0 0 0 −1 1
so that,
δ3
δ = δ1 = Lu (2.20)
δ2
Introducing the nite element discretization in Eq. (2.20), the vector δ can be written as
a function of nodal displacements:
δ = LNa = Bd a (2.21)
According to Eq. (2.21), the vector δ can be introduced in Eq. (2.5) as the strain vector
for the interface element, and its elemental stiness matrix can be computed according to:
Z
dDd (δ) t
K= T
Bd Dd (δ) + δ Bd dS (2.22)
Sd dδ
where Dd is the elastic matrix of the interface element and Sd is the surface of the element.
τi = (1 − di )Kd δi (2.23)
12 Introduction to Nonlinear Finite Element Analysis and Cohesive Elements
Figure 2.2: Single-mode constitutive equations: (a) mode II or mode III; (b) mode I (taken
from [11])
The damage variable di can assume only values in the interval [0, 1], and is dened as:
τ3 = Kd δ3 , δ3 ≤ 0 (2.26)
The condition of Eq. (2.26) ensures that when the cohesive element is compressed it is
provided with a high stiness and a linear elastic behaviour.
In common applications of composite materials, delamination growth is likely to occur
under mixed-mode loading. This fact requires that a general formulation for cohesive ele-
ments dealing with mixed-mode delamination onset and propagation is introduced.
Interactions between interlaminar stress components are very important to predict delam-
inations onset under mixed-mode loading conditions, because the damage onset and the
corresponding softening behaviour may occur before any of the traction components in-
Introduction to Nonlinear Finite Element Analysis and Cohesive Elements 13
volved reach their respective allowables. In this section, the mixed-mode cohesive model
implemented in the FEA code Abaqus is presented. Further details can be found in [11].
Mixed-mode fractures involve all the three nodal relative displacements. A total mixed-
mode relative displacement δm is then introduced as:
q q
δm = δ12 + δ22 + hδ3 i2 = δshear
2 + hδ3 i2 (2.27)
where δshear is the norm of the vector dening the tangential relative displacements of the
element.
Adopting the same penalty stiness in modes I, II and III, the tractions before softening
onset are:
τi = Kd δi , i = 1, 2, 3 (2.28)
The mode mixity ratio β , for an opening displacement δ3 greater than zero, is dened as:
δshear
β= (2.29)
δ3
Assuming that compressive normal tractions cannot induce delaminations, the onset of
damage can be predicted using a quadratic failure criterion:
2 2 2
hτ3 i τ1 τ2
+ + =1 (2.30)
N T S
Substituting Eqs. (2.27)-(2.29) and the expressions of δi0 introduced before, into Eq. (2.30),
and solving for δm , the mixed-mode relative displacement corresponding to the onset of
softening, δm
0 , is obtained:
( q 2
δ30 δ10 (δ0 )1+β
2 +(βδ 0 )2 , δ3 > 0
0
δm = 1 3 (2.31)
0
δshear , δ3 ≤ 0
3f 30
Kd δm δm
GI = (2.33)
2
shear f shear 0
Kd δm δm
Gshear = (2.34)
2
The parameters GIC and GIIC , and η of Eq. (2.32) are obtained experimentally [6, 11].
3f 3 0 , δ shear f and δ shear 0 are obtained from Eqs. (2.27) and
Once the expressions of δm , δm m m
(2.29), they can be substituted into the expressions of GI and GII , and the B-K criterion
can be used to get the mixed-mode relative displacements corresponding to total decohesion
14 Introduction to Nonlinear Finite Element Analysis and Cohesive Elements
f
δm :
η
2 0 GIC + (GIIC − GIC ) β 2 2
, δ3 > 0
K δ 1+β
f
δm = qd m (2.35)
(δ f )2 + (δ f )2 , δ ≤ 0
1 2 3
The constitutive equation for mixed-mode loading is dened by the penalty parameter
Kd , the damage variable d, and the mixed-mode relative displacements corresponding to
0 and δ f respectively, as:
damage initiation and total decohesion, δm m
τs = Dsr δr (2.36)
f max − δ 0 )
δm (δm
d= m
, d ∈ [0, 1] (2.38)
max (δ f − δ 0 )
δm m m
Both the mixed-mode cohesive constitutive law presented above and the bi-linear single-
mode constitutive law discussed before, are single-variable responses. The relative dis-
placements for initiation and ultimate failure in the mixed-mode cohesive constitutive law
are functions of the mode mixity β , the material properties, and the penalty stiness Kd .
The mixed-mode cohesive constitutive law can be illustrated in a single three-dimensional
map by representing mode I and a shear mode as shown in Figure 2.3.
When the nonlinear analysis is performed by means of a numerical method involving lin-
earisation, such as the Newton's method, and using a total Lagrangian formulation, also
the term dDdδ δ must be considered to compute the nonlinear part (see Eq. (2.17)) of the
d t
tangent stiness matrix. After some mathematical steps, this nonlinear term becomes:
0 δf
K d δm h−δ3 i hδ3 iδ3 (δ1 )2
m
− max 2 f 0 1 − −δ3 + 0
dDd t (δm ) (δm −δm ) δm δm
δ = 0 δf
dδ K d δm m hδ3 i )2
(δ1
0 − max 2 f 0 ) δm δ 3 + δm
(δm ) (δm −δm
(2.39)
The expression in Eq. (2.39) is valid only when the element is damaging (between points
2 and 4 in Figure 2.2), while in all the other cases the tangent modular matrix is null. The
Introduction to Nonlinear Finite Element Analysis and Cohesive Elements 15
dDd t
values assumed by the term dδ δ are resumed as:
" #
0 0 max ≤ δ 0 ∨ δ max ≥ δ f ∨ δ < δ max
, δm m m m m m
0 0
dDd t
δ =
dδ h−δ3 i hδ3 iδ3 (δ1 )2
H 1 − −δ3 δm + δm 0
0 < δ max < δ f
, δm m m
2
H hδδ 3 i δ3 + (δδ1 )
0 m m
(2.40)
where,
0 δf
Kd δm m
H=− (2.41)
max )2 (δ f − δ 0 )
(δm m m
The mixed-mode cohesive constitutive law is completely derived and the terms Dd and
dDd t
dδ δ , constituting the tangent modular matrix of the cohesive element, and the matrix
Bd of the interface element can be introduced in Eq. (2.6).
2.4 PyFEM
The code used to perform the numerical examples presented in this work is PyFEM.
PyFEM is a nite element code available for a free download from the website http://
www.wiley.com/go/deborst, and is described in [10]. PyFEM is an open source code
intended for educational and scientic use. It does not contain comprehensive libraries,
e.g. of element formulations, but it is designed so that it is relatively easy to add other
solvers, elements, and material models. PyFEM is based on Python, an object-oriented,
interpreted, and interactive programming language. Many Python packages dedicated
16 Introduction to Nonlinear Finite Element Analysis and Cohesive Elements
Figure 2.4: Directory structure of the PyFEM code. The root directory is called PyFEM-
x.y, where x.y indicates the version number of the code (taken from [10])
towards numerical simulations are available. PyFEM makes use of the packages NumPy,
SciPy and Matplotlib. The NumPy package contains array objects and linear algebra
operations. The SciPy package is an extension to NumPy, and contains additional linear
algebra tools, e.g. solvers and sparse arrays. The Matplotlib package contains tools to
creates graphs and plots.
The program is based on a main le, PyFEM.py, which works like a stand-alone program
that can carry out a variety of simulations with dierent element formulations and material
models.
A diagram representing the content of the root directory of PyFEM is shown in Figure 2.4.
The PyFEM directory contains the following les and directories:
• PyFEM.py is the main program. Executing this program requires an input le with
the extension .pro.
• The directory doc contains a short user manual of the code and installation notes.
• The directory examples contains small example programs and input les, which are
stored in subdirectories ch01, ch02, etc., which refer to the corresponding chapters
of [10] for easy reference.
• The nite element tools are stored in the directory pyfem. This directory consists
of six subdirectories, including elements, which contains element implementations,
solvers, which contains the solvers and materials, which contains the material
formulations. The other three directories, io, fem and util, contain input parsers,
output writers and various nite element utility functions, such as a shape function
utility.
Regarding the element library of PyFEM, the following nite elements are available:
In the directory materials, two additional scripts are present. The rst one is
BaseMaterial.py, which contains a class called BaseMaterial that reads and stores
the material properties. The second one is
MaterialManager.py, which contains a class called MaterialManager that loads and
initializes the requested material model.
2.4.1 PyFEM.py
PyFEM simulations are started launching the script PyFEM.py followed by the name of
the .pro input le to analyse. PyFEM.py reads the input le by means of the function
InputReader and stores the information contained in the input le into two instances:
props and globdat. The instance props is used to store the material parameters, while
globdat is a global database that stores the information regarding the elements, such as
node coordinates, element connections, degrees of freedom, results and global parameters.
After creating these two instances, PyFEM.py initializes the solver and the outputs. The
analysis is started by means of a while loop, whose end is dened by the value of the
boolean variable globdat.active.
In every loop cycle, a load step is performed running the solver by means of the method
solver.run. Once the load step is ended, the outputs are updated running the method
output.run. Both solver.run and output.run take as an input the instances
props and globdat.
2.4.3 <ElementType>.py
Every element formulation is implemented in a script contained in the directory elements,
that here is generically referred to as <ElementType>.py. To build the elemental tan-
gent stiness matrix and the elemental internal forces vector, assembleArray calls the
methods getTangentStiffness and getInternalForces contained in
<ElementType>.py. In addition, <ElementType>.py contains also other functions
that are used to build the quantities N, BL , BN L , , δ and σ . Since these functions
assume dierent names in the les <ElementType>.py, here they are referred to with
their most common names adopted in PyFEM: <getKinematics>, <getNmatrix>,
<getBmatrix>.
Introduction to Nonlinear Finite Element Analysis and Cohesive Elements 19
2.4.4 shapeFunctions.py
The functions getTangentStiffness and getInternalForces, call the method
getElemShapeData. The method belongs to the class elemShapeData implemented
in the script shapeFunctions.py contained in the directory util. The method
getElemShapeData, according to the number of nodes of the element, calls an appropri-
ate function, here generically referred to as <getShape>, which computes the values of
the shape functions and of their derivatives in the integration points (h and dhdxi), the
weights that are used to perform Gaussian integration (weights) and the Jacobian (jac).
Finally, these quantities are passed to the functions <getNmatrix> and <getBmatrix>,
contained in <ElementType>.py, to compute N, BL and BN L .
2.4.6 <OutputName>.py
Once the solver has performed the current load step, the results, stored in the instance
globdat, are passed to the functions that update the requested output by means of the
instruction output.run. The output writers are implemented as classes, that here are
generically referred to as <OutputName>. Every class <OutputName> is located in the
le <OutputName>.py contained in the directory io. The method run executes the
instructions contained in <OutputName>. Two output writers are available in PyFEM:
• GraphWriter, which creates a 2D plot on screen and writes the plotted data to a
text le;
• MeshWriter, which exports contours of the results by means of .pvd and .vtu
les that can be imported in the program ParaView.
<SolverName>.py
PyFEM.py
<SolverName>.py
PyFEM.py <SolverName>.run
<OutputName>.py <SolverName>.run(props, globdat)
+props
+globdat
+solver
<OutputName> +output assembleTangentStiffness
solver.run(props, globdat) assembleInternalForces
while: globdat.active = True
solver.run
- GraphWriter check conditions to
output.run
- MeshWriter terminate the analysis
Analysis Terminated
assembleArray
getElemShapedata
<MaterialName>.py
shapeFunctions.py <ElementType>.py
<MaterialName>
elemShapeData <ElementType>
getStress(deformations)
getElemShapeData getTangentStiffness ( getStressCoh(deformations, damage, deltaMax) )
stiff
h fint
dhdxi
weight
jac
20 Introduction to Nonlinear Finite Element Analysis and Cohesive Elements
Introduction to Nonlinear Finite Element Analysis and Cohesive Elements 21
globdat.damageOldDict globdat.damageDict
globdat.deltaMaxOldDict globdat.deltaMaxDict
assembleArray assembleArray
getTangentStiffness
getInternalForces
CohesiveAbaqus.py
CohesiveAbaqus
The inputs are the relative displacements deformations, the value of the damage vari-
able at the last converged equilibrium point damageOld and the value of δm max at the last
converged equilibrium point deltaMaxOld. The outputs are the vector of nodal tractions
sigma, the tangent modular matrix of the element tang and the new values of the damage
variable and the mixed-mode relative displacement, damage and deltaMax respectively.
The method getStressCoh is called by the functions getTangentStiffness and
getInternalForces present in the class interface of the le Interface.py con-
tained in the directory elements of PyFEM. This le implements the interface element
formulation.
Every time the tangent stiness matrix or the vector internal forces are assembled, the
method getSressCoh is called once per integration point per cohesive element.
The mixed-mode cohesive elements introduce two new quantities that must be stored: the
damage variables and the maximum mixed-mode relative displacements. Every time K
and fint are assembled, the method getStressCoh computes new values for these two
quantities. In the current load step, the values of d and δm max that must be given as an
input to getStressCoh are always those at the last converged equilibrium point. As a
consequence, the current values, computed by getStressCoh must be stored separately.
To store these variables, four Python dictionaries are introduced as members of the instance
globdat:
These four dictionaries contain one key per cohesive element, and the key name is equal
to the ID of the related element. Each key is associated with a list containing the values
of d or δm
max of the corresponding element.
Introduction to Nonlinear Finite Element Analysis and Cohesive Elements 23
CohesiveAbaqus.py
CohesiveAbaqus
getStressCoh(deformations,damageOld,deltaMaxOld)
Compute Quantities:
- d_rel
- d3_0; d3_f
- d1_0; d1_f
- d_shear
- d_shear
- d_m
- beta
- dm_0; dm_f
Update deltaMax
if d_m<deltaMax
if d_m>deltaMax
Unloading condition
if deltaMax<dm_0 if deltaMax>dm_f
if dm_0<deltaMax<dm_f
sigma
tang
damage
deltaMax
The method getStressCoh, rst computes the quantities δ , δ30 , δ3f , δ10 , δ1f , δshear , δm ,
0 and δ f according to the formulae reported in Section 2.3.2. Then, it updates δ max
β , δm m m
according to the value of δm just computed and deltaMaxOld: if the value of δm is higher
than deltaMaxOld, the function sets deltaMax equal to δm . Finally, the formulae in
24 Introduction to Nonlinear Finite Element Analysis and Cohesive Elements
The aim of this analysis is to trace the bilinear curve of the cohesive constitutive laws
to check if the one implemented in PyFEM is correct and if it corresponds to the law
implemented in Abaqus, at least for mode I fractures. The solution procedure is based on
a quasi-static analysis performed adopting the explicit dynamic solver available in PyFEM.
The results obtained in PyFEM are compared to those provided by Abaqus performing a
static analysis based on a displacement-control approach.
To simulate quasi-static loading conditions, the load is imposed with a rate of 25.5 Ns−1 ,
and 100000 steps are performed adopting a time step ∆t = 2 · 10−7 s to meet the CFL
requirements [5].
If the load is applied slowly enough in the explicit analysis, no signicant dierences should
appear between the two solutions. With reference to the notation adopted in Section 2.3.2,
the properties assigned to the cohesive element and to the shell element in both analyses
are reported in Tables 2.1 and 2.2 respectively.
E (MPa) ρ (Kgmm−3 )
100 1.0 · 10−9
0.8
Load [N]
0.6
0.4
0.2
0
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5
Displacement [mm] x 10
−3
(3.2)
fint a = fext = λf̂
Equilibrium solutions of Eq. (3.2) are usually computed by means of the Newton's method.
The equilibrium path is commonly traced computing equilibrium points for increasing
values of the load factor λ (force-control) or for increasing values of one or more nodal
displacements (displacement-control).
The Newton's method is well suited for many structural problems, however is unable to
trace the complete load-displacement curve when the structural response shows snaps.
In particular, the force-control approach fails when snap-throughs are present and the
displacement-control approach fails in presence of snap-backs. In the former case, the
strategy cannot reach convergence because the load is not monotonically increasing, while
in the latter case convergence is not achieved because the displacement is not monotonically
increasing.
A dierent approach is thus required when snaps are present. In this case, the load factor λ
should be free to increase or decrease during the solution procedure and, as a consequence,
it is not imposed but it is a problem unknown. The presence of an additional unknown with
respect to usual nonlinear analyses makes Eq. (3.2) underdetermined, and one additional
28 The Arc-Length Method
where ∆a and ∆λ are the total increments at the current step, ∆aj and ∆λj are the
iterative increments at the last iteration j , and da and dλ are the iterative increments
referred to the current iteration (iteration j + 1). The value j = 0 denotes the predictor
solution, while the values j = 1, 2, 3, . . . are referred to the corrector iterations.
A graphical representation of Eq. (3.4) is given in Figure 3.1.
The use of a Newton-like approach always involves a linearisation of Eq. (3.3) in the
neighbourhood of a reference conguration, which usually is the last converged equilibrium
conguration [a0 , λ0 ]. The linearisation process leads to the following linearised system:
(
Kda − dλf̂ = r
(3.5)
hT da + wdλ = −g ∆aj , ∆λj
where:
∂fint ∂g ∂g
K= , hT = , w= (3.6)
∂a ∂a ∂λ
The Arc-Length Method 29
da = aI + dλaII (3.9)
gj +hT a II
dλ = − (3.10)
hT aI + w
where:
Equilibrium
A
Predictor Iterations
Solution
B
Displacement
To nd the equilibrium solution, an increment along a direction (nearly) tangent to the
equilibrium path is computed with the predictor, then, with the corrector, the iterative
solution is computed along a direction normal to the tangent one.
As far as Eq. (3.12) is linear, the solution of Eq. (3.8) is unique and can be obtained as:
da = aI dλ + aII (3.13)
∆a0 T aII
dλ = − (3.14)
∆aT0 aI
direction normal to the predictor increment. As a consequence, the method does not reach
convergence, and it is likely to reduce the step-length many times, hence leading to two
possible consequences:
• The analysis fails because the required step length is below the minimum step-length
value.
In addition, the step-length is determined only approximately in the predictor step, which
means that the Riks's method provides poor step-length control capabilities.
Equilibrium
Iterations
Displacement
Eq. (3.15) is quadratic in λ, so two roots are computed at each iteration. In particular,
they are:
da = aI dλ + aII (3.16)
p
−a2 ± a22 − 4a1 a3
dλ = (3.17)
2a1
32 The Arc-Length Method
where:
a1 = aTI aI + f̂ T f̂ (3.18a)
T T
a2 = 2(∆aj + aII ) aI + 2∆λj f̂ f̂ (3.18b)
T
a3 = (∆aj + aII ) (∆aj + aII ) + ∆λ2j f̂ T f̂ − ∆l 2
(3.18c)
The presence of two roots determines the need to implement a root selection criterion.
However, it is not always a trivial task, especially in proximity of sharp snap-backs and
highly nonlinear branches.
Load
Predictor Equilibrium
Solution Iterations
Displacement
Since Eq. (3.20) is linear, it leads to a unique solution of Eq. (3.8), which is derived as:
da = aI dλ + aII (3.21)
∆l2 − ∆aTj ∆aj − ∆aTj aII
dλ = (3.22)
∆aTj aI
As suggested in [10], noting that ∆l2 ≈ ∆aTj ∆aj , Eq. (3.22) can be approximated as:
da = aI dλ + aII (3.23)
∆aTj aII
dλ = − (3.24)
∆aTj aI
Eq. (3.24) corresponds to the solution derived from the following constraint equation:
Ramm's method is simple, robust, ecient and guarantees the existence of the solution.
In most cases it gives the same solution of Criseld's arc-length. On the other hand, the
step-length is determined only approximately in the predictor step. As a consequence, the
Ramm's method provides poor step-length control capabilities, which can lead to diculties
in tracing the equilibrium path of the structure when the response shows abrupt changes.
34 The Arc-Length Method
• The user must know in advance the area where the crack starts propagating;
• Any node might change its status as the nonlinearities develop in the structure, so a
method to identify the dominant nodes in every load step must be provided;
• The constraint equation becomes problem dependent and the method loses some of
its generality.
The method makes use of the energy release rate G, dened as:
G = P − V̇ (3.26)
where P is the exerted power and V̇ is the rate of elastic energy.
Introducing the nite element discretization in Eq. (3.26), the approximations of P and V̇
are written as:
1 1
P = λf̂ T ȧ , V̇ = λ̇aT f̂ + λȧT f̂ (3.27)
2 2
The Arc-Length Method 35
Substituting Eq. (3.27) in Eq. (3.26), the nite element approximation of G is obtained
as:
1
λȧT − λ̇aT f̂ (3.28)
G=
2
The propagation of a crack is associated with the dissipation of an amount of energy
τ . Applying a forward Euler discretization to Eq. (3.28), the expression of the energy
dissipated in the current step, ∆τ , is given by:
1
λ0 ∆aT − ∆λaT0 f̂ (3.29)
∆τ =
2
where [a0 , λ0 ] is the last converged equilibrium point.
A constraint equation for an arc-length method may be derived from Eq. (3.29) as:
1
λ0 ∆aT − ∆λaT0 f̂ − ∆τ = 0 (3.30)
g(∆a, ∆λ) =
2
To improve computational eciency, the solution of the augmented system in Eq. (3.8),
obtained adopting Eq. (3.30) as constraint equation, is usually computed by means of the
following expression, which is known as the Sherman-Morrison formula [44]:
(hT dI + gj )dII
da dI 1
= − T (3.31)
dλ −gj h dII − w −hT dI − gj (1 + hT dII − w)
where dI and dII are the solutions of the following linear systems:
A criterion to switch from force-control to dissipated energy constraint and vice versa is
mandatory. As suggested in [44], a strategy based on the following steps is adopted:
3. If dissipated energy constraint is active and ∆τ < ∆τsback , switch back to the force-
control approach.
where ∆τswitch and ∆τsback are two threshold values dened by the user.
Although the strategy just described is ideally very simple, the implementation of the
switch-back criterion is not straightforward. In fact, when the dissipated energy constraint
is active, the method tries to nd a solution corresponding to the prescribed amount of
dissipated energy ∆τ . If such a solution does not exist the method is likely to reduce
the step-length until ∆τ < ∆τsback , leading to a signicant waste of computational eort.
Otherwise, if such a solution exists, and is located after an elastic part of the equilibrium
path, the method is likely to converge to it approximating the elastic part in a unique load
step. An approximation of the elastic part in a unique step may be avoided only if the
switch-back condition is supported by a control on the norm of the increments, intended
to perform the switch-back when the norm exceeds a prescribed value.
A further drawback of the dissipated energy arc-length is that it introduces three additional
algorithmic parameters that must be given by the user as an input: ∆τswitch , ∆τsback
and the initial step size ∆τ0 that is adopted after the activation of the dissipated energy
constraint.
As a result, the dissipated energy arc-length might be improved eliminating the need for
a double solution strategy, and the switch criteria adopted to perform it.
Aim of the present investigation is the development of a method to be used in the context
of problems involving strain-softening behaviour and satisfying the following requirements:
• Relying on constraint equation that depend on global quantities (e.g. on the vectors
a, ∆a, f̂ , fint , . . . );
• Being robust despite the strong localization of the crack opening phenomenon;
Hybrid-Constraint Arc-Length
General Features
- Hybrid-Riks' Method
Features of the Weighting Function - Hybrid-Ramm's Method
- Hybrid-Crisfield's Method
Solved by Means of a
Predictor-Corrector Method
Numerical Solution
(4.1)
g(∆a, ∆λ) = 1 − γ c(∆a, ∆λ) + γ h(∆a, ∆λ)
where γ ∈ [0, 1] is a weighting function updated at the end of each step, and:
Geometric constraints are those suitable for analyses involving geometric nonlinearities,
such as Riks', Ramm's or Criseld's constraints. Dissipative constraints are those suitable
for analyses involving strain-softening materials, such as the dissipated energy constraint.
The expression in Eq. (4.1) denes a family of constraint equations here denoted as hybrid-
constraint equations. Combining dierent geometric and dissipative constraints, adopting
dierent expressions of the weighting function, or combining more than two constraints, a
wide number of methods could ideally be generated.
The use of a weighted sum implies that neither c(∆a, ∆λ) nor h(∆a, ∆λ) are satised at
the end of the current step, but only the actual constraint equation, Eq. (4.1), is met.
• Rapidly grow and approach unity when some energy starts being dissipated;
To assume an adequate value, γ must be sensitive to the damage state of the structure.
As far as a structure always behaves elastically in the neighbourhood of the undeformed
conguration, the analysis is always started setting γ = 0.
The hybrid-constraint method does not dissipate precisely the amount of energy prescribed
by ∆τ , but is likely to dissipate even less or more energy. As a consequence, it is not
trivial to nd a simple function of the energy dissipated in the current step meeting the
requirement γ ∈ [0, 1]. The implementation of this kind of functions has not led to
satisfactory results, and this approach has been abandoned.
The damage variable d falls in the interval [0, 1] by denition. It follows that it is straight-
forward to create functions of d bounded in this interval and sensitive to the damage state
of the structure.
In the present work, six expressions of γ depending on d have been developed. Let d̃max
denote the vector containing all the values of the damage variables sorted in descending
order, unit values excluded, and d̂max denote the vector containing all the values of the
damage variables sorted in descending order, unit values included. The six expressions of
γ are reported in Table 4.1.
kd̃1:n
max k
1. γ= n
2. γ = d̂1max
3. γ = d̃1max
kd̃1:n
max k
4. γ= nd̃1max
mean(d̃1:n
max )
5. γ= d̃1max
6. γ = mean d̃1:n
max
where d̃i denotes the i-th component of d̃ and d̃i:j denotes the components of d̃ from the
i-th to the j -th.
Expression 1
This expression sets γ equal to the norm of the vector formed by the n highest damage
variables, unit values excluded, divided by n. A suitable choice consists in setting n equal
to the number of integration points present in the each cohesive element. This choice
implies that γ senses an area in the structure with approximately the dimension of one
cohesive element.
Adopting this expression, γ varies slowly and assumes low values (γ = 0.6÷0.8 with n = 2).
The higher is n, the worse is the performance. High values of n make γ vary slower and
assume lower values, as damage propagation is sensed in a smoother way.
Expression 2
This expression sets γ equal to the maximum damage variable present in the cohesive
elements, including unit values.
40 The Hybrid-Constraint Methods
Expression 3
This expression sets γ equal to the maximum damage variable present in the cohesive
elements, excluding unit values.
It provides rapid variations of γ , which assumes high values (γ ≥ 0.9) when damage
propagates. If multiple cohesive zones are present, when all the elements in the cohesive
zone being processed are completely damaged, γ assumes the value of the higher, non unit
damage variable present in the model. In this case two situations can occur:
In the former case, γ becomes null and only the geometric constraint is activated, while in
the latter case γ is set equal to the highest, non unit value of d present in the structure.
This last occurrence may lead to problems in tracing parts of the equilibrium path char-
acterized by elastic unloading if the value of γ remains high.
As far as no energy is dissipated when elastic unloading occurs, this problem is likely to
be solved adopting a weighting function based on dissipated energy.
Expression 4
This expression is the norm of the vector formed by the n highest damage variables, unit
values excluded, divided by the product of n times the maximum component of d̃.
Adopting this expression, γ varies slowly and assumes low values (γ = 0.7 ÷ 0.85 with
n = 2). The higher is n, the worse is the performance. High values of n, make γ vary
slower and assume lower values, as damage propagation is sensed in a smoother way.
Expression 5
This expression is the ratio between the mean of the rst n components of d̃max and the
maximum component of d̃.
Using a low value of n, γ varies rapidly and assumes values higher than 0.9. As n is
increased, γ varies more slowly and assumes lower values. This is due to strain localization
and to the eects of the operation of mean. A suitable choice for n could be to set it equal
to the number of integration points present in the each cohesive element.
Expression 6
This expression is the mean of the rst n components of d̃max . The same considerations
made for expression 5 are still valid, so that also expression 6 provides high values and
rapid variations of γ as far as n is kept small.
The Hybrid-Constraint Methods 41
Conclusions
All the expressions here discussed have been implemented in the three hybrid-constraint
methods presented in the next section and tested on two numerical examples.
Numerical results allowed to identify expression 3 as the more suitable one, resulting in the
most robust algorithms. It provides fast transitions from the geometric to the dissipative
constraint and values of γ close to unity when crack growth occurs.
Good performance, although below that obtained with expression 3, are achieved also with
expressions 1 and 6.
Further considerations suggest that a weighting function based on the damage variables d
implies that at least one cohesive element must always be present in the model.
γ̂ = d̃1max (4.4)
γ t+∆t t
= (1 − Wmem )γ + Wmem γ̂ (4.5)
By default, the parameter Wmem is set to 1 as, usually, its introduction is not wanted. The
user can modify this parameter in the input le, and use it as a further degree of freedom
to adjust the method. Wmem must vary between 0 and 1, and 0.6 ÷ 0.9 proved to be a
suitable range of values for it.
• Hybrid-Riks' Method
• Hybrid-Ramm's Method
• Hybrid-Criseld's Method
All of these algorithms make use of the constraint of Eq. 3.30 as dissipative constraint.
The numerical strategy to compute the equilibrium points relies on a predictor-corrector
method. Corrector iterations are performed by means of the Newton-Raphson method.
Introducing Eq. (4.7) in the linearised system of Eq. (3.5) and adopting Eq. (4.6) as
constraint equation, the following solution is obtained:
da = aI + dλaII (4.8)
b˜2
dλ = − (4.9)
b˜1
where:
It is worth observing that Eq. (4.6) is linear, as it is derived from Eqs. (3.12) and (3.30).
The expression in Eq. (4.6) depends only on two parameters: the weighting function γ
and the step size ∆τ of the dissipative constraint.
With reference to Figure 3.2, the addition of Eq. (3.30) to the Riks's constraint modies
the orientation of the segment AB that intersects the equilibrium path.
da = aI + dλaII (4.15)
b˜2
dλ = − (4.16)
b˜1
where:
The Hybrid-Constraint Methods 43
1 1
g(∆a, ∆λ) = (1 − γ) ∆aT ∆a + ∆λ2 f̂ T f̂ − ∆l2 + γ λ0 ∆aT f̂ − ∆λaT0 f̂ − ∆τ (4.21)
2 2
Substituting Eq. (4.7) in the linearised system in Eq. (3.5) and adopting Eq. (4.21) as
constraint equation, the following solution is derived:
da = aI + dλaII (4.22)
p
−c2 ± c22 − 4c1 c3
dλ = (4.23)
2c1
where:
quadratic and a linear equation. Therefore, two solutions exist, and a root selection crite-
rion is needed (see Section 4.5.1).
The constraint in Eq. (4.21) depends on the weighting function γ and on the two step sizes
∆l and ∆τ .
From a graphical point of view, the addition of the dissipated energy constraint modies
the shape of the hypersphere represented by Eq. (3.15).
Considering for simplicity a 1 d.o.f problem, Eq. (3.15) is the equation of a circumference
of radius ∆l centred in the last computed equilibrium point [a0 , λ0 ]. The hybrid-Criseld's
constraint equation still represents a circumference, but its radius R and the coordinates
of its centre [ac , λc ] follow as:
s 2 2
1 1 γ ˆ 1 1 γ ˆ γ
R= λ0 f + − a0 f + ∆l2 + ∆τ (4.34)
4 2 1−γ 4 2 1−γ 1−γ
h 1 γ 1 γ i
[ac , λc ] = − λ0 fˆ , a0 fˆ (4.35)
4 1−γ 4 1−γ
Both the radius and the coordinates of the centre are function of γ and the last computed
equilibrium point. The radius R depends also on the step sizes ∆l and ∆τ .
In Figure 4.2 the circumferences associated with four values of γ are reported, with ∆l =
0.5, ∆τ = 0.005, a0 = 0.005, λ0 = 1.5, fˆ = 1.
1
∆λ
−1
−2
−3
−7 −6 −5 −4 −3 −2 −1 0 1
∆a
Figure 4.2 shows that, when the value of γ is increased, R increases too. When γ = 0
the circumference is centred in the last equilibrium point and its radius is ∆l, while, when
γ = 1 is approached, R tends to innity and the circumference tends to become a straight
The Hybrid-Constraint Methods 45
line (a hyperplane in multi d.o.f. problems). Depending on the values of a0 , λ0 , γ and ∆l,
the circumferences can intersect in two points, no points or be tangent.
∆at+∆t
0 = ξ∆at (4.36a)
∆λt+∆t
0 = ξ∆λ t
(4.36b)
where, the superscript t denotes the quantities computed in the previous load step, the
superscript t + ∆t denotes those at the current load step, and ξ is a scalar multiplier.
The factor ξ is estimated from the requirement that the number of desired iterations in
the current load step equals Nd . If the number of iterations to satisfy equilibrium in the
previous load increment equals Nt , the estimate of ξ for the current load step is:
N ζ
d
ξ= (4.37)
Nt
where ζ is a parameter to damp or amplify the inuence of the quotient Nd /Nt , and is
normally chosen equal to 1/2. The strategy is extremely ecient from a computational
point of view, and it has been reported to work well [10].
Usually, the modied Newton's method is adopted. This method avoids a high number of
assemblies and inversions of the stiness matrix K. In the modied Newton's method, the
stiness matrix is kept constant during the iterative process, so that it is assembled and
inverted only once a step. However, the converge rate of this method is only of the rst
order.
When the modied Newton's method results in a high number of iterations or increment
reductions, the line-search method can be adopted as an alternative to improve convergence
[2, 14].
The full Newton-Raphson method is seldom used with arc-length algorithms, since it is
highly expensive for large problems. However, this is the only method characterized by a
convergence rate of the second order. As a result, despite being very expensive, it requires
fewer iterations to converge.
To stop the iterative process, a convergence criterion must be adopted. Such criterion
requires that a quantity, e.g. a force or a displacement, must be approximated within a
prescribed tolerance tol. In all the presented algorithms, a global criterion based on the
norm of the residual is adopted. This criterion is resumed as:
krk
< tol (4.38)
k λf̂ k
where the residual r is dened as:
The rst two methods are widely used in literature [10, 22]. The third method, to the best
of the author's knowledge, is proposed here for the rst time.
The Hybrid-Constraint Methods 47
This procedure is ecient, as it requires only two dot products and the comparison between
them.
As reported in [22], this strategy is likely to fail in proximity of sharp snap-backs. In this
case, the root corresponding to the smallest angle may be the one which causes the doubling
back of the solution. As a result, when sharp snap-backs occur, a dierent approach must
be adopted.
In the present work, the increment direction method is used in all the algorithms based on
Criseld's constraint as the standard root selection scheme.
k r k= min (4.41)
The lowest residual method xes the weaknesses of the increment direction method. How-
ever, it is computationally more expensive than the latter. It requires the evaluation of
the internal forces of both solutions, the computation of two norms and the comparison
between them.
For eciency, the lowest residual method can be adopted only in the neighbourhood of
48 The Hybrid-Constraint Methods
snap-backs.
Furthermore, the lowest residual method does not work well in the linear parts of the
equilibrium path. In such cases, both the solutions computed by the method are located
on the linear equilibrium path even in the rst iteration, and represent two equilibrium
points. This occurrence is shown in Figure 4.4, where [a0 , λ0 ] denotes the last converged
equilibrium point, and A and B denote the two equilibrium solutions.
Load
Displacement
The norm of the residual is very close to zero in the points A and B. Sometimes, the eect
of numerical rounding may lead to the selection of the root corresponding to the doubling
back of the solution. This phenomenon can repeat several times, leading to a continuous
loading and unloading process, which is clearly not desirable.
Although this method must not be used to trace parts of the equilibrium showing a perfectly
linear behaviour, even very low nonlinearities can be sucient to make it work properly.
1
λ0 ∆aTk − ∆λk aT0 f̂ (4.44)
∆τk = (k = 1, 2)
2
where k is the index of the root of the quadratic equation, and [a0 , λ0 ] is the last converged
The Hybrid-Constraint Methods 49
equilibrium point.
From a numerical point of view, there are two solutions of the quadratic equation along
a dissipative part of the equilibrium path. The rst is associated with an increasing level
of damage and the second to a lower level of damage. The former provides a positive
dissipated energy, the latter a negative one. Since the damage process is irreversible, only
the former is physically meaningful, while the other must be discarded.
Using the dissipated energy increment method, it is very easy to nd the correct root, as
the two solutions of the quadratic equation are associated with values of ∆τ characterized
by dierent signs.
However, solutions providing values of ∆τ with the same sign can be found in the neigh-
bourhood of sharp snap-backs and in presence high nonlinearities. In such cases, it is not
trivial to identify the correct solution based on the value of ∆τ , and a dierent strategy is
needed.
In these cases, the lowest residual method can be adopted without a signicant additional
eort. This strategy implies that the root closest to equilibrium is selected when the correct
solution cannot be chosen by simply looking at the value of ∆τ .
To sum up, the dissipated energy increment method can be implemented as:
if sign(∆τ1 ) 6= sign(∆τ2 ):
Root with ∆τ > 0
elif sign(∆τ1 ) = sign(∆τ2 ):
Lowest residual method
where the superscripts 1 and 2 denote the two roots of the quadratic equation.
The dissipated energy increment method is extremely ecient and guarantees that the
arc-length method converges on a dissipative solution, thus preventing elastic unloading.
However, this root selection scheme can be used only if dissipative phenomena are oc-
curring, and it cannot be adopted when the structure behaves elastically. It follows that
the implementation of a strategy that enables the user to choose when to start using this
method is required.
Letting Nt denote the number of iterations needed to satisfy equilibrium in the previous
load increment, the estimate of ξ for the current load step follows as:
N ζ
d
ξ= (4.46)
Nt
where ζ is a scalar parameter that damps or amplies the inuence of the quotient Nd /Nt .
The parameter ζ is usually set equal to 1/2.
This strategy is applied to ∆τ in the hybrid-Riks' and hybrid-Ramm's methods, and to
both ∆l and ∆τ in the hybrid-Criseld's method.
When the corrector iterations do not reach convergence within a prescribed number of
iterations itermax , the step size is reduced and the load step is recomputed. The step size
is reduced according to:
Implementation of the
Hybrid-Constraint Methods in
PyFEM
In this chapter, the implementation of the hybrid-constraint methods in PyFEM is pre-
sented. For each algorithm, the classes and the related methods are discussed presenting
in details the input parameters and the steps performed in the procedures. Finally, the
implementation of the root selection schemes is discussed.
All the les in which the methods are implemented are located in the directory solvers
of PyFEM.
52 Implementation of the Hybrid-Constraint Methods in PyFEM
• run
• printHeader
• printIteration
• printConverged
3. Corrector : computes the equilibrium point iteratively, applying Eq. (4.9) until the
condition in Eq. (4.38) is satised;
4. Compute Dissipated Energy : computes the energy dissipated in the current load step;
5. Update Weighting Function : computes the value of γ to be used in the subsequent
load step according to Eq. (4.5);
6. Update Step Size : computes the step size ∆τ and the factor ξ to be used in the next
load step according to Eq. (4.45);
7. Store Results : stores the data related to the new equilibrium point in the instance
globdat;
If the number of corrector iterations needed to converge exceeds the maximum prescribed
number, the step size is reduced according to Eq. (4.47) and the load step is recomputed
adopting the new value of ∆τ .
As Eq. (4.6) is linear, no root selection schemes are needed.
Implementation of the Hybrid-Constraint Methods in PyFEM 53
WeightedRiks.py
WeightedRiks
run( props, globdat )
Predictor
Corrector
Store Results
No
Check Conditions to
Terminate Analysis
Yes
Terminate Analysis
globdat.damageDict
globdat.damage
sort in
ascending order
Store Non Unit
Components
sort( globdat.damage ) Vector d_tilde_max
gamma_hat = d_tilde_max[0]
• run
• printHeader
• printIteration
• printConverged
3. Corrector : the equilibrium point is computed iteratively, applying Eq. (4.16). The
procedure is stopped when the condition in Eq. (4.38) is met;
4. Compute Dissipated Energy : computes the energy dissipated in the current load step;
5. Update Weighting Function : computes the value of γ to be used in the subsequent
load step according to Eq. (4.5);
6. Update Step-Length : computes the step size ∆τ and the factor ξ to be used in the
next load step according to Eq. (4.45);
7. Store Results : the instance globdat is updated storing the data related to the new
equilibrium point in;
If convergence is not achieved within the prescribed maximum number of iterations, a step
size reduction is performed applying Eq. (4.47) and the load step is recomputed with the
new value of ∆τ .
Since Eq. (4.14) is linear, a root selection scheme is not necessary.
56 Implementation of the Hybrid-Constraint Methods in PyFEM
The weighting function γ is computed according to the procedure illustrated in Figure 5.3,
which can be outlined by means of the following steps:
1. The components of the vector globdat.damage, containing the values of all the
damage variables stored in the dictionary globdat.damageDict, are sorted in
ascending order;
2. The non unit components of this sorted vector are stored in d̃max ;
3. The quantity γ̂ is set equal to the rst component of d̃max , according to the expression
3 illustrated in Section 4.2;
• lam: the initial value of λ, which is used to determine the step size in the rst load
step;
The parameters MaxCycle and MaxLam prescribe the conditions to terminate the analysis.
No initial value is requested for ∆τ because it is assumed equal to MaxdTau.
Implementation of the Hybrid-Constraint Methods in PyFEM 57
WeightedHP.py
WeightedHP
run( props, globdat )
Predictor
Corrector
Store Results
No
Check Conditions to
Terminate Analysis
Yes
Terminate Analysis
• run
• printHeader
• printIteration
• printConverged
where run implements the arc-length method and the utility functions printHeader,
printIteration and printConverged print analysis information on screen.
3. Corrector : the equilibrium point is computed iteratively applying Eq. (4.23) until
the condition in Eq. (4.38) is satised;
4. Compute Dissipated Energy : the energy dissipated in the current load step is com-
puted;
6. Update Step Size : computes the step sizes ∆l and ∆τ and the factor ξ , to be used
in the next load step by means of Eq. (4.45);
7. Store Results : stores the data related to the new equilibrium point in the instance
globdat;
If the corrector does not converge within the prescribed maximum number of iterations,
the step sizes are reduced according to Eq. (4.47) and the load step is recomputed adopting
the new values of ∆l and ∆τ .
Implementation of the Hybrid-Constraint Methods in PyFEM 59
WeightedCrisfield.py
WeightedCrisfield
run( props, globdat )
Predictor
plotIter Corrector
Store Results
No
Check Conditions to
Terminate Analysis
Yes
Terminate Analysis
As Eq. (4.21) is quadratic, a root selection scheme is necessary. In the present algorithm,
the increment direction method and the dissipated energy increment method are imple-
mented. The scheme to be used is determined by means of the string variable Corrector.
This variable can assume the following two values:
Further details about the implementation of the root selection scheme are given in Section
5.4.2.
The weighting function γ is updated by means of the procedure illustrated in Figure 5.3,
which can be outlined by means of the following steps:
1. The vector globdat.damage, containing the values of all the damage variables
stored in the dictionary globdat.damageDict, is sorted in ascending order;
2. The non unit components of this sorted vector are stored in the vector d̃max ;
3. The quantity γ̂ is computed as the rst component of d̃max , according to the expres-
sion 3 illustrated in Section 4.2;
The parameters MaxCycle and MaxLam prescribe the conditions to terminate the analysis.
No initial value is requested for ∆τ because it is assumed equal to MaxdTau.
Implementation of the Hybrid-Constraint Methods in PyFEM 61
if γ ≤ Wswitch :
Increment direction method
elif γ > Wswitch :
Dissipated energy increment method
Listing 5.1: Automatic switch criterion
where Wswitch is a threshold value set by the user. By default, Wswitch is set to unity,
which means that only the increment direction method is used in the analysis.
This strategy is simple and eective, and enables to use the dissipated energy increment
method only when it is eectively needed.
The implementation of the dissipated energy increment method is graphically illustrated
in Figure 5.6.
Solution 1 Solution 2
Dissipated Energies Have the Same Sign Dissipated Energies Have Different Signs
In every corrector iteration, plotIter plots both roots of the quadratic equation on the
load-displacement diagram shown on screen. This feature enables the user to see where
the roots are located.
In addition, in every load step prescribed by the user, this function creates a text le,
here generically referred to as Step<n_step>.dat. This le has the structure shown in
Figure 5.7.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Step Iter Solution Displacement Load
58 0 1 2.32808361495 0.508797810819; % Last Equilibrium Solution
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
When plotIter is active, between the lines associated with the dierent iterations, the
solver WeightedCrisfield writes the following data:
At the end of the le, when convergence is reached, WeightedCrisfiled reports the
following information:
The user can prescribe in which load steps this function is called by means of the parameter
plotIter. Such parameter can be added to those required by the solver
WeightedCrisfield in the input le according to the following syntax:
Boolean , is a boolean variable that enables to add or not the iterative solutions to the
graph shown on screen;
cycle_in , is the rst load step in which the function plotIter is called;
cycle_fin , is the last increment in which the function plotIter is called.
plotIter aims to improve the user's awareness when convergence is achieved on equi-
librium points associated with a negative dissipated energy. This function provides a tool
that helps the user to understand if such equilibrium points belong to a spurious part of
the equilibrium path or if they can be considered acceptable.
64 Implementation of the Hybrid-Constraint Methods in PyFEM
Chapter 6
Some of the simulations here presented are performed on models characterized by strain-
softening responses that do not exhibit complex behaviours. These analyses are preliminary
tests aiming to prove the eectiveness of the hybrid-constraint algorithms also in presence
of smooth structural responses that do not require the development of specic methods.
Other tests are performed on structures characterized by highly nonlinear responses and
snap-backs, that cause ordinary arc-length strategies to fail.
It is known from the theory that the dissipated energy method provides excellent perfor-
mance when the structural response is dominated by dissipative phenomena and complex
behaviours, but can be inecient in case of smooth responses strongly inuenced by geo-
metric nonlinearities [44].
In this context, the hybrid-constraint methods may bridge the strengths of the already
existing methods, resulting suitable to solve a wider spectrum of problems and providing
satisfactory performance both in case of smooth responses dominated by geometric non-
linearities and complex strain-softening responses characterized by complex phenomena.
For the sake of simplicity, the family of the hybrid-constraint methods is denoted here as
H-family, and the following acronyms are adopted to denote the methods:
All the analyses are performed adopting a laptop computer SONY VAIO VPCF1, charac-
terized by a processor Intel Core i7 1.73 GHz with 8 cores. The simulations are run using
only 1 core.
EGI
ld = α (6.1)
T2
where α ≈ 0.884.
In all of the analyses, the tolerance adopted in the various algorithms to dene convergence
on equilibrium points is determined by means of preliminary analyses, with the aim of
preventing a premature stop of the simulations and providing sucient precision.
Figure 6.1.
The geometric features of the model are reported in Table 6.1, where a denotes the initial
crack length.
The beam is made of isotropic material with Young's modulus E = 100 MPa and Poisson's
ratio ν = 0.3. A plane strain constitutive law is assumed. The properties of the cohesive
constitutive law are reported in Table 6.2.
The cohesive zone is dened by the mode I and mode II fracture toughness, GI and GII
respectively, the mode I and mode II tractions corresponding to delamination onset, N
and T respectively, and the penalty stiness kd .
The nite element mesh is shown in Figure 6.2.
Cohesive Elements
The beam is discretized by means of 160 nonlinear shell elements, while 36 cohesive el-
ements are introduced in the interface between the two parts. In the initial crack, no
cohesive elements are present, but the discontinuity between the shell elements is realized
by means of multiple coincident nodes.
68 Arc-Length Methods: Numerical Simulations
The leftmost nodes of the mesh are xed to meet the boundary conditions, and two nodal
forces are applied at the rightmost upper and lower nodes.
The analyses are performed adopting the parameters reported in Table 6.3, where ∆λ0 ,
∆l0 and ∆τ0 denote the initial value of ∆λ, ∆l and ∆τ .
Method ∆λ0 ∆l0 (mm) ∆lmax (mm) ∆τ0 (Nmm) ∆τmax (Nmm) ξmax Wswitch Wmemory ∆τswitch (Nmm)
HRi 1.0 − − − 1.0 · 10−2 1.0 − 1.0 −
HRa 1.0 − − − 1.0 · 10−2 1.0 − 1.0 −
HC 0.05 0.1 0.1 − 1.0 · 10−2 1.0 1.0 1.0 −
DE 0.2 − − 1.0 · 10−3 2.0 · 10−3 − − − 1.0 · 10−5
Criseld 0.01 0.01 0.1 − − 1.0 − − −
Riks 5.0 − − − − 1.0 − − −
A tolerance tol = 3.0 · 10−2 is set for all the methods. The simulations are terminated
when λ ≥ 30.
The structural response and four deformed congurations are reported in Figure 6.3.
As seen in Figure 6.3, the initial part of the curve describes a purely elastic behaviour (point
A). Here, strain concentration is observed at the crack tip, but no damage occurs. When
the load is further increased, cohesive elements start damaging leading to a pure mode
I fracture. When the load exceeds a critical value (point B), unstable crack propagation
occurs, resulting in a strain-softening behaviour. As far as the crack length increases, the
cohesive elements are progressively damaged, and the structure shows a continuous opening
(points C and D).
Arc-Length Methods: Numerical Simulations 69
B
0.2
0.15
Load [N] C
0.1
D
A
0.05
0
0 0.5 1 1.5 2 2.5 3 3.5 4
Displacement [mm]
The numerical performances of the methods are presented in Table 6.4 in terms of number of
steps, iterations and step size reductions, CPU time and maximum computed displacement.
70 Arc-Length Methods: Numerical Simulations
0.15
Load [N]
0.1
0.05
0
0 0.5 1 1.5 2 2.5 3 3.5 4
Displacement [mm]
No. of Max.
No. of No. of CPU
Method Increm. Disp.
Increm. Iter. Time (s)
Cuts (mm)
HRi 70 193 8 150.196 3.0597
HRa 45 143 6 105.891 1.8598
HC 39 64 0 55.243 1.7729
DE 249 413 1 384.594 2.9793
Riks 110 233 2 192.148 3.9596
Criseld 50 105 4 84.753 0.8982
The gray rows denote that the analysis is terminated due to errors or convergence to spurious
congurations
The results of the analyses are compared in terms of robustness, evaluated on the basis of
the maximum displacement provided by the methods, and eciency.
The DCB is characterized by a smooth strain-softening response which does not feature
highly nonlinear phenomena such as snap-backs. As a consequence, even classic arc-length
methods are suitable to perform this simulation, while the HRa, the HC and the Criseld's
arc-lengths undergo a premature stop of the analysis.
The HRi method is the only algorithm among the H-family to end the analysis. This
solver performs 193 iterations in 70 load steps, requiring 8 increment cuts and providing a
competitive CPU time. After 70 increments, the HRi arc-length converges on a spurious
conguration.
The HRa and HC methods result in a premature stop of the analysis: the HRa arc-length
converges on spurious solutions after 45 load steps, while the HC algorithm stops because of
the computation of complex roots after 39 increments. As a consequence, the HC method
is the least robust of the H-family despite providing the lowest CPU time.
The DE arc-length is the least ecient strategy to analyse the DCB. It shows almost the
same robustness of the HRi method, but requires a small step size to avoid a premature
Arc-Length Methods: Numerical Simulations 71
0.2
0.15
Load [N]
0.1
0.05
0
0 0.5 1 1.5 2 2.5 3 3.5
Displacement [mm]
Figure 6.5: DCB: results obtained with the HRi and the DE methods
stop. As a consequence, an extremely high number of iterations and load steps is observed,
and the CPU time is the highest among the six methods investigated. After 249 increments
the DE arc-length converges on a spurious conguration.
According to the data reported in Table 6.4, the Riks' method is the most robust method,
as it reaches the highest value of displacement. This algorithm performs 233 iterations
in 110 load steps, resulting in a low CPU time. Using the Riks' method, the analysis is
terminated after 110 steps because the required step-length is below the minimum value
ξmin = 1.0 · 10−5 .
The Criseld's arc-length is the least robust method, as it provides the lowest value of
maximum displacement. The Criseld's method stops prematurely, after 50 load steps,
because of the arising of complex roots.
Due to the smooth response of the DCB, the Riks' method provides the best performance,
resulting the most robust method and leading to a relatively low CPU time. In this test,
the H-family methods do not provide signicant advantages with respect to the traditional
arc-length strategies. This result is expected, as the DCB provides a smooth response
without highly nonlinear phenomena and characterized by a strong interaction between
geometric and material nonlinearities. However, the HRi arc-length is superior to the DE
method in terms of eciency, leading to a considerable saving of CPU time.
The three parts of the structure are made of isotropic material characterized by Young's
modulus E = 70000 MPa and null Poisson's ratio. Plane strain conditions are assumed.
Two cohesive zones are introduced at the interfaces between the parts. The properties of
the cohesive zones are reported in Table 6.6.
Cohesive Elements
The structure is modelled using 150 nonlinear shell elements and 50 cohesive elements.
The external loads are applied to the rightmost nodes of the mesh by means of nodal forces.
The horizontal displacement of the leftmost nodes are xed to react the applied loads. The
supports are realized xing the vertical displacement of the top and bottom nodes in the
central part of the model.
The parameters adopted to perform the analyses are reported in Table 6.7.
A tolerance tol = 6.0 · 10−2 is adopted for the Criseld's and the HC methods, while
tol = 3.0 · 10−2 is set for all the other algorithms.
In Figure 6.8, the structural response and four representative congurations are shown.
Arc-Length Methods: Numerical Simulations 73
Method ∆λ0 ∆l0 (mm) ∆lmax (mm) ∆τ0 (Nmm) ∆τmax (Nmm) ξmax Wswitch Wmemory ∆τswitch (Nmm)
HRi 5.0 − − − 6.0 · 10−1 1.0 − 1.0 −
HRa 5.0 − − − 6.0 · 10−1 1.0 − 1.0 −
HC 10.0 10.0 10.0 − 2.0 · 10−1 1.0 0.8 0.7 −
DE 5.0 − − 5.0 · 10−2 6.0 · 10−1 − − − 1.0 · 10−6
Criseld 1.0 10.0 10.0 − − 1.0 − − −
Riks 5.0 − − − − 1.0 − − −
C
60
B
50
40
Load [N]
D
30
20
A
10
0
0 0.05 0.1 0.15 0.2 0.25
Displacement [mm]
Figure 6.8: Pull-out test: structural response and deformed congurations (displacements
10×)
The structural response of Figure 6.8 is characterized by a sharp snap-back. The initial
behaviour is linear elastic (point A). When the load is increased, all the cohesive elements
start damaging in pure mode II (point B). When the critical load is reached (point C), two
unstable mode II cracks rapidly grow, and the structure shows a strain-softening behaviour
resulting in a snap-back. Complete debonding is reached by means of a linear dissipative
74 Arc-Length Methods: Numerical Simulations
equilibrium branch (curve C-D). When all the cohesive elements are completely damaged,
the load-carrying capacity of the structure is null and a residual displacement is left.
The analyses are terminated after performing a prescribed number of load steps. When
all the cohesive elements are completely damaged, the structural model becomes singular
and the methods fail to converge. As a consequence, the number of increments is chosen
to stop the simulations before reaching the complete opening of all the cohesive elements.
40
Load [N]
30
20
10
0
0 0.05 0.1 0.15 0.2 0.25
Displacement [mm]
In Figure 6.10(a), the comparison is presented between the load-shortening curves obtained
with the HC and the DE methods.
50 50
40 40
Load [N]
Load [N]
30 30
20 20
10 10
0 0
0 0.05 0.1 0.15 0.2 0.25 0 0.05 0.1 0.15 0.2 0.25
Displacement [mm] Displacement [mm]
(a) Results obtained with the HC and the DE (b) Discretization provided by the HRi method
methods
Figure 6.10: Pull-out test: results obtained with the HC, the DE and the HRi methods
The performances of the methods are presented in Table 6.8, where the critical loads
Arc-Length Methods: Numerical Simulations 75
No. of Crit.
No. of No. of CPU
Method Increm. Load
Increm. Iter. Time (s)
Cuts (N)
HRi 21 24 0 25.939∗ 63.5117
HRa 21 23 0 24.966∗ 63.5039
HC 27 27 0 31.613 64.8854
DE 35 37 0 38.664 64.0828
Riks 9 110 10 84.9878 65.2848
Criseld 26 36 1 36.002 64.9872
The gray rows denote that the analysis is terminated because the required step-length is
below the minimum prescribed value
In this test, the results of the simulations are compared in terms of eciency and of quality
of the discretization of the path.
All the methods, apart from the Riks' arc-length, are able to reach the end of the sim-
ulation. In particular, the Riks' method is not able to overcome the snap-back. In the
neighbourhood of the snap-back, this procedure performs several step-length reductions,
and then stops because the solver requires a step size below the minimum prescribed value
ξmin = 1.0 · 10−2 .
The HRi and the HRa methods complete the analysis in few load steps, resulting in the
lowest CPU times. However, they provide a coarse discretization of the ascending part of
the path (see e.g. Figure 6.10(b)). The HC method gives the best performance. Indeed,
this algorithm performs only 27 iterations in 27 increments resulting in a slightly higher
CPU time than the HRi and the HRa arc-lengths, but provides a precise discretization of
the equilibrium path.
On the other hand, the DE arc-length performs a higher number of load steps and itera-
tions, resulting in the longest CPU time among the methods that completed the simulation.
In this example, the Criseld's arc-length is not ecient, as it performs a relevant number
of iterations, yielding to a high CPU time.
It is worth noting that the presence of a linear dissipative branch after the snap-back causes
the doubling back of the solution in the Criseld's method if the lowest residual method
is adopted as root selection scheme.
The introduction of the dissipated energy increment method in the HC algorithm com-
pletely solves the problem, providing also a tangible reduction of the CPU time.
76 Arc-Length Methods: Numerical Simulations
A B
The specimen is made up of two parts characterized by dierent thickness. The material
is isotropic, and is characterized by a Young's modulus E = 230000 MPa and a Poisson's
ratio ν = 0.25. A plane strain constitutive law is assumed. A cohesive zone is introduced
at the interface between the parts, whose properties are reported in Table 6.10.
To prevent penetration and damaging due to the shear component of the applied loads, the
cohesive elements marked in Figure 6.11 by the letters A and B, are modied by increasing
the penalty stiness kd , the traction corresponding to the onset of delamination in mode II
T and the mode II fracture toughness GII . The properties of these two cohesive elements
are presented in Table 6.11.
Arc-Length Methods: Numerical Simulations 77
Cohesive Elements
In the two parts of the structure, 240 nonlinear shell elements are introduced. The interface
between the two parts is modelled using 60 cohesive elements.
With reference to Figure 6.12, the boundary conditions are applied xing both displace-
ments of the node H, and the horizontal displacement of the node S.
The simulations are performed adopting the parameters reported in Table 6.12.
Method ∆λ0 ∆l0 (mm) ∆lmax (mm) ∆τ0 (Nmm) ∆τmax (Nmm) ξmax Wswitch Wmemory ∆τswitch (Nmm)
HRi 1.0 − − − 3.0 · 10−2 1.0 − 1.0 −
HRa 1.0 − − − 3.0 · 10−2 1.0 − 1.0 −
HC 1.0 1.0 1.0 − 3.0 · 10−2 1.0 1.0 1.0 −
DE 0.1 − − 2.0 · 10−4 3.0 · 10−2 − − − 1.0 · 10−6
Criseld 1.0 1.0 1.0 − − 1.0 − − −
Riks 1.0 − − − − 1.0 − − −
A preliminary investigation suggested the use of a tolerance tol = 5.0 · 10−3 for the Cr-
iseld's, the HC and the Riks' methods, a tolerance tol = 6.0 · 10−2 for the DE arc-length
and a tolerance tol = 3 · 10−2 for the HRi and the HRa methods.
The condition λ ≥ 20 is prescribed to terminate the analyses.
In Figure 6.13, the load-displacement curve is reported together with four deformed con-
gurations.
78 Arc-Length Methods: Numerical Simulations
40
D
35
30
C
25
Load [N]
20
15 B
10
5
A
0
0 0.02 0.04 0.06 0.08 0.1 0.12
Displacement [mm]
25
Load [N] 20
15
10
0
0 0.02 0.04 0.06 0.08 0.1 0.12
Displacement [mm]
The results obtained with the HRi and the DE algorithms are shown in Figure 6.15.
35
30
25
Load [N]
20
15
10
0
0 0.02 0.04 0.06 0.08 0.1 0.12
Displacement [mm]
Figure 6.15: L-shaped specimen: results obtained with the HRi and the DE methods
In Table 6.13, the numerical performances of the methods are compared in terms of number
of steps, iterations and step size reductions and CPU time. In the last column of Table 6.13,
the value of the nal displacement of the node S, computed by each method, is reported.
In this example, since almost all the methods reach the end of the analysis, the performance
of the methods is considered only in terms of eciency.
As far as the response of the structure under consideration is relatively simple, excellent
performances are expected from ordinary arc-length methods. The analysis is completed
by all of the algorithms, except Criseld's method.
As expected, the Riks' arc-length provides the best performance. This method ends the
analysis in 75.695 s, performing only 34 load steps and 42 iterations. To avoid a premature
80 Arc-Length Methods: Numerical Simulations
No. of Final
No. of No. of CPU
Method Increm. Disp.
Increm. Iter. Time (s)
Cuts (mm)
HRi 91 128 0 220.166 0.1096
HRa 93 153 3 260.251 0.1097
HC 110 121 0 232.652 0.1100
DE 102 182 3 302.299 0.1100
Riks 34 42 0 75.695 0.1113
Criseld 12 21 0 35.423 0.0057
The gray rows denote that the analysis is terminated due to convergence on a spurious solution
stop of the simulation, all the other algorithms require a smaller step size, leading to a
higher number of increments and iterations, and resulting in a longer CPU time.
Among the H-family, the HRi method is the most ecient, as it performs the analysis in
220.166 s. The HC arc-length performs 110 load steps in 121 iterations without requiring
any step size reduction. Despite computing a lower number of iterations, the HC method
results in a slightly higher CPU time than the HRi arc-length. The HRa algorithm is the
worst in the H-family. It performs 93 increments in 153 iterations and requires 3 step size
reductions, providing a high CPU time.
The DE method performs 102 load steps in 182 iterations and requires 3 increment cuts,
completing the analysis in 302.299 s, which is the highest CPU time.
The only method undergoing a premature stop of the analysis is Criseld's arc-length,
which converges on a spurious conguration after 12 increments.
In this simulation, as predicted, the Riks' arc-length is the most suitable method due to
the smooth, monotonically increasing structural response. The Riks' method shows an
overwhelming superiority on all the other strategies. Among the H-family algorithms,
the HRi and the HC methods provide similar performance, while the HRa arc-length is
less ecient. All the H-family methods are more ecient than the DE arc-length, which
provides the highest CPU time.
This example conrms that, in case of smooth responses that do not show a high degree of
nonlinearity and snap-backs, the DE method is not ecient, while the H-family algorithms
still provide satisfactory performance.
The two parts of the structure are made of isotropic material with modulus E = 230000 MPa
and Poisson's ratio ν = 0.25. A plane strain constitutive model is adopted. At the inter-
face between the two parts, a cohesive zone is introduced. The cohesive constitutive law
is dened by means of the quantities reported in Table 6.15.
The numerical model includes 200 nonlinear shell elements and 50 cohesive elements.
The nite element model is compressed by means of horizontal nodal forces applied at the
leftmost and rightmost nodes. With reference to Figure 6.17, the boundary conditions are
applied by xing all the degrees of freedom of the node H and the vertical displacement of
the node S.
The simulations are performed using the parameters reported in Table 6.16.
A tolerance tol = 3.0·10−2 is adopted for the HRi and the HRa methods, and tol = 5.0·10−3
is set for the other algorithms.
The analyses are terminated after a prescribed number of load steps. This number is
determined to end the analyses after the complete opening of the delamination, near a
conguration characterized by a horizontal displacement u = 0.09 mm.
The structural response and four representative congurations are reported in Figure 6.18.
82 Arc-Length Methods: Numerical Simulations
Method ∆λ0 ∆l0 (mm) ∆lmax (mm) ∆τ0 (Nmm) ∆τmax (Nmm) ξmax Wswitch Wmemory ∆τswitch (Nmm)
HRi 3.0 − − − 1.0 · 10−3 1.0 − 1.0 −
HRa 3.0 − − − 1.0 · 10−3 1.0 − 1.0 −
HC 3.0 3.0 3.0 − 5.0 · 10−4 1.0 0.8 1.0 −
DE 5.0 − − 5.0 · 10−4 2.0 · 10−3 − − − 1.0 · 10−4
Criseld 5.0 5.0 5.0 − − 1.0 − − −
Riks 2.0 − − − − 1.0 − − −
Delamination Buckling
200
B
180
160
140
120
Load [N]
100
C
80
60
40
D
20
A
0
0 0.005 0.01 0.015 0.02 0.025
Displacement [mm]
The structural response reported in Figure 6.18 exhibits a strain-softening behaviour char-
acterized by an extremely sharp snap-back. The response shows an initial linear elastic
part (point A). When the load is increased, strains concentrate at the tips of the initial
crack. When the critical load is reached (point B), an unstable mode I delamination starts
propagating. Delamination growth results in a progressive reduction of the load-carrying
capacity of the structure. This phenomenon leads to a strain-softening behaviour character-
ized by an extremely sharp snap-back. After crossing the critical point, a linear descending
branch of the path begins. This branch is characterized by a dissipative behaviour caused
by the continuous delamination growth (point C). When most of the cohesive elements are
completely damaged, the structure shows a constant load-carrying capacity, corresponding
to that of the two single parts of the model (point D).
Delamination Buckling
250
Crisfield
Riks
Dissipated Energy
Hybrid Crisfield
200
Hybrid Riks
Hybrid Ramm
150
Load [N]
100
50
0
0 0.005 0.01 0.015 0.02 0.025
Displacement [mm]
In Figure 6.20, the equilibrium paths obtained with the HRa and the DE methods are
shown.
The comparison of the numerical performances of the methods is summarized in Table
6.17. The critical loads computed by the dierent methods are reported in the last column
of Table 6.17.
In this example, it is useful to focus the comparison between the various algorithms in
terms of eciency, intended as the analysis CPU time.
Despite the growth of a delamination, the response of the structure under consideration
is dominated by buckling. It follows that the nonlinearities arising in the simulations are
primarily geometric, and the Riks' and the Criseld's methods are expected to perform
well.
In this test, all the algorithms, except the Criseld's and the HC arc-lengths, complete the
analysis without errors.
As expected, the best performance is provided by the Riks' method. Despite the presence
84 Arc-Length Methods: Numerical Simulations
Delamination Buckling
250
Dissipated Energy
Hybrid Ramm
200
150
Load [N]
100
50
0
0 0.005 0.01 0.015 0.02 0.025
Displacement [mm]
Figure 6.20: Delamination buckling: results obtained with the HRa and the DE methods
No. of Max.
No. of No. of CPU
Method Increm. Load
Increm. Iter. Time (s)
Cuts (N)
HRi 95 95 0 136.3968 196,5715
HRa 95 95 0 137.5297 196,7529
HC 79 87 0 122.8881 195,9603
DE 55 100 0 115.1555 202,1178
Riks 70 71 0 99.8005 197,8872
Criseld 28 61 2 69.1770 220,4523
The gray rows denote that the analysis is terminated due to errors or to the doubling back of
the solution
of a sharp snap-back, this procedure reaches the end of the analysis in the lowest CPU
time, 99.8005 s, performing only 71 iterations in 70 increments.
The H-family methods and the DE arc-length provide similar CPU times. The HRa and the
HRi arc-lengths demonstrate identical performances. They complete the analysis perform-
ing one iteration per load step. The HC method performs fewer load steps and provides
a slightly lower CPU time, but stops just before the end of the simulation because of the
computation of complex roots.
The DE method completes the analysis in only 115.1555 s, resulting slightly more ecient
than the H-family algorithms.
The Criseld's arc-length is not suitable to perform this simulation. After performing 28
load steps, the adoption of the increment direction method as root selection scheme causes
the doubling back of the solution, and the algorithm cannot overcome the snap-back.
Since the nonlinearities present in this test are essentially geometric, Riks' arc-length is the
most ecient method. On the other hand, the H-family methods and the DE arc-length
provide almost the same performance, resulting in similar CPU times.
Arc-Length Methods: Numerical Simulations 85
The structure consists of two horizontal parts separated by an interface. The two parts
are xed at one end and loaded at the other end with two concentrated forces.
The dimensions of the structure are reported in Table 6.18.
The two parts of the beam are made of isotropic material. A plane strain constitutive
model is adopted. The isotropic material is dened by a Young's modulus E = 70000 MPa
and a Poisson's ratio ν = 0.3. A cohesive zone is introduced at the interface between the
horizontal parts. The properties of the cohesive constitutive law are presented in Table
6.19.
Table 6.19: Variable thickness DCB: properties of the cohesive constitutive law
The structure is discretized using 474 nonlinear shell elements and 66 cohesive elements.
The nite element model is loaded by means of two nodal forces applied to the upper
and lower nodes of the left side of the mesh. The boundary conditions are applied by
constraining all the degrees of freedom of the rightmost nodes.
The simulations are performed using the parameters reported in Table 6.20.
Method ∆λ0 ∆l0 (mm) ∆lmax (mm) ∆τ0 (Nmm) ∆τmax (Nmm) ξmax Wswitch Wmemory ∆τswitch (Nmm)
HRi 1.0 − − − 1.0 · 10−1 1.0 − 1.0 −
HRa 1.2 − − − 1.0 · 10−1 1.2 − 1.0 −
HC 1.0 1.0 1.0 − 1.0 · 10−1 1.0 0.8 0.7 −
DE 2.0 − − 1.0 · 10−1 1.0 · 10−1 − − − 1.0 · 10−6
Criseld 1.0 1.0 1.0 − − 1.0 − − −
Riks 1.0 − − − − 1.2 − − −
To avoid a premature stop of the analyses and provide sucient precision, a tolerance
tol = 6.0 · 10−2 is adopted for all the methods.
The analyses are terminated after a prescribed number of load increments. This number
is xed to end the simulations when the vertical displacement of the loaded nodes is close
to 1.8 mm.
The load-displacement curve and the deformed congurations at dierent load levels are
presented in Figure 6.23.
Arc-Length Methods: Numerical Simulations 87
20
15
Load [N]
C
10
D
5
A E
F
0
0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2
Displacement [mm]
Figure 6.23: Variable thickness DCB: structural response and deformed congurations
The equilibrium path in Figure 6.23 is characterized by the presence of alternate ascending
and descending parts separated by snap-backs. The structural behaviour shows an initial
linear elastic part (point A). As the load is increased, the cohesive elements start damaging.
At the critical load (point B), an unstable mode I fracture starts propagating and the
structure shows a strain-softening behaviour. The thickness variation implies the presence
of zones of the model characterized by dierent stiness. When the crack tip is located in
a zone of thickness t1 , which is softer, the structural response results in an ascending part
88 Arc-Length Methods: Numerical Simulations
of the path (points D and F). On the other hand, when the crack tip is located in a zone of
thickness t2 , which is stier, the crack propagates more rapidly and the equilibrium path
shows a snap-back followed by a descending part (points C and E).
15
Load [N]
10
0
0 0.5 1 1.5 2
Displacement [mm]
The equilibrium paths computed by means of the HC and the DE methods are compared
in Figure 6.25.
20
15
Load [N]
10
0
0 0.5 1 1.5 2 2.5
Displacement [mm]
Figure 6.25: Variable thickness DCB: results obtained with the HC and the DE methods
Arc-Length Methods: Numerical Simulations 89
The numerical performances of the methods are presented in Table 6.21 in terms of num-
ber of steps, iterations and step size reductions, and CPU time. The value of the nal
displacement is reported in the last column of Table 6.21.
No. of Final
No. of No. of CPU
Method Increm. Disp.
Increm. Iter. Time (s)
Cuts (mm)
HRi 102 116 0 524.870 1.8030
HRa 84 125 2 546.873 1.9093
HC 103 124 0 552.786 2.0579
DE 80 154 0 629.010 1.8599
Riks 49 117 4 484.759∗ 2.3666
Criseld 58 68 0 305.472 0.1127
The gray rows denote that the analysis is terminated due to the computation of complex roots
This test is characterized by a complex strain-softening response with snap-backs and non-
linear dissipative branches. In this case, the Riks' and the Criseld's arc-lengths are not
supposed to perform well, while the DE method and the H-family algorithms should pro-
vide more appealing performance.
In this example, all the algorithms, apart from the Criseld's arc-length, reach the end of
the simulation. For this reason, the results are analysed in terms of eciency, intended as
the CPU time of the analysis.
The Criseld's method provides the lowest CPU time, but this fact is due to the premature
stop of the simulation caused by the arising of complex roots after 58 increments.
Among the H-family algorithms, the HRi method provides the lowest CPU time, although
performing a high number of load steps. In any case, the HRi method is, in this case,
the most ecient of the class. With respect to the HRi arc-length, the HRa method com-
putes fewer increments but a high number of iterations, providing a longer CPU time. The
HC arc-length is even less ecient than the HRa method, completing the simulation in
552.786 s.
The DE arc-length performs only 80 load steps. However, it requires 154 iterations, pro-
viding the highest CPU time, 629.010 s.
The Riks' method provides the lowest CPU time among the algorithms that complete the
analysis, 484.759 s, performing 117 iterations in 49 load steps and requiring 4 step size re-
ductions. However, Figure 6.24 shows that it is not able to accurately trace the equilibrium
path after the snap-backs. For this reason, the Riks' method is not suitable to analyse this
structural model.
In this test, characterized by a response with snap-backs and highly nonlinear dissipative
branches, the H-family methods, and the HRi arc-length in particular, are the most ap-
pealing algorithms. All of the H-family methods are able to complete the analysis in a
low CPU time and accurately trace the equilibrium path. The DE arc-length results less
ecient than the H-family algorithms, leading to the highest CPU time.
The Riks' and the Criseld's methods are unsuitable to analyse this model: the former
provides a bad quality of the results, the latter leads to a premature stop of the analysis.
90 Arc-Length Methods: Numerical Simulations
The beam is made up of two horizontal parts separated by an interface. The interface is
discontinuous, as it is interrupted by the presence of 5 square holes. The structure is xed
at one side and loaded at the other side with two concentrated forces, as shown in Figure
6.26.
The geometric dimensions of the structure are reported in Table 6.22.
The two parts of the beam are made of isotropic material characterized by modulus E =
1000 MPa and Poisson's ratio ν = 0.3. A plane strain constitutive law is assumed. At the
interface between the two parts, a cohesive zone is introduced. The cohesive constitutive
law is characterized by the properties reported in Table 6.23.
Table 6.23: Perforated cantilever beam: properties of the cohesive constitutive law
The beam is modelled by means of 288 nonlinear shell elements and 24 cohesive elements.
Six cohesive zones, each containing 4 cohesive elements, are present in the model.
The nite element model is loaded by means of two nodal forces applied to the top and
bottom rightmost nodes of the mesh. The boundary conditions are applied xing all the
degrees of freedom of the leftmost nodes.
The simulations are performed using the parameters reported in Table 6.24.
Method ∆λ0 ∆l0 (mm) ∆lmax (mm) ∆τ0 (Nmm) ∆τmax (Nmm) ξmax Wswitch Wmemory ∆τswitch (Nmm)
HRi 0.2 − − − 4.0 · 10−1 1.0 − 1.0 −
HRa 0.3 − − − 4.0 · 10−1 1.0 − 1.0 −
HC 0.2 2.0 2.0 − 4.0 · 10−1 1.0 0.8 1.0 −
DE 0.2 − − 3.0 · 10−1 3.0 · 10−1 − − − 1.0 · 10−8
Criseld 0.5 0.5 0.5 − − 1.0 − − −
Riks 1.5 − − − − 1.0 − − −
A tolerance value equal to 8.0 · 10−2 is adopted for all the methods, on the basis of a
preliminary analysis.
The condition λ ≥ 20 is prescribed to terminate the analyses.
The structural response and six deformed congurations are shown in Figure 6.28.
92 Arc-Length Methods: Numerical Simulations
6
Load [N]
4
C
3
2
D E
1 F
A
0
0 2 4 6 8 10 12 14 16 18 20 22
Displacement [mm]
Figure 6.28: Perforated cantilever beam: structural response and deformed congurations
(displacements 5×)
I fracture starts propagating in the rst cohesive zone. Crack propagation results in a
strain-softening behaviour, leading to a descending dissipative equilibrium branch (point
C).
Every time a cohesive zone is completely damaged, an ascending linear elastic part of
the path begins (point D). Along the elastic parts, the structure is progressively loaded
and strain concentration is experienced at the tip of the subsequent cohesive zone. When
the critical load of such cohesive zone is exceeded, an unstable fracture propagates. This
occurrence results in a snap-back and a descending branch in the equilibrium path (point
E).
At the crack opening onset, the applied load provides traction in the rst three interface
elements of the cohesive zone being processed, while the fourth one is compressed. When
these three elements are almost completely damaged, the load is progressively transferred
to the fourth one. The damaging process of this last element results in a secondary snap-
back (point F).
The complexity of this example enables to verify the performance of the H-family methods
in highly nonlinear problems characterized by multiple cohesive zones, alternate elastic and
dissipative parts and sharp snap-backs.
The equilibrium paths obtained by means of the HC and the DE algorithms are reported
in Figure 6.30.
The numerical performances of the methods are compared in Table 6.25, in terms of num-
ber of load steps, iterations and step size reductions, CPU time and number of completely
damaged cohesive elements. In the last column of Table 6.25, the rst critical load com-
puted by each strategy is reported.
94 Arc-Length Methods: Numerical Simulations
6
Load [N]
0
0 2 4 6 8 10 12 14 16 18 20 22
Displacement [mm]
Figure 6.30: Perforated cantilever beam: results obtained with the HC and the DE methods
No. of
No. of Max.
No. of No. of CPU Dam.
Method Increm. Load
Increm. Iter. Time (s) Coh.
Cuts (N)
Elem.
HRi 85 103 1 200.853 11 9.7529
HRa 42 96 5 161.025 4 9.8707
HC 192 213 0 488.021 16 9.9047
DE 91 301 17 492.603 13 9.7244
Riks 26 315 19 495.476 2 9.9258
Criseld 40 54 1 104.740 0 9.8839
The gray rows denote that the analysis is terminated due to errors or convergence on spurious solutions
In this test, the performances of the algorithms are compared in terms of eciency and
robustness, intended as the number of cohesive elements that are completely damaged
during the analysis.
Since the structural response is characterized by extremely complex phenomena, the Riks'
and the Criseld's methods are not expected to perform well, whereas the DE and the
H-family arc-lengths should provide excellent performances.
None of the methods is able to completely open the beam. However, the analyses performed
with the HC, the HRi and the DE arc-lengths can be considered completed, as the number
of damaged cohesive elements is relatively high.
The most robust method is the HC arc-length, which terminates only after the complete
opening of the rst four cohesive zones and the partial damage of the fth one. This
algorithm is ecient, as it does not provide the highest CPU time despite tracing the
longest equilibrium path. It stops after 192 increments because of the computation of
complex roots. The HRi method leads to the complete damage of 11 cohesive elements.
It performs 85 load steps in 103 iterations, and requires 1 increment cut, providing a low
CPU time. However, after 85 increments it converges on an elastic unloading solution. The
Arc-Length Methods: Numerical Simulations 95
HRa arc-length is the worst method in the H-family. It converges on an elastic unloading
solution after 42 load steps, when only 4 cohesive elements are completely damaged.
Good robustness properties are observed for the DE arc-length, as it leads to the complete
damage of 13 cohesive elements. However, it is not particularly ecient, as it provides
a CPU time that is slightly higher than the one resulting from the HC method, despite
stopping much earlier. After 91 increments, the DE arc-length fails to converge and stops
because the required step size is below the minimum prescribed value ∆τmin = 1.0 · 10−3 .
The Riks' method is able to cross the rst load peak, leading to the complete damage of
two cohesive elements. However, after 26 increments it fails to converge and stops because
the required step length is below the minimum prescribed value ξmin = 1.0 · 10−3 . Even
the Criseld's method is inadequate for the analysis of this problem as the solution is
interrupted after few increments.
In this simulation, the HC method gives the best results, leading to the complete damage
of the highest number of cohesive elements. In addition, it does not provide an excessively
high CPU time. The DE arc-length is less robust than the HC algorithm, but they provide
similar CPU times. The HRi method is less robust than the HC and the DE arc-lengths,
and completes the analysis in a low CPU time.
In this example, characterized by complex behaviours, the Riks' and the Criseld's methods
show their limits. These two strategies are not suitable to perform this simulation, as they
provide a premature stop of the simulations.
History of γ
1
0.9
0.8
0.7
0.6
0.5
γ
0.4
0.3
0.2
0.1
0
0 20 40 60 80 100 120 140 160 180
Increment
The results illustrate that the parameter γ becomes close to zero in presence of elastic
behaviour and becomes close to unity when dissipative processes occur. The transition of
the weighting function γ from low to high values requires few load steps.
96 Arc-Length Methods: Numerical Simulations
It follows from Figure 6.31 that, setting Wswitch = 0.8, the HC arc-length traces the
dissipative branches adopting the dissipated energy increment method as root selection
scheme. This result is conrmed in Figure 6.32, where dierent markers are used to denote
the root selection schemes used to compute the equilibrium points.
6
Load [N]
0
0 2 4 6 8 10 12 14 16 18 20 22
Displacement [mm]
Adopting the parameters in Table 6.24, the dissipated energy increment method computes
two roots associated with negative dissipated energies for twelve times. As a result, the
two spurious branches circled in Figure 6.33 are traced.
1.8
1.6
1.4
1.2
Load [N]
0.8
0.6
0.4
0.2
0
5 6 7 8 9 10 11 12 13
Displacement [mm]
After computing few spurious equilibrium points, the HC method has always been able to
go back to the equilibrium path and keep on tracing it correctly.
Arc-Length Methods: Numerical Simulations 97
6.8 Conclusions
The numerical examples analysed in this chapter enable to investigate the performance of
the considered methods in a wide range of structural responses.
As expected, the Criseld's and the Riks' methods are the most suitable strategies to
analyse structures characterized by smooth strain-softening responses in which geometric
nonlinearities are dominant. However, when the structural behaviour is characterized by
strong interactions between geometric and material nonlinearities, they usually determine
a premature stop of the simulation or become inecient.
On the other hand, the dissipated energy method demonstrates excellent performance when
the structural behaviour is characterized by a high degree of nonlinearity and is dominated
by material nonlinearities. Nevertheless, this procedure becomes inecient when the re-
sponse is strongly inuenced by geometric nonlinearities.
The hybrid-constraint methods show excellent performance in presence of highly nonlinear
strain-softening responses characterized by material nonlinearities, but perform well also
in case of smooth responses showing both geometric and material nonlinearities. As a
consequence, they turn out to be general purpose methods that can be adopted to solve a
wide range of problems.
To properly choose the algorithm to adopt, with the already existing procedures, the user
must know in advance which kind of response to expect. One of the advantages provided
by the hybrid-constraint arc-lengths is that they do not require preliminary investigations
of the structural behaviour, as they are versatile strategies that provide satisfactory per-
formance both in case of geometric and material nonlinearities. Moreover, they rely on few
algorithmic parameters that can be tuned in few trials.
These considerations suggest that the adoption of the hybrid-constraint methods can sig-
nicantly improve delamination analyses making them faster and easier to perform.
98 Arc-Length Methods: Numerical Simulations
Chapter 7
Continuation Methods
In this chapter, an introduction to continuation methods is given. Firstly, an overview
of continuation methods is provided and the numerical strategies adopted in this work to
compute the critical points and to perform branch switching are discussed. Then, two
new continuation methods are presented. The rst procedure is a modied version of the
well-known Riks' continuation method, the second one is an innovative strategy based on
energy dissipation, and is specically developed for problems involving dissipative strain-
softening responses.
An overview of the topics discussed in the chapter is presented in Figure 7.1.
Continuation Methods
General Features
Numerical Methods
Preliminaries
7.1 Preliminaries
Continuation methods are a class of numerical methods to compute approximate solutions
of a system of parametrized nonlinear equations. A continuation method can be dened
as a procedure which, starting from an initial solution x0 corresponding to a value λ̃0 of
100 Continuation Methods
the parameter λ̃, produces approximations xi of x(λ̃i ) for a sequence of parameter values
λ̃1 , . . . , λ̃N in the interval of denition of the parameter.
Continuation methods have been successfully adopted in the past to perform post-buckling
analyses.
Post-buckling analyses are usually performed by means of a nonlinear simulation realized
with a traditional quasi-static technique (e.g. force-control, displacement-control or arc-
length approaches) on a model perturbed introducing an imperfection with the shape of
the rst buckling mode. This procedure is illustrated in Figure 7.2, where the dashed
line represent the bifurcation diagram of the structure and the solid line is the solution
provided by an arc-length method.
Load
Load
Displacement Displacement
(a) Primary path computed using a perfect model (b) Bifurcation branch traced using a model with
imperfection
As shown in Figure 7.2(a), the primary equilibrium path can be traced by performing a
quasi-static nonlinear analysis on a perfect (without imperfections) model. The introduc-
tion of an imperfection with the shape of the rst buckling mode in the model enables to
trace the bifurcation branch of the rst mode (see Figure 7.2(b)). When the rst critical
load is approached, this strategy helps the structure to naturally proceed along the bifur-
cation branch. However, if a mode corresponding to a higher critical load is adopted as
imperfection, the structure is likely to converge on the branch of rst buckling mode again.
Furthermore, the presence of the imperfection provides a smooth transition from the pri-
mary path to the bifurcation branch and the critical load cannot be identied precisely. It
follows that, usually, this approach does not enable to explore the complete post-buckling
behaviour of the structure and it is not able to accurately predict the critical loads without
separately performing a linear buckling analysis.
Continuation methods enable to detect both limit and bifurcation points of the structure
performing a single quasi-static nonlinear analysis on a perfect model. Moreover, they can
be applied to correctly compute the critical loads and to trace all the desired bifurcation
branches arising from the bifurcation points previously computed. In addition, if a sec-
ondary bifurcation point is detected while a primary bifurcation branch is being traced, the
method is capable of tracing the secondary bifurcation branches arising from this point,
which is impossible with ordinary techniques.
The procedure of post-buckling analyses performed with continuation methods is illus-
trated in Figure 7.3, where the bifurcation diagram of the structure is reported in dashed
Continuation Methods 101
lines, the solid lines denote the solution provided by the continuation method and the black
dots mark the critical points.
Load
Load
Displacement Displacement
(a) Primary path and critical point computation (b) Continuation on bifurcation branches
Firstly, the continuation method traces the primary equilibrium path and computes the
critical points as shown in Figure 7.3(a). Then, the method traces the bifurcation branches
starting from the bifurcation points previously computed, as reported in Figure 7.3(b).
This strategy provides a precise computation of the critical loads and the bifurcation
branches arise directly from the bifurcation points.
To introduce the continuation methods, consider the nonlinear equations governing the
equilibrium of the structure:
The idea behind continuation is that the system in Eq. (7.1) denes implicitly a curve
c of solution points that can be continuously parametrized by means of a parameter λ̃.
Dierent solutions are obtained depending on the value assumed by the parameter. Given
an initial point [a0 , λ0 ] on a solution branch, corresponding to an initial value λ̃0 of the
parameter λ̃, the continuation problem is to calculate the branch c(λ̃), which consists in
computing further solutions on the equilibrium branch until one reaches a target point.
Load
Displacement Displacement
Displacement
dH(c) 0
c = 0, k c0 k= 1, c(0) = [a0 , λ0 ] (7.3)
dc
where ( )0 denotes dierentiation with respect to the path parameter s.
Methods for the numerical solution of the initial value problems, such as predictor-corrector,
can be used to solve Eq. (7.3). They enable to integrate the dierential problem coarsely;
then they locally solve H(c(s)) = 0 using an iterative method as a stabilizer.
It is worth observing that predictor-corrector continuation methods are considerably dier-
ent if compared to the methods for the numerical integration of initial value problems, also
called predictor-corrector methods. Despite the similarity of these strategies, the corrector
process in the continuation methods thrives on the powerful contractive properties of the
solution set H−1 (0) for iterative methods such as Newton's method [3]. This property is not
Continuation Methods 103
valid for solution curves of general initial value problems, in fact their corrector processes
converge in the limit only to an approximating point, the approximating quality of which
depends on the step size.
The dierentiation process leads to the appearance of the derivatives with respect to the
parameter s, which is one of the main dierences between arc-length techniques and con-
tinuation methods. Furthermore, it is an essential feature of continuation methods, which
allows to easily compute critical points along the equilibrium path and to trace bifurcation
branches starting from these points. The solution of a linear system used to compute the
derivatives, and an eigenvalue decomposition of the stiness matrix performed to detect
critical points require an additional computational eort, that reduce the eciency of con-
tinuation methods with respect to their arc-length counterpart.
For this reason, although continuation methods may represent a breakthrough in post-
buckling analyses, they are not appealing if the aim of the simulation is merely the com-
putation of the nonlinear equilibrium path.
The development of a continuation algorithm to trace complete bifurcation diagrams of a
structure should consider:
The k -th critical point can be dened by means of the following generalized eigenvalue
problem:
(K − ωk I)vk = 0 (7.5)
where ωk is the k-th eigenvalue of the stiness matrix, I is the identity matrix and vk is
the k-th eigenvector of the stiness matrix.
The eigenvalues ωk are supposed to be arranged according to the sequence
ω1 5 ω2 5 · · · 5 ωN (7.6)
where N is the dimension of the stiness matrix.
When the critical state is reached, one or more eigenvalues ωk in the sequence of Eq. (7.6)
are zero.
Critical points can be divided into limit points and bifurcation points. In particular:
The condition in Eq. (7.7a) states that in the neighbourhood of a limit point the load
does not vary with respect to the path parameter, which means that limit points represent
equilibrium congurations in which the applied loads reach a local maximum or minimum.
Usually, limit points separate stable and unstable equilibria, although this is not a rule.
The presence of a limit point is usually associated with that of a snap-through, which
causes large deformations into a dierent stable conguration that is not adjacent to the
original one. In the neighbourhood of limit points a unique branch exists, so that no further
branches can be traced.
A bifurcation point is characterized by the existence of multiple equilibrium congurations
in the neighbourhood of the bifurcation point itself. Each of these solutions belongs to a
dierent equilibrium branch. Every branch is characterized by a dierent tangent, and the
bifurcation point is located at the intersection of the branches. The condition in Eq. (7.7b)
states that the equilibrium conguration associated with the k -th eigenvector is orthogonal
to the vector of the applied loads f̂ . The resulting work is consequently null.
Bifurcations can be preliminarily divided into:
the stiness parameter can be easily computed substituting increments to derivatives. The
incremental expression of Sp reads:
1 T
∆λ0 ∆a0 f̂ ∆λj ∆aT0 f̂
Sp = 1
= (7.9)
T ∆λ0 ∆aTj f̂
∆λj ∆aj f̂
where ∆a0 and ∆λ0 are the increments computed in the rst load step and ∆aj and ∆λj
the total increments computed in the current load step.
From Eq. (7.9) follows that the initial value of Sp is unity. If the structure becomes 'softer'
than the initial system, i.e. if ∆aj > ∆a0 and ∆λj < ∆λ0 , Sp is less than unity. On the
other hand, if the structure has a stiening response, i.e. if ∆aj < ∆a0 and ∆λj > ∆λ0 ,
Sp becomes greater than unity. Furthermore, the current stiness parameter is positive on
stable equilibrium branches and negative on unstable branches.
An important feature of the stiness parameter is that at limit points it satises the
following condition:
Sp = 0 (7.10)
while at bifurcation points results:
Sp 6= 0 (7.11)
The condition in Eq. (7.10) is never met in practice, as the continuation procedure com-
putes only discrete equilibrium points. Nevertheless, limit points usually mark the transi-
tion between stable and unstable branches, and are detected by:
The tangent stiness matrix K of a structure is positive denite in the initial undeformed
state. As the load is increased, in proximity of a critical state, the eigenvalues of K tend
to become lower. When a critical point is reached, at least one the eigenvalues becomes
null. If the critical point is crossed, the null eigenvalues become negative. The more the
load is increased, the more all the eigenvalues of K are shifted towards negative values.
∆λ
λ∗ = λ(si−1 ) − Sp (si−1 ) (7.16)
(Sp (si ) − Sp (si−1 ))
Substituting Eq. (7.16) into Eq. (7.15b), the approximation of the structural conguration
at the critical point a(s∗ ) = a∗ is obtained as:
∆a ∗
a∗ = a(si−1 ) +
(λ − λ(si−1 )) (7.17)
∆λ
This strategy is extremely fast and provides sucient precision for the purpose of the
method.
Continuation Methods 107
In order to obtain higher accuracy, bifurcation points are computed by means of an iterative
procedure.
Let x̃ and x̃0 denote the following vectors:
0
a 0 a
x̃ = , x̃ = (7.18)
λ λ0
The iterative procedure is based on the polynomial approximation of the critical point
x̃(s∗ ), and seeks the zero of ωk (s). The polynomial approximation is obtained introducing
a series expansion of ωk (s):
ωk (si )
∆s∗ = (s∗ − si ) = − (7.21)
ωk0 (si )
and:
ω(si ) − ω(si−1 )
ω 0 (si ) ∼
= (7.22)
(si − si−1 )
If the approximation σ̃ corresponding to one of these two estimates of ∆s∗ is not satisfac-
tory, a new estimate is constructed relative to a point which is closer to the critical state.
Such a point can be computed as:
where ∆s0 is the step-length adopted to start the analysis. To obtain an accurate solution,
a close tolerance value, tol∆s = 5 · 10−3 , is set by default in the algorithms proposed in
this work.
Numerical tests showed that, if one of the equilibrium points x̃(si−1 ) and x̃(si ) is close
enough to the bifurcation point, the iterative procedure might lead to a poor approximation
108 Continuation Methods
in the former case and to a high number of iterations in the latter case. To prevent these
undesirable occurrences, a preliminary check is made on x̃(si−1 ) and x̃(si ) to verify if they
approximate the critical state with sucient accuracy. One of the equilibrium solutions
x̃(si−1 ) and x̃(si ) can be adopted as critical point if satises the following condition:
∗
∆s ωk (s̄)
∆s0 ≤ tol∆s ∨ ωk (s0 ) ≤ tolω
(7.25)
If the structure is subject to small deformations which do not produce damage, this problem
does not occur. Often, this is the case of the primary equilibrium path. Otherwise, if
deformation are large enough to damage some cohesive elements, spurious critical points
are likely to be found. This is usually the case of bifurcation branches, where many spurious
secondary bifurcation points are usually computed.
k a∗ k
∆s = (7.30)
τ̃
where τ̃ is a scale factor prescribed by the user.
Once the initial solution x̃0 is determined, the tangent vector x̃0 is computed in this point
and the continuation process is started.
k a∗ k
ξ=± (7.32)
τ̃
where τ̃ is a scalar variable prescribed by the user and is referred to as buckling mode scale
factor, while the sign of ξ determines which side of the bifurcation branch is traced.
The initial solution is completed by:
λ0 = λ∗ (7.33)
The tangent vector in [a0 , λ0 ] is approximated as:
vk
a00 = sign(ξ) (7.34)
k vk k
λ00 = 0 (7.35)
110 Continuation Methods
The corrector is performed applying the Newton's method to the augmented system in Eq.
(7.2), where Eq. (7.37) is introduced as constraint equation:
(
Kda − f̂ dλ = r
(7.40)
a01 ∆a = ∆s
where r is the residual at the end of the j-th iteration, and is dened as:
0
An insight in the terms constituting Eq. (7.42) reveals that ∆s ≈ a1T ∆aj , so that it can
be simplied as:
Eq. (7.43b) closely resembles the expression of dλ in the Riks' arc-length method reported
in Eq. (3.14). The only dierence between these two expressions is that the displacement
increment of the predictor step ∆a1 in Eq. (3.14) is replaced in Eq. (7.43b) by the
derivative of the displacement vector in the last converged equilibrium point a01 .
Eq. (7.43b) suggests that the constraint equation in Eq. (7.37), can be rewritten as:
0
a1T da = 0 (7.44)
Eq. (7.44) denes a hyperplane in the subspace of displacements. This hyperplane is
normal to the vector a01 , which is tangent to the above mentioned subspace. Furthermore,
Eq. (7.44) can be thought as the projection of Eq. (7.36) on the subspace of displacements.
112 Continuation Methods
When convergence is reached, the tangent vector [a0 , λ0 ] is computed. This vector is ob-
tained by solving a linear system arising from the dierentiation of Eq. (7.40) with respect
to s. The linear system is derived as:
(
Ka0 − f̂ λ0 = 0
0 (7.45)
a1T a0 − 1 = 0
As reported in [34], the vector [a0 , λ0 ] xes the direction of the tangent vector, but not its
sign. As a consequence, a criterion to x the sign of the tangent vector must be introduced.
Some criteria adopted in the past are proposed in [34].
In the present work, a dierent criterion is adopted, and it is based on the following
quantity:
∆aT a0
Dot = (7.46)
k ∆aT a0 k
This criterion states that:
if Dot < 0:
a0 = −a0
λ0 = −λ0
Listing 7.2: Tangent Sign Criterion
The criterion in Listing 7.2 forces the tangent vector [a0 , λ0 ] to point towards the direction
that forms an angle smaller than 90◦ with the last computed displacement increment ∆a.
This criterion closely resembles the increment direction method presented in Section 4.5
for the arc-length algorithms.
Critical points are detected by checking the occurrence of the following condition:
In the corrector, the application of the Newton's method to the augmented system in Eq.
(7.2), introducing Eq. (7.51) as constraint equation, leads to the solution of the following
linearised system:
(
Kda − f̂ dλ = r
1 1 T
(7.53)
2 λ1 ∆a − 2 a1 ∆λ = ∆τ
After the substitution of Eq. (7.38) into Eq. (7.53), the linearised system can be repre-
sented in matrix form as:
K −f̂ da r
= (7.54)
hT w dλ −g1
The iterative increments da and dλ are computed from Eq. (7.54) applying the Sherman-
Morrison formula [44]:
(hT dI + g1 )dII
da dI 1
= − T (7.55)
dλ −g1 h dII − w −hT dI − g1 (1 + hT dII − w)
114 Continuation Methods
where the terms dI and dII are the solutions of the following linear systems:
The system in Eq. (7.57) arises from the dierentiation of Eq. (7.53) with respect to τ .
The sign of the tangent vector is xed adopting the criterion in Listing 7.2
Critical points are identied by checking the occurrence of the following condition:
This strategy based on the dissipated energy constraint works only when a certain amount
of energy is being dissipated. If the structural response is elastic, no energy is dissipated and
the constraint equation of Eq. (7.51) is not able to converge to an equilibrium solution.
As a consequence, a dierent strategy must be applied to trace the elastic parts of the
equilibrium paths.
In the present work, the dissipated energy continuation method adopts the equations of the
modied Riks' continuation method to analyse elastic branches. When energy dissipation
occurs, branch continuation and critical points detection are performed by means of the
dissipative equations arising from the dissipated energy constraint, whereas, when the
structure behaves elastically, they are performed by means of modied Riks' continuation
method.
The adoption of these two strategies leads to the presence of a double parametrization, as
the modied Riks' continuation method is parametrized with respect to the arc-length s,
and the dissipated energy constraint equation relies on the parameter τ .
The switch between the two strategies is accomplished by means of two dissipated energy
threshold values: ∆τswitch and ∆τsback . The analysis is started adopting the modied Riks'
continuation method to trace the rst load steps, which are always elastic. When the energy
dissipated in the current step exceeds ∆τswitch , the solution strategy is switched from
the modied Riks' continuation method to the dissipative method. When the dissipative
method is active, if the energy dissipated in the current step falls below ∆τsback , the solution
strategy is switched back to the modied Riks' continuation method.
This switch criterion is resumed as:
if ∆τ ≥ ∆τswitch :
Dissipative Method
elif ∆τ < ∆τsback :
Modified Riks’ Continuation Method
Listing 7.3: Switch Criterion
Continuation Methods 115
Drawbacks of this method are the adoption of two solution strategies and the need for a
criterion to switch from one strategy to the other. Furthermore, the procedure relies on
two dierent parameters. The presence of a double parametrization may lead to problems
in the computation of critical points. In fact, if a critical point is detected between two
equilibrium points that are computed by means of dierent strategies (e.g. one adopting
the modied Riks' continuation method and the other adopting the dissipative procedure),
the algorithm is likely to compute an erroneous critical point.
116 Continuation Methods
Chapter 8
Implementation of Continuation
Methods in PyFEM
In this chapter the implementation of the continuation methods is discussed with regard
to the modied Riks' and the dissipated energy versions of the method.
For each procedure, the classes and the related methods are presented in details and the
working of the algorithm is described.
RiksContinuation.py
RiksContinuation
RiksContinuation.run(props, globdat)
Predictor
Corrector
Store Results
Tangent Computation
Update Step-Length
Terminate Analysis
3. Store Results : updates the instance globdat storing the data associated with the
equilibrium point determined in the corrector;
4. Tangent Computation : computes the tangent vector solving the linear system in Eq.
(7.45), and determines its sign adopting the criterion resumed in Listing 7.2;
6. Store Eigenproblem Results : stores the variables computed in the step Critical Points
Detection for their use in the subsequent step;
7. Update Step-Length : updates the step-length ∆s according to the procedure de-
scribed in Section 4.6;
In the Critical Points Detection step, if the new value of Npos is lower than its previous
value, a critical point is detected between the two last computed equilibrium points. When
a critical point is detected, the function CriticalPointsComputation is called to
compute the critical point.
When the conditions to terminate the analysis are met, before ending the analysis, if
at least one bifurcation point is detected, RiksContinuation.run initializes the class
RiksBranchContinuation which enables to trace bifurcation branches.
• If the signs of the stiness parameters are dierent, the critical point is a limit point,
and is approximated by means of a linear interpolation;
• If the signs of the stiness parameters are the same, the critical point is a bifurcation
point.
120 Implementation of Continuation Methods in PyFEM
if sign(Sp) != sign(Sp_old) :
Stiffness Parammeter Sp Limit Point
if sign(Sp) == sign(Sp_old) :
Bifurcation Point
globdat.CriticalPoints
1. If |ωk (si−1 )| < |ωk (si )|, and ωk (si−1 ) satises the condition in Eq. (7.25), the bifur-
cation point is set equal to the equilibrium point associated with si−1 ;
2. If |ωk (si−1 )| > |ωk (si )|, and ωk (si ) satises the condition in Eq. (7.25), the bifurca-
tion point is set equal to the equilibrium point associated with si ;
3. If the previous conditions are not met, the iterative procedure described in Section
7.2 is entered.
If the iterative procedure is not entered, the data related to the bifurcation point are taken
from the initial estimate computed during the Critical Point Detection step performed by
RiksContinuation.run.
If the critical point is a bifurcation point, the related data are stored into the dictionary
globdat.CriticalPoints. This dictionary is a database which stores the data related
to the bifurcation points by means of the following items:
• nCr: a scalar representing the total number of critical points detected during the
analysis;
• nBif: a scalar representing the total number of bifurcation points detected during
the analysis;
• v: an array containing the buckling mode associated with the critical point (if the
critical point makes the eigenvalue ωk vanish, v is the k-th eigenvector vk of K);
• Lambda: an array containing the vector with the eigenvalues of K at each bifurcation
point;
• run: enables to set up the analysis of the bifurcation branches and performs branch
continuation and secondary critical points detection;
RiksBranchContinuation.py
RiksBranchContinuation
RiksBranchContinuation.run( props, globdat, ... )
for i in bif :
- NormalVect
- EigInjection
Branch Continuation
- Predictor
- Corrector
- Tangent Computation
- Critical Point Detection
- Critical Point Computation Using
the Function CriticalPointsComputation
- Step-Length Update
BranchPlot
branch = 1
• The string SwitchMethod which prescribes the branch switching method to adopt;
• The value of the boolean variable branch, which enables to change some features
of the method when secondary bifurcation branches are traced (branch = 1 traces
secondary bifurcation branches);
• The maximum number of increments prescribed in the input le of the analysis;
The method run is based on two nested for loops. The outer loop is performed on the
bifurcation points, and it is based on the index i. The inner loop is performed on the
elements of the vector [1, −1], and it is based on the index k.
The inner loop works like a sign function. Multiplying the perturbation introduced in
the branch switching algorithm by k = 1 or k = −1, the direction of the perturbation is
changed. This procedure enables to trace both sides of the bifurcation branch.
The method run works like an interactive program, and asks the user to enter the following
inputs in order to set up the analysis:
• Indices of the bifurcation points to be analysed (this feature enables to trace the
bifurcation branches associated only with some of the computed bifurcation points);
These quantities entered by the user are used to create a vector called bif. The vector
bif has as many components as is the number of the bifurcation branches to trace. The
components of bif are the indexes entered by the user in the second input request. In the
outer loop, the index i is set equal to the components of the vector bif.
When the outer loop is entered, the program asks the user to enter two more quantities:
• The index of the buckling mode to use as imperfection (only when the eigenvector
injection method is used as branch switching algorithm).
the i-th bifurcation point. The data corresponding to this bifurcation point are loaded
from the dictionary globdat.CriticalPoints.
The continuation process starts with the computation of an initial solution on the branch
by means of the branch switching algorithm. In RiksBranchContinuation both the
branch switching methods described in Section 7.3 are implemented. The branch switching
method used in the analysis is prescribed in the input le of the analysis by means of the
string parameter SwitchMethod. Two string values can be assigned to SwitchMethod:
Once the initial solution is computed, a while loop is entered to perform the continuation
procedure. Every cycle in the while loop performs a load step. The loop is exited only
when the number of performed cycles equals the prescribed number of load steps, or when
the number of step-length reductions exceeds a prescribed number. This last condition was
introduced to prevent the analysis from a high number of step-length reductions, which
would result in a signicant waste of time. The maximum number of step-length reductions
is set to 4 by default.
In the while loop, the continuation process is performed adopting exactly the same strat-
egy described for the method RiksContinuation.run, which results in the following
steps:
1. Predictor
2. Corrector
3. Store Results
4. Tangent Computation
5. Critical Points Detection
6. Store Eigenproblem Results
7. Update Step-Length
Bifurcation branch analyses lead to results that may strongly depend on the value of the
buckling mode scale factor τ̃ . If the adopted value of τ̃ is not appropriate for the bifurcation
branch under consideration, the solution procedure may either converge on the primary
equilibrium path or diverge.
For this reason, RiksBranchContinuation contains a feature that makes it possible to
repeat the analysis of the bifurcation branch adopting a dierent value of τ̃ , performing a
dierent number of load steps and adopting a dierent buckling mode as imperfection.
This feature is interactive. At the end of the branch analysis the user is asked to enter the
value of the boolean variable qual:
• If the user enters 1, the analysis of the bifurcation branch is repeated and the new
analysis parameters are requested;
• If the user enters 0, the analysis goes forward, and the analysis parameters to compute
the next bifurcation branch must be provided.
126 Implementation of Continuation Methods in PyFEM
If secondary bifurcation points are detected and the user sets qual = 0, before tracing a
new bifurcation branch, RiksBranchContinuation sets branch = 1 and the analysis
of secondary bifurcation branches arising from the analysed primary bifurcation branch is
started.
To analyse secondary bifurcation branches, the function RiksBranchContinuation is
called recursively.
The class DissEnContinuation contains also the utility methods getData2, printHeader,
printIteration and printConverged, which are used to plot the critical points on
the graph plotted on screen and to print analysis information, and the method sign which
implements the sign function.
The architecture of DissEnContinuation.py is illustrated in Figure 8.4.
1. Predictor : performs the predictor step according to Eq. (7.52) or Eq. (7.39);
2. Corrector : solves the system in Eq. (7.53) or Eq. (7.40) using the Newton-Raphson
method. Convergence is achieved when the norm of the residual (error) is below
the prescribed tolerance (tol);
3. Store Results : updates the instance globdat storing the data associated with the
equilibrium point computed in the corrector;
4. Compute Dissipate Energy : determines the amount of energy dissipated in the current
step;
5. Tangent Computation : computes the tangent vector solving the linear system in Eq.
(7.57) or in Eq. (7.45) and xes its sign using the criterion reported in Listing 7.2;
7. Store Eigenproblem Results : stores the variables computed in the step Critical Points
Detection for their use in the subsequent step;
8. Update Method : determines the method to be used in the subsequent step and up-
dates the step-length;
The equations adopted to perform the steps Predictor, Corrector, Tangent Computation
and Update Method vary according to the solution strategy that is activated. These equa-
tions can be either those proper of the modied Riks' continuation method, or those derived
from Eq. (7.51).
In the Critical Points Detection step, a critical point is detected between the two last com-
puted equilibrium points when the new value of Npos is lower than the one at the previous
step. When a critical point is detected, the function CriticalPointsComputation is
called to compute the critical point.
In the step Method Update, the switch criterion reported in Listing 7.3 is applied. The
method is set by means of the string variable method. The variable method can assume
only two values, corresponding to the two available solution strategies:
’RiksContinuation’ and ’nrg-controlled’.
The analysis is started setting method = ’RiksContinuation’ by default. When
the dissipated energy exceeds the threshold value ∆τswitch , prescribed in the variable
SwitchEnergy, the algorithm sets method = ’nrg-controlled’. When the dis-
sipative method is active and the dissipated energy falls below the threshold value ∆τsback ,
prescribed in the variable SwitchbackEnergy, the algorithm sets
method = ’RiksContinuation’.
After setting the method for the subsequent step, the step-length is updated according to
the strategy described in Section 4.6. When the equations of the modied Riks' method
are active, the step-length ∆s is updated, whereas, if the dissipative method is active, the
algorithm updates the step size ∆τ .
When the conditions to terminate the analysis are met, before ending the analysis, if at least
one bifurcation point is detected, DissEnContinuation initializes the class contained
in DissEnBranchContinuation.py, which enables to trace bifurcation branches.
• run: sets the analysis of bifurcation branches up and provides branch continuation
and secondary critical points detection;
• BranchPlot: adds the bifurcation branches to the graph plotted on screen, writes
the plotted data to a text le and writes the .vtu and .pvd les containing the
contour data of the structure;
The class DissEnContinuation contains also the utility methods getData2, printHeader,
printIteration and printConverged, which are used to plot the critical points on
the graph and to print analysis informations, and the method sign that implements the
sign function.
The architecture of DissEnBranchContinuation.py is identical to the one illustrated
in Figure 8.3 for the class RiksBranchContinuation.
• The threshold value ∆τswitch to perform the switch to the dissipative method;
• The value of the boolean variable branch, which enables to change some features
of the method when secondary bifurcation branches are traced (branch = 1 traces
secondary bifurcation branches);
130 Implementation of Continuation Methods in PyFEM
• The maximum number of increments prescribed in the input le of the analysis;
DissEnContinuation.py
DissEnContinuation
DissEnContinuation.run(props, globdat)
Predictor
Corrector
Store Results
Tangent Computation
Method Update
Terminate Analysis
• Supercritical bifurcation point : both sides of the bifurcation branch are locally stable
equilibrium paths characterized by increasing values of the load factor λ;
In the second part of the chapter, two numerical examples demonstrate the ability of the
proposed continuation methods to trace the bifurcation diagram of structures undergoing
delamination phenomena. The simulations are performed on models containing cohesive
elements and characterized by damage processes in their post-buckling response.
The methods are compared in terms of:
• CPU time;
It is worth noting that the ability of the methods to trace the bifurcation branches without
diverging or jumping on spurious congurations depends on the choice of the parameter
τ̃ . Suitable values of this parameter are sought applying a trial and error strategy. If
134 Continuation Methods: Numerical Simulations
the continuation method is suitable to analyse the problem under consideration, τ̃ can be
chosen in a wide range of values and few trials are necessary.
When considering the CPU time, it should be taken into account that the algorithms are
interactive, and the simulation time is inuenced by the user.
Since the modied Riks' continuation method is based on a geometric constraint, it is
expected to perform well when the post-buckling response is dominated by geometric non-
linearities. On the other hand, the dissipated energy continuation method relies on a
dissipative constraint, and it is expected to be more adequate when the post-buckling
response is inuenced by dissipative phenomena or nonlinear strain-softening behaviours.
For the sake of simplicity, the continuation methods are denoted here as:
A laptop computer SONY VAIO VPCF1, characterized by a processor Intel Core i7 1.73
GHz with 8 cores, is adopted to perform all the analyses. Only 1 core is used to run the
simulations.
Euler Buckling
In this example, the Euler buckling of a cantilever beam is analysed. From a theoretical
point of view, the structural behaviour is characterized by a supercritical bifurcation point.
The structure is shown in Figure 9.1.
The beam is xed at the left side and is axially compressed at the right end by means of
two concentrated forces F .
The geometric features of the structure are reported in Table 9.1.
l (mm) h (mm)
10 1
The beam is made of isotropic material characterized by a Young's modulus E = 230000 MPa
and a Poisson's ratio ν = 0.25. A plane strain constitutive law is adopted.
The nite element mesh is reported in Figure 9.2, and consists of 10 nonlinear shell ele-
ments.
The boundary conditions are applied xing all the degrees of freedom of the leftmost
nodes, while the structure is loaded by means of two compressive nodal forces applied at
the rightmost nodes.
The analysis performed on the perfect model by means of the modied Riks' continuation
method is compared to the solutions provided by Criseld's arc-length. The geometry of
the models is perturbed by adding imperfections with the shape of the rst buckling mode.
As far as the Criseld's method cannot trace all the bifurcation branches in a single run,
two simulations are performed where the imperfection is introduced with opposite signs.
The analysis results are shown in Figure 9.3.
Euler Buckling
1500
1000
Load [N]
500
Crisfield
Riks Continuation
0
0 1 2 3 4 5 6 7 8 9 10
Displacement [mm]
Figure 9.3 shows the horizontal displacement u of the bottom right node versus the total
applied load 2F . The results provided by the two strategies are identical, demonstrating
the correct implementation of the modied Riks' method and its ability to trace stable
bifurcation branches arising from supercritical bifurcation points.
136 Continuation Methods: Numerical Simulations
In this example, the buckling of a 1 DOF model formed by a rigid truss and a linear spring
is analysed. The response is characterized by an unstable bifurcation branch arising from
a subcritical bifurcation point. The structural model is reported in Figure 9.4.
For this problem the analytical solution can be easily derived. In particular, the load P is
related to the deection angle θ by:
P ∗ = P (0) = kg l (9.2)
The nite element model is realized by means of a truss element with unit cross section
and a linear spring element. To simulate a rigid truss, the modulus is taken equal to
E = 5 · 109 MPa.
The constraints are applied xing all the displacements of the left node of the truss and
the vertical displacement of the upper node of the spring. The model is loaded by means
of a horizontal nodal force applied at the right node of the truss.
The results obtained with the modied Riks' continuation method on a perfect model are
compared to the analytical solution of the problem in Figure 9.5.
Continuation Methods: Numerical Simulations 137
1000
500
Load [N]
0
−500
−1000
−3 −2 −1 0 1 2 3
Deflection θ [rad]
The numerical results obtained by means of the modied Riks' continuation method are
identical to the analytical ones, demonstrating that the algorithm is implemented correctly
and that it is able to trace unstable bifurcation branches arising from subcritical bifurcation
points.
is assumed. A cohesive zone is introduced at the interface between the two parts. The
properties of the cohesive constitutive law are reported in Table 9.3.
Table 9.3: Beam with embedded cohesive layer: properties of the cohesive constitutive law
The cohesive zone is dened by the mode I and mode II fracture toughness, GI and GII
respectively, the mode I and mode II tractions corresponding to delamination onset, N
and T respectively, and the penalty stiness kd .
The nite element mesh is reported in Figure 9.7.
Figure 9.7: Beam with embedded cohesive layer: nite element mesh
The structure is modelled adopting 200 nonlinear shell elements and 20 cohesive elements.
With reference to Figure 9.7, the boundary conditions are applied constraining all the
degrees of freedom of the node H, and the vertical displacement of the node S. The load is
introduced with nodal forces at the two ends.
In all the simulations, the eigenvector injection method is adopted to realize branch switch-
ing. The parameters adopted to perform the analyses are reported in Table 9.4.
Method ∆s0 (mm) ∆sM ax (mm) ∆τ0 (Nmm) ∆τM ax (Nmm) ∆τswitch (Nmm) tol tol∆s
MR-CM 5 5 − − − 10−2
1.0 · 1.0 · 10−1
DE-CM 5 5 1.0 · 10−3 5.0 · 10−3 2.0 · 10−4 1.0 · 10−2 1.0 · 10−1
The initial part of the analysis is dedicated to the computation of the primary path.
Starting from the undeformed conguration, the algorithm computes equilibrium points
associated with increasing values of the path parameter. When the number of positive
eigenvalues of the tangent stiness matrix decreases, a critical point is computed, as re-
ported in Figure 9.8(a). After the computation of a critical point, the algorithm keeps on
tracing the primary path starting from the last computed equilibrium point. During this
process all the other critical points are determined (see Figure 9.8(b)).
Continuation Methods: Numerical Simulations 139
Bifurcation Diagram of a Beam with Embedded Cohesive Layer Bifurcation Diagram of a Beam with Embedded Cohesive Layer
300 300
250 250
200 200
Load [N]
Load [N]
150 150
100 100
50 50
0 0
0 0.005 0.01 0.015 0.02 0.025 0.03 0 0.005 0.01 0.015 0.02 0.025 0.03
Displacement u [mm] Displacement u [mm]
(a) Detection of the rst critical point (b) Complete primary path
250
200
Load [N]
150
100
50
0
0 0.005 0.01 0.015 0.02 0.025 0.03
Displacement u [mm]
(a) Positive side of the rst bifurcation branch (b) Positive side of the rst branch
Bifurcation Diagram of a Beam with Embedded Cohesive Layer
300
250
200
Load [N]
150
100
50
0
0 0.005 0.01 0.015 0.02 0.025 0.03
Displacement u [mm]
(c) Complete bifurcation branch (d) Negative side of the rst branch
Figure 9.9: Beam with embedded cohesive layer: rst bifurcation branch
After tracing the primary path, the algorithm traces the bifurcation branches. The two
sides of each branch, associated with dierent signs of the imperfection, are traced sep-
arately. Firstly, the side associated with a positive imperfection is traced, as shown in
Figures 9.9(a)- 9.9(b). When the user is satised with the quality of the results, the other
side of the branch is traced, as illustrated in Figures 9.9(c)- 9.9(d). These procedure is
140 Continuation Methods: Numerical Simulations
250
200
Load [N]
150
100
50
0
0 0.005 0.01 0.015 0.02 0.025 0.03
Displacement u [mm]
(a) Positive side of the fourth bifurcation branch (b) Positive side of the fourth branch
250
200
Load [N]
150
100
50
0
0 0.005 0.01 0.015 0.02 0.025 0.03
Displacement u [mm]
(c) Complete bifurcation diagram (d) Negative side of the fourth branch
Figure 9.10: Beam with embedded cohesive layer: fourth bifurcation branch
The bifurcation diagram obtained from the analysis is reported in Figure 9.11 in terms of
the horizontal displacement u versus the total applied load.
250
200
D E
Load [N]
150
100
C
50 B
A
0
0 0.005 0.01 0.015 0.02 0.025 0.03
Displacement u [mm]
The bifurcation diagram shows a linear primary path corresponding to the shortening of
the structure (curve A-F). Four bifurcation points are identied (points B, C, D and E).
The bifurcation branches are all nonlinear and lead to the damage of the cohesive elements.
In Figure 9.12 the nal congurations computed along the bifurcation branches are shown.
Figure 9.12: Beam with embedded cohesive layer: deformed congurations along the bi-
furcation branches (displacements 5×)
In the buckling modes 1, 2 and 4, geometric nonlinearities dominate the structural response
and the cohesive elements are progressively damaged mainly in mode II. In buckling mode
3, the structure is subject to a mode I delamination and the structural behaviour is strongly
inuenced also by material nonlinearities.
In Figure 9.13, the bifurcation branch of the third buckling mode computed with the
dissipated energy continuation method is compared to the solution provided by Riks' arc-
length on a model perturbed using an imperfection with the shape of the third buckling
mode.
The critical load computed by the continuation method is higher than the one computed
by the Riks' method. In fact, the introduction of an imperfection in the model results in
a reduction of the load-carrying capacity of the structure. The greater is the imperfection,
the more the critical load is reduced.
The bifurcation diagrams provided by the two methods are presented in Figure 9.14 in
terms of the horizontal shortening u versus the total applied load.
142 Continuation Methods: Numerical Simulations
140
120
100
Load [N]
80
60
40
20
0
0 0.002 0.004 0.006 0.008 0.01 0.012 0.014 0.016 0.018 0.02
Displacement u [mm]
250
200
Load [N]
150
100
50
0
0 0.005 0.01 0.015 0.02 0.025 0.03 0.035 0.04 0.045 0.05
Displacement u [mm]
The results obtained with the two continuation methods are very similar.
The computational performance of the algorithms are summarized in Table 9.5 in terms
of number of increments, number of iterations and CPU time. The values of τ̃ adopted to
trace the branches are reported in brackets.
No. of
No. of No. of No. of No. of CPU
Incr. Tot. No. Tot. No.
Method Incr. Incr. Incr. Incr. time
Prim. of Incr. of Iter.
Branch 1 Branch 2 Branch 3 Branch 4 (s)
Path
31
MR-CM 15 40 (10) 22 (10) 38 (20) 146 150 827.168
(30/50)
DE-CM 10 18 (10) 90 (10) 35 (50) 40 (20) 193 332 1185.878
In this test, the MR-CM is the most ecient algorithm, providing a CPU time much lower
than the one obtained with the DE-CM.
If more increments are performed on the bifurcation branches, both algorithms show con-
vergence on spurious congurations or divergence.
The MR-CM traces the branches associated with the rst four bifurcation points without
encountering problems even when large displacements arise. However, the MR-CM pro-
vides very large increments because of the diculty to control the step-length. On the
other hand, the DE-CM provides an excellent step-length control, which enables to trace
all the bifurcation branches precisely. However, when all the cohesive elements are almost
completely damaged, the DE-CM is no longer able to nd a dissipative equilibrium solu-
tion, and either diverges or jumps on spurious congurations. As a result, the DE-CM
traces only the dissipative part of the bifurcation branches using the strategy based on the
dissipated energy constraint, and stops before performing the switch-back to the strategy
based on the MR-CM.
The critical values of λ are listed in Table 9.6 for both algorithms.
Table 9.6: Beam with embedded cohesive layer: values of λ at critical points
The two methods compute similar critical loads. However, the error between the two
approximations grows when higher buckling modes are considered. It follows that, the
higher is the buckling mode, the less precise is the approximation.
In both methods, some trials are necessary to nd a value of τ̃ that enables to realize branch
switching and follow the bifurcation branch until the end of the analysis. If unsuitable
values of τ̃ are adopted, the solution shows the tendency to jump on spurious congurations
or diverge after few increments.
The branches arising from bifurcation points 1, 2 and 4 are dominated by buckling and lead
to a slow, progressive damage of the cohesive elements by means of shear deformations.
To trace these branches, a suitable value of τ̃ is found easily with the MR-CM, while more
trials are necessary with the DE-CM. In addition, the DE-CM often shows the tendency to
either converge to spurious congurations dominated by dissipative phenomena, or diverge.
In the branch arising from bifurcation point 3, damage inuences the structural behaviour
more strongly, as the growth of a mode I delamination is provided. In this case, very few
trials are necessary to nd a suitable value of τ̃ with the DE-CM, while more trials are
necessary with the MR-CM.
These considerations suggest that, when the structural response is dominated by dissipative
behaviours, τ̃ can be chosen in a relatively wide range of values with the DE-CM, while,
with the MR-CM, the value of τ̃ can be chosen in a tight interval. Opposite considerations
are valid when the response is dominated by geometric nonlinearities.
Since the response of the model is dominated by geometric nonlinearities and is not char-
acterized by complex behaviours, the MR-CM provides the best performance.
144 Continuation Methods: Numerical Simulations
The MR-CM is able to reach congurations characterized by large displacements and pro-
vides a low CPU time. However, it leads to a coarser discretization of the path, if compared
to the DE-CM. The DE-CM shows better performance when the structural response is
dominated by damage, and always provides an accurate discretization of the equilibrium
paths. However, it is inecient to analyse this structural model, as it results in a high
CPU time.
With both methods, some trials are necessary before nding a value of τ̃ that enables to
trace the complete branch without converging on spurious congurations or diverge.
The two strategies provide similar approximations of the critical points.
The structure consists of two parts separated by an interface and xed at both ends. The
arch is loaded at the upper and lower edges by means of two radial loads per unit length
of magnitude p.
The dimensions of the model are reported in Table 9.7.
The material adopted for the two parts of the arch is isotropic, and is characterized by a
Young's modulus E = 230000 MPa and a Poisson's ratio ν = 0.25. Plane strain conditions
are assumed. A cohesive zone is introduced at the interface between such parts.
The cohesive zone is dened by the quantities reported in Table 9.8.
The nite elements mesh is reported in Figure 9.16.
Continuation Methods: Numerical Simulations 145
Table 9.8: Arch with embedded cohesive layer: properties of the cohesive constitutive law
Cohesive Elements
Figure 9.16: Arch with embedded cohesive layer: nite element mesh
The structure is discretized by means of 100 nonlinear shell elements and 50 cohesive
elements.
The load is applied on the nodes lying on the upper and lower edges of the model by
means of radial nodal forces. The boundary conditions are applied xing all the degrees
of freedom of the nodes belonging to the left and right ends of the structure.
Branch switching is achieved by means of the eigenvector injection method. The analyses
are performed using the parameters reported in Table 9.9.
Method ∆s0 (mm) ∆sM ax (mm) ∆τ0 (Nmm) ∆τM ax (Nmm) ∆τswitch (Nmm) tol tol∆s
MR-CM 0.02 0.02 − − − 10−2
5.0 · 1.0 · 10−1
DE-CM 0.05 0.05 1.0 · 10−3 5.0 · 10−3 2.0 · 10−4 5.0 · 10 −2 1.0 · 10−1
The bifurcation diagram of the structure is reported in Figure 9.17 in terms of the vertical
displacement of the node V, shown in Figure 9.16, versus the nodal force applied at the
same node.
0.35 B
0.3
F
Load [N]
0.25
0.2
0.15
0.1
0.05
A
0
0 0.02 0.04 0.06 0.08 0.1 0.12
Displacement v [mm]
The bifurcation diagram is characterized by a nonlinear primary path (curve A-E) cul-
146 Continuation Methods: Numerical Simulations
minating in a limit point (point D). The damage process starts occurring just before the
limit point (point C). Along the primary path, a bifurcation point is identied (point B).
The bifurcation branch associated with it (curve B-F) is characterized by the progressive
failure of almost all the cohesive elements.
Along the primary path and the bifurcation branch, the damage process of the cohesive
elements strongly inuences the structural response, and both geometric and material non-
linearities are present. The cohesive elements are damaged mainly in mode II.
The curves traced by the two continuation methods are extremely similar.
In Figure 9.18, the bifurcation diagrams obtained with the two continuation methods are
compared to the results provided by Riks' arc-length.
0.4
0.35
0.3
0.25
Load [N]
0.2
0.15
0.1
0.05
Diss En Continuation
Riks Arc−Length
0
0 0.02 0.04 0.06 0.08 0.1 0.12
Displacement v [mm]
Figure 9.18: Arch with embedded cohesive layer: comparison between continuation method
and Riks' method
Regarding the Riks' method, the primary path is obtained performing a simulation on
a perfect model, whereas, to trace the bifurcation branch, the analysis is performed on
a model perturbed with the rst buckling mode scaled by a factor 0.005. The results
obtained with the Riks' method perfectly agree with those of the DE-CM on the primary
path. However, the arc-length procedure leads to a smooth transition on the bifurcation
branch and does not provide a precise estimate of the critical load. Moreover, Riks' arc-
length stops prematurely after performing few load steps on the bifurcation branch.
The nal equilibrium congurations computed on the primary path and on the bifurcation
branch are shown in Figure 9.19.
Figure 9.19: Arch with embedded cohesive layer: nal congurations on the primary path
and on the bifurcation branch (displacements 2×)
0.4
0.35
0.3
Load [N]
0.25
0.2
0.15
0.1
The computational performance of the two procedures are summarized in Table 9.10. The
procedures are compared in terms of number of increments, number of iterations and CPU
time, and the values of τ̃ adopted to trace the bifurcation branch are reported in brackets.
No. of No. of
CPU
Incr. Incr. Tot. No. Tot. No.
Method time
Prim. Bif. of Incr. of Iter.
(s)
Path Branch
MR-CM 47 160 (20) 207 445 521.657
DE-CM 47 160 (30) 207 276 444.315
In this test, the DE-CM provides the lowest CPU time. Since dissipative phenomena have
a strong inuence on the response along the bifurcation branch, the DE-CM is more e-
cient than the MR-CM on this part of the path, resulting in a 17% lower analysis time.
None of the algorithms encounter problems in tracing the part of the primary path rep-
resented in Figure 9.18. However, if the analysis is continued beyond the limit point, all
the methods, including Riks' arc-length, go through some convergence problems. These
148 Continuation Methods: Numerical Simulations
diculties are related to the sudden softening of the structure caused by the damaging
of almost all the cohesive elements at the same time. When this situation occurs, all the
methods need a high number of iterations to converge, and many step-length reductions
are performed. As a consequence, the analysis continues with a small step-length that
produces, in each load step, negligible changes in the structural conguration.
As regards the bifurcation branch, the continuation process is stopped after 80 increments,
but more load steps can be computed without problems.
The values of λ at the critical points are listed in Table 9.11 for both procedures.
Table 9.11: Arch with embedded cohesive layer: values of λ at critical points
The critical loads computed by the two methods are extremely similar. However, the
discrepancy between the values in Table 9.11 suggests that the strategy adopted to compute
the bifurcation points leads to a precise approximation, whereas the linear interpolation
used to compute the limit points provides lower accuracy.
Both continuation methods provide a suitable discretization of the equilibrium path and
require very few trials to nd a suitable value of τ̃ to achieve branch switching. It follows
that τ̃ can be chosen in a wide range of values for this simulation. While performing
continuation on the bifurcation branch, no jumps on spurious congurations occur.
In this numerical example, both the MR-CM and the DE-CM demonstrate satisfactory
performance. They compute a limit point and a bifurcation point giving suciently precise
approximations of the critical loads, they easily trace the bifurcation branch and they
accurately trace all the parts of the bifurcation diagram. However, since the bifurcation
branch and the nal part of the primary path are dominated by material nonlinearities,
the DE-CM results more ecient, providing the lowest CPU time.
Chapter 10
Concluding Remarks
The work has regarded the development and the implementation of a new family of arc-
length techniques, the hybrid-constraint methods, and two novel continuation methods for
the numerical solution of problems involving delaminations.
The hybrid-constraint methods rely on the idea of combining geometric and dissipative
constraint equations by means of a weighted sum. The value of the weight is function of
the damage state of the structure and is updated at every load step.
Regarding this class of methods, three algorithms have been proposed and implemented
in the nite element code PyFEM. Results were presented for a wide set of problems to
establish the potentialities of the methods in dierent situations. In particular, some of
the problems were dominated by geometric nonlinearities, while others by material nonlin-
earities. The numerical tests demonstrated that the hybrid-constraint provide satisfactory
performance in presence of smooth responses dominated by geometric nonlinearities and
excellent performance in presence of nonlinear strain-softening behaviours characterized
by material nonlinearities. With respect to the already existing arc-length techniques, the
hybrid-constraint methods are then suitable to analyse a wider range of problems, resulting
general purpose strategies. It follows that these new procedures can be adopted even when
the user does not have any previous knowledge of the structural response. This is a rele-
vant advantage, as the user does not need to perform preliminary analyses to determine
the most suitable solver to perform the simulation. Furthermore, the hybrid-constraint
arc-lengths depend on few algorithmic parameters that can be easily tuned. These charac-
teristics suggest that the hybrid-constraint methods may provide relevant benets in the
analysis of delaminations.
In addition, a new root selection scheme, the dissipated energy increment method, is de-
veloped for arc-length methods relying on a quadratic constraint. The idea behind this
procedure is to select the root associated with energy dissipation. This strategy is ecient
and prevents elastic unloading solutions, but can be adopted only to trace the dissipative
parts of the equilibrium path. Nevertheless, the dissipated energy increment method may
be subject to numerical problems in presence of highly nonlinear phenomena.
A second part of the work regarded the development of two novel continuation methods
to study the post-buckling behaviour of structural models involving cohesive elements. To
the best of the author's knowledge, these strategies cannot be found in literature. They
enable to trace the complete bifurcation diagram of the structure, including primary and
secondary bifurcation branches and to compute the critical points of the equilibrium path
(bifurcation and limit points).
The rst procedure is a modied version of the Riks' continuation method. This strat-
150 Concluding Remarks
egy relies on a modied constraint equation in which the terms related to the load factor
are neglected to prevent the doubling back of the solution. This new algorithm provides
excellent performance when the post-buckling behaviour is dominated by geometric non-
linearities and is not subject to the doubling back of the solution. However, it does not
provide a precise step-length control, and sometimes it may result in a bad discretization
of the equilibrium path.
To overcome these limitations, another procedure, based on the dissipated energy con-
straint equation, is developed. This technique is an innovative continuation method specif-
ically developed to study post-buckling behaviours dominated by dissipative phenomena.
It provides excellent performance when the structural response is strongly inuenced by
material nonlinearities and leads to a precise discretization of the dissipative equilibrium
paths. As the dissipated energy constraint works only when a certain amount of energy
is being dissipated, a dierent strategy is necessary to trace the elastic parts of the bifur-
cation diagram. This task is accomplished adopting the equations of the modied Riks'
continuation method, and a scheme to switch from the elastic strategy to the dissipative
one and vice-versa is required.
• run
• printHeader
• printIteration
• printConverged
CrisfieldSolver.py
CrisfieldSolver
run( props, globdat )
Predictor
Corrector
Store Results
Update Step-Length
Check Conditions to
Terminate Analysis
Terminate Analysis
3. Corrector : computes the equilibrium point iteratively, applying Eq. (3.18) until the
condition in Eq. (4.38) is satised;
4. Store Results : stores the data related to the new equilibrium point in the instance
globdat;
5. Update Step-Length : computes the step-length ∆l and the factor ξ to be used in the
next load step according to Eq. (4.45);
Implementation of Criseld's Method 153
If the number of corrector iterations needed to converge exceeds the maximum prescribed
number, the step-length is reduced according to Eq. (4.47) and the load step is recomputed
adopting the new value of ∆l.
In the corrector, both the increment direction method and the lowest residual method are
implemented as root selection schemes. The scheme to adopt in the analysis is prescribed
by means of the string variable Corrector. This variable can assume the following two
values:
The variable Corrector is set by default to ’Direction’ and can be modied by the
user in the input le. Since, no methods to switch from one scheme to the other are
implemented, a unique root selection scheme can be adopted for the whole analysis.
The solver CrisfielSolver requires the following parameters as an input:
• Corrector: the string which sets the root selection scheme to adopt;
The parameters MaxCycle and MaxLam prescribe the conditions to terminate the analysis.
154 Implementation of Criseld's Method
Bibliography
[1] G. Alfano and M. A. Criseld. Finite element interface models for the delamination
analysis of laminated composites: Mechanical and computational issues. International
Journal for Numerical Methods in Engineering, 50(7):17011736, 2001.
[2] G. Alfano and M. A. Criseld. Solution strategies for the delamination analysis based
on a combination of local-control arc-length and line searches. International Journal
for Numerical methods in Engineering, 58(7):9991048, 2003.
[3] E. L. Allgower and K. Georg. Introduction to numerical continuation methods, vol-
ume 45. SIAM, Philadelphia, 2003.
[14] M. A. Criseld. An arc-length method including line searches and accelerations. In-
ternational Journal for Numerical Methods in Engineering, 19(9):12691289, 1983.
[15] D. F. Davidenko. On a new method of numerical solution of systems of nonlinear
equations. Dokl. Akad. Nauk USSR, 88(4):601602, 1953.
[20] M. A. Gutierrez. Energy release control for numerical simulations of failure in quasi-
brittle solids. Communications in Numerical Methods in Engineering, 20(1):1929,
2004.
[22] H. B. Hellweg and M. A. Criseld. A new arc-length method for handling sharp
snap-backs. Computers & Structures, 66(5):705709, 1998.
[23] A. Hillerborg, M. Modéer, and P. E. Petersson. Analysis of crack formation and crack
growth in concrete by means of fracture mechanics and nite elements. Cement and
Concrete Research, 6(6):773782, 1976.
[24] L. Kachanov. Introduction to Continuum Damage Mechanics. Springer, New York,
1986.
[25] R. Krueger. Virtual crack closure technique: History, approach, and applications.
Applied Mechanics Reviews, 57(2):109143, 2004.
[26] E. Lorentz and P. Badel. A new pathfollowing constraint for strainsoftening nite
element simulations. International Journal for Numerical methods in Engineering,
60(2):499526, 2004.
[28] I. M. May and Y. Duan. A local arc-length procedure for strain softening. Computers
& Structures, 64(1):297303, 1997.
Bibliography 157
[29] B. A. Memon and X. Z. Su. Arc-length technique for nonlinear nite element analysis.
Journal of Zhejiang University SCIENCE, 5(5):618628, 2004.
[30] I. Newton. De Analysi per Aequationes Innitas (1669), volume 11. Cambridge Uni-
versity Press, 1968.
[31] T. Pohl, E. Ramm, and M. Bisho. Adaptive path-following schemes for problems
with softening. Finite Elements in Analysis and Design, 86:1222, 2014.
[32] E. Ramm. Strategies for tracing the nonlinear response near limit points. Springer,
New York, 1981.
[35] E. Riks. The application of Newton's method to the problem of elastic stability.
Journal of Applied Mechanics, 39(4):10601065, 1972.
[36] E. Riks. An incremental approach to the solution of snapping and buckling problems.
International Journal of Solids and Structures, 15(2):529551, 1979.
[37] M. Ritto-Correa and D. Camotim. On the arc-length and other quadratic control
methods: Established, less known and new implementation procedures. Computers &
Structures, 86(1):13531368, 2008.
[38] E. F. Rybicki and M. F. Kanninen. A nite element calculation of stress intensity
factors by a modied crack closure integral. Engineering Fracture Mechanics, 9(4):931
938, 1977.
[39] B. Sabir and A. C. Lock. The application of nite elements to the large-deection
geometrically nonlinear behavior of cylindrical shells. Proceedings of International
Conference on Variational Mechanics. Southampton University, 1972.
[40] R. Seydel. Practical Bifurcation and Stability Analysis. Springer, New York, 3rd
edition, 2009.
[41] J. Shi. Computing critical points and secondary paths in nonlinear structural stability
analysis by the nite element method. Computers & Structures, 58(1):203220, 1996.
[45] R. Vescovini and C. Bisagni. Two-step procedure for fast post-buckling analysis of
composite stiened panels. Computers & Structures, 128:3847, 2013.
[47] W. Wagner and P. Wriggers. A simple method for the calculation of postcritical
branches. Engineering Computations, 5(2):103109, 1988.