Sei sulla pagina 1di 174

POLITECNICO DI MILANO

Scuola di Ingegneria Industriale e dell'Informazione

Corso di Laurea in Ingegneria Aeronautica

Quasi-static Solution Procedures for the


Finite Element Analysis of Delaminations

Relatore: Prof. Riccardo Vescovini

Tesi di Laurea di:

Davide BELLORA Matr. 801557

Anno Accademico 2014-2015


Acknowledgements

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

Il cedimento di strutture in materiale composito é determinato dall'accumulo di molteplici


meccanismi di danno. Solitamente, il collasso di tali strutture avviene per carichi su-
periori a quelli per cui si ha l'inizio del danneggiamento. Alcuni meccanismi di danno,
come le delaminazioni, non sono inoltre rilevabili ispezionando la supercie della struttura.
Per questi motivi, le simulazioni numeriche per prevedere la propagazione del danneggia-
mento e il collasso delle strutture in materiale composito hanno assunto negli anni un
ruolo chiave nella progettazione strutturale. Spesso, la propagazione delle delaminazioni
é simulata per mezzo degli elementi coesivi. L'utilizzo di questi elementi puó portare a
problemi numerici se l'analisi é eseguita utilizzando i tradizionali algoritmi quasi-statici.
In questo lavoro, vengono sviluppate procedure quasi-statiche innovative per simulare la
propagazione di delaminazioni con gli elementi coesivi. Nella prima parte della tesi, viene
presentata una nuova classe di metodi arc-length, detti a vincolo ibrido, basati sull'idea di
combinare un'equazione di vincolo geometrica ed una dissipativa per mezzo di una somma
pesata. In questo ambito, vengono presentati tre algoritmi. Nella seconda parte del la-
voro, sono introdotti due nuovi metodi di continuazione per studiare il comportamento in
post-buckling di strutture in composito che contengono elementi coesivi. Il primo é una
versione modicata del metodo di continuazione di Riks basata su un'equazione di vincolo
che contiene solo gli spostamenti nodali ed é sviluppato per l'analisi di problemi dominati
da nonlinearitá geometriche. Il secondo é un nuovo metodo dipendente da un'equazione
di vincolo basata sull'energia dissipata, ed é sviluppato appositamente per problemi domi-
nati da nonlinearitá del materiale. Un'approfondita analisi delle caratteristiche dei diversi
metodi proposti viene inne presentata attraverso una serie di esempi numerici.
Parole chiave: elementi coesivi, delaminazioni, compositi, metodi arc-length, metodi di
continuazione, metodo degli elementi niti, post-buckling.
ii

Abstract

The collapse of composite structures is determined by the accumulation of multiple damage


mechanisms. These structure can usually bear higher loads after damage initiation, and the
occurrence of some damage mechanisms, like delaminations, is not visible on the surface
of the structure. For these reasons, numerical simulations to predict damage propagation
and collapse in composite structures are assuming a key role in structural design. In recent
years, delamination growth is usually predicted by means of cohesive elements. This ap-
proach can lead to numerical problems if traditional quasi-static algorithms are adopted to
perform the analyses. In this work, innovative quasi-static procedures to simulate delami-
nation growth using cohesive elements are developed. In the rst part of the thesis, a new
class of arc-length techniques, the hybrid-constraint methods, is developed based on the
idea of combining geometric and dissipative constraint equations by means of a weighted
sum. Three algorithms belonging to this class are presented. In the second part of the
work, two novel continuation methods are introduced to study the post-buckling behaviour
of composite structures involving cohesive elements. The rst one is a modied version
of the popular Riks' continuation method based on a constraint equation concerning only
the nodal displacements, and is suited for problems dominated by geometric nonlinearities.
The second one is an innovative method relying on a constraint equation based on energy
dissipation, and is specically developed for problems dominated by material nonlinear-
ities. The performance of the presented methods demonstrated by means of numerical
tests.
Keywords: cohesive elements, delamination, composites, arc-length methods, continua-
tion methods, nite element method, post-buckling.
Contents

1 Introduction 1
1.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.2 Literature Review . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.3 Present Work . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.4 Outline . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

2 Introduction to Nonlinear Finite Element Analysis and Cohesive Ele-


ments 7
2.1 Nonlinear Formulation of the Structural Problem . . . . . . . . . . . . . . . 7
2.2 Finite Element Discretization . . . . . . . . . . . . . . . . . . . . . . . . . . 8
2.3 Cohesive Elements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
2.3.1 Interface Elements . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
2.3.2 The Cohesive Constitutive Law . . . . . . . . . . . . . . . . . . . . . 11
2.4 PyFEM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
2.4.1 PyFEM.py . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
2.4.2 The Function assembleArray . . . . . . . . . . . . . . . . . . . . . 18
2.4.3 <ElementType>.py . . . . . . . . . . . . . . . . . . . . . . . . . . 18
2.4.4 shapeFunctions.py . . . . . . . . . . . . . . . . . . . . . . . . . 19
2.4.5 The Function getStress . . . . . . . . . . . . . . . . . . . . . . . . 19
2.4.6 <OutputName>.py . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
2.5 Implementation of Mixed-Mode Cohesive Elements in PyFEM . . . . . . . . 21
2.5.1 Comparison With Abaqus Results . . . . . . . . . . . . . . . . . . . 24

3 The Arc-Length Method 27


3.1 Introduction to Arc-Length Methods . . . . . . . . . . . . . . . . . . . . . . 27
3.2 Arc-Length Methods for Geometric Nonlinearities . . . . . . . . . . . . . . . 29
3.2.1 Riks' Method . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
3.2.2 Criseld's Method . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
3.2.3 Cylindrical Arc-Length . . . . . . . . . . . . . . . . . . . . . . . . . . 32
3.2.4 Ramm's Method . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
3.3 Arc-Length Methods for Problems with Material Nonlinearities . . . . . . . 34
3.3.1 The Dissipated Energy Arc-Length . . . . . . . . . . . . . . . . . . . 34
3.4 Open Issues and Goals of the Present Investigation . . . . . . . . . . . . . . 35

4 The Hybrid-Constraint Methods 37


4.1 The Concept of Hybrid-Constraint . . . . . . . . . . . . . . . . . . . . . . . 38
4.1.1 Features of the Weighting Function γ . . . . . . . . . . . . . . . . . . 38
4.2 Strategies for a Sound Computation of the Weighting function γ . . . . . . 38
iv Contents

4.2.1 The parameter Wmem . . . . . . . . . . . . . . . . . . . . . . . . . . 41


4.3 Hybrid-Constraint Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
4.3.1 Hybrid-Riks' Method . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
4.3.2 Hybrid-Ramm's Method . . . . . . . . . . . . . . . . . . . . . . . . . 42
4.3.3 Hybrid-Criseld's Method . . . . . . . . . . . . . . . . . . . . . . . . 43
4.4 Predictor Solution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
4.5 Corrector Iterations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
4.5.1 Root Selection Methods . . . . . . . . . . . . . . . . . . . . . . . . . 46
4.6 Step Size Adjustment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49

5 Implementation of the Hybrid-Constraint Methods in PyFEM 51


5.1 Preliminary Considerations . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
5.2 Implementation of the Hybrid-Riks' Method . . . . . . . . . . . . . . . . . . 52
5.2.1 The Method WeightedRiks.run . . . . . . . . . . . . . . . . . . . 52
5.3 Implementation of the Hybrid-Ramm's Method . . . . . . . . . . . . . . . . 55
5.3.1 The Method WeightedHP.run . . . . . . . . . . . . . . . . . . . . 55
5.4 Implementation of the Hybrid-Criseld's Method . . . . . . . . . . . . . . . 58
5.4.1 The Method WeightedCrisfield.run . . . . . . . . . . . . . . . 58
5.4.2 Implementation of the Root Selection Methods . . . . . . . . . . . . 61
5.4.3 The Function plotIter . . . . . . . . . . . . . . . . . . . . . . . . 62

6 Arc-Length Methods: Numerical Simulations 65


6.1 Goals of the Investigation . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
6.2 Double Cantilever Beam . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
6.3 Pull-Out Test . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
6.4 Bending of a L-shaped Specimen . . . . . . . . . . . . . . . . . . . . . . . . 76
6.5 Delamination Buckling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
6.6 Variable Thickness DCB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
6.7 Perforated Cantilever Beam . . . . . . . . . . . . . . . . . . . . . . . . . . . 90
6.8 Conclusions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97

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

8 Implementation of Continuation Methods in PyFEM 117


8.1 Implementation of the Modied Riks' Continuation Method . . . . . . . . . 117
8.1.1 The Class RiksContinuation and its Methods . . . . . . . . . . . 117
8.1.2 The Class RiksBranchContinuation and its Methods . . . . . . 122
8.1.3 Limitations of the Method . . . . . . . . . . . . . . . . . . . . . . . . 126
8.2 Implementation of the Dissipated Energy Continuation Method . . . . . . . 127
8.2.1 The Class DissEnContinuation and its Methods . . . . . . . . . 127
8.2.2 The Class DissEnBranchContinuation and its Methods . . . . 129
Contents v

8.2.3 Limitations of the Method . . . . . . . . . . . . . . . . . . . . . . . . 130

9 Continuation Methods: Numerical Simulations 133


9.1 Goals of the Investigation . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133
9.2 Preliminaries on Finite Element Analyses . . . . . . . . . . . . . . . . . . . 134
9.3 Validation of the Modied Riks' Continuation Method . . . . . . . . . . . . 134
9.4 Performance of the Continuation Methods . . . . . . . . . . . . . . . . . . . 137

10 Concluding Remarks 149


10.1 Future Developments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 150

A Implementation of Criseld's Method 151


A.1 Implementation of Criseld's Method . . . . . . . . . . . . . . . . . . . . . . 151
A.1.1 The Method CrisfieldSolver.run . . . . . . . . . . . . . . . . 151
vi Contents
List of Figures

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

3.1 Graphical representation of the decomposition of the unknowns . . . . . . . 28


3.2 Graphical interpretation of Riks' method . . . . . . . . . . . . . . . . . . . . 30
3.3 Graphical interpretation of Criseld's method . . . . . . . . . . . . . . . . . 31
3.4 Graphical interpretation of Ramm's method . . . . . . . . . . . . . . . . . . 33

4.1 Map of the chapter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37


4.2 Inuence of γ on the domain circumference . . . . . . . . . . . . . . . . . . 44
4.3 Graphical representation of the increment direction method . . . . . . . . . 47
4.4 Failure of the lowest residual method . . . . . . . . . . . . . . . . . . . . . . 48

5.1 Structure of the block <SolverName>.py . . . . . . . . . . . . . . . . . . 51


5.2 Structure of the solver WeightedRiks . . . . . . . . . . . . . . . . . . . . 53
5.3 Procedure for the computation of γ . . . . . . . . . . . . . . . . . . . . . . . 54
5.4 Structure of the solver WeightedHP . . . . . . . . . . . . . . . . . . . . . . 57
5.5 Structure of the solver WeightedCrisfield . . . . . . . . . . . . . . . . . 59
5.6 Implementation of the root selection scheme . . . . . . . . . . . . . . . . . . 61
5.7 Example of the le Step<n_step>.py . . . . . . . . . . . . . . . . . . . . 62

6.1 DCB: structural model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67


6.2 DCB: nite element mesh . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
6.3 DCB: structural response and deformed congurations . . . . . . . . . . . . 69
6.4 DCB: results comparison . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
6.5 DCB: results obtained with the HRi and the DE methods . . . . . . . . . . 71
6.6 Pull-out test: structural model . . . . . . . . . . . . . . . . . . . . . . . . . 72
6.7 Pull-out test: nite element mesh . . . . . . . . . . . . . . . . . . . . . . . . 72
viii List of Figures

6.8 Pull-out test: structural response and deformed congurations (displace-


ments 10×) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
6.9 Pull-out test: results comparison . . . . . . . . . . . . . . . . . . . . . . . . 74
6.10 Pull-out test: results obtained with the HC, the DE and the HRi methods . 74
6.11 L-shaped specimen: structural model . . . . . . . . . . . . . . . . . . . . . . 76
6.12 L-shaped specimen: nite element mesh . . . . . . . . . . . . . . . . . . . . 77
6.13 L-shaped specimen: structural response and deformed congurations . . . . 78
6.14 L-shaped specimen: results comparison . . . . . . . . . . . . . . . . . . . . . 79
6.15 L-shaped specimen: results obtained with the HRi and the DE methods . . 79
6.16 Delamination buckling: structural model . . . . . . . . . . . . . . . . . . . . 81
6.17 Delamination buckling: nite element mesh . . . . . . . . . . . . . . . . . . 81
6.18 Delamination buckling: structural response and deformed congurations . . 82
6.19 Delamination buckling: results comparison . . . . . . . . . . . . . . . . . . . 83
6.20 Delamination buckling: results obtained with the HRa and the DE methods 84
6.21 Variable thickness DCB: structural model . . . . . . . . . . . . . . . . . . . 85
6.22 Variable thickness DCB: nite element mesh . . . . . . . . . . . . . . . . . . 86
6.23 Variable thickness DCB: structural response and deformed congurations . 87
6.24 Variable thickness DCB: results comparison . . . . . . . . . . . . . . . . . . 88
6.25 Variable thickness DCB: results obtained with the HC and the DE methods 88
6.26 Perforated cantilever beam: structural model . . . . . . . . . . . . . . . . . 90
6.27 Perforated cantilever beam: nite element mesh . . . . . . . . . . . . . . . . 91
6.28 Perforated cantilever beam: structural response and deformed congura-
tions (displacements 5×) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92
6.29 Perforated cantilever beam: results comparison . . . . . . . . . . . . . . . . 93
6.30 Perforated cantilever beam: results obtained with the HC and the DE methods 94
6.31 Perforated cantilever beam: history of the values of γ . . . . . . . . . . . . . 95
6.32 Perforated cantilever beam: root selection schemes in HC . . . . . . . . . . 96
6.33 Perforated cantilever beam: spurious branches . . . . . . . . . . . . . . . . . 96

7.1 Map of the chapter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99


7.2 Post-buckling analyses with traditional quasi-static techniques . . . . . . . . 100
7.3 Post-buckling analyses with continuation methods . . . . . . . . . . . . . . . 101
7.4 Force-control and displacement-control parametrizations near turning points 102
7.5 Arc-length parametrization near turning points . . . . . . . . . . . . . . . . 102

8.1 Structure of the le RiksContinuation.py . . . . . . . . . . . . . . . . . 118


8.2 Structure of the function CriticalPointsComputation . . . . . . . . . 120
8.3 Architecture of RiksBranchContinuation.py . . . . . . . . . . . . . . 123
8.4 Structure of the le DissEnContinuation.py . . . . . . . . . . . . . . . 131

9.1 Euler buckling: structural model . . . . . . . . . . . . . . . . . . . . . . . . 134


9.2 Euler buckling: nite element mesh . . . . . . . . . . . . . . . . . . . . . . . 135
9.3 Euler buckling: results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135
9.4 Truss-spring system: structural model . . . . . . . . . . . . . . . . . . . . . 136
9.5 Truss-spring system: results . . . . . . . . . . . . . . . . . . . . . . . . . . . 137
9.6 Beam with embedded cohesive layer: structural model . . . . . . . . . . . . 137
9.7 Beam with embedded cohesive layer: nite element mesh . . . . . . . . . . . 138
9.8 Beam with embedded cohesive layer: primary path . . . . . . . . . . . . . . 139
9.9 Beam with embedded cohesive layer: rst bifurcation branch . . . . . . . . . 139
List of Figures ix

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

A.1 Structure of the solver CrisfieldSolver . . . . . . . . . . . . . . . . . . 152


x List of Figures
List of Tables

2.1 Cohesive element properties . . . . . . . . . . . . . . . . . . . . . . . . . . . 24


2.2 Shell element properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24

3.1 Constraint Equations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29

4.1 Expressions of γ as a function of d . . . . . . . . . . . . . . . . . . . . . . . 39

6.1 DCB: geometric features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67


6.2 DCB: properties of the cohesive constitutive law . . . . . . . . . . . . . . . 67
6.3 DCB: analysis parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
6.4 DCB: numerical performances . . . . . . . . . . . . . . . . . . . . . . . . . . 70
6.5 Pull-out test: geometric features . . . . . . . . . . . . . . . . . . . . . . . . 72
6.6 Pull-out test: properties of the cohesive constitutive law . . . . . . . . . . . 72
6.7 Pull-out test: analysis parameters . . . . . . . . . . . . . . . . . . . . . . . . 73
6.8 Pull-out test: numerical performances . . . . . . . . . . . . . . . . . . . . . 75
6.9 L-shaped specimen: geometric features . . . . . . . . . . . . . . . . . . . . . 76
6.10 L-shaped specimen: properties of the cohesive constitutive law . . . . . . . . 76
6.11 L-shaped specimen: properties of the cohesive elements A and B . . . . . . 77
6.12 L-shaped specimen: analysis parameters . . . . . . . . . . . . . . . . . . . . 77
6.13 L-shaped specimen: numerical performances . . . . . . . . . . . . . . . . . . 80
6.14 Delamination buckling: geometric features . . . . . . . . . . . . . . . . . . . 81
6.15 Delamination buckling: properties of the cohesive constitutive law . . . . . . 81
6.16 Delamination buckling: analysis parameters . . . . . . . . . . . . . . . . . . 82
6.17 Delamination buckling: numerical performances . . . . . . . . . . . . . . . . 84
6.18 Variable thickness DCB: geometric features . . . . . . . . . . . . . . . . . . 85
6.19 Variable thickness DCB: properties of the cohesive constitutive law . . . . . 85
6.20 Variable thickness DCB: analysis parameters . . . . . . . . . . . . . . . . . 86
6.21 Variable thickness DCB: numerical performances . . . . . . . . . . . . . . . 89
6.22 Perforated cantilever beam: geometric features . . . . . . . . . . . . . . . . 90
6.23 Perforated cantilever beam: properties of the cohesive constitutive law . . . 90
6.24 Perforated cantilever beam: analysis parameters . . . . . . . . . . . . . . . . 91
6.25 Perforated cantilever beam: numerical performances . . . . . . . . . . . . . 94

9.1 Euler buckling: geometric features . . . . . . . . . . . . . . . . . . . . . . . 135


9.2 Beam with embedded cohesive layer: geometric features . . . . . . . . . . . 138
9.3 Beam with embedded cohesive layer: properties of the cohesive constitutive
law . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138
9.4 Beam with embedded cohesive layer: analysis parameters . . . . . . . . . . 138
9.5 Beam with embedded cohesive layer: analysis results . . . . . . . . . . . . . 142
xii List of Tables

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

1.2 Literature Review


Since the introduction of the nite element method (FEM) in the late fties [43], a wide
range of numerical methods has been adopted to perform nonlinear FE analyses. In that
period, aerostructures were principally made of aluminium alloys, and nonlinear analyses
were substantially restricted to geometric nonlinearities and buckling. This kind of analysis
was performed by means of strategies based on the well-known Newton-Raphson method
[30, 33], a standard approach to the solution of nonlinear problems. Despite providing a
second order convergence, this method requires the assembly of the Jacobian matrix at
each iteration, resulting in a relevant waste of time when large problems are considered.
The need for increasingly complex models and the limited computational resources available
at that time, encouraged the diusion of the modied Newton-Raphson method and of
the quasi-Newton methods [5]. These procedures have a lower computational cost, as a
simplied Jacobian matrix is assembled, but provide a lower convergence rate.
The Newton-like methods are not suitable to predict the nonlinear response of structures
showing snaps, a phenomenon often encountered in the post-buckling response of thin
walled structures, due to the arising of singularities in the Jacobian matrix.
The increasing interest in the post-buckling behaviour of such structures promoted the de-
velopment of numerical methods able to handle snaps. A solution to this problem was the
adoption of a procedure able to switch from the force-control to the displacement-control
approach in the neighbourhood of limit points [39]. Although this strategy is eective to
deal with snap-through behaviours, it fails in presence of snap-backs.
In the early seventies, a fundamental advance was provided by the introduction of the
path-following methods, like the arc-length techniques and the continuation methods. The
arc-length methods were introduced by Riks [35] and Wempner [48]. In these procedures,
the load is considered an unknown quantity, which adds one more degree of freedom to the
structural problem. The introduction of an additional degree of freedom requires to add
a scalar constraint to the equilibrium equations. This strategy enables both the load and
the displacements to increase or decrease, and removes the singularities occurring in the
Jacobian matrix at turning points. Major developments in the arc-length methods came
in the early eighties from Criseld [13, 14, 22] and Ramm [32]. Arc-length techniques are
used not only in nite element analyses, but they have been applied also to semi-analytical
procedures [45]. A review of the arc-length methods for geometrically nonlinear problems
available up to the end of the nineties is provided in [29, 37].
All these arc-length strategies are well suited to study geometrically nonlinear elastic prob-
lems, even when complex behaviours, like snap-backs, are present. Nevertheless, they
proved to be unsuitable when material nonlinearities related to strain-softening behaviour
were present [29].
With the introduction of composites in aerostructures, analyses concerning the prediction
of damage initiation, damage accumulation and structural collapse, which are characterized
by material nonlinearities, assumed an increasing relevance. The rst FE approaches to
predict damage in composite structures were the computational fracture mechanics, which
led to the study of delaminations by means of the virtual crack closure technique (VCCT)
[25, 38], and the progressive failure analysis [42]. Later on, the development of continuum
damage mechanics [24] introduced the concept of damage model to provide the degradation
of the mechanical properties of the material. In recent years, cohesive elements have been
successfully applied to delamination problems [1, 4, 11, 17, 23].
The use of cohesive elements can induce numerical problems in the quasi-static solution
Introduction 3

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].

To eciently solve delaminations problems using cohesive elements by means of quasi-


static procedures, simple strategies, based on global quantities and that do not require the
selection of a limited group of DOFs or the implementation of complex algorithms, must
be sought.

1.3 Present Work


Goal of the present thesis is the development of robust and ecient quasi-static numerical
methods for the solution of delamination problems involving cohesive elements. These pro-
cedures are protable alternatives to the use of implicit and explicit dynamic solvers, and
provide relevant advantages with respect to the adoption of already existing quasi-static
approaches. The investigation is here focused on arc-length techniques and continuation
methods.

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.

These algorithms provide attractive performances both in presence of simple strain-softening


responses and complex structural behaviours, representing general purpose solution proce-
dures for delamination problems.
Introduction 5

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:

• In Chapter 2, basic concepts of nonlinear structural mechanics are reviewed. The


total Lagrangian formulation is derived and the equilibrium equations are approxi-
mated by means of the nite element method. Then, the cohesive constitutive law for
single-mode and mixed-mode fractures is illustrated. Finally, the nite element code
PyFEM is described and the implementation of the cohesive elements in PyFEM is
illustrated.

• Chapter 3 provides an overview of the existing arc-length methods. After a general


introduction, typical procedures for problems involving geometric nonlinearities are
described. Then, the issues related to the presence of cohesive elements are discussed,
and an arc-length method present in literature and developed to deal with strain-
softening materials is introduced. Finally, some guidelines for the development of
numerical methods for analyses involving cohesive elements are outlined.

• In Chapter 4, a new family of arc-length techniques, the hybrid-constraint methods, is


presented. These methods are specically developed to deal with cohesive elements.
The features of the weighting function adopted in the hybrid-constraint formulation
are described and some expressions of such function are proposed. Three algorithms
belonging to the new family of methods are presented. Finally, a detailed description
of the predictor and the corrector phases and of the root selection schemes is given,
and the strategy adopted to update the step size is introduced.

• The implementation of the hybrid-constraint methods in PyFEM is described in


Chapter 5. The les, the classes and the methods related to these procedures are
discussed in details. In addition, an automatic procedure to switch the root selection
scheme in hybrid-constraint methods relying on a quadratic constraint is presented.
6 Introduction

• In Chapter 6 the performance of the hybrid-constraint methods are demonstrated


by means of six numerical examples. The performance of the new procedures are
compared to those of already existing arc-length strategies.

• A general introduction to continuation methods is given in Chapter 7. The procedures


for the computation of critical points and the branch switching methods adopted in
this work are introduced. Then, a modied version of the Riks' continuation method
and a new procedure for problems involving energy dissipation are presented.

• In Chapter 8, the implementation of the continuation methods in PyFEM is dis-


cussed. An insight is provided into the les, the classes and the methods constituting
the algorithms.

• 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.

• In Appendix A, the implementation of Criseld's arc-length in PyFEM is described.


The class and the methods related to this algorithm are presented.
Chapter 2

Introduction to Nonlinear Finite


Element Analysis and Cohesive
Elements
Cohesive elements are a common numerical technique to study crack propagations, delam-
inations and decohesions in structural problems. These nite elements are characterized
by a constitutive law which establishes an equation between tractions and displacements
on the two parts of a crack.
In this chapter, an introduction to nonlinear nite element analysis and to cohesive ele-
ments is given. Basic concepts concerning nonlinear structural mechanics are presented
and the nonlinear nite element discretization is introduced. Then, cohesive elements
are presented and the mixed-mode cohesive constitutive law is introduced. Finally, an
overview of the open source nite element code PyFEM is given and the implementation
of the mixed-mode cohesive constitutive law in PyFEM is discussed.

2.1 Nonlinear Formulation of the Structural Problem


The nonlinear equilibrium equations of a structure at the time t + ∆t can be written as:
Z Z Z
(δt+∆t T t+∆t
) σ dV = T
δu t dS + ρ0 δuT g dV (2.1)
V S V

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

sary to linearise Eq. (2.1), and it yields to the following approximation:

σ 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.

2.2 Finite Element Discretization


The nite element method relies on the idea of satisfying equilibrium at a nite number of
points of the structural domain [5, 10], assuming that the solution in all the other points
of the domain varies according to the shape functions.
The displacement eld u is approximated as follow:

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)

Substituting Eqs. (2.7) and 2.8 into Eq. (2.5) it is obtained:

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

Finally Eq. (2.5) can be rewritten as:

t+∆t
δ∆aT K∆a = δ∆aT (fext t
− fint ) (2.14)

where K is the tangent stiness matrix dened as:

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

nonlinear contribution to the tangent stiness matrix becomes:


Z
dD t
KN L = BTL  BL dV (2.17)
V d
The solution of the nonlinear structural problem has thus been derived with a total La-
grangian formulation for problems with geometric nonlinearities or material nonlinearities.
A geometrically nonlinear material model, the cohesive constitutive law, is discussed in the
next section.

2.3 Cohesive Elements


Cohesive elements are a particular type of nite element widely used to simulate decohe-
sions, delaminations and crack propagation in quasi-brittle materials. Cohesive elements
are created associating interface elements with a cohesive constitutive law.

2.3.1 Interface Elements


Interface elements are commonly used to model fracture process zones in conjunction with
a cohesive constitutive law, when the dimension of the fracture process zone is not small
compared with the structural dimensions. Interface elements must be introduced a priori
in the nite element mesh between two continuum elements, as shown in Figure 2.1.

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:

u = {δ3+ , δ3− , δ1+ , δ1− , δ2+ , δ2− }T (2.18)


Introduction to Nonlinear Finite Element Analysis and Cohesive Elements 11

 
−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.

2.3.2 The Cohesive Constitutive Law


Usually interface elements are used in conjunction with a cohesive constitutive law, hence
resulting in cohesive elements. Cohesive elements are often introduced in the nite element
mesh as layer along which the crack propagates, thus giving life to a so called cohesive zone.
In the present work a bilinear cohesive model is considered.
Cohesive constitutive laws are endowed with a damaging mechanism which degradates the
mechanical properties of the material if the nodal relative displacements of the related
interface element exceed a prescribed value: such a behaviour is usually referred to as
strain-softening behaviour and reects the way the material loses its load-carrying capacity.
Hereafter the bilinear cohesive model for a single-mode crack is introduced. Then, this
model is extended to mixed-mode fractures.
The single-mode bilinear cohesive constitutive law is a triangular law made up of an as-
cending linear part followed by a descending linear part, as shown in Figure 2.2.
The slope of the rst part is equal to the penalty stiness Kd . The descending part starts
when the traction τi equals a critical value that is referred to as N for the normal mode
and T and S for the two shear modes. The area under the curve is equal to the fracture
toughness GiC for the corresponding mode. The parameters, Kd , GiC and the tensile or
shear strengths N, T and S, completely dene the material properties.
Until τ has not reached N,T or S, the material behaves as a linear elastic material with
modulus equal to Kd (point 1 in Figure 2.2). When τ reaches N,T or S (point 2 in Figure
2.2) and the relative displacement equals the value for delamination onset, δ30 = N/K ,
δ10 = T /K or δ20 = S/K , the mechanical properties start degradating. As a result, Kd is
progressively reduce by means of a damage variable d as the relative displacement increases
(point 3 in Figure 2.2), so that:

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

δif (δimax − δi0 )


di = (2.24)
δimax (δif − δi0 )
where, δimax = max{δimax , |δi |} for i = 1, 2, and δ3max = max{δ3max , δ3 } for δ3 > 0, while
δ3f = 2GIC /N , δ1f = 2GIIC /T and δ2f = 2GIIIC /S .
When δi ≥ δif the cohesive element is fully damaged, which means that its modulus is null,
an energy equal to the fracture toughness has been dissipated and the value of the damage
variable equals 1 (points 4 and 5 in Figure 2.2).
When a partially damaged element is unloaded, the material shows a linear elastic be-
haviour, and unloading occurs along a line of slope (1 − d)Kd that passes through the
origin (from point 0 to point 3 in Figure 2.2).
The single-mode cohesive constitutive law is described as:

0
Kd δi , δi ≤ δi

τi = (1 − di )Kd δi , δi0 ≤ δi ≤ δif (2.25)
0, δi > δif

Furthermore, the following condition must be introduced to avoid interpenetration:

τ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

The criterion adopted to predict delamination propagation under mixed-mode loading is


that proposed by Benzeggagh and Kenane (B-K criterion):
 η
Gshear
GIC + (GIIC − GIC ) = GC , with GT = GI + Gshear (2.32)
GT
where,

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)

where Dsr is the indicial representation of the elasticity matrix Dd .


According to the mixed-mode cohesive constitutive law, the components of Dd assume the
expression reported in Eq. (2.37).

δ sr Kd max 6 δ 0
 , δm m



 
h−δ3 i 0 < δ max < δ f (2.37)

Dsr = δ sr 1 − d Kd + dKd −δ3 δ s3 , δm m m


δ δ h−δ3 i K

, max > δ f
δm
s3 3r −δ3 d m

where δ sr is the Kronecker delta, δm


max = max δ max , δ
m , and the damage variable d is

m
dened as:

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

Figure 2.3: Mixed-mode 2D cohesive constitutive law (taken from [11])

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:

• Truss: nonlinear truss element

• KirchhoffBeam: nonlinear Kirchho beam element

• TimoshenkoBeam: nonlinear Timoshenko beam element


Introduction to Nonlinear Finite Element Analysis and Cohesive Elements 17

• Spring: linear spring element

• Interface: interface element

• SmallStrainContinuum: linear shell element

• FiniteStrainContinuum: nonlinear shell element

In addition, in the directory elements, a script Element.py, containing a class called


Element is present. The aim of this class is to initialize the element and some quantities
into which the element data are stored.
In PyFEM the following solvers are available:

• LinearSolver: solver for linear nite element problems;

• NonlinearSolver: Newton-Raphson method for nonlinear nite element prob-


lems;

• RiksSolver: Riks arc-length method for nonlinear problems with snaps;

• DissipatedEnergySolver: arc-length method for problems where energy dissi-


pation occurs (see Section 3.3.1 and [20, 44]);

• ExplicitSolver: an explicit direct integration method for dynamic problems.

In the directory solvers, a script Solver.py, containing a class called Solver is


present. The aim of this class is to initialize the solver that is used in the simulation and
to run it when requested.
Concerning the material library, the following materials are available in PyFEM:

• Dummy: a simple model used to perform some introductory examples reported in


[10].

• HookesLaw: a scalar elastic constitutive law for spring elements;

• Isotropic: a three-dimensional isotropic material which relates three components


of normal stress and three components of shear stress to the corresponding strains;

• PlaneStress: a plain stress material model for shell elements;

• PlaneStrain: a plain strain material model for shell elements;

• TransverseIsotropic: a constitutive law for transverse isotropic materials;

• PlaneStrainDamage: a plain strain damage model [10];

• PowerLawModeI: an exponential cohesive constitutive law with no damage variable


for mode I fractures;

• MixedModeCohZone: a mixed-mode cohesive constitutive law (dierent from the


one described above).
18 Introduction to Nonlinear Finite Element Analysis and Cohesive Elements

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.

A block diagram illustrating the architecture of PyFEM is reported in Figure 2.5. A


detailed description of the blocks reported in Figure 2.5 is reported below.

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.2 The Function assembleArray


During the analysis, the matrix K is assembled by the function
assembleTangentStiffness, and the vector of internal forces by the function
assembleInternalForces. Both of these methods call the function assembleArray
implemented in Assembly.py. The function assembleArray performs a for loop
on all the elements of the model, in which the elemental tangent stiness matrices or the
elemental internal forces vectors are created, and nally places them into the global tangent
stiness matrix or into the global internal forces vector respectively.

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.5 The Function getStress


The function getStress implements the constitutive law of the material. Each material is
implemented as a class, here generically referred to as <MaterialName>, and is contained
in a script here referred to as <MaterialName>.py, which is located in the directory
materials.
The function getStress takes as an input the vector deformations, containing the
deformations or relative displacements computed by the function
<getKinematics>, and gives as an output the elemental stress vector sigma and the
elemental tangent modular matrix tang.

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

if: globdat.active = False globdat.active = True/False

Analysis Terminated
assembleArray

getElemShapedata

<MaterialName>.py
shapeFunctions.py <ElementType>.py

<MaterialName>
elemShapeData <ElementType>
getStress(deformations)
getElemShapeData getTangentStiffness ( getStressCoh(deformations, damage, deltaMax) )

Figure 2.5: PyFEM architecture


getInternalForces
getStress
(getStressCoh)
<getKinamatics>
<getNmatrix>
<getBmatrix>
<getShape> sigma
tang
(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

2.5 Implementation of Mixed-Mode Cohesive Elements in


PyFEM
As far as mixed-mode cohesive elements are not available in PyFEM, they have been
implemented according to the architecture illustrated in the scheme of Figure 2.6.

If the solver converges

globdat.damageOldDict globdat.damageDict
globdat.deltaMaxOldDict globdat.deltaMaxDict

assembleArray assembleArray

getTangentStiffness
getInternalForces

CohesiveAbaqus.py

CohesiveAbaqus

Figure 2.6: Architecture of cohesive element implementation

In PyFEM only 2D elements are available, so a two-dimensional version of the mixed-


mode constitutive law is implemented. The cohesive model is introduced as a class
called CohesiveAbaqus, in the script CohesiveAbaqus.py located in the directory
materials of PyFEM. The CohesiveAbaqus material is used in conjunction with the
four-noded interface elements present in element library of PyFEM.
It must be remarked that the 2D version of the mixed-mode cohesive constitutive law is
able to account for mode I and mode II delaminations only.
The state of a mixed-mode cohesive element is determined by the strain values, the val-
ues of the damage variable d and the mixed-mode relative displacement δm . The con-
stitutive equations of the mixed-mode cohesive model are implemented in the method
getStressCoh. The method takes three inputs and gives four outputs, as illustrated in
Figure 2.7.
22 Introduction to Nonlinear Finite Element Analysis and Cohesive Elements

Figure 2.7: Input and output variables of the method getStressCoh

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:

• globdat.damageOldDict: contains the damage variables at the last converged


equilibrium point;

• globdat.deltaMaxOldDict: stores the maximum mixed-mode relative displace-


ments at the last converged equilibrium point;

• globdat.damageDict: contains the current values of the damage variables;

• globdat.deltaMaxDict: stores the current values of the maximum mixed-mode


relative displacements.

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

When the solver converges to a new equilibrium point, globdat.damageOldDict and


globdat.deltaMaxOldDict are overwritten setting them equal to
globdat.damageDict and globdat.deltaMaxDict respectively.

The structure of the method getStressCoh is illustrated in Figure 2.8.

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

linear elastic damaging element fully damaged


behaviour element

sigma
tang
damage
deltaMax

Figure 2.8: Structure of the function getStressCoh

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

0 and δ f , and the


Eqs. (2.37) and (2.40) are applied based on the values of deltaMax, δm m
new values of sigma, tang and damage are computed.

2.5.1 Comparison With Abaqus Results


To validate the cohesive constitutive law, a comparison is presented between the solutions
provided by PyFEM and Abaqus.
The model is sketched in Figure 2.9 and consists of one cohesive element and one shell
element: the cohesive element is xed at the bottom and loaded at the top with two
vertical forces.

Figure 2.9: Model for cohesive elements validation

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.

N = T (MPa) GIC = GIIC (Nmm−1 ) Kd (Nmm−3 )


1.0 2.5 · 10−3 2 · 103

Table 2.1: Cohesive element properties

E (MPa) ρ (Kgmm−3 )
100 1.0 · 10−9

Table 2.2: Shell element properties


Introduction to Nonlinear Finite Element Analysis and Cohesive Elements 25

Cohesive Constitutive Law

Abaqus Displacement Control


PyFem Explicit Dynamics
1

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

Figure 2.10: Comparison Abaqus-PyFEM

The two solutions are presented in Figure 2.10.


The comparison of Figure 2.10 reveals the good agreement between PyFEM and Abaqus
results. The initial part of the curve, corresponding to the undamaged elements, is almost
identical. The unloading phase begins at 1 N in both cases. The slope of the softening
region is well described, although a slight discrepancy can be observed. The dierence
is due to inertial eects appearing in the dynamic analysis when the cohesive element is
almost completely damaged. In this situation, stiness is very low and the shell element
starts accelerating. As a consequence, inertia forces cause the load factor λ not to reach
zero and the equilibrium curve to drift. If a linear softening behaviour is hypothetically
considered also for the dynamic solution, extending the linear descending part of the curve
until the zero value is reached, the two solutions are nearly coincident.
The results in Figure 2.10 show that the cohesive elements implemented in PyFEM are also
energetically correct, because the area subtended by the curve is equal to the prescribed
fracture toughness GIC .
These results demonstrate that the cohesive constitutive law implemented in PyFEM is
correct and that it provides reliable results.
26 Introduction to Nonlinear Finite Element Analysis and Cohesive Elements
Chapter 3

The Arc-Length Method


This chapter presents an overview of the arc-length method and the dierent versions avail-
able in the literature. Firstly, geometrically nonlinear problems are considered, presenting
four arc-length strategies suitable for this class of nonlinearities. Then, problems charac-
terized by material nonlinearties, including strain-softening behaviour, are discussed and a
solution technique involving an energy dissipation constraint is introduced. An overview of
limitations of the current implementations of the arc-length techniques is nally provided.

3.1 Introduction to Arc-Length Methods


The arc-length method relies on the idea of introducing a scalar load factor λ, and repre-
senting the applied loads as:

fext = λf̂ (3.1)


where fext is the vector of applied loads and f̂ is the load pattern, i.e. a vector with the
same aspect of fext , which xes the relationships among the nodal forces.
The nonlinear set of structural equilibrium equations, approximated according to the nite
element method, can be expressed as:

(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

equation is needed. The nonlinear structural problem is then formulated as:


(
fint (a, λ) − λf̂ = 0
(3.3)
g(a, λ) = 0

where the second term is the constraint equation.


The augmented system in Eq. (3.3) is usually solved by means of a predictor-corrector
method. The predictor is used to compute an approximate solution which is then iteratively
improved during the corrector. The corrector consists in the iterative solution of Eq. (3.3)
by means of a Newton-like method, adopting the predictor solution as initial guess. In the
iterative process, the following decomposition of the unknowns is adopted:

∆a = ∆aj + da , ∆λ = ∆λj + dλ (3.4)

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.

Figure 3.1: Graphical representation of the decomposition of the unknowns

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

and the residual r is dened as:

r = ∆λj f̂ − fint (∆aj , ∆λj ) (3.7)


The linearised system in Eq. (3.5) can be rewritten in matrix form as:
    
K −f̂ da r
= (3.8)
hT w dλ −gj
where the compact notation gj = g(∆aj , ∆λj ) is adopted.
The system in Eq. (3.8) is usually solved by substitution, so that the iterative increments
da and dλ are derived as:

da = aI + dλaII (3.9)
gj +hT a II
dλ = − (3.10)
hT aI + w
where:

aI = K−1 f̂ aII = K−1 r (3.11)


The substitution of Eq. (3.10) into Eq. (3.4) allows to determine the total increment of
the current step.
The core of the arc-length method is the constraint equation. Most of the constraints
proposed in literature are suitable for geometrically nonlinear problems. The most popular
examples are the Riks' method, Criseld's method, the cylindrical arc-length and Ramm's
method.
Quite rarely equations have been specically developed to deal with the nonlinearities
generated by strain-softening materials. In these cases, constraint equations are not purely
geometric, but are related to the material properties. An example is given by the dissipated
energy constraint equation.
An overview of the constraint equations is provided in Table 3.1.

Nonlinearity Method Constraint Equation


Riks g = ∆aT0 da = 0
Geometric Criseld g = ∆aT ∆a + ∆λ2 f̂ T f̂ − ∆l2 = 0
Cylindrical g = ∆aT ∆a − ∆l2 = 0
Ramm g = ∆aTj da = 0
Material Dissipated Energy 1
λ0 ∆aT − ∆λaT0 f̂ − ∆τ = 0

g= 2

Table 3.1: Constraint Equations

3.2 Arc-Length Methods for Geometric Nonlinearities


In this section four arc-length methods for geometrically nonlinear problems are introduced.
They rely on constraint equations that prescribe norms or geometric relationships among
30 The Arc-Length Method

the applied loads and/or increments of the displacement vector.

3.2.1 Riks' Method


The basic idea behind Riks' method is that, provided that the step-length is small enough,
an intersection between the equilibrium path and a plane (nearly) orthogonal to it can
always be found.
Riks' method is based on the following constraint equation:

g(∆a, ∆λ) = ∆aT0 da = 0 (3.12)


Eq. (3.12) forces the iterative increment da, computed with the corrector, to be orthogonal
to the displacement increment ∆a0 , computed with the predictor. As a consequence, the
new equilibrium point is the intersection between the equilibrium path and the direction
orthogonal to ∆a0 . The geometric interpretation of the method is illustrated in Figure 3.2.
Load

Equilibrium
A
Predictor Iterations
Solution
B

Displacement

Figure 3.2: Graphical interpretation of Riks' method

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

Comments to the Method


Riks' arc-length is simple, robust, ecient and guarantees the existence of the solution.
On the other hand, it is not suitable to solve problems involving sharp snap-backs. This
weakness follows from the geometric interpretation of the method: when a sharp snap-back
is approached, the procedure may no longer nd an intersection between the path and the
The Arc-Length Method 31

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:

• Convergence is reached after many iterations and step-length reductions, leading to


a signicant waste of time;

• 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.

3.2.2 Criseld's Method


Criseld's method, also known as spherical arc-length, relies on the following constraint
equation:

g(∆a, ∆λ) = ∆aT ∆a + ∆λ2 f̂ T f̂ − ∆l2 = 0 (3.15)


Eq. (3.15) forces the method to converge to the equilibrium solution located at the inter-
section between the equilibrium path and a hypersphere of radius ∆l centred in the last
computed equilibrium point. The geometric interpretation of the method is illustrated in
Figure 3.3.
Load

Equilibrium
Iterations

Displacement

Figure 3.3: Graphical interpretation of Criseld's method

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.

Comments to the Method


Criseld's method has the advantage of providing excellent step-length control capabilities,
as it prescribes that the norm of the vector of the increments, [∆a, ∆λ], equals the step-
length value ∆l. As a consequence, this method prevents non-convergence problems in
proximity of sharp snap-backs or when the structural stiness shows abrupt changes. On
the other hand, Eq. (3.17) does not guarantee the existence of the solution, because it
could lead to the computation of two complex roots. In presence of complex roots, a
possible remedy is to reduce the step-length and perform the load step again. However,
this approach often does not solve the problem.

3.2.3 Cylindrical Arc-Length


The cylindrical arc-length is a variant of the spherical arc-length. With respect to this latest
method, only the displacement vector is considered in the constraint equation, which reads:

g(∆a, ∆λ) = ∆aT ∆a − ∆l2 = 0 (3.19)

Comments to the Method


Eq. (3.19) does not provide evident advantages with respect to Eq. (3.15). In addition,
Eq. (3.19) has the same drawbacks of Eq. (3.15) as it concerns a quadratic equation too.

3.2.4 Ramm's Method


An alternative is the Ramm's method, also known as the updated normal path method.
It is obtained from the linearisation of Eq. (3.19), leading to the following equation:

g(∆a, ∆λ) = ∆aTj ∆a − ∆l2 = 0 (3.20)


From a geometric point of view, Eq. (3.20) forces the iterative increment da to be orthog-
onal to the total increment ∆aj , computed from the predictor to the previous iteration.
It means that the vector da must be orthogonal, in every iteration, to a direction which is
dierent from the one of the previous iteration. The normal direction is updated in every
iteration, and this explains why the method is also known as the updated normal path
method.
A graphical interpretation of the Ramm's method is reported in Figure 3.4.
The Arc-Length Method 33

Load
Predictor Equilibrium
Solution Iterations

Displacement

Figure 3.4: Graphical interpretation of Ramm's method

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:

g(∆a, ∆λ) = ∆aTj da = 0 (3.25)

Comments to the Method

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

3.3 Arc-Length Methods for Problems with Material Nonlin-


earities
The constraint equations discussed so far are not suitable in presence of material strain-
softening behaviour.
In these cases, local softening interfaces resulting in a global softening response can be
identied. These regions are usually referred to as cohesive zones, whose presence may lead
to a negative-denite stiness matrix. Engineering applications involving cohesive zones
are usually characterized by extreme non-smoothness in the structural response caused by
abrupt stiness changes or unstable crack propagation, resulting in a lack of robustness
of standard arc-length approaches. In addition, since the failure zone in a structure with
strain-softening material is often highly localized, global constraint equations, in which all
the degrees of freedom are included, are unable to reach convergence.
A possible solution to this problem is the use of a constraint equation involving only the
displacements of the dominant nodes, i.e. the nodes associated with the failure zone. This
idea leads to the local arc-length method [28]. Although this algorithm is eective, it has
a major drawback: the dominant nodes are problem dependent. It follows that:

• 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.

Another strategy consists in adopting constraint equations based on material properties


related to damage or fracture mechanics [18, 26, 31]. In this case, the diculty is the
identication of a solution parameter, which is a monotonically increasing quantity. An-
other issue is that constraint equations must enable the algorithm to converge always on
the correct solution, i.e. the dissipative one. This feature ensures the avoidance of elastic
unloading solutions.

3.3.1 The Dissipated Energy Arc-Length


An arc-length method based on a constraint equation relying on material properties related
to fracture mechanics is proposed in [20, 44]. This method is ecient and robust, allowing
to perform highly nonlinear analyses without suering from the problems caused by the
strain-softening behaviour.

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:

KdI = r, KdII = −f̂ (3.32)

Comments to the Method


The dissipated energy constraint of Eq. (3.30) depends only on the global quantities ∆a,
∆λ and f̂ , on the last converged equilibrium point [a0 , λ0 ] and on ∆τ . Thermodynamic
considerations suggest that the total dissipated energy τ is a monotonically increasing
quantity. The expression of its increment ∆τ depends only on global quantities. These
properties make τ an ideal path parameter for Eq. (3.30). In addition, Eq. (3.30) is linear,
and provides a unique solution.
Since Eq. (3.30) forces the incremental solution to dissipate an amount of energy equal to
∆τ , it ensures that its solution is always dissipative, thus preventing elastic unloading.

3.4 Open Issues and Goals of the Present Investigation


Most of the arc-length techniques in the literature are restricted to problems characterized
by the presence of geometrical nonlinearities. On the other hand, relatively few methods
have been developed to deal with material nonlinearities. Among them, the most successful
is the dissipated energy arc-length. Despite being ecient and extremely robust, this
method is characterized by a series of limitations.
In fact, Eq. (3.30) can be used only when energy dissipation occurs, which means that
it cannot be adopted to trace the elastic parts of the equilibrium path. As the initial
behaviour of a structure is always elastic, a force-control approach is necessary to perform
at least the rst few steps of the analysis.
36 The Arc-Length Method

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:

1. Start the analysis using a force-control approach;

2. If ∆τ ≥ ∆τswitch , switch to dissipated energy constraint;

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:

• Providing a monotonically increasing parameter to ensure a continuous advance of


the solution procedure along the equilibrium path;

• Relying on problem-independent constraint equations;

• 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;

• Being able to converge to a dissipative solution and to prevent elastic unloading


solutions.
Chapter 4

The Hybrid-Constraint Methods


In this chapter a new family of arc-length methods is introduced: the hybrid-constraint
methods. This approach combines a geometric and a dissipative constraint in a unique
constraint equation, and enables to trace both elastic and dissipative branches adopting a
unique solution strategy.
Firstly, the concept of hybrid-constraint is introduced. Then, the features of the weighting
function adopted in the formulation, and the strategies to compute it are described. Finally,
three hybrid-constraint methods are introduced and the stages of the predictor-corrector
methods they rely on are described.
An overview of the topics discussed in the chapter is shown in Figure 4.1.

Hybrid-Constraint Arc-Length

General Features

The Concept of Hybrid-Constraint


Class of Methods

- Hybrid-Riks' Method
Features of the Weighting Function - Hybrid-Ramm's Method
- Hybrid-Crisfield's Method

Strategies for the Computation of the


Weighting Function

Solved by Means of a
Predictor-Corrector Method

Numerical Solution

Predictor Corrector Root Selection Methods Step Size Adjustment

Figure 4.1: Map of the chapter


38 The Hybrid-Constraint Methods

4.1 The Concept of Hybrid-Constraint


Hybrid-constraint methods are a class of arc-length methods based on a constraint equation
obtained as the weighted sum of a geometric and a dissipative constraint. The general
expression of the hybrid-constraint is:

(4.1)

g(∆a, ∆λ) = 1 − γ c(∆a, ∆λ) + γ h(∆a, ∆λ)
where γ ∈ [0, 1] is a weighting function updated at the end of each step, and:

c(∆a, ∆λ) ⇒ Geometric Constraint (4.2)


h(∆a, ∆λ) ⇒ Dissipative Constraint (4.3)

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.

4.1.1 Features of the Weighting Function γ


The weighting function γ is fundamental in determining the performance of the method.
The weight γ is exploited to automatically achieve the switch from the geometric constraint
to the dissipative one. This approach eliminates the need for a double solution strategy to
trace elastic and dissipative parts of the equilibrium path.
The weighting function γ should satisfy the following requirements:

• Be close to 0 when no dissipation occurs and the structure behaves elastically;

• Rapidly grow and approach unity when some energy starts being dissipated;

• Be able to rapidly decrease to a value close to 0 if the structure starts to deform


elastically after a dissipative part.

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.

4.2 Strategies for a Sound Computation of the Weighting


function γ
In order to obtain a weighting function sensitive to the damage state of the structure, γ
should depend on quantities related to damage or fracture mechanics. In particular, some
functions of the energy dissipated in the current load step and of the damage variable d
have been considered in the development of the methods.
The Hybrid-Constraint Methods 39

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

Table 4.1: Expressions of γ as a function of d

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

It provides a rapid variation of γ during damage onset. However, when d = 1 in one


integration point, γ is denitely set to unity for the rest of the analysis. As a consequence,
this expression is acceptable only if a continuous damage propagation occur.

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:

• All the other cohesive zones are still undamaged;

• Another cohesive zone is already partially damaged.

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.

4.2.1 The parameter Wmem


The scalar parameter Wmem is introduced to enable the user to control the rate of change
of γ .
Wmem can be exploited to make γ vary more slowly. This parameter introduces a memory
eect in the computation of γ . Instead of taking directly the value prescribed by expression
3, γ is combined linearly with its previous value according to:

γ̂ = 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.

4.3 Hybrid-Constraint Methods


In the present work, three hybrid-constraint methods are proposed based the geometric
constraint equations presented in Section 3.2. Here, they are denoted as:

• 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.

4.3.1 Hybrid-Riks' Method


This method is obtained combining the dissipative constraint with Riks' constraint equa-
tion, thus resulting in:
1 1 
g(∆a, ∆λ) = (1 − γ) ∆aT0 da + γ λ0 ∆aT f̂ − ∆λaT0 f̂ − ∆τ (4.6)

2 2
42 The Hybrid-Constraint Methods

where [a0 , λ0 ] is the last computed equilibrium point.


In the iterative process, the following decomposition of the unknowns is adopted:

∆a = ∆aj + da , ∆λ = ∆λj + dλ (4.7)

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:

aI = K−1 fint (4.10)


−1
aII = K f̂ (4.11)
1 1 
b˜1 = (1 − γ) ∆aT0 aI + γ λ0 aTI f̂ − aT0 f̂ (4.12)

2 2
1 1 1 
b˜2 = (1 − γ) ∆aT0 aII + γ λ0 ∆aTj f̂ + λ0 aTII f̂ − ∆λj aT0 f̂ − ∆τ (4.13)

2 2 2

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.

4.3.2 Hybrid-Ramm's Method


This method is obtained combining Ramm's geometric constraint and the dissipated energy
constraint, and results in:
1 1 
g ∆a, ∆λ = (1 − γ) ∆aTj da + γ λ0 ∆aT f̂ − ∆λaT0 f̂ − ∆τ (4.14)
 
2 2
The introduction of Eq. (4.7) in the linearised system of Eq. (3.5), adopting Eq. (4.14) as
constraint equation, yields to the following solution:

da = aI + dλaII (4.15)
b˜2
dλ = − (4.16)
b˜1

where:
The Hybrid-Constraint Methods 43

aI = K−1 fint (4.17)


aII = K−1 f̂ (4.18)
1 1 
b˜1 = (1 − γ) ∆aTj aI + γ λ0 aTI f̂ − aT0 f̂ (4.19)

2 2
1 1 1 
˜
b2 = (1 − γ) ∆aj aII + γ λ0 ∆aj f̂ + λ0 aTII f̂ − ∆λj aT0 f̂ − ∆τ
T T
(4.20)

2 2 2
Since it is derived from Eqs. (3.25) and (3.30), Eq. (4.14) is linear, and depends only on
the weighting function γ and the step size ∆τ .
With reference to Figure 3.4, the addition of Eq. (3.30) to the Ramm's constraint modies
the orientation of the directions of the iterative increments.

4.3.3 Hybrid-Criseld's Method


This method is obtained combining Criseld's constraint and the dissipated energy con-
straint. Eq. (4.1) results in:

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:

aI = K−1 fint (4.24)


−1
aII = K f̂ (4.25)
c1 = (1 − γ)a˜1 (4.26)
c2 = (1 − γ)a˜2 + γ b˜2 (4.27)
c3 = (1 − γ)a˜3 + γ b˜3 (4.28)
a˜1 = aTI aI + f̂ T f̂ (4.29)
2 aTI ∆aj + aTI aII + ∆λj f̂ T f̂ (4.30)

a˜2 =
a˜3 = ∆aTj ∆aj + 2aTII ∆aj + aTII aII + ∆λ2j f̂ T f̂ − ∆l 2
(4.31)
1 
b˜2 = λ0 aTI − aT0 f̂ (4.32)
2
1 
b˜3 = λ0 ∆aTj f̂ + λ0 aTII f̂ − ∆λj aT0 f̂ − ∆τ (4.33)
2
The constraint of Eq. (4.21) is quadratic, as it is derived from the combination of a
44 The Hybrid-Constraint Methods

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.

Domain of the Hybrid−Crisfield’s Constraint Equation

Last Equilibrium Point


3
Circumference Centre
Domain Circumference

1
∆λ

−1

−2

−3

−7 −6 −5 −4 −3 −2 −1 0 1
∆a

Figure 4.2: Inuence of γ on the domain circumference

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.

4.4 Predictor Solution


The solution strategy normally adopted in arc-length algorithms is the predictor-corrector
method. This approach consists of two stages: the predictor and the corrector. In this
section the predictor is discussed, while the corrector is discussed in the next one.
The predictor aims to compute an initial guess for the Newton's method, which is used as
the corrector. The choice of the initial guess has a strong inuence on the performance of
Newton's method, because:

• The number of iterations to reach convergence is related to the initial guess;


• A suitable initial guess guarantees convergence to the sought solution, since the
Newton's method may converge to dierent ones.

Various strategies, characterized by dierent complexity, can be adopted to compute the


predictor solution [40]. Usually, the more complex the strategy, the closer the predictor so-
lution is to the converged one. However, a complex strategy implies a higher computational
eort. It follows that an accurate predictor, despite reducing the number of iterations per-
formed in the corrector, is characterized by a high computational cost, which compensates
all the benets gained using a precise initial guess. As a result, simple strategies, providing
a coarse initial solution, are usually adopted.
In the present work, a secant predictor is implemented in all the hybrid-constraint meth-
ods. This strategy consists in a linear extrapolation of the increments of the unknowns
computed in the previous load step. The predictor solution follows as:

∆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].

4.5 Corrector Iterations


The corrector is the iterative phase of the predictor-corrector methods. Starting from the
initial guess computed in the predictor, a Newton-like method is applied to the augmented
46 The Hybrid-Constraint Methods

system of Eq. (3.3) until convergence is reached.

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.

In the hybrid-constraint methods, a full Newton-Raphson scheme is adopted. This choice


is made because hybrid-constraint methods are intended to be applied to highly nonlinear
problems. The application of the modied Newton's method to this kind of analyses is likely
to result in a high number of iterations and an excessive number of step size reductions.

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:

r = λf̂ − fint (4.39)


With this criterion, the iterative process is performed until the change in the norm of the
residual, normalized by the norm of the applied load vector, is smaller than the prescribed
convergence tolerance.

4.5.1 Root Selection Methods


When arc-length methods based on a quadratic constraint are adopted, a root selection
scheme is needed to identify which of the two solutions of the quadratic equation must be
kept to prevent the solution to double back. Hereafter, three schemes are discussed:

• Increment Direction Method

• Lowest Residual Method

• Dissipated Energy Increment Method

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

Increment Direction Method


This is the most popular approach to avoid the doubling back of the solution. The root of
the quadratic equation which gives an incremental displacement ∆a that forms the smallest
angle with the direction of the incremental displacement computed in the previous load
step ∆at is chosen. This criterion can be resumed as:

∠(∆a, ∆at ) = min (4.40)


A graphical representation of the method is illustrated in Figure 4.3, where the superscript
(i) denotes the i-th root of the quadratic equation.

Figure 4.3: Graphical representation of the increment direction method

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.

Lowest Residual Method


To select the correct solution in the neighbourhood of sharp snap-backs, Criseld and
Hellweg proposed an approach based on the norm of the residual [22]. They realized that
when the increment direction method fails, it selects a root that, despite being associated
with the smallest angle, is characterized by the highest norm of the residual. In such cases,
the root that must be kept is the one associated with the smallest norm of the residual.
This criterion can be resumed as:

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

Figure 4.4: Failure of the lowest residual method

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.

Dissipated Energy Increment Method


A new root selection scheme is proposed here for problems involving energy dissipation.
This scheme relies on the idea that crack growth provides energy dissipation. Thermody-
namic consistency implies that the energy dissipated in the load step ∆τ is positive if the
damage increases or null otherwise:

∆τ > 0 ⇒ If damage increases (4.42)


∆τ = 0 ⇒ No damage (4.43)

As a consequence, the root to be chosen in presence of dissipative phenomena is associated


with an increment of dissipated energy.
To apply this method, the dissipated energy related to both solutions must be computed.
The expression of the dissipated energies follows as:

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.

Some observations on the sign of ∆τ


Two roots with negative ∆τ may arise from the quadratic equation. Both of these solutions
should be discarded, as they violate the second principle of thermodynamics.
The reasons leading to the appearance of such solutions are purely numerical. Restarting
the analysis with dierent algorithmic parameters, usually solves the problem or causes
the roots with negative ∆τ to appear in a dierent area of the equilibrium path.

4.6 Step Size Adjustment


At the end of each load step, the step size is updated according to:

∆lt+∆t = ξ∆lt (4.45)


where, ∆lt denotes the step size at the previous load step, ∆lt+∆t denotes the step size
at the current load step, and ξ is a scalar multiplier. The factor ξ is estimated to meet
the requirement that the number of desired iterations equals Nd in the current load step.
50 The Hybrid-Constraint Methods

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:

∆lnew = η∆lold (4.47)


where η is a scale factor. By default η is set equal to 0.5 in all the algorithm here presented.
Chapter 5

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.

5.1 Preliminary Considerations


In the basic version of PyFEM, only the Riks' method and the dissipated energy arc-length
are included. As a consequence, in addition to the three hybrid-constraint methods, also
Criseld's arc-length was added to the solver library of the code. The implementation of
Criseld's method is discussed in Appendix A.
As far as the arc-length methods are solvers, they are located in the block <SolverName>.py
of the structure of PyFEM. This block is reported in Figure 5.1.

Figure 5.1: Structure of the block <SolverName>.py

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

5.2 Implementation of the Hybrid-Riks' Method


The hybrid-Riks's method is implemented in the le WeightedRiks.py, containing the
class WeightedRiks. The following methods are associated with this class:

• run

• printHeader

• printIteration

• printConverged

where run implements the arc-length method and printHeader, printIteration


and printConverged are utility functions that print analysis information on screen.

5.2.1 The Method WeightedRiks.run


The method WeightedRiks.run takes the instances globdat and props as an input.
The structure of the method is illustrated in Figure 5.2.
The structure in Figure 5.2 can be outlined by means of following steps:

1. Predictor : computes the predictor solution according to Eq. (4.36);


2. Initialize K and r: assembles the stiness matrix K and computes the residual r to
be used in the rst corrector iteration;

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;

8. Check Conditions to Terminate Analysis : checks if at least one of the conditions


that terminate the analysis are met. If no conditions are met, another load step is
performed, otherwise the solver sets globdat.active=False and the analysis is
terminated by PyFEM.py.

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

if iter >= iter_max:


Initialize K and r
cut step size

While error < toll

Corrector

Compute Dissipated Energy

Update Weighting Function

Update Step Size

Store Results

No
Check Conditions to
Terminate Analysis

Yes

Terminate Analysis

Figure 5.2: Structure of the solver WeightedRiks


54 Implementation of the Hybrid-Constraint Methods in PyFEM

The procedure for the computation of γ is resumed in Figure 5.3.

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]

Use W_memory to obtain


the new value of gamma

Figure 5.3: Procedure for the computation of γ

The procedure in Figure 5.3 can be outlined by means of 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;
4. The nal value of γ is obtained by means of Eq. (4.5).
The solver WeightedRiks requires the following parameters as an input:
• lam: the initial value of λ, which is used to determine the step size in the rst load
step;
• MaxFactor: the maximum value of the factor ξ introduced in Eq. (4.36);
• MinFactor: the minimum value of ξ ;
• MaxdTau: the maximum value of the step size ∆τ ;
• MindTau: the minimum value of ∆τ ;
• Wmemory: the value of the parameter Wmem ;
• MaxCycle: the maximum number of increments;
• MaxLam: the maximum value of the load factor λ.
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 55

5.3 Implementation of the Hybrid-Ramm's Method


The hybrid-Ramm's method is implemented in the le WeightedHP.py, which contains
the class WeightedHP. The following methods are associated with this class:

• run

• printHeader

• printIteration

• printConverged

The arc-length method is implemented in run, while printHeader, printIteration


and printConverged are utility functions that print analysis information on screen.

5.3.1 The Method WeightedHP.run


The method WeightedHP.run takes the instances globdat and props as an input.
The structure of the method is shown in Figure 5.4.
The structure in Figure 5.4 can be outlined by means of following steps:

1. Predictor : computes the predictor step according to Eq. (4.36);


2. Initialize K and r: assembles the stiness matrix K and computes the residual r to
be used in the rst corrector iteration;

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;

8. Check Conditions to Terminate Analysis : the conditions to terminate the analysis


are checked. If no conditions are met, another load step is computed, otherwise the
analysis is terminated.

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;

4. The procedure in Eq. (4.5) is applied to obtain the nal value of γ .

The following input parameters are required by the solver WeightedHP:

• lam: the initial value of λ, which is used to determine the step size in the rst load
step;

• MaxFactor: the maximum value of the factor ξ introduced in Eq. (4.36);

• MinFactor: the minimum value of ξ ;

• MaxdTau: the maximum value of the step size ∆τ ;

• MindTau: the minimum value of ∆τ ;

• Wmemory: the value of the parameter Wmem ;

• MaxCycle: the maximum number of increments;

• MaxLam: the maximum value of the load factor λ.

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

if iter >= iter_max:


Initialize K and r
cut step size

While error < toll

Corrector

Compute Dissipated Energy

Update Weighting Function

Update Step Size

Store Results

No
Check Conditions to
Terminate Analysis

Yes

Terminate Analysis

Figure 5.4: Structure of the solver WeightedHP


58 Implementation of the Hybrid-Constraint Methods in PyFEM

5.4 Implementation of the Hybrid-Criseld's Method


The hybrid-Criseld's method is implemented in the le WeightedCrisfield.py, which
contains the class WeightedCrisfield. The following methods are associated with this
class:

• run

• printHeader

• printIteration

• printConverged

where run implements the arc-length method and the utility functions printHeader,
printIteration and printConverged print analysis information on screen.

5.4.1 The Method WeightedCrisfield.run


The method WeightedCrisfield.run takes the instances globdat and props as an
input.
The structure of the method is illustrated in Figure 5.5.
The structure in Figure 5.5 can be outlined by means of following steps:

1. Predictor : the predictor solution is computed by means of Eq. (4.36);


2. Initialize K and r: the stiness matrix K is assembled and the residual r is computed.
These quantities are used in the rst corrector iteration;

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;

5. Update Weighting Function : provides the value of γ to be used in the subsequent


load step applying Eq. (4.5);

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;

8. Check Conditions to Terminate Analysis : checks if at least one of the conditions


that terminate the analysis are met. If no conditions are met another load step is
performed, otherwise the solver sets globdat.active=False and the analysis is
terminated by PyFEM.py.

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

if iter >= iter_max:


Initialize K and r cut step size

While error < toll

plotIter Corrector

Root Selection Scheme

Compute Dissipated Energy

Update Weighting Function

Update Step Size

Store Results

No
Check Conditions to
Terminate Analysis

Yes

Terminate Analysis

Figure 5.5: Structure of the solver WeightedCrisfield


60 Implementation of the Hybrid-Constraint Methods in PyFEM

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:

’Direction’ ⇒ Increment Direction Method


’DissEnergy’ ⇒ Dissipated Energy Increment Method

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;

4. The nal value of γ is obtained by means of Eq. (4.5).

The solver WeightedCrisfield requires the following parameters as an input:

• Dl: the initial value of ∆l;

• MaxDl: the maximum value of the step size ∆l;

• MinDl: the minimum value of the step size ∆l;

• MaxdTau: the maximum value of the step size ∆τ ;

• MindTau: the minimum value of the step size ∆τ ;

• MaxFactor: the maximum value of the factor ξ introduced in Eq. (4.36);

• MinFactor: the minimum value of ξ ;

• Wmemory: the value of the parameter Wmem ;

• Wswitch: the value of the parameter Wswitch ;

• MaxCycle: the maximum number of increments;

• MaxLam: the maximum value of the load factor λ.

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

5.4.2 Implementation of the Root Selection Methods


The dissipated energy increment method is useful only when the increment direction
method fails, i.e. in the neighbourhood of high nonlinearities and sharp snap-backs lo-
cated on dissipative parts of the equilibrium path. In presence of strain-softening responses,
these behaviours usually occur when cohesive elements are highly damaged. The hybrid-
constraint methods provide an automatic procedure, based on the value of γ , to switch
from the increment direction method to the dissipated energy increment method and back.
This procedure can be resumed as:

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.

if gamma <= W_switch


Root Selection Scheme

if gamma > W_switch

Increment Direction Dissipated Energy


Method Increment Method

Solution 1 Solution 2

Dissipated Energy 1 Dissipated Energy 2

Dissipated Energies Have the Same Sign Dissipated Energies Have Different Signs

The Root with Positive


Lowest Residual Method
Dissipated Energy is Kept

Figure 5.6: Implementation of the root selection scheme

The dissipated energy increment method relies on the following steps:


62 Implementation of the Hybrid-Constraint Methods in PyFEM

1. Determine the two solutions by means of Eq. (4.23);


2. Compute the dissipated energy associated with the two solutions;
3. Check the sign of the dissipated energies:
(a) If the signs are dierent, the solution with a positive dissipated energy is kept;
(b) If the signs are the same, the lowest residual method is applied and the solution
associated with the lowest norm of the residual is kept.

5.4.3 The Function plotIter


To monitor the steps in which the algorithm has converged on a solution characterized
by a negative dissipated energy, the function plotIter is introduced. This function is
implemented in the le plotIter.py located in the directory io.
The function plotIter takes the following quantities as an input:

• The instances props and globdat;


• The load factor at the last converged equilibrium point λ0 ;
• The vector of the current nodal displacements a;
• The increment of the nodal displacements at the last iteration ∆aj ;
• The iterative increments associated with the two roots of the quadratic equation da1 ,
dλ1 and da2 , dλ2 ;
• The string containing the name of the output le for the current load step.

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

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

58 1 1 5.69400858571 1.68344070834; % Solution 1


58 1 2 1.30430063369 0.166467041149; % Solution 2
% Dissipated Energy 1: -1.02209267222
% Dissipated Energy 2: 0.276081553891
% Gamma: 0.997209700631

58 2 1 2.47945336893 0.372816443983; % Solution 1


58 2 2 0.979861308522 0.147334252466; % Solution 2
% Dissipated Energy 1: 0.393590998153
% Dissipated Energy 2: 0.15554419991
% Gamma: 0.997209700631

% Energy dissipated in the step: 0.393590998153


% Final residual: 5.97298165441e-12
% Dl: 2.0 dTau: 0.4

Figure 5.7: Example of the le Step<n_step>.py


Implementation of the Hybrid-Constraint Methods in PyFEM 63

The rst line of the le contains the following data:

• ID number of the load step;


• Load factor λ0 at the last converged equilibrium point;
• Value of the displacement component monitored in graph on screen at the last con-
verged equilibrium point a0 .

In the subsequent lines, the following data are reported:

• ID number of the load step;


• ID number of the iteration;
• Index k of the root of the quadratic equation;
• Load factor λ associated with the k -th root;
• Value of the displacement component a monitored in graph on screen, associated
with the k -th root.

When plotIter is active, between the lines associated with the dierent iterations, the
solver WeightedCrisfield writes the following data:

• The values of the dissipated energy related to the two solutions;


• The value of the weighting function γ adopted to perform the load step.

At the end of the le, when convergence is reached, WeightedCrisfiled reports the
following information:

• The value of the energy dissipated by the converged solution;


• The norm of the residual at the converged solution;
• The step sizes ∆l and ∆τ adopted to perform the load step.

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:

plotIter = [Boolean, cycle_in, cycle_fin] (5.1)


where:

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

Arc-Length Methods: Numerical


Simulations
In this chapter, the performance of the hybrid arc-length methods is demonstrated by
means of numerical examples and compared to those of already existing methods. The
numerical tests presented in this chapter cover a wide range of structural responses, in-
cluding:

• Mode I, mode II and mixed mode fractures;

• Continuous and discontinuous cracks;

• Multiple cohesive zones;

• Presence of alternate elastic and dissipative parts of the equilibrium path;

• Variable crack propagation speed;

• Delamination induced by buckling.

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.

6.1 Goals of the Investigation


The aim of the present chapter is to demonstrate the benets provided by the introduction
of the hybrid-constraint methods. Their performances are compared to those of the already
existing arc-lengths in terms of robustness and eciency, where robustness is intended as
the ability of the method not to be subject to a premature end of the simulation due to
convergence issues, and eciency is measured as the CPU time of the analysis.
It has been reported in literature that the Criseld's and the Riks' methods perform well
when the structural response is smooth and dominated by geometric nonlinearities. How-
ever, they are unsuitable to analyse problems in which material nonlinearities prevail [29].
66 Arc-Length Methods: Numerical Simulations

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:

HRi ⇒ Hybrid-Riks' method


HRa ⇒ Hybrid-Ramm's method
HC ⇒ Hybrid-Criseld's method
DE ⇒ Dissipated Energy method

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.

Preliminaries on Finite Element Analyses


In all the numerical examples presented in this chapter, the nite element meshes are
realized adopting four-noded nonlinear shell elements and four-noded cohesive elements.
The element dimension is determined on the basis of a preliminary convergence study.
Furthermore, it is always checked that the dimension of the cohesive elements is adequate
to correctly capture the gradients in the process zone, which is ensured if they are smaller
than the length of the process zone ld , dened as [46]:

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.

6.2 Double Cantilever Beam


This example is a preliminary test, intended to demonstrate the ability of the H-family
methods to perform analyses on models that are characterized by smooth strain-softening
responses. In particular, the Double Cantilever Beam (DCB) involves the opening of a
continuous mode I crack.
The structural model is reported in Figure 6.1.
The beam is made up of two horizontal parts separated by an interface. The structure is
xed at one side and loaded with two concentrated forces F at the other side, as shown in
Arc-Length Methods: Numerical Simulations 67

Figure 6.1: DCB: structural model

Figure 6.1.
The geometric features of the model are reported in Table 6.1, where a denotes the initial
crack length.

L (mm) h (mm) a (mm)


10.0 0.5 1.0

Table 6.1: DCB: geometric features

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.

GI = GII (Nmm−1 ) N = T (N) kd (Nmm−3 )


1.0 · 10−1 1.0 1.0 · 102

Table 6.2: DCB: 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 shown in Figure 6.2.
Cohesive Elements

Figure 6.2: DCB: nite element mesh

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 − − −

Table 6.3: DCB: analysis parameters

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

Double Cantilever Beam


0.25

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]

(a) Structural response

(b) Point A (c) Point B

(d) Point C (e) Point D

Figure 6.3: DCB: structural response and deformed congurations

Analysis of the Results


The analysis results are presented in Figure 6.4 in terms of vertical displacement of the
upper loaded node versus the applied load for the dierent methods here investigated,
while the comparison between the HRi and the DE arc-lengths is shown in Figure 6.5.

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

Double Cantilever Beam


0.25
Crisfield
Riks
Dissipated Energy
Hybrid Crisfield
0.2
Hybrid Riks
Hybrid Ramm

0.15
Load [N]

0.1

0.05

0
0 0.5 1 1.5 2 2.5 3 3.5 4
Displacement [mm]

Figure 6.4: DCB: results comparison

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

Table 6.4: DCB: numerical performances

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

Double Cantilever Beam


0.25
Dissipated Energy
Hybrid Riks

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.

6.3 Pull-Out Test


In this example, the simulation of a pull-out test is performed. The analysis involves a
pure mode II fracture in which all the cohesive elements are damaged simultaneously.
The structural model is reported in Figure 6.6.
The structure is composed by three parts that are partially overlapped. The debonding
process develops at the two interfaces between these parts. The structure is loaded by
means of horizontal forces applied at one end of the model, and the applied load is reacted
by the constraints on the other end of the structure. The overlapped area is simply sup-
ported to avoid the arising of peeling stresses and material expansion.
The geometric features of the structure are reported in Table 6.5.
72 Arc-Length Methods: Numerical Simulations

Figure 6.6: Pull-out test: structural model

L (mm) h (mm) L1 (mm)


100.0 2.0 50.0

Table 6.5: Pull-out test: geometric features

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.

GI = GII (Nmm−1 ) N = T (N) kd (Nmm−3 )


1.0 · 10−1 3.0 5.0 · 102

Table 6.6: Pull-out test: properties of the cohesive constitutive law

The nite element mesh is reported in Figure 6.7.

Cohesive Elements

Figure 6.7: Pull-out test: nite element mesh

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 − − −

Table 6.7: Pull-out test: analysis parameters

Double Cantilever Beam


70

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]

(a) Structural response

(b) Point A (c) Point B

(d) Point C (e) Point D

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.

Analysis of the Results


The results obtained with the dierent solution techniques are shown in Figure 6.9 in terms
of horizontal displacement of the loaded nodes versus the applied nodal force.

Pull Out Test


70
Crisfield
Riks
60 Dissipated Energy
Hybrid Crisfield
Hybrid Riks
50 Hybrid Ramm

40
Load [N]

30

20

10

0
0 0.05 0.1 0.15 0.2 0.25
Displacement [mm]

Figure 6.9: Pull-out test: results comparison

In Figure 6.10(a), the comparison is presented between the load-shortening curves obtained
with the HC and the DE methods.

Pull Out Test Pull Out Test


70 70
Dissipated Energy Hybrid Riks
Hybrid Crisfield
60 60

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

computed by the methods are also reported.

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

The symbol * denotes a bad quality of the discretization of the path

Table 6.8: Pull-out test: numerical performances

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.

In this simulation, the response is dominated by material nonlinearities and characterized


by a snap-back, and the H-family algorithms provide excellent performance. The Riks' and
the Criseld's arc-lengths show their weaknesses: the Riks' method is not able to overcome
the snap-back, whereas the Criseld's method provides a high CPU time. The DE method
is the least ecient of the methods that ended the analysis, resulting unsuitable to perform
this simulation.

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

6.4 Bending of a L-shaped Specimen


In this test, the delamination of a L-shaped specimen subject to bending is investigated.
This model is not characterized by a severe response, but represents a realistic application
involving delaminations. The structure is shown in Figure 6.11.

A B

Figure 6.11: L-shaped specimen: structural model

The structure is loaded by means of two couples of concentrated forces F , producing a


constant bending moment in the central part of the structure. A hinge and a support are
introduced to isostatically constrain the structure.
The geometric dimensions of the model are reported in Table 6.9.

L (mm) R (mm) t1 (mm) t2 (mm) b (mm)


1.5 0.5 0.15 0.05 0.5

Table 6.9: L-shaped specimen: geometric features

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.

GI = GII (Nmm−1 ) N = T (N) kd (Nmm−3 )


1.0 · 10−1 3.0 5.0 · 103

Table 6.10: L-shaped specimen: properties of the cohesive constitutive law

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

GI (Nmm−1 ) N (N) GII (Nmm−1 ) T (N) kd (Nmm−3 )


1.0 · 10−1 3.0 1.0 · 109 300.0 2.3 · 105

Table 6.11: L-shaped specimen: properties of the cohesive elements A and B

The nite element mesh is shown in Figure 6.12.

Cohesive Elements

Figure 6.12: L-shaped specimen: nite element mesh

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 − − −

Table 6.12: L-shaped specimen: analysis parameters

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

Bending of an L−Shaped Specimen


45

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]

(a) Structural response

(b) Point A (c) Point B

(d) Point C (e) Point D

Figure 6.13: L-shaped specimen: structural response and deformed congurations

The curve of Figure 6.13 is characterized by a simple, monotonically increasing nonlinear


path. It exhibits an initial linear elastic behaviour (point A) followed by a nonlinear
dissipative part corresponding to the continuous growth of the delamination (points B, C
and D).

Analysis of the Results


The vertical displacement of the node H versus the applied load F is reported in Figure
6.14 for the dierent solution methods.
Arc-Length Methods: Numerical Simulations 79

Bending of an L−Shaped Specimen


45
Crisfield
Riks
40
Dissipated Energy
Hybrid Crisfield
35 Hybrid Riks
Hybrid Ramm
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.14: L-shaped specimen: results comparison

The results obtained with the HRi and the DE algorithms are shown in Figure 6.15.

Bending of an L−Shaped Specimen


45
Dissipated Energy
Hybrid Riks
40

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

Table 6.13: L-shaped specimen: numerical performances

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.

6.5 Delamination Buckling


In this numerical example, a mode I delamination induced by buckling is investigated in
a beam with a centrally located pre-crack of length a. The structural model is shown in
Figure 6.16.
The structure is divided in two parts and is compressed with a force per unit length
of magnitude p. An imperfection with the shape of half of a sine wave and amplitude
A = 0.005 mm is added to induce the crack opening. The model is hinged at the bottom
left corner, and is supported at the bottom right corner.
The geometric features of the structure are reported in Table 6.14.
Arc-Length Methods: Numerical Simulations 81

Figure 6.16: Delamination buckling: structural model

L (mm) a (mm) h (mm)


5 1 0.1

Table 6.14: Delamination buckling: geometric features

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.

GI = GII (Nmm−1 ) N = T (N) kd (Nmm−3 )


5.0 · 10−3 1.0 5.0 · 103

Table 6.15: Delamination buckling: properties of the cohesive constitutive law

The nite element mesh is shown in Figure 6.17.

Figure 6.17: Delamination buckling: nite element mesh

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 − − −

Table 6.16: Delamination buckling: analysis parameters

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]

(a) Structural response

(b) Point A (c) Point B

(d) Point C (e) Point D

Figure 6.18: Delamination buckling: structural response and deformed congurations


Arc-Length Methods: Numerical Simulations 83

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

Analysis of the Results


The horizontal displacement u versus the total applied load is reported in Figure 6.19 for
the various numerical methods.

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]

Figure 6.19: Delamination buckling: results comparison

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

Table 6.17: Delamination buckling: numerical performances

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

6.6 Variable Thickness DCB

In this test, the propagation of a mode I fracture in a DCB characterized by variable


thickness is investigated. The presence of variable thickness leads to a uctuating crack
propagation speed. The aim of the present simulation is to study the performance of the
arc-length methods in presence of a variable crack propagation speed.
The structural model is shown in Figure 6.21.

Figure 6.21: Variable thickness DCB: structural model

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.

L (mm) L1 (mm) L2 (mm) L3 (mm) t1 (mm) t2 (mm)


5 0.75 1.0 1.5 0.5 1.0

Table 6.18: Variable thickness DCB: geometric features

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.

GI = GII (Nmm−1 ) N = T (N) kd (Nmm−3 )


5.0 · 10−1 30.0 1.0 · 104

Table 6.19: Variable thickness DCB: properties of the cohesive constitutive law

The nite element mesh is reported in Figure 6.22.


86 Arc-Length Methods: Numerical Simulations

Figure 6.22: Variable thickness DCB: nite element mesh

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 − − −

Table 6.20: Variable thickness DCB: analysis parameters

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

Variable Thickness DCB


25

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]

(a) Structural response

(b) Point A (c) Point B

(d) Point C (e) Point D

(f) Point E (g) Point F

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

Analysis of the Results


The vertical displacement of the loaded nodes versus the applied force is reported in Figure
6.24 with regard to the results obtained with the dierent solution methods here considered.

Variable Thickness DCB


25
Crisfield
Riks
Dissipation Based
Hybrid Crisfield
20
Hybrid Riks
Hybrid Ramm

15
Load [N]

10

0
0 0.5 1 1.5 2
Displacement [mm]

Figure 6.24: Variable thickness DCB: results comparison

The equilibrium paths computed by means of the HC and the DE methods are compared
in Figure 6.25.

Variable Thickness DCB


25
Dissipated Energy
Hybrid Crisfield

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

The symbol * denotes a bad quality of the discretization of the path

Table 6.21: Variable thickness DCB: numerical performances

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

6.7 Perforated Cantilever Beam


In this test, the opening of a perforated cantilever beam is investigated. The analysis
involves the propagation of a discontinuous mode I fracture, and is characterized by the
alternation of elastic and dissipative behaviours.
The structural model is shown in Figure 6.26.

Figure 6.26: Perforated cantilever beam: structural model

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.

L (mm) l1 (mm) t1 (mm)


80.0 20.0 20.0

Table 6.22: Perforated cantilever beam: geometric features

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.

GI = GII (Nmm−1 ) N = T (N) kd (Nmm−3 )


1.0 · 10−1 1.0 1.0 · 102

Table 6.23: Perforated cantilever beam: properties of the cohesive constitutive law

The nite element mesh is shown in Figure 6.27.


Arc-Length Methods: Numerical Simulations 91
Cohesive Elements

Figure 6.27: Perforated cantilever beam: nite element mesh

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 − − −

Table 6.24: Perforated cantilever beam: analysis parameters

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

Perforated Cantilever beam


10
B
9

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]

(a) Structural response

(b) Point A (c) Point B

(d) Point C (e) Point D

(f) Point E (g) Point F

Figure 6.28: Perforated cantilever beam: structural response and deformed congurations
(displacements 5×)

The equilibrium path reported in Figure 6.28 is characterised by an extremely complex


behaviour, showing a high degree of nonlinearity and sharp snap-backs. Each load peak
corresponds to the complete opening of a cohesive zone. Furthermore, the response provides
alternate linear elastic branches and nonlinear dissipative ones. For low values of the
applied loads, the structural behaviour is linear elastic (point A). Increasing the applied
load, a critical point (point B) is approached. When point B is crossed, an unstable mode
Arc-Length Methods: Numerical Simulations 93

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.

Analysis of the Results


The vertical displacement of the loaded nodes versus the applied force is reported in Fig-
ure 6.29 for all the solution techniques. Highlighted are the points corresponding to the
termination of the analysis with the various methods.

Figure 6.29: Perforated cantilever beam: results comparison

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

Perforated Cantilever beam


10
Dissipated Energy
9 Hybrid Crisfield

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

Table 6.25: Perforated cantilever beam: numerical performances

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.

A Focus on the Weighting Function γ


Since this test is characterized by alternate elastic and dissipative parts of the equilibrium
path, it is interesting to discuss the value assumed by the scalar γ (see Eq. 4.5) during
the simulation. The history of the values of γ is reported in Figure 6.31 for the analysis
performed with the HC method.

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

Figure 6.31: Perforated cantilever beam: history of the values of γ

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.

Root selection scheme in the HC method


10
Incr. Dir. Meth.
9 Diss. En. Incr. Meth.

6
Load [N]

0
0 2 4 6 8 10 12 14 16 18 20 22
Displacement [mm]

Figure 6.32: Perforated cantilever beam: root selection schemes in HC

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.

Perforated Cantilever beam


2

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]

Figure 6.33: Perforated cantilever beam: spurious branches

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

Modified Riks' Continuation Method

Critical Points Computation

Dissipated Energy Continuation Method

Branch Switching Methods

Figure 7.1: Map of the chapter

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

Figure 7.2: Post-buckling analyses with traditional quasi-static techniques

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

Figure 7.3: Post-buckling analyses with continuation methods

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:

fint (a) − λf̂ = 0 (7.1)

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.

An important aspect is the choice of the parametrization. One possibility is given by


the load factor λ (force-control approach) or the displacements of a subset of nodes
(displacement-control approach), which dene the surfaces λ = constant and ai = constant
respectively. These parametrizations fail at least in the neighbourhood of turning points,
where the surfaces become tangent to the equilibrium path and do not dene intersections
with it. Such situations are illustrated in Figure 7.4.
If the parametrization describes a surface that is always nearly orthogonal to the equilib-
rium path, an intersection between the surface and the path itself is always ensured, as
shown in Figure 7.5.
This kind of parametrization can be achieved using the arc-length of the curve s as solution
parameter [36]. Introducing a parametrization based on s, the load factor λ becomes an
additional unknown and a scalar constraint equation must be added to Eq. (7.1). The
102 Continuation Methods
Load

Load
Displacement Displacement

(a) Force-control approach (b) Displacement-control approach

Figure 7.4: Force-control and displacement-control parametrizations near turning points


Load

Displacement

Figure 7.5: Arc-length parametrization near turning points

introduction of the constraint equation leads to the following augmented system:


(
fint (a) − λf̂ = 0
H= (7.2)
g(a, λ, s) = 0

where g(a, λ, s) is the general form of the constraint equation.


Starting from the initial solution [a0 , λ0 ], the equilibrium path c(s) may be regarded as
the solution of the initial value problem obtained by dierentiating the augmented system
in Eq. (7.2) with respect to s:

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:

• A strategy to perform path-following on the solution branches;


• A method to detect and compute critical points, able to distinguish between limit
points and bifurcation points;

• A method to move from the primary path to a bifurcation branch.

Dierent continuation methods can be realized by adopting dierent parametrizations or


using dierent constraint equations. The performance of the method can be modied
by adopting dierent strategies to perform the predictor or the corrector. In addition, a
consistent number of procedures can be adopted to perform branch switching or to detect
critical points. As a result, it is possible to create a wide range of methods characterized
by dierent performance.
Further details about continuation methods can found in [3, 34, 40].

7.2 Critical Points Computation


In this section theoretical and implementative aspects of critical points are discussed. The
strategies adopted in the present work for their detection and computation are presented.
Further information about critical points can be found in [40].
Critical points are equilibrium points in which the tangent stiness matrix K becomes
singular.
According to the theory of stability of conservative systems, the stability of an equilibrium
conguration is ensured when the quadratic form Q is positive denite, where Q is dened
as:
1
Q(a) = aT Ka (7.4)
2
Otherwise, the equilibrium conguration is unstable if Q is indenite. The transition
state between a stable and an unstable equilibrium conguration is characterized by the
appearance of a singularity in the stiness matrix. It follows that critical points mark the
stability limits of the equilibrium path.
104 Continuation Methods

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:

λ0 = 0 , Limit Point (7.7a)



T
f̂ vk = 0 , Bifurcation Point (7.7b)

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:

• Simple Bifurcation : the critical state is characterized by one null eigenvalue;


• Multiple Bifurcation : the critical state is characterized by multiple null eigenvalues.

The Stiness Parameter


The stiness parameter is a scalar quantity that can be adopted to detect limit points [7]
and is dened as:
da T
dλ |0 f̂
Sp = (7.8)
da T
dλ f̂
where the index 0 indicates the initial state.
The current stiness parameter represents a relative measure of the incremental stiness in
the direction in which the solution is moving [7]. During the incremental solution process,
Continuation Methods 105

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:

sign(Sp (si )) 6= sign(Sp (si−1 )) (7.12)


This criterion is simple and robust, and enables to distinguish bifurcation points from limit
points clearly.

7.2.1 Critical Points Detection and Computation


Many strategies have been developed to detect and compute critical points [40, 41].
The strategy presented in this section is based on the sign of the eigenvalues of the tangent
stiness matrix.

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.

From a numerical point of view, the critical condition is identied by:

sign(ωk (si )) 6= sign(ωk (si−1 )) (7.13)


If more than one critical point is sought during the analysis, the continuation method should
be able to monitor the sign of the lowest positive eigenvalue. Each time the lowest positive
eigenvalue undergoes a change of sign a critical point is detected. Since the eigenvalues ω
can only move towards negative values as the applied load is increased, a general approach
106 Continuation Methods

to detect critical points is to check the following condition:

Npos (si ) < Npos (si−1 ) (7.14)


where Npos is the number of positive eigenvalues of the tangent stiness matrix K.
This strategy is simple and does not require to look for the new lowest positive eigenvalues
every time a critical point is crossed. In addition, this procedure is also fast, as it requires
only to count the positive eigenvalues of K.
Once a critical point is detected, a criterion must be applied to nd out if it is a limit
or a bifurcation point. In the present work, this distinction is performed by means of a
criterion based on the sign of the stiness parameter. This criterion can be resumed as:
if sign(Sp (si )) 6= sign(Sp (si−1 )):
Limit Point
else:
Bifurcation Point
Listing 7.1: Critical Points Distinction
where si−1 is the value of the path parameter s in the equilibrium point computed before
crossing the critical point. The criterion in Listing 7.1 is based on the fact that the stiness
parameter undergoes a change of sign when a limit point is crossed. So, if the sign of Sp
changes, the critical point is a limit point, otherwise it is a bifurcation point.
Once the critical point is classied, an approximation of the critical state must be com-
puted. In continuation methods, bifurcation points are adopted as initial solutions to trace
bifurcation branches and, as a consequence, they must be computed accurately. On the
other hand, the accuracy of limit points computation does not inuence any other result,
and a rough approximation is acceptable.
Let si−1 and si denote the values of the path parameter s in the converged equilib-
rium points before and after the critical point respectively, and let [a(si−1 ), λ(si−1 )] and
[a(si ), λ(si )] denote these two equilibrium points.
Limit points are determined by means of a linear approximation seeking for the zero
of Sp (s). Given the quantities Sp (si−1 ), Sp (si ), ∆λ = (λ(si ) − λ(si−1 )) and ∆a =
(a(si ) − a(si−1 )), the linear approximation follows as:

(Sp (si ) − Sp (si−1 ))


Sp (s) = Sp (si−1 ) + (λ(s) − λ(si−1 )) (7.15a)
∆λ
∆a
a(s) = a(si−1 ) + (λ(s) − λ(si−1 )) (7.15b)
∆λ
Setting Sp (s) = 0 in Eq. (7.15a), the critical load λ(s∗ ) = λ∗ is derived as:

∆λ
λ∗ = λ(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 (s) = ωk (si ) + ωk0 (si )(s − si ) (7.19)


where si corresponds to the value of the path parameter at the converged equilibrium
solution before the critical point.
A rst estimate σ̃ ∗ of the critical state x̃∗ = x̃(s∗ ), relative to the point x̃(si ), is given by:

σ̃ ∗ = x̃(si ) + ∆s∗ x̃(si ) (7.20)


where:

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

x̃(si+1 ) = x̃(si ) + η∆s∗ x̃0 (si ) (7.23)


where η is a scale factor. To obtain high accuracy, in the present work, the value η = 0.1 is
adopted. Although this value may lead to a slow convergence, it improves the robustness
of the procedure and guarantees that convergence is always approached moving from the
equilibrium point x̃(si ) towards the critical point x̃(s∗ ).
When the new value of ωk , corresponding to the point x̃(si+1 ), is computed, a new estimate
of ∆s∗ and σ̃ ∗ is obtained. After the computation of the new approximation, the process
can be repeated and so on. If ∆s∗ approaches zero in the subsequent steps, the procedure is
convergent. According to the convergence criteria adopted in the present work, convergence
is achieved when:

∆s
∆s0 ≤ tol∆s
(7.24)

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)

where s̄ = si−1 , si , and tolω = 0.02 by default.


In addition, numerical tests showed that sometimes, although the bifurcation point esti-
mate σ̃ ∗ is close to the exact bifurcation point x̃∗ , but the convergence criterion is not
already satised, convergence may become extremely low, requiring a high number of iter-
ations to gain negligible improvements in the approximation accuracy. To prevent this kind
of behaviour a maximum number of iterations is set. If convergence is not reached within
this number of iterations, σ̃ ∗ is set equal to the last computed approximation. In all the
performed numerical tests, the adoption of this non converged solution provided sucient
accuracy and did not compromise the functionality of the branch switching algorithm.

Problems Related to Cohesive Elements


The application of continuation methods to nite element models containing cohesive el-
ements can result in the appearance of major problems when performing critical points
detection.
These problems are related to the fact that, when a cohesive element is damaging, it pro-
vides a negative denite elemental tangent stiness matrix, which is likely to introduce
negative eigenvalues in the global stiness matrix K. Since critical points are detected by
monitoring the number of positive eigenvalues, every time a cohesive element gets damaged,
spurious bifurcation points are likely to be identied.

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.

7.3 Branch Switching Methods


Branch switching methods are used to compute an initial solution to start the continuation
procedure on bifurcation branches. This solution is dened by means of the quantities a0 ,
λ0 , a00 and λ00 . An extensive review of branch switching methods is reported in [41]. In
this section, two branch switching algorithms are described, the Normal Vector and the
Eigenvector Injection methods.

7.3.1 Normal Vector Method


The normal vector method relies on the idea of computing an initial solution on the bi-
furcation branch moving along a direction normal to the primary path in the bifurcation
point.
Continuation Methods 109

Let ã denote the following vector:


 
v
ã = (7.26)
0
where v is the eigenvector of K associated with the eigenvalue that underwent a change
of sign.
An eective choice for the normal vector n is given by:
0
x̃ ∗ + µ1 ã
n= (7.27)
| x̃0 ∗ + µ1 ã |
where:
0
µ1 = −(ãT x̃ ∗ )−1 (7.28)
The initial solution on the bifurcation path can be obtained as:

x̃0 = x̃∗ + ∆s n (7.29)


where the initial step-length ∆s is computed as:

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.

7.3.2 Eigenvector Injection Method


The method relies on the idea of perturbing the structural conguration at the critical
state with the eigenvector vk corresponding to the eigenvalue ωk (s∗ ) = 0 [47].
The perturbation is introduced according to:
vk
a0 = a∗ + ξ (7.31)
k vk k
where ξ is a scale factor dened as:

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

once the initial solution is computed, the continuation process is started.


In the eigenvector injection method, the buckling mode scale factor τ̃ plays a key role.
To achieve branch switching, an appropriate value of τ̃ must be introduced. As reported
in [47], if the value assigned to τ̃ is too small, the eigenvector injection method is likely
to diverge, whereas if the value of τ̃ is too large, the perturbation is so small that the
continuation process is likely to converge on the primary path again. It follows that the
value of τ̃ must be tuned so that the magnitude of the perturbation is adequate to make
the continuation method converge on the desired bifurcation branch.
The values of τ̃ suitable to reach convergence depend on the problem at hand and on
the bifurcation branch that is analysed. No global rules exist to correctly tune the value
of τ̃ , and a trial and error strategy must be adopted. As a consequence, the program
implementing the branch switching algorithm must be able to restart the analysis of the
bifurcation branch with a dierent τ̃ . Once the range of the suitable values of τ̃ is reached,
dierent values of this parameter only inuence the rate of convergence of the iterative
process. Usually, suitable values of τ̃ fall in the range 10 ÷ 100.
When cohesive elements are present in the model, close equilibrium congurations charac-
terized by a dierent damage state may exist. When this situation occurs, dierent values
of τ̃ may lead the continuation method to jump on one of these alternative congurations.
These congurations are evidently spurious, as they cause the structure to suddenly assume
a displacement conguration far from that proper of the buckling mode being considered.
As a result, in presence of cohesive elements, more trials might be necessary to determine
a suitable value of τ̃ .

7.4 Modied Riks' Continuation Method


The modied Riks' continuation method is a modied version of the popular Riks' contin-
uation method relying on a constraint equation concerning exclusively the displacement
vector a and its derivative a0 .
This algorithm is based on a geometric constraint equation and is not thought to solve
delamination problems dominated by material nonlinearities.
The original Riks' continuation method [36] is based on the following constraint equation
parametrized with respect to the arc-length of the curve s:
0
g(a, λ, s) = a1T (a − a1 ) + λ01 (λ − λ1 ) − (s − s1 ) = 0 (7.36)
where [a1 , λ1 ] and [a01 , λ01 ] denote a point on the path and its tangent respectively, s1 the
value of the arc-length at this point and [a, λ] an arbitrary point on the surface dened by
the constraint equation.
The Riks' continuation method often causes the doubling back of the solution, even when
simple elastic models are analysed. An insight into the problem unveiled that this phe-
nomenon is caused by the terms of Eq. (7.36) concerning the load factor.
To solve this issue, a new continuation method is developed based on a constraint equation
in which these terms are dropped.
Neglecting the terms related to the load factor, the constraint equation of Eq. (7.36)
becomes:
0
g(a, s) = a1T (a − a1 ) − (s − s1 ) = 0 (7.37)
Continuation Methods 111

A predictor-corrector method is applied to perform the continuation procedure.


The total increments of the unknown quantities, ∆a and ∆λ, can be decomposed as:

∆a = ∆aj + da , ∆λ = ∆λj + dλ (7.38)


The predictor solution is computed according to:

∆a0 = a1 + ∆sa01 (7.39a)


∆λ0 = λ1 + ∆sλ01 (7.39b)

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:

r = ∆λj f̂ − fint (∆aj , ∆λj ) (7.41)


Substituting Eq. (7.38) in Eq. (7.40), the iterative increments da and dλ are obtained by
means of the following expressions:

da = K−1 f̂ dλ + K−1 r = aI dλ + aII (7.42a)


0T
∆s − a1 (∆aj + aII )
dλ = 0 (7.42b)
a1T aI

0
An insight in the terms constituting Eq. (7.42) reveals that ∆s ≈ a1T ∆aj , so that it can
be simplied as:

da = K−1 f̂ dλ + K−1 r = aI dλ + aII (7.43a)


0T
a1 aII
dλ = − 0 (7.43b)
a1T aI

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:

sign(ωk (si−1 )) 6= sign(ωk (si )) (7.47)


For ease of computation, the condition in Eq. (7.47) is transformed into:

Npos (si−1 ) < Npos (si ) (7.48)


where Npos is the number of positive eigenvalues of the matrix K.
When a bifurcation point is identied, the corresponding state is determined by means of
the iterative procedure described in Section 7.2.
A drawback of the method is that the step-length is determined only approximately in
the predictor. As a consequence, it is dicult to precisely control the step-length and
the procedure may provide a bad discretization of the equilibrium path. The geometric
interpretation of Eq. 7.44 suggests that in the neighbourhood of sharp snap-backs the
method may fail to converge to an equilibrium solution as the intersection between the
path and the surface represented by the constraint may not exist.

7.5 Dissipated Energy Continuation Method


For the reasons pointed out in Section 3.3, common continuation methods, based on geo-
metric constraint equations, may result inadequate to study the post-buckling behaviour
of structures subject to strain-softening responses and involving cohesive elements. To
Continuation Methods 113

overcome these diculties, specic strategies must be developed.


To this aim, a continuation method based on energy dissipation is introduced in this sec-
tion. To the best of the author's knowledge, this continuation method is presented here
for the rst time, and this kind of procedure cannot be found in literature.
The method makes use of the energy release rate G. The nite element approximation of
G is obtained as:
1
λȧT − λ̇aT f̂ (7.49)

G=
2
where the symbol (˙) stands for the derivative with respect to the time, d(dt) .
The propagation of a crack is associated with the dissipation of an amount of energy τ .
Let [a1 , λ1 ] and [ȧ1 , λ̇1 ] denote a point on the path and its derivative with respect to the
time respectively, and τ1 the energy dissipated in the analysis up to that point. Applying
a forward Euler discretization to Eq. (7.49), the expression of the energy dissipated in the
current step, ∆τ , is obtained as:
1
λ1 ∆aT − ∆λaT1 f̂ (7.50)

∆τ = (τ − τ1 ) =
2
From Eq. (7.50), a constraint equation for a continuation method can be derived as:
1
λ1 ∆aT − ∆λaT1 f̂ − (τ − τ1 ) = 0 (7.51)

g(∆a, ∆λ) =
2
The parameter controlling Eq. (7.51) is the dissipated energy τ . The constraint equation
in Eq. (7.51) forces the energy dissipated in the current load step to be equal to (τ − τ1 ).
The continuation procedure is performed by means of a predictor-corrector method.
Introducing the decomposition of Eq. (7.38), the predictor step is computed according to:

∆a0 = a1 + ∆τ a01 (7.52a)


∆λ0 = λ1 + ∆τ λ01 (7.52b)

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:

KdI = r, KdII = −f̂ (7.56)


When convergence is reached, the tangent vector [a0 , λ0 ] is obtained as the solution of the
following linear system:
(
Ka0 − f̂ λ0 = 0
1 0T 1 0 T
(7.57)
2 λ1 a f̂ − 2 λ a f̂ − 1 = 0

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:

sign(ωk (τi−1 )) 6= sign(ωk (τi )) (7.58)


For ease of computation, the condition in Eq. (7.58) is turned into:

Npos (τi−1 ) < Npos (τi ) (7.59)


where Npos is the number of positive eigenvalues of the tangent stiness matrix.

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.

8.1 Implementation of the Modied Riks' Continuation Method


As the modied Riks' continuation method is a solver, it is located in the block <SolverName>.py
of the PyFEM's architecture. This block is illustrated in Figure 5.1.
The implementation of the modied Riks' continuation method regards the two following
les:

• RiksContinuation.py, which contains the class RiksContinuation;

• RiksBranchContinuation.py, which contains the class


RiksBranchContinuation.

8.1.1 The Class RiksContinuation and its Methods


The class RiksContinuation is implemented in the le RiksContinuation.py in
the directory solvers. This class contains the following methods:

• run( props, globdat );

• CriticalPointsComputation( props, globdat ).

RiksContinuation contains also the utility methods getData2, printHeader,


printIteration and printConverged, which are used to plot the critical points and
to print analysis information, and the method sign which implements the sign function.
The architecture of RiksContinuation.py is illustrated in Figure 8.1.
118 Implementation of Continuation Methods in PyFEM

RiksContinuation.py

RiksContinuation
RiksContinuation.run(props, globdat)

Predictor

while error < toll

Corrector

Store Results

Tangent Computation

- Tangent Vector Computation


- Check Tangent Vector Sign

Critical Point Detection

- Compute Eigenvalues of K if N_pos < N_pos_old


- Compute N_pos CriticalPointsComputation
- Compute Stiffness Parameter
- Estimate Critical Point

Store Eigenproblem Results

Update Step-Length

Check Conditions to Terminate


the Analysis
RiksBranchContinuation

If Conditions Are Met

Terminate Analysis

Figure 8.1: Structure of the le RiksContinuation.py


Implementation of Continuation Methods in PyFEM 119

The Method RiksContinuation.run


The method RiksContinuation.run performs branch continuation and critical points
detection on the primary equilibrium path, according to the following steps:

1. Predictor : performs the predictor step according to Eq. (7.39);


2. Corrector : solves the system in Eq. (7.40) by means of the Newton-Raphson method.
Convergence is reached when the norm of the residual (error) falls below a pre-
scribed tolerance (tol);

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;

5. Critical Points Detection : performs the eigenvalue decomposition of K, computes the


number of positive eigenvalues Npos and the stiness parameter Sp in the equilibrium
point determined in the corrector, and gives a rst estimate of the critical point;

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;

8. Check Conditions to Terminate Analysis : checks if at least one of the conditions


that terminate the analysis are met. If no conditions are satised another load step
is performed, otherwise the analysis is terminated.

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.

The Method CriticalPointsComputation


The method CriticalPointsComputation is implemented to compute the critical
points according to the criteria and the procedures described in Section 7.2.
The structure of CriticalPointsComputation is illustrated in Figure 8.2.
The method performs a check of the sign of the stiness parameters Sp and Sp_old
relative to the equilibrium points before and after the critical point:

• 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

CriticalPointsComputation( props, globdat ):

if sign(Sp) != sign(Sp_old) :
Stiffness Parammeter Sp Limit Point

if sign(Sp) == sign(Sp_old) :

Bifurcation Point

if |Om/Om_0| < toll_om OR if |Om_old/Om_0| < toll_om OR


else :
|Ds_crit/Ds_0| < toll_Ds : |Ds_crit/Ds_0| < toll_Ds :

Bifurcation Point Located Bifurcation Point Located


in the Equilibrium Point in the Equilibrium Point Iterative Procedure
After It Before It

Store Bifurcation Point Data in:

globdat.CriticalPoints

- Plot Critical Point on Screen

- Write Critical Point to File


<analysisName>CritPoints.dat

Figure 8.2: Structure of the function CriticalPointsComputation


Implementation of Continuation Methods in PyFEM 121

Bifurcation points are determined by means of an iterative procedure reported in Section


7.2. Denoting with si−1 and si the values of the arc-length associated with the equilibrium
points before and after the bifurcation, the following steps are implemented:

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;

• s: a vector containing the values of the arc-length s at each computed bifurcation


point;

• nPos: a vector containing the number of positive eigenvalues at each computed


bifurcation point;

• lamCrit: a vector containing the critical loads λ∗ at each computed bifurcation


point;

• aCrit: an array containing the critical displacements a∗ at each computed bifurca-


tion point;
0
• lamDotCrit: a vector containing the critical load factor derivative λ ∗ at each
computed bifurcation point;
0
• aDotCrit: an array containing the critical displacements derivative a ∗ at each
computed bifurcation point;

• 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);

• Modes: a 3D array containing the complete matrices of the eigenvectors of K that


arise from the eigenvalue problem at each computed bifurcation point;

• Lambda: an array containing the vector with the eigenvalues of K at each bifurcation
point;

• Ds: a vector containing the values of ∆s∗ at each bifurcation point;


122 Implementation of Continuation Methods in PyFEM

• damageCrit: a collection of dictionaries containing the dictionaries


globdat.damageDict associated with the damage state of the structure at each
bifurcation point;

• deltaMaxCrit: a collection of dictionaries containing the dictionaries


globdat.deltaMaxDict associated with the damage state of the structure at each
bifurcation point.

The data stored in globdat.CriticalPoints completely dene the critical state. As


a result, when bifurcation branches are traced, the analysis can be restarted from the
bifurcation points after tracing the whole primary equilibrium path.

In addition, the function CriticalPointsComputations writes the critical load λ∗ to


a le here generally referred to as <analysisName>CritPoints.dat, where
<analysisName> is the name of the analysis input le.

8.1.2 The Class RiksBranchContinuation and its Methods


When at least one bifurcation point is detected, the method RiksContinuation.run
initializes the class RiksBranchContinuation. This class is contained in the le
RiksBranchContinuation.py in the directory utils. The class
RiksBranchContinuation performs the continuation procedure on bifurcation branches.
In addition, it detects and computes the secondary critical points, and traces the secondary
bifurcation branches.
The class RiksBranchContinuation contains the following methods:

• run: enables to set up the analysis of the bifurcation branches and performs branch
continuation and secondary critical points detection;

• BranchPlot: adds the computed bifurcation branches to the load-displacement


curve plotted on screen, writes the plotted equilibrium point to a text le and writes
the .vtu and .pvd les containing the contour data of the structure;

• CriticalPointsComputation: performs critical point computation, and plots


the critical points on the graph shown on screen.

RiksBranchContinuation 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 informations, and the method sign
which implements the sign function.
The architecture of RiksBranchContinuation.py is illustrated in Figure 8.3.
Implementation of Continuation Methods in PyFEM 123

RiksBranchContinuation.py

RiksBranchContinuation
RiksBranchContinuation.run( props, globdat, ... )

Enter Requested Inputs to set up


analysis and Create Vector bif

for i in bif :

for k in [1, -1] :

Enter Index of the Buckling Mode


to Adopt as Imperfection

Load Data of the i-th Bifurcation Point

Branch Switching Algorithm:

- NormalVect
- EigInjection

while (globdat.BranchCycle < maxCycle AND cut < 4) :

Branch Continuation
- Predictor
- Corrector
- Tangent Computation
- Critical Point Detection
- Critical Point Computation Using
the Function CriticalPointsComputation
- Step-Length Update

BranchPlot

- Plot Equilibrium Points


of the Bifurcation Branch

- Write Plotted Data to the File


<analysisName>Branch<i>_<ind>.dat

If Results Quality is not Satisfactory Enter:


qual = 1
If Results Quality
is Satisfactory

Enter: Repeat Analysis


qual = 0 With Different
Parameters
If Secondary Bifurcation
Points Are Detected

branch = 1

Trace Secondary Bifurcation Branches

RiksBranchContinuation.run( props, globdat, ... )

Figure 8.3: Architecture of RiksBranchContinuation.py


124 Implementation of Continuation Methods in PyFEM

The Method RiksBranchContinuation.run


The continuation process on bifurcation branches starts when RiksContinuation.run
calls the method RiksBranchContinuation.run. This method takes the following
quantities as an input:

• The classes props and globdat

• The maximum value that can be assumed by ∆s;

• The initial step-length value ∆s0 ;

• The critical points database CriticalPoints;

• 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 tolerance tol used to prescribe convergence to equilibrium points.

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:

• Number of bifurcation branches to trace;

• 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 scale factor τ̃

These two quantities are needed to perform branch switching.


Finally, the program asks the user to enter the number of load steps to perform along the
side of the branch that is going to be traced.
When all the requested quantities are provided by the user, the analysis is restarted from
Implementation of Continuation Methods in PyFEM 125

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:

• ’NormalVect’: activates the normal vector method;

• ’EigInjection’: activates the eigenvector injection method.

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 Method CriticalPointsComputation


Secondary critical points computation is performed by means of the function
CriticalPointsComputation. This function is called every time the new value of
Npos is lower than the previous one. The data related to secondary bifurcation points are
stored into a dictionary called globdat.SecondaryCriticalPoints. This dictionary
has the same structure of globdat.CriticalPoints. The data stored in
globdat.SecondaryCriticalPoints completely dene the critical state and it is
used to restart the analysis when secondary bifurcation branches are traced.
In addition, CriticalPointsComputation writes the critical loads λ∗ to a le. The
le name here is generally referred to as
<analysisName>CritPointsBranch<i>_<ind>.dat, where <analysisName> is
the name of the analysis input le, while ind = 1 if k = 1 and ind = 2 if k = −1.

The Method BranchPlot


After updating the step-length, RiksBranchContinuation calls the function
BranchPlot which plots the bifurcation branch on the graph plotted on screen, and
writes the plotted data to a text le. The text le is called
<analysisName>Branch<i>_<ind>.dat if primary bifurcation branches are being
traced, and <analysisName>SecondaryBranch<i>_<ind>.dat if secondary bifur-
cation branches are analysed, where <analysisName> is the name of the analysis input
le, while ind = 1 if k = 1 and ind = 2 if k = −1. In addition, BranchPlot creates the
.vtu and .pvd les containing the contour data of the bifurcation branch analysis.

8.1.3 Limitations of the Method


The solution strategies adopted to implement the method have some limitations. Firstly,
it is assumed that the eigenvalues of K are all well separated, meaning that multiple or
clustered bifurcations cannot be handled.
Another limit is that the adoption of the eigenvector injection branch switching algorithm
does not enable to trace the bifurcation branches of a buckling mode introducing an initial
imperfection with the shape of a dierent mode. The modied Riks' continuation method
converges always to the bifurcation branch associated with the buckling mode introduced
as imperfection. This fact is explained by the constraint equation (7.44), which concerns
only displacements and not the load factor increment ∆λ. As a consequence, the load
factor λ is free to grow indenitely, while the displacement increment is bounded by Eq.
(7.44). The method is more likely to let λ grow to the critical load associated with the
mode used as imperfection rather than letting the structure undergo a large displacement
to match the shape of a dierent mode.
Implementation of Continuation Methods in PyFEM 127

8.2 Implementation of the Dissipated Energy Continuation


Method
The dissipated energy continuation method is a solver and is located in the block
<SolverName>.py of the PyFEM's architecture, which is reported in Figure 5.1.
This algorithm is implemented in the two following les:

• DissEnContinuation.py, which contains the class DissEnContinuation;

• DissEnBranchContinuation.py, which contain the class


DissEnBranchContinuation.

8.2.1 The Class DissEnContinuation and its Methods


The class DissEnContinuation is implemented in the le DissEnContinuation.py
located in the directory solvers. This class contains the following methods:

• run( props, globdat );

• CriticalPointsComputation( props, globdat ).

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.

The Method DissEnContinuation.run


The method DissEnContinuation.run performs branch continuation and critical points
detection on the primary equilibrium path. It is based on the following steps:

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;

6. Critical Points Detection : performs the eigenvalue decomposition of K, determines


the number of positive eigenvalues Npos and the stiness parameter Sp in the equi-
librium point provided by the corrector, and generates a rst estimate of the critical
point;
128 Implementation of Continuation Methods in PyFEM

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;

9. Check Conditions to Terminate Analysis : checks if at least one of the conditions


prescribed to terminate the analysis are satised. If no conditions are met another
load step is performed, otherwise the analysis is terminated.

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.

The Method CriticalPointsComputation


The method CriticalPointsComputation is called to compute the critical points.
The structure of the function CriticalPointsComputation implemented in
DissEnContinuation is identical to the one illustrated in Figure 8.2 for the modied
Riks' continuation method.
The only dierence between the functions CriticalPointsComputation implemented
in RiksContinuation and DissEnContinuation is that in the latter, if method is
set to ’nrg-controlled’, the convergence criterion in Eq. (7.24) reads:

∆τ
∆τ0 < tol∆s
(8.1)
Implementation of Continuation Methods in PyFEM 129

In addition, in the dictionary globdat.CriticalPoints also the values of the path


parameter τ at bifurcation points are stored into a vector marked with the label tau.

8.2.2 The Class DissEnBranchContinuation and its Methods


When at least one bifurcation point is detected, before ending the analysis, the method
DissEnContinuation.run initializes the class DissEnBranchContinuation con-
tained in the le DissEnBranchContinuation.py located in the directory utils.
This class performs branch continuation on bifurcation branches, secondary critical points
computation and enables to trace secondary bifurcation branches.
The class DissEnBranchContinuation contains the following methods:

• 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;

• CriticalPointsComputation: computes the critical points and plots them on


the graph generated on screen.

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 Method DissEnBranchContinuation.run


The method run of the class DissEnBranchContinuation takes the following quan-
tities as an input:

• The classes props and globdat

• The maximum value that can be assumed by ∆s;

• The maximum value that can be assumed by ∆τ ;

• The initial step-length value ∆s0 ;

• The initial step-length value ∆τ0 ;

• The threshold value ∆τswitch to perform the switch to the dissipative method;

• The critical points database CriticalPoints;

• The string SwitchMethod which prescribes the branch switching algorithm 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);
130 Implementation of Continuation Methods in PyFEM

• The maximum number of increments prescribed in the input le of the analysis;

• The tolerance tol used to prescribe convergence to equilibrium points.

The classes DissEnBranchContinuation and RiksBranchContinuation work ex-


actly in the same way. The only dierence between them is that
DissEnBranchContinuation performs branch continuation adopting the double so-
lution strategy based on the modied Riks' continuation method and on the dissipative
method. As a consequence, DissEnBranchContinuation contains in the branch con-
tinuation block, reported in Figure 8.3, the equations of both strategies. In addition, before
realizing a new load step, DissEnBranchContinuation performs the Method Update
step described for the method DissEnContinuation.run.

The Method CriticalPointsComputation


The computation of the secondary critical points is performed by means of the method
CriticalPointsComputation. This function is called every time the new value of
Npos is lower than its previous value. The data related to secondary bifurcation points are
stored into a dictionary called globdat.SecondaryCriticalPoints. This dictionary
has the same structure of globdat.CriticalPoints. The data stored in
globdat.SecondaryCriticalPoints completely dene the critical state and is used
to restart the analysis when secondary bifurcation branches are traced.
In addition, CriticalPointsComputation writes the critical loads λ∗ to a le here
generally referred to as
<analysisName>CritPointsBranch<i>_<ind>.dat, where <analysisName> is
the name of the analysis input le, while ind = 1 if k = 1 and ind = 2 if k = −1.

The Method BranchPlot


After updating the step-length, DissEnBranchContinuation calls the function
BranchPlot. This function plots the bifurcation branch on the graph shown on screen,
and writes the plotted data to a text le. The text le is called
<analysisName>Branch<i>_<ind>.dat if primary bifurcation branches are being
traced, and <analysisName>SecondaryBranch<i>_<ind>.dat if secondary bifur-
cation branches are being traced, where <analysisName> is the name of the analysis
input le, while ind = 1 if k = 1 and ind = 2 if k = −1. In addition, BranchPlot creates
the .vtu and .pvd les containing the contour data of the bifurcation branch analysis.

8.2.3 Limitations of the Method


Due to the solution procedures implemented in the algorithm, this method has some lim-
itations. In particular, the strategy adopted to perform critical points detection assumes
that the eigenvalues of K are well separated, which implies that the procedure cannot
handle multiple or clustered bifurcations.
Implementation of Continuation Methods in PyFEM 131

DissEnContinuation.py

DissEnContinuation
DissEnContinuation.run(props, globdat)

(equations change in agreement with the adopted method)

Predictor

while error < toll

Corrector

Store Results

Compute Dissipated Energy

Tangent Computation

- Tangent Vector Computation


- Check Tangent Vector Sign

Critical Point Detection

if N_pos < N_posOld


- Compute Eigenvalues of K
- Compute N_pos CriticalPointsComputation
- Compute Stiffness Parameter
- Estimate Critical Point

Store Eigenproblem Results

Method Update

if method == 'RiksContinuation' : if method == 'nrg-controlled' :

if dissnrg < SwitchbackEnergy else :


if dissnrg > SwitchEnergy else:

method = 'nrg-controlled' update Ds method = 'RiksContinuation' update Dtau

Check Conditions to Terminate


the Analysis
DissEnBranchContinuation

If Conditions Are Met

Terminate Analysis

Figure 8.4: Structure of the le DissEnContinuation.py


132 Implementation of Continuation Methods in PyFEM
Chapter 9

Continuation Methods: Numerical


Simulations
In this chapter, the performance of the continuation methods developed in Chapter 8 are
demonstrated by means of numerical examples. Firstly, two tests are presented to validate
the modied Riks' continuation method. Then, two examples are performed to compare
the performance of the two methods here developed.

9.1 Goals of the Investigation


In the rst part of the chapter, two examples are presented to validate the modied Riks'
continuation method. The tests are performed on elastic models characterized by the
following types of bifurcation points [40]:

• Supercritical bifurcation point : both sides of the bifurcation branch are locally stable
equilibrium paths characterized by increasing values of the load factor λ;

• Subcritical bifurcation point : the bifurcation branch is characterized by locally un-


stable solutions corresponding to decreasing 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;

• Accuracy in the approximation of the critical loads;

• Quality of the discretization of the equilibrium path;

• Sensitivity to the choice of the parameter τ̃

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:

MR-CM ⇒ Modied Riks' continuation method;


DE-CM ⇒ Dissipated energy continuation method.

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.

9.2 Preliminaries on Finite Element Analyses


The nite element meshes are realized using four-noded nonlinear shell elements and four-
noded cohesive elements.
A preliminary convergence study is performed to determine the dimension of the elements.
The length of the cohesive elements is assigned in order to be smaller than the length of
the process zone ld dened in Eq. (6.1).
The tolerance adopted to prescribe convergence on the equilibrium solutions and on the
critical points results from a preliminary study, and is chosen to provide sucient accuracy
and prevent the premature end of the simulations.

9.3 Validation of the Modied Riks' Continuation Method


The modied Riks' continuation method is validated by means of two examples: the Euler
buckling of a cantilever beam and the buckling of a 1 DOF truss-spring system.

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.

Figure 9.1: Euler buckling: structural model


Continuation Methods: Numerical Simulations 135

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

Table 9.1: Euler buckling: geometric features

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.

Figure 9.2: Euler buckling: nite element mesh

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: Euler buckling: results

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

Truss-Spring 1 DOF System

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.

Figure 9.4: Truss-spring system: structural model

The model consists of a horizontal truss of length l = 10 mm and a vertical spring of


stiness kG = 100 Nmm−1 . The truss is hinged at the left end and compressed by a unit
force P applied at the right end. The spring is connected to the right end of the truss and
is free to translate horizontally, providing only a vertical reaction.

For this problem the analytical solution can be easily derived. In particular, the load P is
related to the deection angle θ by:

P (θ) = kg l cos(θ) (9.1)

The critical load P ∗ is found by setting θ = 0:

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

Truss−Spring Systems: Example 1


1500
Analytical Solution
Riks Continuation

1000

500

Load [N]
0

−500

−1000
−3 −2 −1 0 1 2 3
Deflection θ [rad]

Figure 9.5: Truss-spring system: results

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.

9.4 Performance of the Continuation Methods


The performance of the two new continuation methods presented in this work are compared
by means of two numerical tests on models containing cohesive elements and characterized
by post-buckling responses involving material damage. The rst example concerns a beam
with an embedded cohesive layer, while, in the second one, an arch with an embedded
cohesive layer is analysed. In both cases the bifurcation diagram of the structure is traced.

Beam with Embedded Cohesive Layer


In this example, the bifurcation diagram of a beam with an embedded cohesive layer is
traced. In the bifurcation diagram, the branches associated with the rst four buckling
modes are sought. The structural model is shown in Figure 9.6.

Figure 9.6: Beam with embedded cohesive layer: structural model

The structure is made up of two horizontal parts separated by an interface. An initial


crack of length a is present in the central part of the beam. The structure is hinged at
the bottom left vertex and supported at the bottom right one. A compressive force per
unit length of magnitude p is applied at the two ends of the structure. The geometric
dimensions of the beam are reported in Table 9.2.
The two parts of the structure are 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
138 Continuation Methods: Numerical Simulations

l (mm) a (mm) h (mm)


5 3 0.2

Table 9.2: Beam with embedded cohesive layer: geometric features

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.

GI = GII (Nmm−1 ) N = T (N) kd (Nmm−3 )


5.0 · 10−3 1.0 5 · 103

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

Table 9.4: Beam with embedded cohesive layer: analysis parameters

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

Figure 9.8: Beam with embedded cohesive layer: primary path

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]

(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

repeated for all the branches (see Figure 9.10).

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]

(a) Positive side of the fourth bifurcation branch (b) Positive side of the fourth 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 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.

Bifurcation Diagram of a Beam with Embedded Cohesive Layer


300
F

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]

Figure 9.11: Beam with embedded cohesive layer: bifurcation diagram


Continuation Methods: Numerical Simulations 141

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.

(a) Buckling Mode 1 (b) Buckling Mode 2

(c) Buckling Mode 3 (d) Buckling Mode 4

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.

Analysis of the Results

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

Delamination Induced By Buckling


180
DissEn Continuation
Riks
160

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]

Figure 9.13: Beam with embedded cohesive layer: buckling mode 3

Bifurcation Diagram of a Beam with Embedded Cohesive Layer


300
DissEn Continuation
ModRiks Continuation

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]

Figure 9.14: Beam with embedded cohesive layer: bifurcation diagrams

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

Table 9.5: Beam with embedded cohesive layer: analysis results


Continuation Methods: Numerical Simulations 143

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.

N. Bif. Point Mod. Riks' Diss Energy


1 10.4856330507 10.4856330380
2 20.3797062034 20.3797066065
3 41.8817833740 41.9247183109
4 51.0584924901 55.9227558275

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.

Arch with Embedded Cohesive Layer


In this example, the bifurcation diagram of an arch with an embedded cohesive layer is
traced. The aim of the analysis is to trace the bifurcation diagram of the structure and to
detect the rst two critical points, which are a bifurcation point and a limit point. The
structural model is shown in Figure 9.15.

Figure 9.15: Arch with embedded cohesive layer: structural model

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.

R (mm) θ (deg) h (mm)


10 45 0.1

Table 9.7: Arch with embedded cohesive layer: geometric features

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

GI = GII (Nmm−1 ) N = T (N) kd (Nmm−3 )


5.0 · 10−1 15.0 5 · 104

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

Table 9.9: Arch with embedded cohesive layer: analysis parameters

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.

Bifurcation Diagram of an Arch with Embadded Cohesive Layer


0.45
C D E
0.4

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]

Figure 9.17: Arch with embedded cohesive layer: bifurcation diagram

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.

Bifurcation Diagram of an Arch with Embadded Cohesive Layer


0.45

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.

Analysis of the Results


The analyses results obtained by means of the two continuation methods are reported in
Figure 9.20 in terms of vertical displacement of the node V versus the nodal force applied
at the same node.
Continuation Methods: Numerical Simulations 147

(a) Primary Path (b) Bifurcation branch

Figure 9.19: Arch with embedded cohesive layer: nal congurations on the primary path
and on the bifurcation branch (displacements 2×)

Bifurcation Diagram of an Arch with Embadded Cohesive Layer


0.45

0.4

0.35

0.3
Load [N]

0.25

0.2

0.15

0.1

0.05 Diss En Continuation


ModRiks Continuation
0
0 0.02 0.04 0.06 0.08 0.1 0.12
Displacement v [mm]

Figure 9.20: Arch with embedded cohesive layer: bifurcation diagrams

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

Table 9.10: Arch with embedded cohesive layer: analysis results

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.

Type Mod. Riks' Diss Energy


Bifurcation 0.373549985377 0.373552953309
Limit 0.444501477983 0.444357124684

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.

10.1 Future Developments


The hybrid-constraint formulation is a generic approach. As a consequence, it is interest-
ing to investigate the performance of hybrid-constraint methods dierent from those here
presented.
In the present formulation, an expression of the weighting function based on the damage
variables of the cohesive elements is adopted. This expression limits the applicability of the
hybrid-constraint methods to problems involving cohesive elements. Dening the weight-
ing function by means of a more general quantity, the applicability of the hybrid-constraint
methods would be extended to dierent types of simulations (e.g. VCCT, plasticity, pro-
gressive failure analysis).
As regards continuation methods, an open issue concerns the arising of spurious critical
points due to the presence of the cohesive elements. The damage process of the cohesive
elements introduces negative eigenvalues in the tangent stiness matrix. As far as the
critical points are detected monitoring the change of sign of the eigenvalues, the presence
of damaging cohesive elements is likely to generate spurious bifurcation points.
Appendix A

Implementation of Criseld's Method


In this appendix the implementation of Criseld's arc-length is discussed in terms of the
classes and of the related methods, describing the input parameters of the algorithm and
the steps of the procedure.

A.1 Implementation of Criseld's Method


Criseld's method is implemented in the le CrisfieldSolver.py, which contains the
class CrisfieldSolver. The following methods are associated with this class:

• run

• printHeader

• printIteration

• printConverged

where run implements the arc-length method and printHeader, printIteration


and printConverged are utility functions that print analysis information on screen.

A.1.1 The Method CrisfieldSolver.run


The method CrisfieldSolver.run takes the instances globdat and props as an
input.
The structure of the method is illustrated in Figure A.1.
152 Implementation of Criseld's Method

CrisfieldSolver.py

CrisfieldSolver
run( props, globdat )

Predictor

Initialize K and r if iter >= iter_max:


cut step-length

While error < toll

Corrector

Store Results

Update Step-Length

Check Conditions to
Terminate Analysis

If Conditions are Met

Terminate Analysis

Figure A.1: Structure of the solver CrisfieldSolver

The structure in Figure A.1 can be outlined by means of following steps:

1. Predictor : computes the predictor solution according to Eq. (4.36);


2. Initialize K and r: assembles the stiness matrix K and computes the residual r to
be used in the rst corrector iteration;

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

6. Check Conditions to Terminate Analysis : checks if at least one of the conditions


that terminate the analysis is satised. If no conditions are met another load step is
performed, otherwise the solver sets globdat.active=False and the analysis is
terminated by PyFEM.py.

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:

’Direction’ ⇒ Increment Direction Method


’Residual’ ⇒ Lowest Residual Method

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:

• Dl: the initial step-length;

• MaxDl: the maximum step-length;

• MinDl: the minimum step-length;

• MaxFactor: the maximum value of the factor ξ used in Eq. (4.36);

• MinFactor: the minimum value of ξ ;

• Corrector: the string which sets the root selection scheme to adopt;

• MaxCycle: the maximum number of increments;

• MaxLam: the maximum value of the load factor λ.

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.

[4] G. I. Barenblatt. The mathematical theory of equilibrium cracks in brittle fracture.


Advances in Applied Mechanics, 7(104):55129, 1962.
[5] K. J. Bathe. Finite Element Procedures. Prentice Hall, Upper Saddle River, 1996.
[6] M. L. Benzeggagh and M. Kenane. Measurement of mixed-mode delamination frac-
ture toughness of unidirectional glass/epoxy composites with mixed-mode bending
apparatus. Composites Science and Technology, 56(4):439449, 1996.

[7] P. G. Bergan, G. Horrigmoe, B. Krakeland, and H. Soreide. Solution techniques for


nonlinear nite element problems. International Journal for Numerical Methods in
Engineering, 12(11):16771696, 1978.
[8] C. Bisagni, R. Vescovini, and C. G. Dávila. Assessment of the damage tolerance of
postbuckled hat-stiened panels using single-stringer specimens. In Proc 41st SDM
Conf, Orlando, FL, 2010.
[9] C. Bisagni, R. Vescovini, and C. G. Dávila. Single-stringer compression specimen for
the assessment of damage tolerance of postbuckled structures. Journal of Aircraft,
48(2):495502, 2011.

[10] R. De Borst, M. A. Criseld, J. J. C. Remmers, and C. V. Verhoosel. Non-Linear


Finite Element Analysis Of Solids And Structures. John Wiley & Sons, New York,
2012.

[11] P. P. Camanho, C. G. Dávila, and M. F. De Moura. Numerical simulation of mixed-


mode progressive delamination in composite materials. Journal of Composite Materi-
als, 37(16):141524, 2003.
[12] J. L. Chaboche, F. Feyel, and Y. Monerie. Interface debonding models: A viscous
regularization with a limited rate dependency. International Journal of Solids and
Structures, 38(18):31273160, 2001.
156 Bibliography

[13] M. A. Criseld. A fast incremental/iterative solution procedure that handles snap-


through. Computers & Structures, 13(1):5562, 1981.

[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.

[16] D. F. Davidenko. On approximate solution of systems of nonlinear equations. Ukra.


Mat. Z., 5:196206, 1953.
[17] D. S. Dugdale. Yielding of steel sheets containing slits. Journal of the Mechanics and
Physics of Solids, 8(2):100108, 1960.
[18] F. Gasco and P. Feraboli. A crack length control scheme for solving nonlinear nite el-
ement equations in stable and unstable delamination propagation analysis. Composite
Structures, 117:267273, 2014.
[19] P. Gaudenzi, P. Perugini, and A. Riccio. Post-buckling behavior of composite panels
in the presence of unstable delaminations. Composite Structures, 51(3):301309, 2001.

[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.

[21] L. Hamitouche, M. Tarfaoui, and A. Vautrin. An interface debonding law subject to


viscous regularization for avoiding instability application to the delamination prob-
lems. Engineering Fracture Mechanics, 75(10):30843100, 2008.

[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.

[27] A. Magnusson and I. Svennson. Numerical treatment of complete loaddeection


curves. International Journal for Numerical Methods in Engineering, 41(2):955971,
1998.

[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.

[33] J. Raphson.Analysis Aequationum Universalis seu ad aequationes algebraicas resol-


vendas methodus generalis, et expedita, ex nova innitarum serierum doctrina, deducta
ac demonstrata. (original in British Library, London), 1690.
[34] W. C. Rheinboldt. Numerical analysis of continuation methods for nonlinear structural
problems. Computers & Structures, 13(1):103113, 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.

[42] T. E. Tay, G. Liu, V. B. C. Tan, X. S. Sun, and D. C. Pham. Progressive failure


analysis of composites. Journal of Composite Materials, 42:19211966, 2008.

[43] M. J. Turner, R. W. Clough, H. C. Martin, and L. C. Topp. Stiness and deection


analysis of complex structures. Journal of the Aeronautical Sciences, 23(9):805882,
1956.

[44] C. V. Verhoosel, J. J. C. Remmers, and M. A. Gutierrez. A dissipation-based arc-


length method for robust simulation of brittle and ductile failure. International Jour-
nal for Numerical methods in Engineering, 77(9):12901321, 2009.
158 Bibliography

[45] R. Vescovini and C. Bisagni. Two-step procedure for fast post-buckling analysis of
composite stiened panels. Computers & Structures, 128:3847, 2013.

[46] R. Vescovini, C. G. Dávila, and C. Bisagni. Failure analysis of composite multi-stringer


panels using simplied models. Composites Part B: Engineering, 45(1):939951, 2013.

[47] W. Wagner and P. Wriggers. A simple method for the calculation of postcritical
branches. Engineering Computations, 5(2):103109, 1988.

[48] G. A. Wempner. Discrete approximation related to nonlinear theories of solids. In-


ternational Journal of Solids and Structures, 7(11):15811599, 1971.