• No results found

5.2.1 Newton-Raphson Method

Newton-Raphson method is an iterative method for finding the roots of equations. Reader may be familiar with this for the solution of the non-linear equation with one unknown, f(x) = 0, as:

( ( ) )

i i

i

f

(

x x

xixxii =∆xx=− (132)

This process is illustrated schematically in the figure below (Figure 21).

X

i+1 Xi

f(x)

( ( ))i

f(i

f(xi)

Figure 21.Newton-Raphson Method

Commonly outlined for one unknown parameter, it can be extended by analogy to the solution of nonlinear FEA equations with many unknowns as:

[ ] [ ] [ ] [ ]

[ ] [ ( ) ]

i i

i

i

[[

[ ] [ ] ] [ ] [ [

ψ 1ψ

1

+ »

¼»»

º»»

«¬

««ª

««∂

− ∂

[ ] [ ]

i=

[ ] [ [ ] [

[ ] ]

(133)

The inverted matrix above is known as the Jacobian matrix of [ψ].

5.2.2 Outline of a Non-Linear Solution

Because the stiffness and the load vectors may both be functions of the displacements in nonlinear problems, equilibrium equation can be written as:

[ ][ ] [

F

( )

x

] [ ( ) ] ])

=0

[ ][ ]

[ ][ [

[ ( ) [ ( [ ( ) ] ]

=

[ ( ψ

(134)

The product of [K][x] can be thought of as internal forces [P], which, in an equilibrium state, will balance the external force [F]. Non-linear FEA generally involves starting from a position where the internal and external loads do not balance. This imbalance in the loads is referred to as the residual [Ψ], which is reduced to an acceptably small value through a series of iterations. This process is illustrated in Figure 22 on a nonlinear load displacement response.

Figure 22. Illustrating an iterative reduction of residual ψ

Although there are a number of possible schemes to solve such equations, the one usually adopted in FEA is based on the Newton-Raphson method described above. Most structural, non-linear problems are solved in an incremental manner. An increment of the load is applied and then iteration is undertaken until a converged solution has been achieved. Following this, the next load increment can be applied. There usually two reasons for such an approach:

1. To apply Newton-Raphson technique, it is necessary to start from a good guess. The end of a converged increment forms a good starting guess for the next increment. This is illustrated in Figure 23 where it can be seen that if a solution lies outside the “radius of convergence” it can diverge (a) whereas it can converge if it starts within this radius (b).

2. Usually the material laws are expressed so that increments of stress ared related to increments of strain ([dσ]∝ [ε]), and not total stress to total strain.

When solving in an incremental manner, [F] will often be consistent.

After some manipulation, it is possible to write the Newton-Raphson equations for the nonlinear problem defined in Equation (134) as:

[ ]

K

[ ( ) ( ) ]

x=

[ ] [

t 1

[

ψ

(

xx (135)

where the matrix [Kt] is known as the tangent stiffness matrix.

Figure 23. Illustrating the effect of the solutions starting a) outside the radius of convergence (diverging) and b) inside the radius of convergence (converging)

5.2.3 Nonlinear Matrix Equations

Nonlinear algebraic equations are usually solved by an iteration procedure. Consider a typical equation from a nonlinear set of equations of the form of equation (134). We write

( ) ( ) ( )

n j

F

( ) )

n

( ( ) )

j

( (

j j

Fi

F

, , 2 , 1 j

)

,

¦

1

= (136)

) )

,

where Fi(x1,x2,…,xn) is the unbalanced load in the ith equation, and n is the number of equations. If the vector of nodal variables x1,x2,…,xnis the exact solution, then Fi(x1,x2,…,xn)≡ 0 for i=1,2,…,n. Usually, however, we cannot compute the exact solution, but we obtain an approximate solution such that the unbalance in a typical equation is smaller than a specified tolerance. We do this with Newton-Raphson iteration. We begin with an approximate solution vector and use a Taylor series expansion of Fi in n variables to obtain an improved solution vector. Thus

( )

( ) ( )

1

(

x , , ,

) (

x , , ,

)

, i 1,2, n

i

(

n

i

((

j

j j

Fi

( (

Fi

x , , , x , , ,

x , , , x , , ,

( )

(

x

(

x , , ,

)

= j

FF

(

x

)

(

x , , ,

)

( )

xx

¦

x i 1 2i 1 2

) (

x

)

(137)

Now as an approximation we neglect all higher-order terms and require for a solution that the left-hand side vanish. Then we obtain a set of linear algebraic equations with unknowns∆xx ; j

( ) ( )

1

F

n FFi

) (

) ((((

))

j

x

j xj

¦ ∂

xx

=

) ) ) ( ( (

(138)

This set of equations is the basis for the Newton-Raphson iteration algorithm, which we write in matrix notation as

[ ]

m

{ } { } { } { } }}

m

[ ]

[ ]

m

{ } {{{ } { } { } { }} }

+1

{ {

(139)

{ } } }

+

{ } { } { } {{ { } { } { } { } { } {{ }

m+1

{ } { } {

{ } { } { { } { { } { { } {

1 (140)

where the superscript m denotes the mth iteration, and [J]mm is the system Jacobian at the mth iteration. The elements of [J]mm are

( )

j m i

ij x

((

j

Fi Ji

xx

FF

= (141)

We proceed by computing the Jacobian and unbalanced node load vector and solving a set of linear algebraic equations at each iteration. When used with a reasonable initial guess, the Newton-Raphson method shows an excellent convergence rate, but in some problems if the initial guess is a poor approximation, the method may be computationally expensive for large sets of equations. Large computational costs have led some analysts to use a modified Newton-Raphson method wherein the Jacobian is formed and factored only once and is held constant throughout the balance of the iteration process. More iterations are required with the modified Newton-Raphson method, but usually net computational costs are reduced.

5.2.4 FE Treatment of Geometric Nonlinearity

There are many algorithms specifically devised to deal with difficult geometrically nonlinear behaviour, such as limit points in load-displacement curve. The following is a summary of a number of these special algorithms.

5.2.4.1 Arc-Length Method

This is an iterative technique used to solve non-linear problems at or near limit points, where there is a change in sign of the slope of the load-displacement curve. The solution is advanced by a specified arc-length along the load path, rather than a load or displacement increment. Expressed

simply, the residual to be reduced to zero over the solution increment (which contains a fraction of the total external load vector [fff ] can be expressed as 0

[ ]

ψ n+1=

[ [[ [ [

PP

( ) (( ) ( )

aan+1)

] ] ]

λnn (1++11

[ ] [ ] [[

f 42)

with

[ ] [ ] [ ] ] [ ] [

n n

[ ] [[ ] [ [ ] [ [[ ] [ ]

n (143)

n n

n λ λ

λ+1=λ +∆∆λn (144)

5.2.4.2 Load and Displacement Control

In the Newton-Raphson iterative procedure, the solution is usually driven by load control. This does not work when a snap-through behaviour is encountered, because the load-displacement tangent becomes horizontal and the load must subsequently remain constant or decrease in order to follow the load-displacement curve. Therefore, to follow the load path correctly in such problems, displacement control should be used where the displacement of a specified node or a set of nodes is increased by a small increment. This is similar to the procedure adopted in some laboratory tests of components in which the displacement of the specimen is controlled. Unfortunately, this

displacement control steps, with the program automatically switching from one to another when a limit point is encountered, or about to be encountered, in the loading path.

The user of an FE code may be able to switch from prescribed load increments to prescribed displacement increments depending on the type of problem encountered. Alternatively, the user can prescribe artificial springs at a certain node to restrain the structure at or near limit points. The FE code may avoid the solution of the equilibrium equations around the limit point.

5.2.4.3 Line Search Technique

This is a technique for accelerating incremental-iterative solution procedures. This is achieved by applying a scaling to the corrective displacements. Consider a possible scaling of the corrective displacement as

[ ]

δ

]

iii

( ( (

1 η

) ) ) [ ] [)[ [)[

δ

] ]]]

ii (145)

approach cannot cope with snap-back behaviour, i.e., when the load-shortcomings is for the FE code to use a mixture of load control and displacement tangent becomes vertical. One way of avoiding these

The corresponding residual can be evaluated as

[ ]

ψ i

[

ψ

( ( ) ) ] [ ]

[

i

[ [[

ψ

( ( (

(146)

A scalar measure of this residual can be taken as its projection on the search direction (δai) as

[ ]

iT

[ ]

i

Gii

[ [ ] [

δ iT

[[

ψ (147)

By calculation of Gi in this manner, it is possible to estimate the value of ηithat will result in a zero value. This is the value the scaling parameter that is finally used to determine the updated corrective displacement that will be used in the iteration.

5.2.5 FE Treatment of Material Nonlinearity

5.2.5.1 Outline of Finite Element Plasticity Algorithm

In elasto-plastic applications, both load increment and iterations are necessary to arrive at the final solution. Within each load increment, the plasticity relationships, which depend on the current state of loading, are satisfied and variables updated ready for the next load increment. Iterations are required within each load increment in order to ensure that the dual requirements of satisfying the constitutive plasticity equations and the overall structural equilibrium are satisfied. The iterations are terminated when the solution has converged according to a suitable convergence criterion. The number of iterations depends on the size of the load increment, and whether the stiffness matrix has been updated to reflect the current stress-strain state.

Typical FE algorithms for modelling elastic-plastic behaviour may adopt the following procedure:

1. Apply the load assuming elastic behaviour everywhere. The overall stiffness matrix is obtained, and the following equations solved to obtain the displacement vector:

[ ][ ] [ ] ][ ] [

[ ][ ] [

e (148)

where [Ke] is the elastic stiffness matrix, and [F] is the full load vector.

2. Calculate the effective stress at all Gauss (integration) points, and check the maximum value against the yield stress,σys. If it does not exceed σys, then there is no need for a plasticity analysis. If it does, scale down the magnitudes of all nodal displacements such that the node or Gauss point

with highest effective stress is just yielding. The scaling factor is used to determine the fraction of the applied loads that causes initial yielding.

3. Divide the remainder of the applied load into small increments, either as specified by the user, or according to a suitable automatic scheme.

4. Apply one load increment, and re-solve the equations to obtain the new displacements corresponding to this load vector. Use either the initial (elastic) stiffness matrix [Ke], or the tangent stiffness matrix, [Kep], which is updated to contain the current state of plasticity, as follows:

[ ] [ ] [ ] [ ]

[

ep

[ ] [ [ ] [ [ ] [ [ ] [ ] [ ] [ ] [

(149)

few load increments or iterations to reflect the current state of plasticity.

5. Perform iterations to ensure that the solution is acceptable, i.e. it satisfies both equilibrium conditions and the plasticity material laws. From the computed [∆u], the total and plastic strain increments can be calculated, and then the corresponding stress. An out-of-balance or residual force vector, [R], is calculated by integrating the stresses over all the elements and subtracting the internal forces from the external forces. If convergence is not achieved, i.e. [R] is not smaller that a specified tolerance, an iteration is commenced by solving a new set of equations, as follows:

[ ]

K

[ ] [ ] [[

[[ ]

ep

[ [ [[

correction

]]

(150)

where [∆u correction

6. Store the computed increments of displacements, strains and stresses at each node, and update the existing values.

7. Apply the next load increment and perform iterations as necessary.

Terminate the computation when the final load is reached.

5.2.5.2 Outline of Finite Element Creep Algorithms

FE formulations for creep problems based on the initial strain approach usually adopt the following procedure:

1. Apply the mechanical loads and displacements, and solve the equations to determine the nodal displacements and the elastic (or elastic-plastic) stress distribution at t = 0.

Many FE codes use the initial stiffness matrix and then update it after a

] is a correction to the displacement vector in order to balance the residual force vector. Using this correction, the displacement vector is improved and the iteration repeated to obtain a new residual force vector. The displacement corrections and the residual forces should be getting smaller with each iteration until convergence is achieved.

and determine the creep strain rate and the creep strain increments (initial strain) using the multi-axial creep law for the material.

3. From the creep strain increment, determine a creep load vector and solve the equations to determine a displacement increment ∆u, from which an increment in stress ∆σ is determined. Physically, the “creep loads”

represent the internal forces necessary to resist the creep strains and have to be in equilibrium with the loads generated by the elastic (or elastic-plastic) behaviour of the structure.

4. The resulting ∆σ must be suitably small when compared to the existing stresses at the beginning of the time increment. If not, the time increment is reduced and the above procedure is repeated until ∆σ is sufficiently small.

5. Add the increments∆σ and∆u to the existing stresses and displacements to obtain the starting values for the next time increment. Similarly, the creep strains at the end of the time increment are updated using the creep strain increments.

6. Apply another time increment and repeat the above steps until the final time is reached.

Solution accuracy can be assessed by limiting the changes in effective stress in each time interval to an acceptable range. If the changes in effective stress are deemed to be too large, the time increment is reduced and the calculation repeated. Automatic checking of the solution at each time step and, if necessary, reduction of the size of the time interval are usually incorporated in FE codes.

5.2.6 Finite Element Treatment of Contact Nonlinearity

The first necessary step of modelling contact is to detect penetration. An inexperienced FE user may not realize that unconnected finite elements can simply pass through one another. This, of course, is physically inadmissible and it is necessary to take steps to prevent such penetration. In commercial FE codes, contact can be considered as a) node to node b) node to surface or c) surface to surface. Where one contact surface is very stiff it can often be taken to be rigid. The profile of this rigid surface can be defined analytically, without the use of nodes and elements. Each set of nodes, or surface, can be considered as slave or master (or even both). In a contact problem the loading is applied incrementally. At each increment, iterations are performed until convergence is achieved. At each iteration, the slave is checked for contact with the master. Such contact is determined by geometric proximity.

If contact occurs, equal and opposite pressures are applied to the contacting surfaces to prevent penetration. If friction is being modelled, then shearing 2. For a small time increment,∆t, assume that the stresses remain constant,

stresses will also be generated to resist slipping. These are generally related to the contact pressure through the coefficient of friction. In addition to requiring a suitably small value of the residual, convergence can only occur when there is no charge of contact state between successive iterations.

5.2.7 Convergence

when no out-of-balance forces exist. In practice, the FE solution is acceptable if certain tolerance, which is specified either by the user or automatically by the FE code. Typically, convergence is checked by checking the magnitude of the norm of the out-of-balance vector, which is defined as the square root of the sum of the square of all the nodal values.

If the residual force is not smaller than the specified tolerance, then another iteration is necessary to correct the displacement vector. The residual force can be used to obtain a correction to the displacement, which can be used to obtain a new (improved) value of the displacement vector. This correction procedure is continued until the displacement corrections and the residual force vector become negligible.

Several procedures exist for accelerating the rate of convergence.

Standard incremental-iterative procedures require that the initial trial solution is sufficiently close to the exact solution, and the load-deformation slope remains of the same sign during the loading path. In situations where behaviour, more sophisticated numerical algorithms should be employed.

So far it has been stated that the iterative process continues until a convergence is achieved without being very specific as to what constitutes the criteria for convergence. There are various possibilities for this, typically

not generally used for convergence purposes largely because these can be relatively insensitive to the effects of non-linearity.

The more usual convergence criterion is taken from the out of balance force at each stage of the iteration. This is given by

Out of balance force = (R-RR ) j (151)

and is a measure of how well equilibrium is satisfied. This is a good measure for the finite element method since compatibility is almost always enforced exactly within the finite element method so that errors in the equilibrium terms give a good indication of the total error in the solution. The convergence criteria require that a single number is defined to test for

Convergence of the solution is achieved if equilibrium is satisfied, i.e., the nodal values of residual out-of-balance forces are negligible, i.e., below a

the maximum displacement could be tracked or some mean square dis-placement of the complete structure could be used. The disdis-placements are the slope may change sign, e.g., in a material softening or a snap-through

convergence. The usual form for this is taken the norm of the out of balance force vector in the form

(

j

) ) )

=

¦ ¦ ¦ ( (( (

j j

)

22 (152)

where RR is the j'th term in the R vector. This norm is always positive butj

tends to zero as the solution convergences and satisfies equilibrium better.

One problem with this test is the norm will never become exactly zero since the solution will never be that exact. This means that it must be compared with some other expression so that its relative size can be tested. The usual convergence criteria is then of the form

( ) ) )

ε

( ( ( ) )

(153)

where εis some small number typical 0.01. The smaller the value for εthen the more iterations will be required and the cost of the analysis will be correspondingly greater. If ε is made too large then equilibrium will not be satisfied very well and the solution will not be accurate. There is always the possibility that since equilibrium is only being satisfied to the level defined by the toleranceε for each iteration then the solution will drift away from correct solution as the number of load steps increase. This would not seem to be a real problem in practice.

Related documents