You are on page 1of 15

Refresher on Nonlinear FEA

Invariant Labs Publication No. 1 For Public Release Grant Henson September 2, 2010

NOTE: Abaqus is a trademark of Dassault Systmes and its subsidiaries. No endorsement of this material by Dassault Systmes is implied.

Introduction

Continuum mechanics is concerned with mathematical descriptions of idealized continuous bodies under idealized conditions. With skill, problems can be set up and solved such that their solutions provide insight into the behavior of actual materials and structures. Mathematically, a linear problem is one in which scaling the independent variable (cause) results in the same scaling of the dependent variable (effect). It is not necessary to speculate whether linearity, or for that matter cause and effect, exist in the material world or only in our minds. What matters is that problems in continuum mechanics are built up from mathematical relationships that are either linear or nonlinear. If all the pieces are linear, then there is a linear relationship between the fundamental cause (forces) and the fundamental effect (motion). If any piece is nonlinear, then the relationship between forces and motion is nonlinear. Here, motion means the motion of a set of material points, and therefore includes deformation. The most rigorous approach is to pose an initial value-boundary value problem (IVBVP) and seek an exact solution of the field equations. Such solutions offer maximum generality and insight. But in many practical situations, irregular geometry, discontinuities or jump conditions, multiple materials and so on are an essential part of the problem and cannot be disregarded. Many approaches to these situations exist, from ad hoc spring-mass-damper mechanical modeling to finite elements. Finite elements (FE) offer a reasonably well-understood numerical solution method that maintains a connection to the fundamental field equations. The fact that the IVBVP is never stated (except in a generic form) in an FE analysis can render the solution less useful, but it is often the best overall approach.

Nonlinear FEA Refresher

2 of 15

The stress, motion and sometimes temperature of bodies are governed by constitutive equations and are subject to laws or axioms, as well as initial and boundary conditions. The conservation laws, and axioms such as determinism, local action and symmetry are the same in all classical continuum mechanics problems. However, nonlinearities specific to the problem may be present. They may enter as: material nonlinearity: a nonlinear constitutive equation is assumed boundary nonlinearity: a nonlinear traction-displacement relationship is imposed somewhere on the boundary; for example, the body is restrained by a nonlinear spring, or an applied force remains normal to the boundary as the boundary rotates geometric nonlinearity: a finite rotation, deformation or displacement measure is used Mechanical contact or other discontinuous boundary conditions, as well as jump discontinuities between bonded materials, are outside the realm of classical continuum mechanics but can be included in an FE analysis.

Nonlinearity in Abaqus

Abaqus/Standard defaults to small displacement geometry, while Abaqus/Explicit defaults to nonlinear geometry. This can be overridden in the initial step or any subsequent step using the command *STEP, NLGEOM=ON or OFF, except that once *STEP, NLGEOM=ON has been issued, it cannot be turned back off for the rest of the analysis. According to Reference [1], in a small-displacement analysis, geometric nonlinearity is ignored in the element calculation the kinematic relationships are linearized. I take this to mean that the element stiffness matrices are formulated using the initial geometry of the elements, while in a geometrically nonlinear analysis, they are formulated using the geometry in the most recently completed increment. A few elements do not account for large strain even when nonlinear geometry is turned on. These are the B23(H) and B33(H) cubic beam elements, and the STRI3, S4R5, STRI65, S8R(T), S8R5, S9R5, S3RS and S4RS(W) shell elements. Those elements have an inherent small-strain (but arbitrary rotation) formulation. Reference [1] goes on to state that contact constraints are handled as linear or nonlinear according to whether the SMALL SLIDING option is specified on the contact pair definition. This is independent of the NLGEOM setting. The default is finite sliding, and usually there is little to be gained by specifying small sliding because when contact is present, the problem has boundary nonlinearity and will not be solved in a single increment anyway. Almost all FE codes, including Abaqus, use the stiffness (also called the displacement) method of solution, in which the equation Ku = f is solved for u. Thus,

www.invariantlabs.com

Nonlinear FEA Refresher

3 of 15

the fundamental FE solution is nodal displacements; strains and stresses are calculated from these displacements. Strain is calculated using the matrix B of shapefunction relationships between strain and the nodal displacements: = Buelem . Stress is then calculated from strain using the constitutive equation. The stress and strain measures a code outputs may differ from those appearing in the constitutive equation, which is used internally to set up the stiffness matrix. Clearly, any strain measure can be calculated from a given set of nodal displacements and a shape function. Recall that the deformation gradient is F x/X and that it has the polar decomposition F = V R. [2] The velocity gradient is L x/x, where the dot indicates the material time derivative, and its symmetric part D 1 ( L + L T ) is called the rate-of-deformation tensor. 2 Table 1 compares Abaqus/Standard strain output to three common strain measures for uniaxial tension of a bar with an initial length of 1, stretched to a length of 3.5, so that the stretch = 3.5. Comparisons are made with NLGEOM both on and off. Three different strain measures are available from Abaqus/Standard depending on the element type and whether nonlinear geometry is active. The first is designated by the symbol E in Abaqus and has three different definitions depending on the element type and whether nonlinear geometry is active: When nonlinear geometry is not active, E is the nominal strain V I. When nonlinear geometry is active, for the inherently small-strain elements listed above, E is Greens strain 1 T 2 ( F F I ). for all other elements, E is calculated by n +1 =
t n +1
tn

D dt + R n R T

(1)

where n is the most recently completed increment. I refer to this as the E-strain. The reason for the complicated definition is that this is the strain measure that is work-conjugate to the Cauchy stress. For infinitesimal rotations it may be shown that this is equivalent to the Hencky or logarithmic strain ln V When nonlinear geometry is active, Abaqus/Standard will output LE, the logarithmic strain, by default, and NE, the nominal or infinitesimal strain, by request. Be aware that Abaqus/Standard will output LE and NE as zero for the inherently smallstrain elements. Abaqus/Explicit outputs LE by default and NE by request; E is not available. To avoid confusion, unless for some reason Greens strain is desired, it is probably better to request NE if infinitesimal strain output is desired in a nonlinear analysis, rather than using the default output of E. Also, Abaqus always reports shear strain as engineering shear strain, ij + ji , not tensorial shear strain, 1 ( ij + ji ). 2

www.invariantlabs.com

Nonlinear FEA Refresher

4 of 15

Table 1: Strain calculations for a bar in uniaxial tension Measures of strain Nominal Logarithmic 1 ln 2.500 1.253 Greens 1) 5.625

1 2 2 (

Abaqus finite-strain solid elements NLGEOM E LE NE ON NA 1.253 2.500 OFF 2.500 NA NA Abaqus finite-strain beam elements (B31) NLGEOM E LE NE ON 1.253 1.253 2.500 OFF 2.500 NA NA Abaqus small-strain beam elements (B33) NLGEOM E LE NE ON 5.625 0 0 OFF 2.500 NA NA
According to Reference [3], When the hyperelastic or hyperfoam material model definition is used with an element, Abaqus internally uses the stretch values calculated directly from the deformation gradient matrix, F, to compute the material behavior. For other materials, Abaqus internally uses the E-strain. Constitutive equations are defined in the literature in terms of various stress measures (such as the Kirchhoff stress, sometimes used in hyperelasticity because it is work-conjugate to the stretch rate) but they may always be converted to Cauchy stress (force per unit area of the deformed solid) given a standard reference configuration. Abaqus either directly uses the Cauchy-stress form of the constitutive equation or converts the resulting stress to the Cauchy stress before generating stress output. Abaqus outputs the Cauchy stress for all solid element types, whether nonlinear geometry is active or not. When continuous field representations of stress and strain are required, for example to create a contour plot, the field values must be interpolated from the values at the integration points or nodes, preferably in a way consistent with the element shape functions.

www.invariantlabs.com

Nonlinear FEA Refresher

5 of 15

Stable Static Problems

A static analysis solves F (u) = f (u) for u at a given instant in time, where F is the vector of internally generated nodal forces and f is the vector of external forces, which in general is a function of displacement because it can include pressure loads and follower forces. Here, the term force is used generically and therefore refers to moments in the case of rotational degrees of freedom. In a simple linear elastic analysis, F takes the form Ku, but viscous effects and other phenomena may require that deformation rates be considered. In fact, Abaqus calculates the internal forces from an integrated rate form of the constitutive equation, certainly in the quasi-static *VISCO procedure and probably even in most *STATIC procedures. If Abaqus ever short-circuits this integration of the rate form of the equation, it would only be for a linear perturbation step. The documentation indicates that in a *VISCO step, strain is assumed to vary linearly with time over each increment. The time increment size is restricted by the maximum allowable strain increment, which has a default value that may be changed. Thus, all static and quasi-static analyses are solutions of F (u) f (u) = 0 for the displacement u. The function F operates on u to produce the internal nodal forces, including elastic and all other effects through the integrated rate form of the constitutive equation. Also, for a given displacement increment, the external forces take on a certain value f (u), prescribed by the problem. A value of displacement such that the external forces and the internal forces match at all boundary degrees of freedom is an equilibrium configuration of the structure. In linear elasticity, the internal forces are linear functions of displacement, given by a constant stiffness matrix K, and the external forces do not depend on displacement at all. Thus, the displacements may be found simply by calculating K 1 f . But in nonlinear analyses, the internal forces are nonlinear functions of displacement (that is, the tangent stiffness is not constant), and the external forces may also depend on displacement, as for example when pressure or a follower force act. Therefore, an iterative solution is required. And, iteration schemes have finite radii of convergence, which can require that the desired boundary conditions be reached incrementally. The optimum increment size is the one that allows the final solution to be reached with the fewest total iterations, adding up all the iterations over all the increments. The optimum increment size may vary over the analysis, and there is no universal method for determining it. Abaqus allows the user to define the increment size directly, or to specify various parameters in Abaquss automatic incrementation algorithm. To find the displacement that satisfies equilibrium within the convergence criteria, Abaqus uses a matrix version of Newton iteration. Newtons method states that y( x ) x k +1 = x k k (2) y ( xk ) will rapidly converge to a zero of y( x ) provided the initial guess x0 is within some ra-

www.invariantlabs.com

Nonlinear FEA Refresher

6 of 15

dius of convergence of the exact zero. [4] The iteration is terminated when the corrector term ck y( xk )/y ( xk ) becomes sufficiently small. To apply this method to matrix-valued functions, we need to rearrange how the corrector is calculated, to avoid a division. Note that the corrector is the solution of y( xk ) + ck y ( xk ) = 0. Here, the function whose zeros are the equilibrium solutions is (u) F (u) f (u) = 0 (4) (3)

Analogous to Equation (3), we may calculate a displacement update as the solution ck of (uk ) + ck =0 (5) u u=uk Solution of Equation (5) is either by the direct solver (default) or the iterative solver, which can be specified on the *SOLVER CONTROLS card. The direct solver uses a form of Gauss elimination optimized for the topology of the stiffness matrix, while the iterative solver uses an approximate, domain decomposition method. The iterative solver is faster but less robust than Gauss elimination. The iterative solver is a sub-level of iteration within that used in the Newton-method solution of the equilibrium equation. The classical Newton method does not provide an algorithm for determining the initial guess; the actual guess provided may or may not be within the radius of convergence. Abaqus calculates the initial guess u0 using the tangent stiffness to update the displacement from the most recent converged increment. Subsequently, the displacements are updated as uk+1 = uk + ck . The iteration proceeds until every entry in ck is less than the displacement correction tolerance and every entry in (uk ) is less than the force residual tolerance. The reason for checking both the displacement and the force is that on a steep part of the curve, the force error can be large even though the displacement error is small. The top plot in Figure 1 shows how Newtons method, along with the Abaqus algorithm for choosing the initial guesses, proceeds along a stable equilibrium path. A fixed increment size of 0.5 is used. Newtons method converges in three iterations on the first increment and in four iterations on the second increment. The plot shows how the initial guess for the second increment is chosen using the displacement and tangent stiffness at the end of Increment 1 and the incremented force for Increment 2. A single bad degree of freedom, or a degree of freedom that experiences force changes much larger than the rest of the structure, can prevent convergence. The default tolerances are described in the documentation and may be changed using the *CONTROLS card. If the solution fails to converge after a specified number of iterations (default of 16), or if, based on the behavior of the correction, the solution appears to be diverging, the increment is attempted again with a smaller size (default of 25% of the size of the previous attempt). If the new increment size is smaller than a specified value, or if the size has been cut back more than a specified

www.invariantlabs.com

Nonlinear FEA Refresher

7 of 15

Figure 1: Convergence of Abaqus-type path-finding algorithm with Newton iteration

www.invariantlabs.com

Nonlinear FEA Refresher

8 of 15

number of times, or if a specified number of increments has been exceeded, the solver gives up. A disadvantage of this method is that it requires /u to be calculated in every iteration. This quantity, called the Jacobian, includes both the structural tangent stiffness and a term f /u called the load stiffness that accounts for changes in force with displacement, as in follower loads. Calculating the Jacobian is costly and may be impossible to do exactly. The user can specify that the Jacobian be assumed symmetric, be calculated without coupling terms, or that a quasi-Newton method be used, in which the Jacobian is iteratively approximated. Note that using an inexact Jacobian will not affect the accuracy of the final converged solution, but it may change the convergence rate. There is an alternate method, not used by Abaqus, in which the Jacobian is not updated at all during the iterations. This trades the cost of updating the Jacobian for the cost of more iterations to converge. Also, Abaqus can apply artificial damping to stabilize the iterations. Again, as long as the artificial damping force is only a small fraction of the total force when the solution has converged, the accuracy will not be affected. These notes cover what Abaqus calls equilibrium iterations. In certain situations, Abaqus will execute severe discontinuity iterations or contact iterations, which use different algorithms outside the scope of these notes. Also, almost all of the default processes described here can be changed by the user. For instance, a parabolic extrapolation procedure can be used for the initial guess, instead of the linear extrapolation described here. Descriptions of many of the solver options can be found in Reference [1].

Unstable Static Problems

Stable response of a structure may be visualized as a plot of applied force versus equilibrium displacement in which force is a smooth, increasing, single-valued function of displacement. The tangent stiffness matrix is nonsingular everywhere on a stable equilibrium path, so the Newton-method correction can always be uniquely determined from Equation (5). Points where the tangent stiffness matrix is singular are called critical or singular points and signal the onset of various types of instability: A limit point occurs where the slope of the force-displacement curve becomes zero; when, as is usual, the point of zero slope represents a local maximum rather than an inflection point, this corresponds physically to collapse or snap-through. The bottom plot in Figure 1 shows a limit point followed by snap-through. A bifurcation or branch point occurs where the curve forks into two or more equilibrium paths; this corresponds physically to buckling. Some of the paths past a bifurcation point may represent unstable equilibria and therefore may be mathematically but not physically reachable. A turning point occurs where the slope of the curve becomes infinite.

www.invariantlabs.com

Nonlinear FEA Refresher

9 of 15

Although Newtons method fails exactly at singular points (because the correction cannot be uniquely determined from Equation (5)), this is not the basic difficulty with numerically traversing the equilibrium path through a singular point. Given the right initial guess, the solution will simply skip over an isolated singular point and Newtons method will usually continue to find an equilibrium path even when it starts to slope downward. But it will skip over some part of the path and therefore may miss behavior of interest. The difficulty is providing an initial guess that converges to the point on the equilibrium path nearest the previously converged point, so that unstable regions can be traced out. In problems with a prescribed external force that increases over the step, the basic Abaqus path-following algorithm will always jump over snap-through regions, as shown in the bottom plot of Figure 1, because the initial guess is not free to allow the applied force to decrease. This is in fact the correct path of the sequence of static equilibria resulting from an increasing force. But this is usually not what the analyst wants; the jumped-over snap-through region may be of great interest. Many path-following algorithms have been devised; Abaqus offers the modified Riks method. However, the Riks method cannot traverse a bifurcation point. The user must wipe out the bifurcation by seeding the structure with a geometric imperfection so that all but one path past the bifurcation point disappear, forcing the Riks method to follow the remaining path. The Riks method can only be used in problems where applied loads change over the step in unison by the same scalar factor . A dead load can also be specified. The applied force is f 0 + ( f ref f 0 ), where f ref is the load magnitude for the analysis step, f 0 is the dead load, and is called the load proportionality factor. Without going into all the details, the Riks method treats both and u as evolving variables. It provides a sequence of s that can decrease and therefore will allow the applied force to decrease when that is necessary to traverse an unstable equilibrium path. The Riks method is not foolproof and can be induced to reverse direction on the path, but this is rare. The Riks solution uses a pseudo-time s for incrementation. The user provides the initial value of indirectly, in the form of an initial pseudo-time increment s0 and a scaling factor sref that is usually set to one; then, 0 = s0 /sref . The scaling factor functions much like the total step time specified when setting up a conventional static analysis. It has no physical meaning and merely serves to give a scale to the pseudo-time increments. Ideally, sref would be the total arc length, but that of course is not known ahead of time. At least, sref should be an order-ofmagnitude correct estimate of the total arc length because the Abaqus automatic incrementation algorithm acts on the scaled increment size in determining how to proceed; for instance, if the scaled pseudo-time increment is smaller than 105 , default incrementation settings will cause the analysis to terminate. By default, Abaqus automatically increments s using the same rules it uses for time in a conventional static analysis, and determines subsequent values of using the Riks algorithm. The user may override the automatic incrementation of s by specifying direct use of s0 for all steps. The user also specifies minimum and maximum values allowed for s = s, to prevent the analysis from bogging down

www.invariantlabs.com

Nonlinear FEA Refresher

10 of 15

or jumping over the equilibrium path too quickly. The analysis terminates when either a maximum specified value of is reached, a specified degree of freedom displaces by a specified amount, or a specified maximum number of increments is reached. The specified load magnitude will not be reached at the end of the step unless a stopping value of one is specified for . It is not generally possible to guess ahead of time the incrementation and stopping parameters that will cause the analysis to cover all the behavior of interest and stop in a reasonable time. Some trial and error will be necessary. Because the user cannot directly control the load values in each increment either through a magnitude with a default amplitude curve, or through a user-specified amplitude curve, solutions corresponding to specific values of force or displacement cannot be obtained in a Riks analysis. You get solutions at the automatically chosen force increments. Also, a Riks step cannot be followed by a non-Riks step. To continue the analysis with a different type of solution procedure, a restart must be performed. A short non-Riks step may be restarted from the end of a Riks analysis to reach a desired specific value of force or displacement. Figure 2 shows the progression of an Abaqus Riks analysis of snap-through of a shallow elastic arch. The analysis was set up with s0 = 0.05, sref = 1, smin = 0, smax = 0.2 and stop = 0.4. The dashed curve is the load proportionality factor , which shows the fraction of the specified force magnitude required to maintain equilibrium at each increment. Note that the applied force starts decreasing before the average nodal force (solid curve) starts decreasing. The average nodal force is shown because that is the quantity Abaqus reports in its convergence messages. The + marks show the iterations; note how the Riks method generates initial guesses that allow the Newton iterations to converge all along the equilibrium path instead of jumping across the snap-through as in the previous plot. This analysis terminated after the increment in which exceeded the specified stopping value of 0.4. When attempting to converge to an unstable equilibrium, Abaqus reports negative eigenvalues in the system matrix; this is an indication of instability. In the example shown, negative eigenvalues were reported in increments 5 through 8, which were the increments in which decreased. Abaqus must be detecting the negative eigenvalues not through an eigenanalysis, which is a totally different procedure, but probably through a check for positive definiteness based on the diagonal entries. All quasi-static analyses of instability must be viewed with caution, because in the physical world instability can be an inherently dynamic event. Unstable static equilibrium configurations cannot be maintained physically and will spontaneously move toward a stable configuration by releasing strain energy. The motion often occurs quickly enough that inertial effects must be considered.

www.invariantlabs.com

Nonlinear FEA Refresher

11 of 15

Figure 2: Riks solution for snap-through of an elastic arch. Numbers indicate cumulative arc length at each increment. www.invariantlabs.com

Nonlinear FEA Refresher

12 of 15

Time-Domain Dynamic Problems

Dynamic analyses consider the inertia of the body. They also can consider damping, which classically is a force that depends on velocity, whereas quasi-static viscoelastic or plastic analyses only consider changes in the stress response functional due to strain rate effects. These notes discuss only time-domain dynamic solution methods. Frequency domain methods and modal methods in which the time history is calculated using projections on an eigenspace, are outside our scope. Modal methods are almost always preferable for linear dynamics problems, but usually cannot be applied to strongly nonlinear problems. They can be used in mildly nonlinear problems in the form of subspace projection methods. The fundamentally time-domain methods described here are, on the other hand, inherently nonlinear. Dynamic problems require that element mass matrices be developed. Using the kinetic energy functional along with the element shape functions results in the so-called consistent mass matrix, which in general is fully populated. Diagonal mass matrices may be generated by several methods, including ad hoc lumping of mass to the nodes and various schemes for diagonalizing the consistent mass matrix. A consistent mass matrix generates the exact linear and angular momentum for the element, while a diagonal mass matrix results in exact linear but inexact angular momentum. Diagonal mass matrices offer advantages in solution efficiency, as discussed later, and surprisingly may give more accurate results at the level of the assembled model. Error bounds for dynamic solutions can be stated with precision when consistent mass is used. For example, when fully integrated, consistent-mass elements are used, FEM natural frequencies are known to be upper bounds on the exact frequencies of the underlying continuous body. Doubling the number of elements reduces the frequency error by a factor of four for bars and 16 for beams. But when diagonal mass matrices and reduced-integration elements are used, all bets are off. Diagonal mass usually results in underestimates of frequencies. In time-domain dynamic analyses, an increment is the span of real time between t and t + t. The equation of motion (EOM) is M u + C u + Ku = f (t). (6)

In this semi-discretized equation, the discrete mass, damping and stiffness matrices can all be functions of u. The mass matrix depends on u because the density of the body changes as it deforms, the damping matrix can be affected by frictional or other position-dependent conditions, and the stiffness matrix can be a function of u for all the reasons discussed previously in the section on static problems. Discretization is completed by rewriting the equation in terms of finite time increments. Velocity and acceleration are of course kinematic derivatives of displacement. Dynamic solution methods seek to eliminate the end-of-increment velocity and acceleration quantities so that the only unknown in the EOM is the end-ofincrement displacement. This is done by writing two numerical integration rules

www.invariantlabs.com

Nonlinear FEA Refresher

13 of 15

for the kinematic quantities, isolating the two quantities to be eliminated, and substituting the expressions into the EOM. Many integration rules are available and the best choice depends on the type of problem being solved. For implicit dynamic analyses, Abaqus uses the Hilber-Hughes-Taylor (HHT) method, which has been shown efficient for a wide range of problems. [5] In the HHT method, the displacement and velocity at the end of the increment are given by the approximations u n +1 = u n + h u n + u n +1 h2 [(1 2)un + 2un+1 ] 2 = un + h[(1 )un + un+1 ]. (7) (8)

These are called the Newmark formulas and are classed as single-step implicit integrations, because current values depend on each other as well as on values at the previous increment. [6] The EOM is discretized in time as M un+1 + (1 + )C un+1 C un +(1 + )Kun+1 Kun f (tn+1 + tn+1 ). (9)

In Equation (9), is numerical damping that defaults to 0.05 but may be changed by the user, h tn+1 /(1 + ), (1 2)/2 and (1 )2 /4. Equations (7) and (8) are used to eliminate the velocity and acceleration at time step n + 1 (the end of the increment) from Equation (9), giving an equation of the form [ ] 1 (1 + ) M+ C + (1 + ) K u n +1 = ( u n , u n , u n ) (10) 2 h2 whose only unknown is the displacement un+1 at the end of the increment. Recalling that the mass, damping and stiffness matrices are all functions of un+1 , it is clear that this EOM must be solved iteratively at each increment in the same way as the static equilibrium equation. Abaqus again uses Newtons method. It is important to note that the subscript ns in the discretized EOM all refer to the solution at the end of increment n. This solution satisfies dynamic equilibrium within the convergence criteria. This is in contrast to the sequence of displacement solutions uk during Newton iteration, which represent displacement predictions that may or may not satisfy equilibrium. Iteration to equilibrium at each increment occurs in both static analysis and implicit dynamic analysis in much the same way. It would be more precise to write, for example, M (un+1,k ) instead of merely M, to emphasize both the dependence of the matrices on the end-of-increment displacement and to indicate iterate k within increment n. The additional terms involving in Equation (9) are included to damp out error in the high-frequency part of the response. More negative values of result in more numerical damping, but there is a limit beyond which accuracy is affected and instability can occur. The HHT method is stable provided 1/3 0, but may suffer from inaccuracy if the increment size is more than about 10% as

www.invariantlabs.com

Nonlinear FEA Refresher

14 of 15

long as the time period of oscillations of interest. By default, Abaqus performs automatic time incrementation using a specified initial time increment, with subsequent increments chosen based on a half-step residual force tolerance, or the user may directly specify the increment size. As with static solutions, rotations must be accounted for. This is accomplished using formulas shown in Section 2.4.1 of Reference [3]. Because the implicit-method EOM must be iteratively solved in each increment, the implicit analysis method is at least as costly per increment as a nonlinear static analysis. However, it is numerically stable under the conditions listed above, which can permit fairly large time increments and therefore rapid progress across a transient with slowly varying forces and motions. An alternative method is to use an explicit analysis method. Explicit dynamic analysis refers to the combination of an explicit integration operator with a diagonal mass matrix. Abaqus/Explicit uses the half-step central difference equations to relate the kinematic quantities at different steps: un+ 1 = un 1 +
2 2

tn+1 + tn un 2 un = un1 + tn un 1
2

(11) (12)

These rules are classed as explicit, because they allow computation of current values solely from previous values. The reason for using the half-step forms instead of the classical full-step forms is so that the mass matrix can be isolated, as shown below. Because of the half-step quantities involved in the integration rules, the EOM must be discretized using a lagging half-step velocity: M un + C un 1 + Kun = f
2

(13)

Combining Equations (11), (12) and (13) yields an equation of the form Mun+1 = (un , un 1 ).
2

(14)

Recall that in the explicit method, M is diagonal, so M 1 is simply M with the reciprocal taken of each diagonal entry. Then the equation is solved at each increment by computing M 1 . There is no Newton iteration; the first solution is accepted because the typical increment size in an explicit analysis is so small that the matrices can be assumed constant within the increment. This takes roughly the square root of the time it would take per iteration of the implicit solution. (Note that there would be no advantage to a diagonal mass matrix in the implicit EOM (10), because the stiffness matrix is on the left-hand side and is never diagonal.) Reference [3] states that the initial half-step lagging velocity (u 1 ) is calculated from the initial 2 velocity assuming the initial acceleration to have been constant over the lagging half-step. The manual does not say so, but I suspect this is done to generate (un 1 ) 2 at all increments.

www.invariantlabs.com

Nonlinear FEA Refresher

15 of 15

Note also that the mass matrix must have a nonzero entries on the diagonal in order for Equation (13) to be solvable, whereas the implicit equation (10) can be solved even if no mass exists. The increment size in an explicit analysis is limited by the Courant-FriedrichsLewy stability condition t L/c, where L is the smallest element length and c is the speed of sound in the material. This limit can be severe; for example, if the smallest element in a model is 0.1 inch long and has steel properties, the speed of sound is 2.4 105 in/s, so the maximum stable increment is about 4 106 s. Obviously, if output were stored for each increment, the computers memory and hard drive would rapidly fill up, so typically output is only reported at intervals of many increments. The stability limit is only approximate and has to do with the maximum eigenvalue of the element, which is more favorable here for a lumped mass formulation than a consistent mass formulation. The computational time step may be compressed by various forms of scaling. All FE dynamic solution methods become less accurate as the response frequency becomes higher. Usually, response amplitudes become lower as frequency becomes higher, so inaccuracy in high-frequency predictions can be tolerated. The parameter acts to damp out high-frequency noise that tends to occur in the HHT implicit solution when the increment size changes. Accuracy is improved by decreasing the increment size. Implicit methods are stable for any increment size, but the solution at each increment is relatively slow. Explicit methods complete each increment fast enough to be used with very small increments, but their stability limits can force the use of extremely small increments which will prolong the overall solution. The best solution method depends on the problem.

References
[1] Abaqus Analysis Users Manual, Dassault Systmes, various editions and years [2] Truesdell, C.A., The Elements of Continuum Mechanics, Springer-Verlag, New York (1966) [3] Abaqus Theory Manual, Dassault Systmes, various editions and years [4] Kreyszig, E., Advanced Engineering Mathematics, 7th ed., John Wiley & Sons, New York (1993) [5] Hughes, T.J.R., The Finite Element Method: Linear Static and Dynamic Finite Element Analysis, Dover Publications, Mineola, N.Y. (2000) [6] Cook, R.D., D.S. Malkus, M.E. Plesha, R.J. Witt, Concepts and Applications of Finite Element Analysis, 4th ed., John Wiley & Sons, New York (2002)

www.invariantlabs.com

You might also like