Stability Analysis of Twodimensional Truss Structures

88
  i   Baustatik und Baudynamik Unive rsität S tutt art Institut für Baustatik und Baudynamik Prof. Dr.-Ing. habil. Manfred Bischoff Stabil ity A nalysis of Two- dimensional Truss Structures  vorgelegt von Luis Miguel Posada im  August 2007 Master Thesis

description

Master thesis

Transcript of Stability Analysis of Twodimensional Truss Structures

  • i

    Baustatik und BaudynamikUniversitt Stuttgart

    Institut fr Baustatik und BaudynamikProf. Dr.-Ing. habil. Manfred Bischoff

    Stability Analysis of Two-dimensional Truss Structures

    vorgelegt von

    Luis Miguel Posada

    im

    August 2007

    Master Thesis

  • ii

    Abstract

    A full nonlinear analysis of structures requires the investigation of fundamental and secondary equilibrium paths. This work considers available algorithms for tracing such equilibrium paths, in the case of highly non-linear load carrying behaviour of structures.

    Different possibilities for the formulation of the arc-length control method have been reviewed and implemented using MATLAB. The arc-length control method often fails to draw the equilibrium path after passing bifurcation and turning points. This is mostly due to the fact that the corrector steps are not carried out in the proper direction around such points.

    To overcome this issue, several criterions have been presented in the literature to predict the correct direction of the predictor step. Some of these have been investigated and discussed by means of numerical experiments, in the context of simple two-dimensional truss structures, in order to keep the analysis times short. The criterion recently introduced by Feng, Owen and Peric [7] showed to be insensible to bifurcation and turning points, and therefore has been successfully applied to draw entire equilibrium paths containing such points.

    A comparison between the linearized and the cylindrical arc-length method through problems involving truss structures with realistic values is included to show the advantages of the methods regarding the convergence rates. Additionally, the problems arising from the scaling of the constraint equation have also been shown.

    Finally, the standard Load control and Displacement control path following techniques have also been implemented and examined.

  • iii

    Table of Contents

    List of Figures v

    List of Symbols.... vii

    1 Introduction ............................................................................................................................i

    2 Nonlinear analysis .................................................................................................................4

    2.1 Geometrical nonlinearities in truss structures .................................................................5

    2.2 The Load-Displacement response diagram.....................................................................6

    2.3 Special equilibrium points...............................................................................................7

    3 Path following techniques...................................................................................................10

    3.1 Load Control .......................................................................................................................10

    3.2 Displacement Control..........................................................................................................15

    3.3 Arc-length control ...............................................................................................................18

    3.3.1 Linearized arc-length method.......................................................................................19

    3.3.2 Spherical arc-length method.........................................................................................21

    3.3.3 The predictor solution ...........................................................................................24

    3.3.4 The scaling parameter ........................................................................................26 3.3.5 Automatic step sizing ............................................................................................27

    4 The truss element ................................................................................................................29

    4.1 Geometric mapping .............................................................................................................30

    4.2 Kinematic equations............................................................................................................31

    4.3 Internal force vector ............................................................................................................33

    4.4 Tangent stiffness matrix ......................................................................................................35

    5 Implementation of a simple 2-d truss fine element program in MATLAB ...................37

    5.1 General input data ...............................................................................................................37

    5.2 MATLAB main programs.............................................................................................39

    5.2.1 Flowchart and MATLAB routine for the Load control method............................40

    5.2.2 Flowchart and MATLAB routine for the Displacement control method..............43

    5.2.3 Flowchart and MATLAB routine for the Arc-length control method. .................48

    5.3 MATLAB subroutines...................................................................................................56

    5.3.1 Subroutine greens_strain.m ................................................................................56

  • iv

    5.3.2 Subroutine PlaneTrussAssemble.m ....................................................................56

    5.3.3 Subroutine qassemble.m.....................................................................................57

    5.3.4 Subroutine kmatrix.m .........................................................................................57

    5.3.5 Subroutine feaplyc2.m........................................................................................57

    5.3.6 Subroutine feeldof.m ..........................................................................................58

    6 Numerical experiments .......................................................................................................59

    6.1 Experiment 1. The basic two bar symmetric system: snap through problem for the implemented methods. ..............................................................................................................59

    6.2 Experiment 2. The basic two bar symmetric system: equilibrium path with limit and bifurcation points.......................................................................................................................61

    6.3 Experiment 3. Six bar symmetric system: equilibrium path with limit, turning and bifurcation points.......................................................................................................................65

    6.4 Experiment 4. Comparison between the Linearized and the Cylindrical arc-length method....................................................................................................................................................69

    6.5 Experiment 5. Influence of the incremental length l in arc-length method ......................69 6.6 Experiment 6. Influence of the scaling parameter ...........................................................70

    7 Conclusions ..........................................................................................................................72

    Bibliography ................................................................................................................................74

    Appendix A ..................................................................................................................................76

  • v

    List of Figures

    Figure 2.1 Geometrically unstable structure . 4

    Figure 2.2 Load-displacement response diagram.. 6

    Figure 2.3 Fundamental, secondary and tertiary equilibrium paths.. 7

    Figure 2.4 Different types of response patterns with their corresponding special equilibrium points.. 8

    Figure 3.1 Forward-Euler incremental procedure 11

    Figure 3.2 The full Newton-Raphson method..... 13

    Figure 3.3 The Load Control method.. 13

    Figure 3.4 Different versions of the N-R method 14

    Figure 3.5 The Displacement Control method 17

    Figure 3.6 The linearized arc-length method... 20

    Figure 3.7 The spherical arc-length method.... 22

    Figure 3.8 Different path following techniques... 27

    Figure 4.1. Degrees of freedom of a truss element.. 29

    Figure 4.2. Deformation of general truss element... 30

    Figure 5.1 Input format for gcoord.txt file 39

    Figure 5.2 Input format for nodes.txt file.. 39

    Figure 5.3 Input format for elprop.txt file..... 39

    Figure 5.4 Load control method flowchart.. 44

    Figure 5.5 Displacement control method flowchart.... 45

    Figure 5.6 Linearized arc-length control method flowchart.... 54

    Figure 6.1 Two bar symmetric structure for experiment 6.1... 59

    Figure 6.2 Load-displacement response diagram of the truss structure in figure 6.1.. 59 Figure 6.3 Load-Disp. response diagram of the truss structure in figure 6.1 (superposed curves).. 61

    Figure 6.4 Load-Displacement response diagram of symmetric structure in figure 6.1. 62 Figure 6.5 Two bar symmetric structure with augmented angle. 63 Figure 6.6 Load-Displacement response diagram of the symmetric structure in figure 6.5... 63 Figure 6.7 Two bar asymmetric structure with augmented angle 64

    Figure 6.8 Load-Displacement response diagram of the asymmetric structure in figure 6.7.. 64

  • vi

    Figure 6.9 Six bar symmetric structure 65

    Figure 6.10 Load-Displacement response diagram of the symmetric structure in figure 6.9. 66

    Figure 6.11 Amplified detail of the turning point in figure 6.10(b) 66

    Figure 6.12 Six bar asymmetric structure.... 67

    Figure 6.13 Load-Displacement response diagram of the asymmetric structure in figure 6.12... 67

    Figure 6.14 Load-Displacement response diagram of the asymmetric structure in figure 6.12 stopped after 300 increments.... 68

    Figure 6.15 Influence of the incremental length l on the arc-length method 70 Figure 6.16 Influence of the scaling parameter on the arc-length method... 71

  • vii

    List of Symbols

    a arc-length mismatch

    A symmetric matrix of equation (4.13)

    Ao constant cross-section in the initial configuration

    b1 vector of equation (4.14)

    b2 vector of equation (4.15)

    d nodal displacement nodal vector

    d prescribed displacement vector

    E Youngs modulus

    Io number of iterations needed to achieve convergence in the previous increment Id desired number of iterations for convergence to use in the automatic step sizing

    Ke standard linear stiffness matrix

    Kg geometric or initial stress matrix

    Kt tangent stiffness matrix

    Ku initial displacement (or slope) matrix

    N shape function matrix

    qe external force vector

    qi internal force vector

    r residuum or out of balance vector

    s arc length

    t prescribed surface traction vector

    u displacement field vector

    x position field vector

    x nodal coordinates of the truss element in the initial configuration

    o half of the length of the truss in the initial configuration n half of the length of the truss in the deformed configuration

    d iterative nodal displacement change vector d iterative nodal displacement change

    td iterative nodal tangential displacement change 0td current tangential solution d(q) qth constrained increment for the displacement control method

    GL Green-Lagrange virtual strain

  • viii

    iterative load level change Wint internal virtual work Wext external virtual work

    d incremental displacement nodal vector d0 previous converged incremental displacement 1d incremental displacement nodal vector for the predictor step

    GL incremental Green-Lagrange strain l incremental length incremental load level 1 incremental load level for the predictor step qe incremental external force vector

    u incremental displacement scalar load level parameter convergence criteria for equation (5.1) GL Green-Lagrange strain

    2PK 2nd Piola Kirchhoff stress

    non-dimensional coordinate scaling parameter for the arc-length constraint

  • 1

    1 Introduction

    The stability analysis of slender structures requires carrying out geometrically nonlinear analysis. Besides of identifying critical points closest to the operational range, in most cases, it is also necessary the complete investigation of the equilibrium path and the examination of secondary branches.

    The Load controlled Newton-Raphson method was the first attempt (1968) to obtain the equilibrium path in a Load-displacement response diagram. However, the method diverges after a limit point, and therefore, only part of the curve was obtained.

    The collapse loads were then often associated with such limit points and with the failure to achieve convergence with the iterative solution procedure. Nevertheless, as Crisfield quoted, many questions remained open:

    - Was it really a limit point or was the iterative solution procedure that has collapsed?

    - Was it only a local maximum and the structure can be further loaded, and still far from collapsing?

    - How is the collapse process, ductile or brittle?

    To overcome the difficulties with limit points, displacement control techniques were introduced. One of the first works in this regard was the paper of Batoz and Dhatt (1979). However, again, the method failed to draw the entire equilibrium path in the case of snap-backs structural behaviours.

    The arc-length method was then developed as another effort to enable solution algorithms to pass limit points. In relation to structural analysis, the first works in this respect were published by Riks (1972; 1979) and Wempner (1971), using a linear constraint equation such that the iterative change was normal to the tangent.

    Later, the method was modified by several scholars by means of altering the constraint equation, and therefore, the way the corrector steps of the iterative procedure expanded. For example, Ramm (1980) used a different linear constraint such that the iterative change was now normal to the secant change.

    The previous two works were the first versions of the linearized arc-length method.

    At the same time, a further modification was done by Crisfield, introducing the spherical arc-length method (1980), which uses a quadratic constraint or the Euclidean norm of the incremental displacement to a fixed quantity.

    To avoid the problems that arise in the choice of a proper root, as the Crisfield method required, a consistently linearized version of arc-length method using the same quadratic constraint was proposed by Schweizerhof and Wriggers (1984).

    The last two methods were implemented and compared in this thesis.

  • 2

    Several of the most recent improvements to the arc-length control method are intended to solve problems with the oscillation of the solution around the special points. Two different strategies were proposed in this respect by Kuo and Yang (1995), and Feng et al. (1997, 1999). Due to its effectiveness, the scheme published by Feng et al. is examined in this work.

    The main purpose of this Master thesis is to implement, compare and discuss the different path following techniques by means of numerical experiments in the context of the simple two-dimensional truss structures.

    The standard incremental methods included in this work are the Load control method, the Displacement control method, and the Linearized and cylindrical arc-length method.

    Unfortunately, some other relevant solution procedures could not be included, such as Line searches, Quasi-Newton methods, Secant-related acceleration techniques, etc, in order to keep the scope of the comparisons within the most accepted schemes.

    In particular, the following issues were addressed:

    Implementation of a simple 2d-truss finite element program in MATLAB

    Implementation and validation of standard path following methods from the literature

    Implementation of new algorithms

    Comparison and discussion of different algorithms by numerical experiments

    However, the major part of this work is focused on the arc-length control method and how it is affected by several key parameters, identified during the implementation and validation of the path following techniques.

    Consequently, several numerical experiments were carried out to show the effect of the said key parameters, such as the step size, the scaling parameter and the direction of the predictor step, in the overall performance of the arc-length control method.

    The equilibrium paths stemming from the analysed truss structures contained several multi-loops, and therefore, all the special equilibrium points of interest were present. For this reason, the simple truss structures were a suited problem to test the behaviour of the arc-length method in the presence of bifurcation, limit and turning points.

    The implemented programs were coded in a user-friendly computer package like MATLAB, and they were written in such a way that the type of finite element can be changed without any modification in the main routine. Even though the loops were avoided at the most to maximize the calculation speed, the programs can still be improved in this respect.

    The body of this work has been divided into several chapters in order to give a theoretical background for the implemented programs, in regard to the path following algorithms, and the truss FE formulation.

  • 3

    In chapter 2, the basic ideas of non-linear analysis are introduced, giving a deeper review on the geometrical nonlinearities in the truss structures, the concept of the Load-displacement response diagram and the special equilibrium points.

    Chapter 3 presents the standard path following techniques from the literature, such as the Load, Displacement and arc-length control methods. A more profound investigation on the arc-length method is given and various schemes are introduced from the literature.

    In chapter 4, the standard finite element procedure is used to obtain a Total Lagrangian formulation of a two-dimensional truss element with the aid of the Green-Lagrange strain measure. Only geometrical nonlinearities are considered in this work, and therefore, a linear material response was used.

    Chapter 5 gives the details on the implementation of the path following techniques using MATLAB, including a description of the input data or variables needed to run the implemented programs. Flowcharts and codes are also incorporated.

    In Chapter 6, the results of several conducted numerical experiments are presented to validate the implemented programs and to compare the behaviour of the different methods presented in chapter 4.

    Finally, further experiments can be done to test the performance of the arc-length method when including material nonlinearities and external loads dependant on the displacement.

  • 4

    2 Nonlinear analysis

    Nonlinear Structural Analysis is the prediction of the response of nonlinear structures by a combination of mathematical modelling, discretization methods and numerical techniques [6]. Different types of phenomena in real structures such as buckling, formation of plastic hinges, structural collapse, etc, can be thought as nonlinear responses.

    In addition, these responses can be classified according to their source in the mathematical model of continuum mechanics, using the terms Geometrical, Material, Force B.C. and Displacement B.C. nonlinearities as introduced next.

    Geometrical Nonlinearities

    The physical source is the change in geometry as the structure deforms (effect of deformed geometry), which has to be taken into account in setting up the strain-displacement (Kinematic) and equilibrium (Balance) equations [6].

    Geometrical nonlinearities model various types of physical problems, such as finite rotations and/or displacements, strains and prestressed structures.

    A very nice example, of geometrical nonlinearities becoming very strong, is the prestressed structures. Figure 2.1 shows the structure used by Biot (1965) to point out the importance of geometrical nonlinearities. This structure is said to be (geometrically) unstable, however it can carry the load P without undergo large deformations, if sufficiently prestressed. This behaviour cannot be depicted in the linear theory, i.e. without taking into account the geometrical nonlinearities.

    Therefore the importance of the following theorem of the theory of structures which states that

    In the presence of prestress, geometric nonlinearities are on the same order of magnitude as linear elastic effects in structures [13].

    LL

    P

    Figure 2.1 Geometrically unstable structure

    A recount of the geometrical nonlinearities in truss structures will be given in section 2.1.

  • 5

    Material Nonlinearities

    Their physical source is the material behaviour depending on current deformation state and possibly past history of the deformation. They are introduced via the Constitutive Equations that relate stresses and strains [6].

    Examples of applications are structures undergoing nonlinear elasticity, plasticity, viscoelasticity, creep or inelastic rate effects.

    Force B.C. nonlinearities

    When the applied loads depend on the deformation, it is said to be the source of Force B.C.

    nonlinearities. They are introduced through the prescribed surface traction t and body forces b)

    such that ( )ut and ( )ub) , where u is the displacement field vector [6]. Their most important engineering application concerns pressure loads of fluids. These include hydrostatic loads on submerged or container structures; aerodynamic and hydrodynamic loads caused by wind loads, wave loads or drag forces.

    Displacement B.C. nonlinearities

    Their physical source is the Displacement boundary conditions depending on the deformation of

    the structure. They are introduced through the prescribed displacements d depending on the

    displacement field vector u, such that ( )ud [6]. Their most important application is the contact problem, in which no-interpenetration conditions are enforced on flexible bodies, while the extent of the contact area is unknown. Non-structural applications of this problem pertain to the more general class of free boundary problems, for example: ice melting, phase changes, flow in porous media. The determination of the essential boundary conditions is a key part of the solution process.

    2.1 Geometrical nonlinearities in truss structures

    In the case of truss structures, which are the relevant ones in this work, the geometric nonlinearities effects are present mainly due to the finite rotations that usually take place in such structures when deformation occurs.

    For finite rotations, the Kinematic Equations have to be nonlinear. With the linear versions of the strain measures, it is not possible to represent the relation between the deformed and the undeformed configuration. In the case of rigid body movements the strain has to vanish, which does not happen in the linear version of the strains.

    The obvious option is the Green-Lagrange strain, which is very suitable for finite rotations and moderate strains. A formulae based in this strain measure will be given in chapter 4.

  • 6

    2.2 The Load-Displacement response diagram

    The static behaviour of many structures can be characterized by a load-displacement or force-displacement response (see figure 2.2). As a general rule, this response is plotted in two dimensions rectangular coordinate system, where the abscissa corresponds to a representative displacement quantity and the ordinate to a representative force quantity, that later will be called load level. This displacement quantity is usually only one structural degree of freedom.

    The curve drawn in the load-deflection diagram is the so-called equilibrium path. Basically, this path represents possible equilibrium configurations (load-deformation) of the analysed structure. Here stems the central idea of the nonlinear analysis: the structure is in equilibrium in their deformed configuration. Usually, the equilibrium path would be drawn point by point, where each point would represent an equilibrium estate.

    Equilibrium path

    Initial state

    Loadlevel

    dRepresentativedisplacement

    Figure 2.2 Load-displacement response diagram

    The path that crosses the initial state is called the fundamental or primary equilibrium path (see figure 2.3). In the present work, all problems will involve prefect structures whose initial state is unstressed and undeformed, and therefore the fundamental path will always cross the origin of the Load-Displacement response diagram. Along this fundamental path stems several special states called critical points, which will be discussed in section 2.3. Finally, any path that is not a fundamental path but is connected with it, at a critical point, is called a secondary or tertiary path [18].

    In fact, the main intention of this work is to trace the equilibrium path for truss structures by means of several techniques called path following methods, whose details will be given in chapter 3.

  • 7

    2.3 Special equilibrium points

    Certain points of an equilibrium path have special significance in the applications and thus receive special names. Later in this work, these special points will be helpful to investigate the behaviour of the path following techniques given in chapter 4. The definition of these points, as given in the COMMAS manuscript [18], and their importance in the path following techniques, is given next.

    Postcritical regime

    Bifurcationpoint

    Limit point

    Tertiary path

    Secondarypath

    Fundamentalpath

    levelLoad

    dDisplacementcomponent

    Figure 2.3 Fundamental, secondary and tertiary equilibrium paths

    Limit Points (L) At the limit points, the tangent to the equilibrium path is horizontal, i.e. parallel to the displacement axis. As it will be seen through a numerical example in chapter 6, the limit points are of special importance in the Load control path following technique (see also section 3.1), where after passing a limit point, due to a further load increment, no static equilibrium exist nearby and therefore the structure dynamically snaps through into the next post-critical equilibrium position, as shown in figure 2.4a.

    Bifurcation points (B) At bifurcation points, the relation between the given characteristic load and the associated deflection is not unique because at these points two or more equilibrium paths cross (see figures

  • 8

    2.3 and 2.4c); in a later case the point is denoted as multibifurcation since the equilibrium looses its uniqueness in these points; they may be called non-uniqueness points. These points are of special importance to the arc-length path following method, as it will be pointed out in section 3.3.3.1.

    Turning points (T) Turning points are points at which the tangent to the equilibrium path is vertical, i.e. parallel to the load axis. Like the limit points to the Load Control path following technique, the turning points are of special importance to the Displacement control method (see figure 2.4b). A structure analysed via such technique will dynamically snap back into the next post-critical equilibrium position after passing a Turning point. Besides, these points can affect the performance of the arc-length method (see section 3.3.3.2).

    F

    B

    B

    snap-back under

    dDisplacementcomponent

    Loadlevel

    (c)

    F

    T

    T

    L

    L

    dDisplacementcomponent

    Loadlevel

    (b)(a)

    levelLoad

    under Load Control F

    L

    L

    componentDisplacement d

    Figure 2.4 Different types of response patterns with their corresponding special equilibrium points.

  • 9

    Failure points (F) Failure points are points at which a path suddenly stops or where the structure fails because of physical failure (see figure 2.4). The phenomenon of failure may be local or global in nature. In the first case (e.g. failure of a non-critical structural component) the structure may regain functional equilibrium after dynamically jumping to another equilibrium path. In the later case the failure is often catastrophic or destructive and the structure may not regain functional equilibrium.

    However, in the present work, no failure criterion is introduced and consequently in the produced examples no F points appear.

  • 10

    3 Path following techniques

    The main purpose of the path following techniques is to draw the equilibrium path of a nonlinear structural analysis in the framework of a Load-displacement response diagram.

    There exist several techniques based on different approaches. In general, the equilibrium equation cannot be solved analytically in closed form; therefore most of the methods will trace the equilibrium path point by point, through an iterative scenario.

    In the present chapter the most spread techniques and a detailed description of their formulation will be given.

    3.1 Load Control

    The first technique, called Load Control consist in prescribe load increments, and therefore the external load. In other words, the structure would not be by the influence of the entire applied external force qe, but to a fraction of qe or load level . In this approach, for each load level, a displacement is calculated.

    Before presenting the details of the standard Load Control technique, based on the Newton-Raphson method, a review of the forward-Euler scheme will be given for the sake of completeness.

    The forward-Euler solution scheme (1970) was one of the first approaches and involves the computation of an incremental solution of the system.

    In order to produce an incremental solution procedure, the internal force qi corresponding to the displacement d, can be expanded by means of a truncated Taylor series, so that

    dddqdqddq iii

    +=+ )()()( . (3.1)

    Assuming perfect equilibrium at both the initial configuration d and the final configuration, d+d, or

    eeeii qdqddqdqddq =+=+ )()()()( , (3.2) equation (3.1) gives

    dKddqq tie =

    = (3.3)

    or

    et qKd = 1 , (3.4) where Kt is a specific case of the tangent stiffness matrix. A more general version of Kt is given later in equation (3.7).

  • 11

    Calculated pathEquilibrium path

    d2d1 dDisplacement

    Load level 2

    Load level 1

    unba

    lanc

    edfo

    rces

    unba

    lanc

    edfo

    rces

    loadExternal

    e

    qe

    qe

    Figure 3.1 Forward-Euler incremental procedure

    Figure 3.1 shows the forward-Euler incremental procedure, in which for each prescribed load level, a displacement d is calculated. However, from the same figure is concluded that, due to the geometrical non-linear behaviour of the structure, the calculated points using (3.4) would never fall into the equilibrium path, and therefore there would always be unbalanced forces that would never be corrected, leading to an unquantifiable error.

    Even though the forward-Euler scheme was abandoned due to this build-up of error, its formulae are used in other path following techniques. This is the case of the arc-length method, in which, my means of a forward-Euler scheme, a prediction of the direction of the path is obtained through equation (3.3).

    Nowadays, the standard Load Control approach is based on an equilibrium equation defined as the difference between the internal force qi and a prescribed external load qe, where is the load level, such that

    0)()( == ei qdqdr ii . (3.5) The vector r is known as residuum or out of balance vector, which has to vanish at equilibrium state. For brevity, r(di) will be written most of the time as ri.

    Notice that in equation (3.5), only the internal force vector qi (and therefore ri) is a function of the current nodal displacement vector di. From (3.5) it is possible to calculate a nodal displacement di for a prescribed load level .

  • 12

    As a general rule, a Newton-Raphson iterative scheme is adopted to solve the nonlinear equation (3.5) with respect to the displacement.

    Following the procedure of the standard N-R method, the linearization of the residuum equation yields

    01 =++=+ HOTiii ddrrr . (3.6)

    Neglecting the Higher Order Terms and defining

    tKdr =

    , (3.7)

    where Kt is again the tangent stiffness matrix, equation (3.6) can be re-expressed simply as ii rKd t

    1= . (3.8) Then, an iterative scenario is implemented in which, after solving equation (3.8) for the nodal displacement increments di, the overall displacements are updated through

    iii ddd +=+1 , (3.9) until convergence is achieved, i.e. +1ir . Next, the iterations stop and proceed with a new load level (see figure 3.2). It is important to notice that iterations between converged stages in most cases are not equilibrium points, as in figure 3.2.

    The idea of prescribing the load increment is very simple; however, the method is unstable after a limit point, being unable to follow the equilibrium path, as shown in figure 3.3. Still, the iteration process might converge later on the equilibrium path (see also chapter 6).

    The use of the N-R method has one big advantage: it keeps the symmetry and banded properties of the tangent stiffness matrix. However, the calculation of the inverse of Kt possesses the major part of the computational cost of the standard Load Control method and furthermore, the inversion of Kt cannot be performed if the tangent stiffness matrix is singular. Nevertheless, in practice, it is very unlikely to fall directly into a critical point where the singularity of Kt occurs [3, 5]. Concerning the computational cost, there are several ways to code the algorithm, which are given next:

    The first possibility is the full Newton-Raphson scheme (fN-R) which is based on the computation of the tangent stiffness matrix 1tK at each iteration. In this case, the computational

    cost per iteration is more expensive, but results in quadratic convergence.

    The second option is the modified Newton-Raphson scheme (mN-R) which consists in computing 1tK only at the beginning of the iterations. Consequently, the quadratic convergence

    is lost and therefore more iterations are needed to achieve convergence. Nonetheless the computational cost per iteration is much less.

  • 13

    Another two options are to update 1tK periodically, like for example the KT1 method which

    consists in updating 1tK after one iteration [22], and the initial stress method that uses only the

    stiffness matrix of the very first incremental solution.

    The fN-R, mN-R, KT1 and the initial stress techniques are illustrated in figure 3.4.

    3KtKt2

    1Kt

    component

    Equilibrium path

    0

    0

    321 ddd

    Displacement d3

    2

    1

    -r

    -r-r

    d2d1

    21

    Loadlevel

    Figure 3.2 The full Newton-Raphson method

    Newton-Raphsoniterations

    dDisplacement

    levelLoad

    Bifurcation Point

    might convergeagain in this sectionof the path

    Limit Point

    cannot be followed

    3

    21

    Figure 3.3 The Load Control method [18]

  • 14

    KT1 initial stress

    mN-RfN-R

    levelLoad

    dDisplacement Displacement d

    Loadlevel

    levelLoad

    dDisplacementDisplacement d

    Loadlevel

    Figure 3.4 Different versions of the N-R method

    The full Newton-Raphson algorithm is summarized as follows (see figure 3.2 and section 5.1). For each cycle:

    1. Let (d0, 0) be the equilibrium (converged) point with i=0. 2. Choose a new load level at iteration point with. 3. Calculate the residuum vector r(di) using (3.5) and the tangent stiffness matrix Kt(di).

    4. Solve for id using (3.8). 5. Update the displacement vector di+1 through (3.9).

    6. Repeat steps 3-5 until convergence is achieved.

    Finally, besides of the forward-Euler and all the versions of the Newton-Raphson, there are several alternatives to solve iteratively equation (3.5), such as the Mid-point method, secant-related techniques, Quasi-Newton Method, etc. Some of these methods are accelerated by a partial computation of 1tK but may lead neither to a symmetric nor to a banded tangent stiffness

    matrix. A review of these methods is given in [5].

  • 15

    The Load control method has been coded, and particulars of the program including a detailed flowchart, are given in chapter 5.

    3.2 Displacement Control

    Parallel to the Load Control, which prescribes the external load level qe, the natural counterpart is to use the nodal displacement component d as an independent variable.

    In this section a review of the standard Incremental Displacement Algorithm proposed by Batoz and Dhatt [3] is given.

    First, let us assume that we have found equilibrium state of a given structure configuration. This stage correspond to an iteration i=0, i.e.

    0 = and

    0dd = . Following, instead of varying the load parameter , the qth component of d is incremented by d(q). Consequently, the updated displacement vector reads

    0dd = with

    )q(d)q(d)q(d 00 += . (3.10) Notice that d(q) is not a vector but the size (scalar) of the increment for the constrained qth component of the displacement vector d.

    An iterative scheme to compute the non-constrained displacement components of vector d and the load parameter is therefore needed. The residuum equation (3.5), corresponding to the load level , can be expanded by means of a truncated Taylor series, so that

    ii

    iii

    +=+ )()()( rrr (3.11)

    which finally yields

    eqrriiii =+ )()( . (3.12)

    Substituting (3.12) into (3.8), the iterative nodal displacement id can be expressed through the Newton change at the new unknown load level, iii +=+1 , giving

    ( ) ( ) ettt qKdrKdrKd 111 ,, +=+= iiiiiii . (3.13) Again, Kt is the tangent stiffness matrix corresponding, in a fN-R scenario, to di.

  • 16

    Two incremental displacement vectors d and td can be defined in such a way that equation (3.13) becomes

    iiiitddd += (3.14)

    with

    ii rKd t1= and ett qKd 1=i . (3.15)

    The vector d stems from the usual residuum vector r, and dt, also known as the tangential solution, from the external load vector qe which is multiplied by to obtain the actual load. Another way to find equation (3.14) will be given in the arc-length method (see equation (3.25)).

    Equation (3.15) can be expressed in other fashion, so that

    [ ] [ ]ett qrddK ii = . (3.16) Finally, the key of the method points out that the displacement of the qth component of d is constrained, such that 0d(q) = . Therefore the following condition, coming from equation (3.14), has to be satisfied

    0)q(d)q(d)q(d ==+ iiii t , (3.17) Therefore, solving for i from (3.17) gives

    )q(d)q(d

    i

    ii

    t = . (3.18)

    Finally, the displacements and the load level are updated using

    iii ddd +=+1 and iii +=+1 (3.19) respectively.

    The Displacement Control method becomes unstable after passing turning points and therefore cannot follow the equilibrium path as shown in figure 3.5. Still, in the same way as the Load Control method, the iteration process might converge later on the equilibrium path.

    The algorithm for a full Newton-Raphson scheme is summarized as follows; for each cycle:

    1. Let (d0, 0) be the equilibrium (converged) point with i=0. 2. Choose an incremental displacement component d(q) at iteration level i=0.

    3. Alter the initial displacement vector 0d such that

    )q(d)q(d)q(d 00 += 4. Calculate the residue vector ri and the tangent matrix itK .

    5. Solve for id and itd simultaneously using (3.16).

  • 17

    6. From equations (3.18) and (3.14) calculate i and id respectively. 7. Update the displacement vector and load level using (3.19)

    8. Repeat steps 4-7 until a desired accuracy or desired number of iterations are achieved.

    The flowchart of the algorithm is given in section 5.1.

    Constrained d(q)displacementcomponent

    levelLoad

    cannot be followed

    21

    Turning Point

    Limit Point

    d(q)d(q)d(q)d(q)

    might convergeagain in this sectionof the path

    Figure 3.5 The Displacement Control method

    A modified Newton-Raphson scheme (mN-R) can be used, by the computation of the tangent stiffness matrix Kt at the beginning of the displacement increment.

    As in the Load Control, the calculation of the inverse of the stiffness matrix 1tK is necessary;

    and therefore it has to remain non-singular at any solution level of di. Theoretically, if a solution corresponds to a critical or singular point, the matrix Kt will be singular. Again, neither the authors consulted [3, 5] nor in the experiments done in this work, have experienced any problem with singularities of the said matrix Kt.

    The Displacement control method has been coded, and particulars of the program including a detailed flowchart, are given in chapter 5.

  • 18

    3.3 Arc-length control

    The Load and Displacement Control methods fail to draw the complete equilibrium path in the presence of limit and turning points (see figures 3.3 and 3.5). The arc-length control method is intended to handle these critical points and draw the entire Load-displacement response diagram. The general algorithm of this approach is given in this section.

    The starting point of the arc-length control is the equilibrium equation in form of the residuum r. Recalling equation (3.5),

    0)(),( == ei qdqdr (3.20) where qi is the internal force vector of the structure which is function of the nodal displacements d, the vector qe is the external load vector and the scalar is again the load level parameter. Further to the equilibrium expression (3.20), an additional constraint is added to complete the set of equations.

    This constraint equation is the arc length s, defined by:

    = dss , (3.21) with

    ee qqddTTds 22ddd += . (3.22)

    The arc-length method is then aimed to find the intersection of a given arc length s with the equilibrium equation, such that

    0)())(()( == ei qdqr sss . (3.23) To solve (3.23), a predictor-corrector scheme is used, as it will be seen next. Initially, the differential form of (3.22) can be replaced with an incremental form, such that

    ( ) ( ) 0222 =+= la TiiTii ee qqdd , (3.24) where l is the fixed radius of the desired intersection with the equilibrium path, also known as incremental length (see figure 3.7). Linked to the same figure, the vector d and the scalar are incrementals and are related back to the last converged equilibrium state. Meanwhile d and are the iterative displacement vector and load level respectively. These are associated to the previous iteration step that, in most cases, is not an equilibrium state.

    In addition, the scaling parameter is required in equation (3.24) to combine different dimensions for the load and displacement terms. Further details will be given in section 3.3.4.

    The main essence of the arc-length method is that the load level becomes now a parameter. Therefore, the total unknowns are n+1; n from the displacement variables of vector d and the one of the load parameter . To solve for these, equation (3.20) gives a total of n equilibrium equations, while equation (3.24) gives one constraint equation.

  • 19

    These n+1 equations can be solved by iteratively applying the Newton-Raphson method to (3.20) and (3.24). This idea was first proposed by Riks (1972; 1979) and Wempner (1979), though with a different constraint equation.

    A truncated Taylor series of (3.20) and (3.24) respectively yields

    01 =+=+

    +=+ iiiiiii et qdKrrd

    drrr (3.25)

    and

    ( ) 022 21 =++=++=+ ee qqdddd TiiiTiiiiii aaaaa , (3.26) where Kt is again the tangent stiffness matrix. The other terms have been already defined. Equations (3.25) and (3.26) can be combined in a different fashion

    ( )

    =

    i

    i

    TiTit

    i

    i

    ar

    qqdqKd

    ee

    e1

    222

    . (3.27)

    At this point, there are different ways to obtain the solution of (3.27). Two different possibilities are given next.

    3.3.1 Linearized arc-length method

    The simplest way is to directly solve (3.27) [19]. One may first find an expression for d and then replace it into . Consequently, from equation (3.25), d reads,

    ett qKrKd11 += iii . (3.28)

    Expression (3.28) is exactly as equation (3.14) for displacement control. Therefore by means of the two iterative displacement vectors d and td already defined in (3.17), equation (3.28) can be re-expressed as

    iiiitddd += , (3.29)

    with

    ii rKd t1= and ei qKd tt 1= . (3.30)

    Insertion of (3.29) into (3.26) yields

    ( )2

    2)(2 2i

    TiiiiiTi a=++ eet qqddd (3.31)

    This in turn, solving for the iterative load level yields ( )( ) eet qqdd

    ddTiiTi

    iTiii a

    2

    )2(

    += . (3.32)

  • 20

    After obtaining d and , the new incremental displacements and load level are iii ddd += +1 (3.33)

    and

    iii += +1 . (3.34)

    0d

    achieved)(convergence

    =l=l

    =l

    component0

    Displacement d

    d

    Loadlevel

    0

    d d1 2

    ddd

    1

    2

    3

    dd

    1

    122 3

    (d , )1 1(d , )22

    (d , )00

    (d , )3 3

    Figure 3.6 The linearized arc-length method

    The algorithm for the linearized version of the arc-length method is summarized as follows in relation to figure 3.6. For each cycle:

    1. Let (d0, 0) be the equilibrium (converged) point with i=0. 2. Determine 0td using equation (3.30). 3. Compute an incremental predictor step (d1, 1) (see section 3.3.3). 4. Calculate the displacement vector di and load level i through

    ii ddd += 0 and ii += 0 . (3.35) This leads to point (di, i). 5. Calculate ai, di and i using equations (3.24), (3.30), (3.32) and (3.29).

  • 21

    6. Update the incremental displacements di+1 and load level i+1 by means of equations (3.33) and (3.34).

    7. Repeat steps 4-6 until convergence is achieved. The constraint equation (3.24) should be also satisfied, i.e. 0a . The linearized arc-length method has been coded, and particulars of the program including a detailed flowchart, are given in chapter 5. Details on the scaling parameter are presented in section 3.3.4.

    3.3.2 Spherical arc-length method

    Another alternative to solve equation (3.27) is given by Crisfield [4] and it is called the spherical arc-length method.

    Here, the constraint equation (3.24) for a, is satisfied through the entire set of iterations and not only when convergence is achieved, as in the linearized arc-length. To this end, equation (3.29) is inserted into (3.33) yielding

    iiiiitdddd ++= +1 (3.36)

    where is the only unknown. The constraint equation (3.24) can be re-expressed as ( ) ( ) ( ) ( ) 22211122 lTiiTiTiiTi =+=+ +++ eeee qqddqqdd , (3.37)

    that simply states that the radius of the desired intersection is always constant during the iterative process (see figure 3.7), and therefore ai=0.

    Substitution of (3.36) into (3.37) leads to the scalar quadratic equation:

    ( ) 03221 =++ ccc ii (3.38) where

    ( ) eett qqdd TiTic 21 += (3.39a) ( ) eet qqddd TiiiTic 22 2)(2 ++= (3.39b)

    ( ) ee qqdddd TiTiiii lc 2223 ))(( +++= , (3.39c) After solving (3.38) for , equation (3.36) can be fully computed. Finally, with the aid of (3.34), the complete iteration is defined.

    The main disadvantage of the spherical arc-length method, compared to the Linearized version, is the extra computational effort to solve the quadratic equation, and then the choice of the proper root that yields from equation (3.38).

  • 22

    0d

    33(d , )

    0 0(d , )

    2 2(d , )11(d , )

    32

    21

    1

    dd

    l

    3

    2

    1

    dd

    d

    21 dd

    0

    levelLoad

    d

    dDisplacement

    0

    component

    Figure 3.7 The spherical arc-length method

    There are three possible results stemming from equation (3.38). The first one is to obtain two real solutions 1 and 2. The second one is that c1 is zero or very small, so only one real solution lin is obtained. And the last one is that no real solutions are found from (3.38). To select the appropriate root, Crisfield [5] has addressed the following procedure:

    Two real solutions If two real roots are obtained from equation (3.38), the correct solution is selected by computing and comparing both solutions, 11

    + id (that corresponds to 1) and 12+ id (that corresponds to 2). Then, the proper root would lay closest to the old incremental direction di. This should prevent the solution from doubling back on its tracks. This comparison can be made by finding the solution with the minimum angle between di+1 and di and hence the maximum cosine of the angle by the use of

    ( ) ( ) ( ) ( )222

    1

    coslll

    iTiiiTiiTi

    +

    +==

    +tddddddd . (3.40)

  • 23

    To simplify the coding, besides equation (3.39), two new scalars c4 and c5 are introduced in (3.40), such that

    254cos

    lcc i

    += (3.41)

    with

    ( ) ( ) iTiiTic dddd += 4 (3.42) and

    ( ) iTic tdd =5 . (3.43) Briefly, if 1 has to be used, then

    ii cccc 254154 +>+ . (3.44)

    One real solution Only one real solution occur when c1 is very small or even zero. In this case, the to be used is simply

    2

    3lin c

    ci = . (3.45)

    No real solutions In the numerical exercises done in this work, the presence of no real solutions may occur in the neighbourhood of a bifurcation point when the incremental length l of the arc-length method is reasonable large. A proposed remedy [5] is to reduce the length of l by means of the so-called automatic increment cutting, which can be introduced through the simple algorithm

    ii ll = + 1 , (3.46) with being a scalar such that

    5.01.0 It is important when implementing the previous algorithm, to specify a lower bottom for l, preventing it to reach zero values.

    The automatic increment cutting can also be adopted in other situations [5] such as the non convergence of the scheme after a certain number of iterations (see section 3.3.5).

    A description of the progress for the spherical arc-length control method is given as follows in relation to figure 3.7. For each cycle:

  • 24

    1. Let (d0, 0) be the equilibrium (converged) point with i=0. 2. Determine 0td using equation (3.30). 3. Compute an incremental predictor step (d1, 1) (see section 3.3.3). 4. Calculate the displacement vector di and load level i through equation (3.35). This leads to point (di, i). 5. Calculate di and i using equations (3.30), (3.39) and (3.29). The constraint equation (3.24) is satisfied in every iteration.

    6. Update the incremental displacements di+1 and load level i+1 by means of equations (3.33) and (3.34).

    7. Repeat steps 4-6 until convergence is achieved.

    When is set to zero (=0), the method is called cylindrical arc-length method. This version has been coded, and particulars of the program are given in chapter 5. Details on the scaling parameter are presented in section 3.3.4.

    3.3.3 The predictor solution

    Until now, details on the corrector steps have been given. However, to complete the set of equations, the predictor step has to be discussed.

    The predictor step will indicate the direction of the first attend to find the equilibrium path, and therefore its importance in the whole iterative process.

    The most popular idea is to use the forward-Euler scheme to obtain an expression for the predictor. Recalling from (3.4),

    et qKd = 11 , (3.47) where Kt is the tangent stiffness matrix at the beginning of the increment. The superscript of the incremental displacement vector d stands for the number of the iteration of the predictor step that is always i=1, and therefore the convention adopted.

    The incremental external force qe of (3.47) can be expressed as ee qq

    1= (3.48) Inserting (3.48) into (3.47) yields,

    et qKd111 = . (3.49)

    Recalling the definition of dt of equation (3.30), (3.49) can be re-expressed as 011tdd = . (3.50)

  • 25

    The previous equation has to be constrained by the incremental length l. Hence substituting (3.50) into (3.24), and solving for , finally yields

    ( ) eett qqdd TTl

    200

    1

    += . (3.51)

    Because of the plus and minus sign in (3.51), two different predictors are possible. There are several criterions to predict the continuation direction of the equilibrium path, i.e., to decide the sign of 1. This may seem a trivial choice, but lays in the centre of the method and an erroneous selection would lead to unwanted results, such as for example doubling back on the equilibrium path (see sections 6.2 and 6.3).

    The three most popular alternatives to determine if 1 is positive or negative are given in the next sections:

    3.3.3.1 The sign of the current tangent stiffness determinant. Follow the sign of det(Kt):

    ( )( )tKdetsign)(sign 1 = , (3.52) where Kt is the tangent stiffness matrix at the beginning of the increment, i.e. when 1 is computed. This is the most popular and widely used criterion, which was originally introduced by Crisfield in 1980 [4], and works well in the presence of limit points. However, in the presence of bifurcations, it fails in most cases.

    As it will be seen in chapter 6, through a simple example, the sign of the det(Kt) oscillates from negative to positive around the bifurcation point, and therefore is unable to follow the equilibrium path [5, 8].

    3.3.3.2 Incremental work. Follow the sign of the predictor work increment:

    ( )( )et qd T01 sign)(sign = , (3.53) Where 0td is the current tangential solution defined in equation (3.30) at the beginning of the incremental and qe is the external load vector. According to Souza and Feng [20], this criterion is insensitive to bifurcations and can continue to trace an equilibrium path after passing a bifurcation point. However, this criterion proves ineffective in the descending branch of the load-deflection curve in snap-back problems, where the predicted positive slope will provoke a back tracing load increase. In other words, the scheme doubles back on its track after passing a turning point.

  • 26

    Some authors have proposed switching between the two previous criterions to overcome their ill behaviour at the presence of limit and turning points. However, this represents an extra computational cost.

    3.3.3.3 The sign of the internal product of the displacements. Follow the displacements internal product:

    ( )( )001 sign)(sign tdd T= , (3.54) where d0 is the previous converged incremental displacement and 0td , the current tangential solution defined in (3.30). Introduced by Feng et al in 1996 [7], this criterion is insensitive to limit points, turning points and bifurcation points. Its key point is the fact that d0 carries with it information about the history of the current equilibrium path.

    Its only limitation is the need for a sufficiently small d0. However, Feng has claimed that this limitation is already imposed by the Newton-Raphson algorithm, and that in practice, the required size of d0 for an accurate direction prediction would always be greater than the necessary convergence radius of the N-R scheme. Nevertheless, in Fengs work, there is no indication for the maximum size of d0 required for the criterion to work properly. Furthermore, there is no information of the very first incremental d0 and therefore the sign of the very first predictor step cant be determined by (3.54). A solution would involve the use of the det(Kt) principle and then switch to the proposed criterion. However, it is expected that if the early structure is in stable configuration, the very first predictor load level 1 will be positive.

    In chapter 6 numerical experiments with the previous criterions have been carried out with the purpose of illustrating their behaviour in the presence of limit points and bifurcations.

    3.3.4 The scaling parameter The constraint equation (3.24), base of the arc-length method, reads

    ( ) ( ) 0222 =+= la TiiTii ee qqdd , (3.55) where d is the incremental displacement vector, the incremental load level, l incremental length and qe the external load vector. However, this section is focused on the scaling parameter . The parameter determines the influence of Load and Displacement control in the behaviour of the arc-length method. So, for example if

    0 : Displacement Control-like conduct or

  • 27

    : Load Control-like perform. Moreover, it can be said [18] that the Load and Displacement control methods are particular cases of the arc-length method (see figure 3.8).

    The main purpose of in equation (3.55) is to give scale between the load and displacement terms, when for example, using great force values for small displacement resultants.

    The last is very likely to happen in analysis using real values, when the stiffness of the structure elements are high and therefore, large forces are required to obtain small displacements (e.g. 1e10 Newton to get 1mm displacement). In this case, if =1, the force term ee qqT22 in the constraint equation (3.55) would tend to infinite if compared to the displacement term dd T . Therefore, the arc-length method would behave similarly to the Load Control and loosing ability to overcome limit points.

    However, in practice, it seems that the opposite, when 022 ee qqT , has little effect, and the arc-length method still is capable to pass the bifurcation, limit and turning points. As a result many authors [5, 16, 17] have advocated the use of =0. An example of this conduct will be given in section 6.6.

    The issue of defining a proper scaling between displacement and load components has been already addressed by authors like Al-Rasby [2], and Schweiyerhof and Wriggers [19].

    21

    1

    2

    0dd0

    0

    0 Arc-lengthControl

    Load Control

    DisplacementControl

    Component

    l

    levelLoad

    dDisplacement

    Figure 3.8 Different path following techniques

    3.3.5 Automatic step sizing

    The problem of choosing a proper size for the incremental length l has not been yet addressed. There is not a general rule to define an optimal l, which actually depends in many factors such as the degree of nonlinearity of the curve and the position of the bifurcation and limit points. As a first attempt one may use a trial and error process.

  • 28

    Another option is to use procedures for calculating a changing increment size (or variable l ) during the incremental process.

    The most popular algorithm to obtain automatically a variable l is to measure the nonlinearity of the current step by the number of iterations needed to converge, and then adjust the next incremental size. This can be done through the following equation

    n

    o

    don I

    Ill

    = , (3.56)

    where ol is the old increment factor for which oI iterations were required and Id is the desired number of iterations decided by the user. Ramm [17, 18] suggested that the parameter n should be set to 0.5 to avoid rapid fluctuations of l. However, in this algorithm, the very first incremental length still has to be defined by the user. Several solutions exist. Two of them are to apply a preliminary load-controlled step and then from the output l a suitable starting value can be estimated, or alternatively, to apply standard load (or displacement) control for the early increments and switch to arc-length control once a limit point is approached [5]. For the programs coded in this work, when working with fixed or variable l, the constant value or initial guess for the incremental length have to be given by the user.

    As a simple general restriction for the maximum size of l was given by Kondoh and Atluri [10] when analysing space structures; the incremental length should not be greater than the step required to initiate local buckling. Unfortunately, this simple rule is not convenient if a secondary path is to be followed, as it will be shown in chapter 6.

    To complement the automatic step sizing, the automatic increment cutting can also be adopted in cases where the corrector does not converge after a certain amount of iterations, as discussed at the end of section 3.3.2. In this case, equation (3.46) reduces the incremental length l, and the iterations start all over again from the last converged increment.

    In both cases, the automatic step sizing and the increment cutting, it is important to provide a maximum and a minimum incremental length to keep it bounded.

    A similar idea for the Load Control method of section 3.1 can be deduced. This would define a variable load level, such that

    n

    o

    don I

    I

    = . (3.57)

    As in (3.55), this technique leads to the provision of small load increments when the response is most non-linear and large increments when the response is more linear.

    In this work the automatic step sizing and the automatic increment cutting have been implemented and coded for the arc-length control method.

  • 29

    4 The truss element

    In this chapter, the governing equations of a two-dimensional truss element will be derived with the aid of the Green-Lagrange strain measure. The last is appropriate for truss structures where large displacements but moderate strains occur. In addition, the deformation process will be related back to the undeformed configuration, resulting in the so-called total Lagrangian formulae. These equations can easily be extended for 3D space trusses.

    A truss element is defined as a two-force member that only supports axial loads and does not undergo bending deformation. Although in real life all type of structural shapes are capable of carrying bending loads, trusses are used to simulate slender members where their lengths are much larger than their cross-section.

    The characteristics of a truss element can be summarized as follows [1]:

    - Truss is a slender member (length is much larger than the cross-section).

    - It is a two-force member i.e. it can only support an axial load and cannot support a bending load. Therefore, in a truss structure, the loads can only be applied to the nodes.

    - Members are joined by pins (no translation at the constrained node, but free to rotate in any direction).

    - The cross-sectional dimensions and elastic properties of each member are constant along its length.

    - The element may interconnect in a 2-D or 3-D configuration in space.

    It is clear that the plane truss element has four degrees of freedom, two at each node. Figure 4.1 shows a plane truss element oriented in an arbitrary angle b with respect to the horizontal axis X1 and its corresponding degrees of freedom.

    d1

    2d

    1d

    d2=0

    =1

    =-12

    1

    X2

    1X

    Figure 4.1. Degrees of freedom of a truss element

  • 30

    4.1 Geometric mapping

    Figure 4.2 shows the deformation process of the truss element AB. The vector xo indicates the position of point Po laying on the element in the initial configuration. As the deformation of element AB takes place, the point Po moves to Pn. The new position vector xn of point Pn can be defined as:

    uxx on += (4.1) with

    2

    1

    =

    xx

    ox and

    =

    2

    1

    uu

    u

    where u is the displacement vector of point P. The subscript indicates the component direction.

    211

    1 dd

    22

    12d

    d

    X1

    2X

    2x1

    2x2 o

    o

    n

    n

    xn

    ox

    u

    Pn

    oP

    =1

    =0

    =-1

    2x11

    B

    A

    B

    1

    2

    2

    1 A

    x1

    Figure 4.2. Deformation of general truss element

    To obtain the spatial discretization of the truss element, the continuous functions xo and u have to be substituted by an approximation depending on discrete nodal displacements d.

    With the aid of simple linear shape functions, involving the local non-dimensional coordinate , the discretized geometry and displacement fields read:

  • 31

    geometry: The position vector xo in the initial configuration of any point inside a two-dimensional, two nodes truss element with nodal coordinates ),( 12

    11 xx for node 1 and ),(

    22

    21 xx for node 2, and local

    non-dimensional coordinate is given by (see figure 4.2):

    ( ) ( )( ) ( )

    +

    +=

    =

    22

    21

    12

    11

    21

    21

    21

    21

    2

    1

    10100101

    xxxx

    xx

    o

    x (4.2)

    or

    xNx =o displacement:

    The displacement vector u of any point inside a two-dimensional, two nodes truss element with nodal displacements ),( 12

    11 dd for node 1 and ),(

    22

    21 dd for node 2, and local non-dimensional

    coordinate is given by:

    ( ) ( )( ) ( )

    +

    +=

    =

    22

    21

    12

    11

    21

    21

    21

    21

    2

    1

    10100101

    dddd

    uu

    u (4.3)

    or Ndu =

    For the previous two equations and the following ones, the subscript indicates the component direction and the superscript the node number.

    4.2 Kinematic equations

    The two-dimensional Green-Lagrange strain can be expressed as

    2

    22

    GL d2dd

    o

    on

    xxx

    = (4.4)

    The incremental vector dxo along the initial configuration is defined as

    dddd ooxx = . (4.5)

    The length of dxo is given by

    dddd

    dddd

    21

    oo

    To

    oox =

    == xxx , (4.6)

  • 32

    where 2o is the initial length of the truss. In similar way, an incremental vector along the deformed configuration is given by the aid of (4.1), so that

    dd)d(d uxx += on , (4.7)

    In a similar way as in (4.6), the length of dxn is given by

    dddd

    dd

    dd

    dd2

    dd

    dddd

    21

    n

    TToo

    To

    nnx =

    ++== uuuxxxx , (4.8)

    where 2n is the length of the truss in the deformed stage. Insertion of (4.6) and (4.8) into (4.4) yields

    dd

    dd

    21

    dd

    dd1

    22uuux T

    o

    To

    oGL += (4.9)

    Using the discretized forms for the geometry (4.2) and displacement (4.3) fields, equation (4.9) can be transformed into an expression that contains only nodal values.

    The derivatives in (4.9) are equal to

    xNx ,dd =o (4.10)

    and

    dNu ,dd = . (4.11)

    Substitution of (4.10) and (4.11) into (4.9) yields

    dNNddNNx 22 ,,21,,1 TT

    o

    TT

    oGL += (4.12)

    To simplify equation (4.12), one may define the symmetric matrix A and the vectors b1 and b2 as

    =

    ==

    101001011010

    0101

    41

    0000

    00

    00

    ,,21

    21

    21

    21

    21

    21

    21

    21

    NNAT , (4.13)

    [ ]T

    oo

    T

    o

    T

    xxxx

    xxxx

    xxxx

    =

    ==)()(4

    1

    101001011010

    0101

    411

    22

    12

    21

    11

    22

    12

    21

    11

    22

    21

    12

    11221 Axb (4.14)

  • 33

    and

    [ ]T

    oo

    T

    o

    T

    dddd

    dddd

    dddd

    =

    ==)()(4

    1

    101001011010

    010111

    22

    12

    21

    11

    22

    12

    21

    11

    22

    21

    12

    11222 Adb (4.15)

    respectively. Then equation (4.12) becomes

    dbdb TTGL 21 21+= . (4.16)

    Equation (4.16) includes only discrete nodal values. Notice that vector b1 does not depend on the nodal displacements d.

    4.3 Internal force vector

    For the calculation of the internal force vector qi of the truss element (section 4.3), an expression for the virtual strain GL is also needed. Beginning from (4.9), the incremental Green-Lagrange strain GL caused by an incremental displacement u is given by

    dd

    dd

    21

    dd

    dd1

    dd

    dd1

    222uuuuux ++=

    T

    o

    T

    o

    To

    oGL . (4.17)

    Again, the derivative of u with respect to has to be calculated, yielding

    dNu = ,dd . (4.18)

    Substitution of (4.10), (4.11) and (4.18) into (4.17) yields an expression for GL containing only discrete nodal values

    dNNddNNddNNx ++= 22 ,,21,,1,,1 TT

    o

    TT

    o

    TT

    oGL . (4.19)

    Equation (4.19) can be re-arranged by the use of matrix A (4.13) and vectors b1 (4.14) and b2 (4.15) as

    dAddbdb ++= To

    TTGL 2

    121 . (4.20)

    For virtual displacements, with d instead of d, the last term of (4.20) becomes negligible, yielding

    dbdb TTGL 21 += . (4.21) To obtain an expression for the internal force, the Principle of Virtual Work can be used.

  • 34

    The general expression for the PVW in matrix notation with displacements as primary variables is

    += ddd2 tubu TTPKTGL . (4.22)

    As expected, the PVW has been given by means of strain and stress measures energetically conjugate, namely the Green-Lagrange virtual strain GL and the corresponding 2nd Piola Kirchhoff stress 2PK .

    Equation (4.22) is related to the internal and external virtual work such that

    444 3444 2144 344 21WextintW

    2 ddd

    += tubu TTPKTGL (4.23)

    Consequently, the structure internal nodal forces vector qi, weighted in average sense, in equilibrium with a set of stresses , that are related to the nodal displacements d, is

    =e e V

    PKGLT V d2 iqd (4.24)

    where e

    indicates a summation over the structure trusses.

    Dropping the summation sing and inserting (4.21) into (4.24) gives the discretized form

    +=V

    PKTT V d)( 221 bbdqd i . (4.25)

    Finally, equation (4.25) has to stand for an arbitrary variation d. Therefore, for a constant cross-section Ao, the internal forces vector qi yields

    +=+=+= 11212212212 )()(d)( dAdxAV PKoooPKoV

    PK bbbbbbqi

    leading to

    )(2 212 bbqi += PKoo A . (4.26) Assuming a linear constitutive law

    GLPK E =2 (4.27) and solving GL from (4.16), the internal forces qi can easily be calculated. In this work, no material nonlinearities are taken into account.

  • 35

    4.4 Tangent stiffness matrix

    To derive the expression of the tangent stiffness matrix Kt to be used in the path following techniques of chapter 3, it is necessary to recall the definition of residuum vector r as in equation (3.20), such that

    0)(),( == ei qdqdr , (4.28) where qi and qe are the internal and external force vectors respectively.

    The tangent stiffness matrix in the case of an external load qe, which is not dependant of the displacement d, is given by

    dq

    drK it

    == (4.29)

    Insertion of (4.26) into (4.29) gives

    dbb

    dbbKt

    +++= )(2)(2 212221 PKooPKoo AA (4.30)

    The derivative of the stress PK2 with respect to the nodal displacements d is computed from equations (4.27) and (4.16), yielding

    TGLPK EE )( 212 bbdd+=

    = (4.31)

    Notice that vector b1 does not depend on the nodal displacement vector d; therefore from equation (4.15) the last derivative of (4.30) gives

    Ad

    bb2

    21 1)(o=

    + (4.32)

    where matrix A is defined in equation (4.13).

    Finally, the tangent stiffness matrix reads

    AbbKt 222 PKo

    o

    Too AAE += (4.33)

    where

    21 bbb += . (4.34) Some authors [5, 18] have divided the expanded version of equation (4.33) such that

    ( )4 34 2144444444 344444444 2144 344 21

    g

    ueK

    KK

    t AbbbbbbbbK 22212211122222 PKo

    o

    Too

    Too

    Too

    Too AAEAEAEAE ++++= (4.35)

    or

    guet KKKK ++= . (4.36)

  • 36

    The first term, Ke, is the standard linear stiffness matrix. Ku is the initial displacement (or slope) matrix and Kg is the geometric or initial stress matrix.

    From equation (4.35) can be noticed that Ke is only a function of the initial geometry and therefore will be constant during the whole iterative process. However matrices Ku and Kg will have to be calculated continuously during the procedure. The frequency of computation of Ku and Kg will depend on whether full or modified Newton-Raphson method is adopted.

    In the programming of the path following techniques, equation (4.33) will be used instead of (4.35), simply because the computational cost to compute Ku and Kg seems greater than just calculate Kt from (4.33).

    In the end, even though the previous formulae are for two dimensional trusses, these equations are easily extended to three dimensions.

  • 37

    5 Implementation of a simple 2-d truss fine element program in MATLAB

    The path following techniques presented in chapter 3 were implemented in a computer program using MATLAB. In this chapter details on the operation will be given. All the variable names in the coding are similar to the ones used in the previous chapters and it should not be a problem to identify each of them.

    The main programs are four; loadcontrol.m for the Load control method, dispcontrol.m for the Displacement control technique and linarclength.m and cylinarclength.m for linearized and cylindrical Arc-length methods respectively. The previous routines are presented in section 5.2.

    To calculate the internal characteristics of the structure, several subroutines were introduced into the main programs, whose description is given in section 5.3.

    All the input data, such as geometry, truss properties, boundary conditions, external forces, etc, are introduced into the main programs by means of text files, whose contents are described in section 5.1.

    But first, because an iterative procedure is being adopted, a convergence criterion must be provided, a problem which was not addressed in previous chapters.

    For all the path following techniques, the simple force criterion was used, such that

  • 38

    o pr: controls the criterion to be used for determining the sign of the predictor incremental load level l1. Set pr=1 for equation (3.53), pr=2 for (3.54) and pr=3 for (3.55). Applies only for the Arc-length control.

    The file ninc.txt contains the variable ninc, which controls the number of total increments , d(q) and l for the Load, Displacement and Arc-length control methods respectively.

    The file 'disp_control.txt' applies only for the Displacement control method and contains the following input variables:

    o ddq: size for incremental displacement d(q) o q: number of the degree of freedom to be controlled by displacement control.

    The file incremental_size.txt applies only for the Arc-length control method and includes the following input variables:

    o DL: size of the fixed incremental length l in equations (3.51) and (3.24). However, the size of l will change if convergence is not achieved after the maximum number of iterations defined (maxit), by means of the Automatic increment cutting scheme.

    o varDL: set to varDL=1 to use a variable incremental length l via the Automatic step sizing scheme of section 3.3.5. For the very first incremental length, the value of the input fixed DL will be used.

    o Nite: number of desired iterations Id to achieve convergence, for the use in equation (3.58). Applies only when varDL=1.

    o DLmin: minimum value for the incremental length l. o DLmax: maximum value for the incremental length l. The previous two

    variables, DLmin and Dmax, keep the size of l bounded when the Automatic increment cutting and the Automatic step sizing schemes apply. Therefore they have to be defined whether a variable or fixed l is used.

    o b: value of in equation (3.46) for the Automatic increment cutting scheme. Typical values for are between 0.1 and 0.5.

    Using the text file gcoord.txt, the nodal coordinates of the structure are introduced into the program. The format of the input must be according to figure 5.1.

    Using the text file nodes.txt the nodes associated with each element are introduced into the program. The input format must be according to figure 5.2.

    The file elprop.txt contains the Young's modulus E and the initial cross section A0 for each element. See figure 5.3 for the input format.

  • 39

    The text file applied_constraints.txt includes the number and values of the constrained degrees of freedom. The first column corresponds to vector bcdof, which contains dofs associated with boundary conditions, while the second column to vector bcval, which has boundary condition values associated with the dofs in bcdof.

    The file force.txt contains the systems (global) external force vector qe. This vector should contain as many components as degrees of freedom of the structure.

    Finally, the file dgr.txt contains two degrees of freedom to be represented in the two Load-Displacement response diagrams created by the algorithm. In this work, the coded MATLAB programs will open a window containing four graphics; two of them with the initial and final configuration of the structure, and the rest two graphics, two Load-Displacement response diagrams for two dofs defined by the user via this text file.

    dcbayx

    2 node1 node

    Figure 5.1 Input format for gcoord.txt file

    dcba

    2element 1element

    2 node elem.1 node elem.

    Figure 5.2 Input format for nodes.txt file

    0

    0

    2element 1element

    section crossmodulus sYoung'

    AEAE

    Figure 5.3 Input format for elprop.txt file

    5.2 MATLAB main programs

    In the next sections, the MATLAB main program modules for the path following techniques of chapter 3 are presented.

  • 40

    5.2.1 Flowchart and MATLAB routine for the Load control method.

    The main program module loadcontrol.m is given in section 5.2.1.1 and the corresponding flowchart in figure 5.4.

    Regarding the implemented routine, the following particulars must be considered:

    In the implemented Load control method algorithm, the size of the load increment is not given by the user, but its calculated from the total number of increments ninc, such that,

    ninc1= . (5.2)

    Therefore, the program will always stop when =1. In the Load-Displacement response diagram drawn by the program, after passing a snap-

    through, the next calculated points might not correspond to an equilibrium state.

    The reason is that after such process, some points would be saved after the maximum number of iterations maxit is achieved, and therefore, they are not related to a converged condition. This behaviour arises from the way the program was coded and not from the Load control method itself.

    Nevertheless, as shown in section 6, usually after a few new load increments the iteration scheme finds again the equilibrium path.

    The subroutines greens_strain.m, PlaneTrussAssemble.m, qassemble.m, feaply2.m and feeldof.m are given in section 5.3.

    5.2.1.1 MATLAB routine loadcontrol.m %--------------------------- % control input data %--------------------------- clear [nel nnel ndof nnode e maxit pr] = textread('general_input_data.txt', '%f %f %f %f %f %f %f','headerlines',1); sdof=nnode*ndof; %----------------------------------- % incremental displacement control %----------------------------------- ninc=load('ninc.txt'); %--------------------------- % nodal coordinates %--------------------------- gcoord=load('gcoord.txt'); %------------------------------------------ % material and geometric properties %------------------------------------------ elprop=load('elprop.txt');

  • 41

    %----------------------------- % nodal connectivity %----------------------------- nodes=load('nodes.txt'); %------------------------------------------------------------------ % applied force, constraints and degrees of freedom to be plotted %------------------------------------------------------------------ [bcdof bcval]=textread('applied_constraints.txt','%f %f','headerlines',1); qe=load('force.txt'); dgr=load('dgr.txt'); %---------------------------- % initialization to zero %---------------------------- d=zeros(sdof,1); l=0; %----------------------------- % applied nodal force %----------------------------- for n=1:ninc l=l+1/ninc; iterations = 0; while iterations

  • 42

    end [kk,qe]=feaplyc2(kk,qe,bcdof,bcval); % apply the boundary conditions %------------------------------------------- % solve the residuum %------------------------------------------- r=qii-l*qe; if norm(r)

  • 43

    nd(1)=nodes(iel,1); nd(2)=nodes(iel,2); index=feeldof(nd,nnel,ndof); dx1(iel)=d(index(1)); dy1(iel)=d(index(2)); dx2(iel)=d(index(3)); dy2(iel)=d(index(4)); x1(iel)=gcoord(nd(1),1)+dx1(iel); y1(iel)=gcoord(nd(1),2)+dy1(iel); x2(iel)=gcoord(nd(2),1)+dx2(iel); y2(iel)=gcoord(nd(2),2)+dy2(iel); xpd=[x1(iel);x2(iel)]; ypd=[y1(iel);y2(iel)]; h=plot(xpd,ypd); set(h,'linewidth',2) end hold off xlabel('x axis') ylabel('y axis') title('Deformed system configuration') grid end

    5.2.2 Flowchart and MATLAB routine for the Displacement control method.

    The main program module dispcontrol.m is given in section 5.2.2.1 and the corresponding flowchart in figure 5.5.

    Regarding the implemented routine, the following particulars must be considered:

    In the implemented Displacement control method algorithm, the size of the displacement increment for the qth constrained component, d(q), and the total number of increments are given by the user. Therefore, the program will stop whether >1 or the number of increments is complete.

    In the Load-Displacement response diagram drawn by the program, after passing a snap-back, the next calculated points might not correspond to an equilibrium state.

    The reason is that after such process, some points would be saved after the maximum number of iterations maxit is achieved, and therefore, they are not related to a converged condition. This behaviour arises from the way the program was coded and not from the Displacement control method itself.

    Nevertheless, as shown in section 6, usually after a few new displacement increments the iteration scheme finds again the equilibrium path.

    The subroutines greens_strain.m, PlaneTrussAssemble.m, qassemble.m, feaply2.m and feeldof.m are given in section 5.3.

  • 44

    yes

    noend of increments?

    fff(n+1)=

    create vectors containing disp. values of the two chosen degrees of freedom and the load level dispp1(n+1)=d(dgr(1)) dispp2(n+1)=d(dgr(2))

    print original and final configuration

    print d(dgr2)-

    print d(dgr1)-

    computation r r=qi-qe

    no

    yes

    no

    yes

    stop

    d=d+d

    -1d=-Kt r

    update d

    computation d

    norm(r)maxit?

    new load level=+

    loop through the increments n=1:ninc iterations = 0

    =0d =0,ninc

    1=read "ninc" to obtain , such that

    call general input data to obtain the geometry, properties, external load qe, number of load increments "ninc" and boundary conditions. (see section 5.2.1)

    Figure 5.4 Load control method flowchart

  • 45

    stop

    yes

    print d(dgr1)- print d(dgr2)-

    print original and final configuration

    dispp2(n+1)=d(dgr(2)) dispp1(n+1)=d(dgr(1))

    create vectors containing disp. values of the two chosen degrees of freedom and the load level

    fff(n+1)=

    end of increments?

    no

    yes

    =+

    =-computation d

    dt

    -1dt=Kt qe

    d(q)=d(q)+d(q) read "ddq" and "q" to modify d

    call general input data to obtain the geometry, properties, external load qe, value of the incremental disp. dq and boundary conditions. (see section 5.2.1)

    d =0, =0

    loop through the increments n=1:ninc iterations = 0

    iterations>maxit?

    call "greens_strain.m" which gives Kt and qi for the truss el.

    loop through the structure elements iel=1:nel

    call "PlaneTrussAssemble.m" which assemble the structural stiff. matrixcall "qassemble.m" which assemble the structure internal force vector

    call "feaplyc2.m" which applies the boundary conditions to the structural stiff. matrix and the structure internal force vector

    r=qi-qe

    check convergence

    norm(r)

  • 46

    5.2.2.1 MATLAB routine dispcontrol.m %--------------------------- % control input data %--------------------------- clear [nel nnel ndof nnode e maxit pr] = textread('general_input_data.txt', '%f %f %f %f %f %f %f','headerlines',1); sdof=nnode*ndof; %----------------------------------- % incremental displacement control %----------------------------------- [ddq q] = textread('disp_control.txt', '%f %f','headerlines',1); ninc=load('ninc.txt'); %--------------------------- % nodal coordinates %--------------------------- gcoord=load('gcoord.txt'); %------------------------------------------ % material and geometric properties %------------------------------------------ elprop=load('elprop.txt'); %----------------------------- % nodal connectivity %----------------------------- nodes=load('nodes.txt'); %--------------------------------------------------------------------------------% applied force, constraints, incremental displacement vector and degrees of % freedom to be plotted %-------------------------------------------------------------------------------- [bcdof bcval]=textread('applied_constraints.txt','%f %f','headerlines',1); qe=load('force.txt'); dgr=load('dgr.txt'); %---------------------------- % initialization to zero %---------------------------- d=zeros(sdof,1); l=0; %------------------------------ % applied nodal displacements %------------------------------ for n=1:ninc d(q)=d(q)+ddq; iterations