Available online at www.sciencedirect.com
Mathematics and Computers in Simulation 80 (2009) 294–313
NICE—An explicit numerical scheme for efficient integration of nonlinear constitutive equations a,∗ ˇ Miroslav Haliloviˇc a , Marko Vrh a,b , Boris Stok a
Laboratory for Numerical Modelling & Simulation, Faculty of Mechanical Engineering, University of Ljubljana, Aˇskerˇceva 6, SI-1000 Ljubljana, Slovenia b Kovinoplastika Loˇz, Stari trg pri Loˇzu, Slovenia Received 18 November 2008; received in revised form 28 May 2009; accepted 14 June 2009 Available online 25 June 2009
Abstract The paper presents a simple but efficient new numerical scheme for the integration of nonlinear constitutive equations. Although it can be used for the integration of a system of algebraic and differential equations in general, the scheme is primarily developed for use with the direct solution methods for solving boundary value problems, e.g. explicit dynamic analysis in ABAQUS/Explicit. In the developed explicit scheme, where no iteration is required, the implementation simplicity of the forward-Euler scheme and the accuracy of the backward-Euler scheme are successfully combined. The properties of the proposed NICE scheme, which was also implemented into ABAQUS/Explicit via User Material Subroutine (VUMAT) interface platform, are compared with the properties of the classical forward-Euler scheme and backward-Euler scheme. For this purpose two highly nonlinear examples, with the von Mises and GTN material model considered, have been studied. The accuracy of the new scheme is demonstrated to be at least of the same level as experienced by the backward-Euler scheme, if we compare them on the condition of the same CPU time consumption. Besides, the simplicity of the NICE scheme, which is due to implementation similarity with the classical forward-Euler scheme, is its great Advantage. © 2009 IMACS. Published by Elsevier B.V. All rights reserved. Keywords: Numerical method; Explicit numerical integration; Elasto-plasticity; Constitutive equations; Finite element method
1. Introduction Continuum mechanics problems are often characterized by a nonlinear response and path dependence. Treatment of such problems requires a corresponding incremental numerical approach, irrespective of whether the cause for the nonlinearity is the material behaviour, contact with friction or a large deformation. In order to obtain the final solution the whole loading history must be divided into increments and the respective response must be calculated at the end of each increment. In general, the finite element method is used to approximate the solution over the problem domain, but in order to tackle any of the mentioned nonlinearities successfully a particular strategy must be conceived. In this article we will focus on the material nonlinear behaviour and on a corresponding integration of the constitutive equations, which should be performed, however, in accordance with the adopted finite element methodology, i.e. ∗
Corresponding author. Tel.: +386 41 694 534; fax: +386 1 2518 567. ˇ E-mail address:
[email protected] (B. Stok).
0378-4754/$36.00 © 2009 IMACS. Published by Elsevier B.V. All rights reserved. doi:10.1016/j.matcom.2009.06.030
M. Haliloviˇc et al. / Mathematics and Computers in Simulation 80 (2009) 294–313
295
at each Gauss point of an element. Accurate integration of the nonlinear constitutive laws over the strain path is essential for a precise solution of any nonlinear boundary value problem in continuum mechanics, especially when additional nonlinearities are involved in the problem. Most commonly used stress update schemes for the integration of elastic–plastic constitutive laws can be classified within the categories of forward (explicit) and backward (implicit) algorithms. In case of the elastic–plastic behaviour exhibited within the increment the implicit methods are attractive because they provide satisfaction of the consistency condition at the end of the increment automatically [5,6,9]. That means that the calculated stress state is always located on the yield surface in the stress space, regardless of the fact that the evolution of the yield surface may be incorrect. One of the most popular among them is the backward-Euler algorithm combined with the concept of an elastic predictor with a plastic return mapping [9]. In its most general form, the final state variables (e.g. stresses and plastic strains) are found by solving a system of nonlinear equations at a Gauss point iteratively. Although the use of the backward-Euler scheme is preferred in most recent works, it is difficult to implement the procedure for complex constitutive relations [6,10]. On the other hand the explicit methods can be used to implement a general integration for any elastic–plastic model [2,6,10], because they only need the first derivative of the yield function. But if the explicit integration schemes are used for updating the stress, the stress state at the end of the increment may not fulfil the yield criterion during plastic loading. This error depends essentially on the size of the applied strain increment, but the troublesome fact is its cumulative nature during the whole integration procedure. One way to cope with this problem is to divide the increment, when the increase of error in the increment exceeds a prescribed tolerance, into a number of subincrements [6,10,12]. This method, called also a substepping method, increases the CPU for the increment, but it is still much faster than taking small increments over the entire strain path. Another possibility involving a correction of the stress state back to the yield surface at the end of every increment was proposed by several researchers [8,11]. These methods also ensure that the increase of error at the end of each step is smaller than the prescribed tolerance. However, a correction of the stresses generally requests an iteration procedure at the end of each step, so it also increases the CPU time. Consequently, regarding the briefly described properties of both approaches, the commercial FEM codes integrate constitutive models with implicit schemes, even when they are solving a dynamics problem explicitly. Our objective in this paper is to present a simple but efficient new numerical scheme for the integration of nonlinear constitutive equations in which a fulfilment of the consistency condition during the integration is highly improved. In the new explicit method called the NICE for its characteristic that Next Increment Corrects Error produced in the previous increment, the implementation simplicity of the forward-Euler scheme and the accuracy of the backwardEuler scheme are successfully combined. After the presentation of a simple example, this will be demonstrated by a numerical study of two highly nonlinear cases and considering two constitutive behaviours given by the classical von Mises model with nonlinear hardening and the Gurson–Tvergaard–Needleman (GTN) model, respectively. 2. On the numerical integration of a class of constitutive equations The solutions to continuum mechanics problems which are characterized by the elasto-plastic response are primarily dealing with the issue of a corresponding integration of the constitutive equations. Those equations form a class of equations which consists of a combination of algebraic and differential equations, their presence being associated with the fulfilment of the yielding consistency condition and the evolution of the mechanical state at a material point, respectively. Though the complexity of the discussed equations may increase when the elasto-plasticity is coupled with other physical effects, e.g. damage, heat conduction and electro-magnetics, it is generally postulated that plastic yielding at a material point occurs when the physical state satisfies the general yield criterion: Φ(x1 , . . . , xn+m ) = 0
(1)
This algebraic equation, referred as the consistency condition in the literature, must be fulfilled through the entire process of plastic deformation. The constitutive model is complete when the corresponding evolution equations for the state variables are specified: dxi = dxi (x1 , . . . , xn+m , dx1 , . . . , dxi−1 , dxi+1 , . . . , dxn+m ),
i = 1, 2, . . . , n − 1
(2)
Variables xi ; i = 1, 2, . . ., n + m in the constitutive Eqs. (1) and (2) are the state variables and dxi are their respective differentials, with n + m being the number of all the state variables. Further, m is the number of the state variables xn+1 , . . ., xn+m which may be considered with regard to the integration of the above equations as known on the whole
296
M. Haliloviˇc et al. / Mathematics and Computers in Simulation 80 (2009) 294–313
deformation path. Their values are actually determined separately, i.e. by solving the boundary conditions, the compatibility equations and the equilibrium equations of the problem. The remaining n state variables x1 , . . ., xn have to be determined upon the integration of the elasto-plastic constitutive Eqs. (1) and (2). Except for very simple cases a numerical approach, based on a division of the total integration path into finite increments, is required for the integration of the system of differential Eq. (2) subject to the algebraic constraint (1). The obtained discrete solution relates the state variables xit at the beginning of an increment, say at time t, with the state variables xit+t at the end of the actual increment t through the equations xit+t = xit + xi . In a numerical t procedure of integrating the constitutive equations over the increment all the state variables x1t , . . . , xn+m are assumed to be known. In fact, they are obtained upon a completed integration procedure over the previous increment. In t+t t+t addition, considering the above stated properties of the state variables xn+1 , . . ., xn+m , their values xn+1 , . . . , xn+m or equivalently the incremental changes xn+1 , . . ., xn+m , are assumed to be known as well. It is then a task of any applied integration scheme to calculate the remaining state variables x1t+t , . . . , xnt+t or equivalently the incremental changes x1 , . . ., xn . In the sequel, we briefly present the classical backward-Euler scheme and the forward-Euler scheme and discuss their advantages and disadvantages. 2.1. Backward-Euler scheme The implicit schemes set up a system of nonlinear algebraic equations for a considered increment by a transformation of the differential Eq. (2) into an equivalent difference form, with the values of all variables taken from somewhere within or from the end of the increment, while the variables in the consistency condition (1) are considered at the end of the increment. These integration schemes are in particular attractive, because they precisely solve the consistency condition at the end of each increment. The classical backward-Euler scheme is in this regard an implicit scheme, which considers the whole problem at the end of the increment. The consistency condition (1) is thus written as t Φ(x1t + x1 , ..., xn+m + xn+m ) = 0
(3)
and the evolution Eq. (2) in their equivalent difference form are expressed in terms of the values of state variables taken at the end of the increment: t xi = xi (x1t + x1 , . . . , xn+m + xn+m , x1 , . . . , xi−1 , xi+1 , . . . , xn+m ),
i = 1, 2, . . . , n − 1 (4)
The unknowns in these equations are the increments of the state variables x1 , . . ., xn which must be obtained from the solution of the system of n nonlinear algebraic Eqs. (3) and (4), usually by Newton’s method. 2.2. Forward-Euler scheme t With the consistency condition (1) fulfilled at some loading stage, e.g. Φ(x1t , . . . , xn+m ) = 0, a further plastic deformation takes place only if the yield criterion (1) is considered on the way of further loads application. Instead of (1) this demand may be written in an equivalent differential form: t dΦ(x1t , . . . , xn+m , dx1 , . . . , dxn+m ) = 0
(5)
Contrary to the backward-Euler scheme the forward-Euler scheme considers the system (2) at the beginning of the increment, while the consistency condition (1) is assumed to be fulfilled in the form of (5) which yields after a transformation in a finite difference form: n+m j=1
∂Φ t t (x , . . . , xn+m ) xj = 0 ∂xj 1
(6)
Combining the above equation with the evolution equations: xi = xi (xt , . . . , xt , x1 , . . . , xi−1 , xi+1 , . . . , xn+m ),
i = 1, 2, . . . , n − 1
(7)
gives a system of linear equations from which the increments of the state variables x1 , . . ., xn are usually obtained explicitly. The departure of the obtained approximate solution from the exact one depends, as it is the case in numerical methods, on a size of the finite increments used in numerical integration. However, as it will be seen later, the
M. Haliloviˇc et al. / Mathematics and Computers in Simulation 80 (2009) 294–313
297
main disadvantage of the classical forward-Euler scheme is not an approximate solution, which results in an error produced during the increment, but the fact that the error resulting in unfulfilled consistency condition (1) at the end of t the increment, Φ(x1t + x1 , . . . , xn+m + xn+m ) = / 0, because of applying (5), is cumulative during the integration process. This is obviously in direct contradiction with the assumption that at the beginning of each following increment the consistency condition (1) is fulfilled by definition. In the next section we describe a way to avoid the exposed deficiency of this explicit method. Subsequently, we demonstrate how the results of numerical integration are significantly improved. 2.3. NICE—a new explicit integration scheme The main idea of the proposed integration scheme is that the error originated from the absence of fulfilment of the consistency condition (1) at the end of an increment should be considered in the next integration step, thus enabling the error from the previous increment to be adequately reduced in the next increment. In order to achieve the fulfilment of the consistency condition (1) at the end of the considered increment we propose an explicit approach as well, but replacing the Eq. (5) with the following expression to be fulfilled: t t Φ(x1t , . . . , xn+m ) + dΦ(x1t , . . . , xn+m , dx1 , . . . , dxn+m ) = 0
(8)
or equivalently in a finite difference form: t t Φ(x1t , . . . , xn+m ) + dΦ(x1t , . . . , xn+m , x1 , . . . , xn+m ) = 0
(9)
The above expression is namely a result of Taylor power series expansion of the consistency condition (1), where higher order terms have been omitted. The advantage of implementing this form of the consistency condition into a forward explicit integration scheme is obvious. In principle, the consistency condition (1) is fulfilled at the end of the increment by applying (3), as used in the backward-Euler scheme. Alternatively, the same consistency condition is considered by requiring the fulfilment of Eq. (9). The structure of this equation exposes two terms, the presence of which is crucial for a fast convergence and a good accuracy of the proposed integration scheme. Namely, the first term represents the error, which originates from the previous increment in case the consistency condition might have not been exactly fulfilled, whereas the second term is the respective first order differential that approximates the considered function change for the given increments of the state variables. In comparison to (6), where in the classical forward-Euler scheme there is no possibility for a later correction of a possible absence of fulfilment of the consistency condition, the fulfilment of the proposed formulation (9) reduces the error from the previous increment while at the same time tries to reach the fulfilment of the consistency condition (1) at the end of the considered increment. In conjunction with the evolution Eq. (7) the proposed integration scheme retains all the good properties of the classical forwardEuler scheme, manifested by a resulting system of linear equations for the unknown increments of the state variables x1 , . . ., xn . In order to numerically validate the NICE integration scheme and to confront the obtained results comparatively to the classical forward- and backward-Euler schemes two constitutive laws, the classical von Mises model with nonlinear hardening and the Gurson–Tvergaard–Needleman (GTN) model will be considered. 3. The GTN and von Mises constitutive models Gurson [7] first introduced a yield criterion for a perfectly plastic hollow sphere which does not only depend on the von Mises equivalent stress but also on the hydrostatic stress σ H and void volume fraction f (or porosity), whereas Chu and Needleman [4] proposed a model for the nucleation of voids, according to which the nucleation depends on equivalent plastic deformation of the matrix material. In order to find a better agreement with the finite element analyses of void growth the Gurson model was modified by Tvergaard [13,14] into the famous Gurson–Tvergaard–Needleman (GTN) model. Only the equations which describe the GTN constitutive model will be briefly reviewed here, while the von Mises constitutive model may be derived directly by a corresponding reduction of the GTN model. The Einstein summation convention is used throughout the section.
298
M. Haliloviˇc et al. / Mathematics and Computers in Simulation 80 (2009) 294–313
3.1. Governing equations The plastic potential Φ of the GTN model is given by σeq 2 3q2 σH − (1 + q3 f 2 ) = 0 Φ= + 2fq1 cosh (10) σM 2σM where σeq = 3/2sij sij is von Mises equivalent stress with sij being the deviatoric part of the stress tensor σ ij , σM = p p σM (¯εm ) is the yield stress of the matrix material as a function of the equivalent plastic strain ε¯ m , σ H = 1/3σ kk is the hydrostatic stress, f is the porosity, and q1 , q2 and q3 are the parameters of the damage model. The law governing the porosity evolution considers two mechanisms, void growth and void nucleation, respectively df = dfgrowth + dfnucleation
(11)
The first term on the right-hand side can be formulated by considering the mass conservation: p
dfgrowth = (1 − f ) dεkk
(12)
and the second one represents the nucleation of voids due to microcracking and decohesion of the particle–matrix p interface, which is related to the rate of plastic strain of the matrix material d ε¯ m . A corresponding equation for void nucleation was proposed by Chu and Needleman [4]: p
dfnucleation = An d ε¯ m p 1 ε¯ m − εn fn exp − An = √ 2 sn sn 2π
(13)
where An follows a normal distribution about the mean nucleation strain εn with a standard deviation sn and the parameter fn is the maximum nucleated void volume fraction. In this study a decrease of strength of material due to extensive void nucleation is omitted. Following the formulation in ABAQUS [1], voids are only nucleated in tension. For the elastic part of the constitutive model Hooke’s law is adopted: p
σij = Cijkl εekl = Cijkl (εkl − εkl )
(14)
It is assumed above that the total strain εij may be additively decomposed into elastic and plastic part, respectively p
εij = εeij + εij
(15)
Considering the associated plasticity the plastic strain rate can be derived as 1 3 ∂Φ ∂Φ ∂σH ∂Φ ∂σeq p dεij = dλ = dεp δij + dεq dλ = + sij ∂σij ∂σH ∂σij ∂σeq ∂σij 3 2σeq
(16)
where dλ is called the plastic rate multiplier. In the derivation of the final form of (16) the following relations have been taken into account: ∂Φ ∂Φ dεp = dλ, dεq = dλ (17) ∂σH ∂σeq The elimination of the plastic rate multiplier dλ from the above equations yields: dεp
∂Φ ∂Φ − dεq =0 ∂σeq ∂σH
(18) p
The evolution of the equivalent plastic strain ε¯ m in the matrix material is obtained from the definition of the equivalent plastic work: p
d ε¯ pm =
σij dεij (1 − f )σM
=
σH dεp + σeq dεq (1 − f )σM
(19)
M. Haliloviˇc et al. / Mathematics and Computers in Simulation 80 (2009) 294–313
299
Eqs. (10)–(19) determine a material behaviour in case of the GTN model. In order to obtain the von Mises constitutive model the above equations of the GTN model have to be correspondingly modified by taking q1 = q2 = q3 = fn = f0 = 0, where f0 is the initial porosity. 3.2. Classical backward-Euler scheme for GTN model The backward-Euler scheme applied to the GTN model is discussed in detail in [3] and implemented in the ABAQUS code as a default integration scheme for the GTN model [1]. Here we just summarize the set of equations for the application of the backward-Euler method, which is as follows: Φ= εp
σeq σM
2
+ 2fq1 cosh
3q2 σH 2σM
− (1 + q3 f 2 ) = 0
∂Φ ∂Φ − εq =0 ∂σeq ∂σH
σH = σHe − K εp e − 3G ε σeq = σeq q p
εij = p
¯εm =
(20)
3 1 sij εp δij + εq 3 2σeq σH εp + σeq εq (1 − f )σM p
f = (1 − f )εp + An ¯εm e are the hydrostatic and the Here G and K are respectively the elastic shear modulus and the bulk modulus, σHe and σeq e e e deviatoric part of the elastic stress predictor σij = Cijkl (εkl + εkl ), in which εij is the elastic strain tensor at the end of the previous increment, while εij is the tensor of total strains increments. In this set of equations the unknowns p p are σ H , σ eq , εp , εq , εij , ¯εm , f, where all the state variables included in the equations (except the previously mentioned εeij ) are written at the end of the considered increment.
3.3. Classical forward-Euler scheme for GTN model In the classical forward-Euler scheme we have to ensure that the first total differential of the yield condition remains zero: dΦ(σij , σM , f, dσij , dσM , df ) = 0 ∂Φ ∂Φ ∂Φ df = 0 dσij + dσM + ∂σij ∂σM ∂f
(21)
Using Eqs. (10)–(19) we can state: ∂Φ dλ dσij = Cijkl dεkl − ∂σkl dσM =
∂σM ∂σM σij ∂Φ/∂σij dλ ¯ pm = p p dε ∂¯εm ∂¯εm (1 − f )σM
df = (1 − f )
σij ∂Φ/∂σij dλ ∂Φ dλ + An ∂σii (1 − f )σM
(22)
300
M. Haliloviˇc et al. / Mathematics and Computers in Simulation 80 (2009) 294–313
The plastic rate multiplier dλ can be obtained from relations (21) and (22) as ∂Φ dλ = β Cijkl dεkl ∂σij where a scalar quantity β and corresponding derivatives are defined as ∂Φ ∂Φ ∂Φ ∂σM σij ∂Φ/∂σij ∂Φ ∂Φ σij ∂Φ/∂σij β−1 = Cijkl − − + A (1 − f ) n ∂σij ∂σkl ∂σM ∂¯εpm (1 − f )σM ∂f ∂σii (1 − f )σM ∂Φ 1 fq1 q2 q2 σkk δij = (3σij − σkk δij ) + sinh 2 ∂σij σ 2σM (σM ) M (σeq )2 fq1 q2 σkk q2 σkk ∂Φ = −2 − sinh 2σM ∂σM (σM )3 (σM )2 q2 σkk ∂Φ − 2q3 f = 2q1 cosh ∂f 2σM
(23)
(24)
A numerical integration of the above equations requires that the equations are considered in a difference form, where the differentials must be replaced with the finite differences d → Δ. All the state variables included in the equations are written at the beginning of the increment. 3.4. NICE scheme for GTN model As it was already shown, the NICE integration scheme is based on Φ(σij , σM , f ) + dΦ(σij , σM , f, σij , σM , f ) = 0
(25)
Starting from the above equation and using the same procedure as in the classical forward-Euler scheme the following expression is obtained for the increment of the plastic multiplier λ: ∂Φ λ = β Φ + (26) Cijkl εkl ∂σij The slight difference between the expressions (23) and (26) has, as it will be seen later in the analysis of the considered numerical cases, a significant impact on the accuracy of numerical integration. The flowchart in Fig. 1 shows the calculation of increments of the state variables for both explicit integration schemes used in this paper. Practically, the procedure follows the same path in both cases, the classical forward-Euler and the NICE scheme, the only difference from a computational point of view being a small modification in the calculation of the plastic rate multiplier. 4. Verification case In order to verify the accuracy and efficiency of the NICE scheme, a simple dynamical problem will be considered first. Corresponding comparative analyses will be done with regard to the forward-Euler (CFE) and the classical backward-Euler (CBE) integration schemes. Problem definition: A point P is travelling on a paraboloid z = x2 + y2 . The oscillatory motion of the point is determined with two differential equations, x˙ = e−xy y˙ + cos(t) and y˙ = arctan(y) cos(t), which determine the motion of the projection of the point on the x–y plane. The initial conditions are x(0) = 0, y(0) = 1. Find z(t) up to tmax = 100. Exact solution: The exact solution is calculated with the Mathematica program. The paraboloid, shown in Fig. 2a, is a feasible domain for the motion of point P. The point is driven by its projections x(t) (Fig. 2b) and y(t) (Fig. 2c) according to the prescribed oscillation rule. The exact solution z(t) is depicted in Fig. 2d. Numerical solution: In the numerical treatment of the problem one update of variables x, y and z can be derived by considering Φ = z − (x2 + y2 ) = 0 as the consistency condition and differential equations for x and y as the evolution
M. Haliloviˇc et al. / Mathematics and Computers in Simulation 80 (2009) 294–313
301
Fig. 1. Schematical representation of one calculation step of NICE scheme.
equations. The resulting governing equations for the integration schemes, considered in the previous sections, are as follows: y = arctan(yi ) cos(ti ) t x = e−xi yi y + cos(ti ) t z = 2xi x + 2yi y
. . . CFE (27)
xi+1 = xi + x yi+1 = yi + y zi+1 = zi + z y = arctan(yi ) cos(ti ) t x = e−xi yi y + cos(ti ) t z = 2xi x + 2yi y − zi + xi2 + yi2 xi+1 = xi + x yi+1 = yi + y zi+1 = zi + z
. . . NICE
(28)
302
M. Haliloviˇc et al. / Mathematics and Computers in Simulation 80 (2009) 294–313
Fig. 2. Problem definition and its exact solution (a) paraboloid as feasible domain, (b) exact x(t), (c) exact y(t) and (d) exact z(t).
2 + y2 zi+1 = xi+1 i+1
xi+1 − xi = e−xi+1 yi+1 (yi+1 − yi ) + cos(ti+1 )(ti+1 − ti ) . . . CBE
(29)
yi+1 − yi = arctan(yi+1 ) cos(ti+1 )(ti+1 − ti ) The system of equations in the CBE is obviously implicit and its solution can be found with Newton’s method, which first requires a linearization of the system (29) based on Taylor series expansion and then the solution of the obtained linear system. However, this case is so simple that the linearization can be performed manually and the explicit solution of the system of linear equations can be found: yi+1 = yi +
(ti+1 − ti )(1 + yi2 ) arctan(yi ) cos(ti+1 ) (1 + yi2 − (ti+1 − ti ) cos(ti+1 ))
xi+1 = xi + e−xi yi (yi+1 − yi ) + (ti+1 − ti ) cos(ti+1 ) . . . CBE
(30)
zi+1 = 2xi (xi+1 − xi ) + 2yi (yi+1 − yi ) It should be emphasized that such explicit derivation of the implicit system is not usual in practice, where the system (29) is normally solved using a numerical procedure. In this simple case with only three variables it is performed in order to facilitate a comparison of the efficiency of the schemes. In general the explicit derivation in a problem with numerous variables is too complex. Derivation of the explicit solution form (30) of implicit system (29) is most probably the fastest approach to solve such a system. Solving an implicit system of equations otherwise, regardless of how skilled a programmer is, increases the computational time by definition. We believe that the explicit formulation given by (30) is the fairest comparison of the time consumption in relation to the above explicit schemes.
M. Haliloviˇc et al. / Mathematics and Computers in Simulation 80 (2009) 294–313
303
Fig. 3. A deviation from the paraboloid. (a) CFE, (b) NICE, (c) CBE, iter = 1 and (d) CBE, iter = 2.
Efficiency and accuracy of the schemes: To compare the efficiency, the whole integration interval is divided into ninc = 20,000 equal time increments. A deviation from the paraboloid z − (x2 + y2 ) = 0 is measured with the unfulfil2 + y2 ) and is shown in Fig. 3. From the ment of the consistency condition, which is given by Φi+1 = zi+1 − (xi+1 i+1 observation of Fig. 3a it follows that the deviation from the surface is increasing during the entire period of time when the CFE is used, as expected. The deviation in the NICE (Fig. 3b) is similar to the deviation of the CBE after the first iteration of Newton’s algorithm (Fig. 3c), i.e. one calculation of Eq. (30) for each increment. To improve the accuracy, the CBE allows additional iterations. If in this case the solution of the CBE is obtained with two iterations per increment, deviation practically vanishes (Fig. 3d). However, it is wrongly assumed that numerous iterations in Newton’s algorithm can give the exact result of the problem. From Fig. 4, which displays z(t) calculated with all the schemes, it is clear that the CFE gives the worst result, while the accuracy of the others is similar. Comparing the CBE, iter = 1 (Fig. 4c) and the CBE, iter = 2 (Fig. 4d) it is obvious that the reduction in the deviation from Φ = 0 does not correct the solution z(t) substantially. The dilemma, whether it is more efficient to calculate with one iteration and a smaller time increment in the CBE or to repeat the iterations by greater time increments, has no straightforward answer in general, since it is case-dependent. In this simple case it is obvious that repeating the iterations would be a waste of time. As we return to the constitutive models, which represent far more complex problems than the one considered here, this topic will be discussed again. All solutions were calculated with the PC AMD Athlon 64, Processor 4000+, 2.61 GHz, 2 GB of RAM. For all the schemes the CPU time was measured with Mathematica’s internal function “Timing” to compare the computational CFE = t NICE = 0.4 s, efficiency. For 20,000 calculations of the systems (27) or (28), the CFE and the NICE spent 0.4 s, tCPU CPU CBE,iter=1 while for 20,000 calculations of the system (30) the CBE spent 0.6 s, tCPU = 0.6 s. Of course, if an additional CBE,iter=2 iteration is performed in each increment, the CPU time is redoubled tCPU = 1.2 s. Thus, as it was already mentioned, the fulfilment of Φ = 0 cannot be the only measure for the accuracy of the scheme. Therefore let us define the error of the method as a sum of squares of the differences between the numerical and the exact solution:
tmax ninc tmax errscheme = (zscheme (ti ) − zexact (ti ))2 (31) (zscheme (t) − zexact (t))2 dt ≈ ninc 0 i=1
For the above discussed case with ninc = 20,000 the errors are given in Table 1. Now let us investigate the number of increments required in each scheme to reach the prescribed accuracy err = 1. The results are presented in Table 2 along with the corresponding CPU time required for completion.
304
M. Haliloviˇc et al. / Mathematics and Computers in Simulation 80 (2009) 294–313
Fig. 4. Numerical vs. exact solution z(t). Thin line: exact, thick line: (a) CFE, (b) NICE, (c) CBE, iter = 1 and (d) CBE, iter = 2.
The advantages of the NICE are now much clearer. The NICE scheme can reach similar accuracy as the classical backward-Euler scheme, but due to simplicity of the equations it consumes less computational time. Also, it should not be overlooked that the simplicity of the approach is not an advantage only because of the associated CPU time. Specifically, from an implementation point of view it is more comfortable to program the explicit NICE than the implicit CBE. These advantages will become even more obvious in the sequel as complex cases regarding the integration of the constitutive models, for which the scheme was basically developed, will be considered.
Table 1 Accuracy of the schemes (ninc = 20,000). Scheme
err
CFE NICE CBE, iter = 1 CBE, iter = 2
49.5 5.6 9.1 9.1
Table 2 Efficiency of the schemes (err = 1). Scheme
inc
CPU time
CFE NICE CBE, iter = 1 CBE, iter = 2
148,617 51,247 62,980 62,980
2.8 0.9 2.0 4.0
M. Haliloviˇc et al. / Mathematics and Computers in Simulation 80 (2009) 294–313
305
5. Validation of the NICE integration scheme with regard to the integration of constitutive models In order to show the efficiency of the proposed NICE integration scheme two case studies will be considered in detail. For the sake of simplicity of the explanation a simplified uniaxial case will be considered first, with the efficiency and the accuracy of the applied explicit and implicit integration schemes commented for the von Mises and the GTN constitutive models. The second case considered will be complex and draw on sheet metal forming. The results obtained by the proposed NICE integration scheme, which has been implemented into the ABAQUS computational code via VUMAT subroutine for that purpose, will be compared with the default ABAQUS explicit solution procedure, which uses the backward-Euler scheme for integration of the constitutive equations [1]. In all cases the same material data are used: the engineering elastic constants being E = 210 GPa and ν = 0.3, the power hardening rule σ(εp ) = σ0 + Cεnp with σ 0 = 100 MPa, C = 1000 MPa and n = 0.3 and the GTN parameters being q1 = 1.5, q2 = 1, q3 = 2.25, en = 0.2, sn = 0.2 and fn = 0.2. One can easily observe that some data might be unrealistic. In fact, the hardening rule with an infinite derivative at εp = 0 and greater values for the parameters of void nucleation in the GTN model were deliberately chosen to increase the nonlinearity of the problem and to show how powerful the proposed integration scheme is when used in conjunction with strongly nonlinear problems. 5.1. Example 1—uniaxial case For the simplicity we assume that the only nonzero deformation in a studied uniaxial case is represented by the longitudinal strain ε11 . The specimen is strained from its unstrained configuration to the final configuration specified by the final strain ε11 = ε = 1, which is achieved incrementally by applying a specific number of equal strain increments. In order to obtain a uniaxial stress state with σ 11 = σ we additionally assume that except C1111 = E all the components of the elastic stiffness tensor Cijkl are equal to zero. This case is certainly somehow unrealistic, but it will serve well the needs of a comparative study of the proposed NICE integration scheme and for exposing its advantageous properties. The case is studied in the Mathematica program under the assumption of a material behaviour that is governed by the von Mises and GTN plastic flow potentials. 5.1.1. von Mises constitutive law With the total applied strain divided into 2500 equal strain increments, the mechanical state evolution is obtained by integration of the respective constitutive equations. All three integration schemes addressed in the article, the classical backward-Euler (CBE), the classical forward-Euler (CFE) and the proposed NICE scheme are applied. The results of the performed numerical integration for stress σ and plastic strain εp as a function of the total strain ε are displayed in Figs. 5 and 6, respectively. The results referred as “exact” are obtained with the accuracy tolerance for the root finding being 10−6 . It can be easily seen how the proposed new scheme (NICE) efficiently reduces the error unlike the classical forwardEuler scheme (CFE), which is not capable of that. The great advantage of the NICE scheme consists in the ability to reduce the error from the previous step, which is clearly demonstrated at the beginning of the integration process
Fig. 5. Stress vs. total strain for classical forward-Euler scheme (CFE) and NICE scheme (von Mises model).
306
M. Haliloviˇc et al. / Mathematics and Computers in Simulation 80 (2009) 294–313
Fig. 6. Plastic strain vs. total strain for classical forward-Euler scheme (CFE) and proposed NICE scheme (von Mises model).
just as the plasticity occurs. There the constitutive model exhibits large values of higher order derivates of the yield function, and therefore the cause for the error is a neglect of higher order differentials in (8). This impact is present until nonlinearity of the constitutive model is not reduced under a certain degree. From that point the proposed approach quickly reduces the error and assures that the consistency condition (1) is fulfilled, which is shown in Fig. 7. On the contrary, in the classical forward-Euler scheme the consistency condition remains unfulfilled through the entire integration process. Let us remind that unrealistic hardening law with infinite derivative at εp = 0 is purposely adopted since such singularity is a difficult task for any integration scheme. However, in order to avoid a division by zero we had to assume in the computation, that the initial plastic strain is εp = 10−40 . In order to study the effect of the increment size further computations were performed considering an increased number of the increments. Besides the initial division into 2500 increments, the divisions into 5000, 7500, 10,000, 15,000 and 20,000 increments have been considered. A detailed inspection of Fig. 7, in which the results for the plastic potential Φ are plotted for the assumed divisions of the integration interval, does not only show that the NICE scheme eliminates error in only few increments, but also that the influence of higher order differentials is progressively reduced with the increase of the number of increments. In particular, this is of great importance regarding a final error of the cumulative variables, such as plastic strain (or porosity in the case of the GTN model). Namely, those quantities do not only depend on the peak of the erroneously computed plastic potential Φ, but exclusively on the integral of this function along the entire strain path. 5.1.2. GTN constitutive law Contrary to the von Mises constitutive model, the GTN model includes a differential evolution equation for the porosity calculation and by definition its numerical solution depends on the increment size. Porosity in the GTN model is related to other state variables in such a way that even for the considered simple uniaxial case an incorrect calculation
Fig. 7. Plastic potential vs. total strain for classical forward-Euler scheme (CFE) and NICE scheme (von Mises model).
M. Haliloviˇc et al. / Mathematics and Computers in Simulation 80 (2009) 294–313
307
of the porosity leads to the incorrect calculation of all variables, regardless of the fact that the roots are precisely found when the backward-Euler scheme is used. For this reason the GTN model is convenient for a comparison of the three considered integration schemes. The comparison will be made under the condition that the same CPU time is consumed. Let us first discuss the backward-Euler scheme, the emphasis being put on the CPU time consumed. 5.1.3. CPU time consumption for backward-Euler scheme The backward-Euler scheme fundamentally requests to solve a system of nonlinear differential equations by its conversion into a corresponding system of nonlinear algebraic equations. For a solution of that system Newton’s method is usually employed. The solution procedure is iterative and the system of equations must be updated in a subsequent iteration considering the values of the state variables obtained in the previous iteration. In the complex cases it is difficult to compare the CPU time of different methods correctly since the abilities and skills of a programmer play an important role. For that reason we searched in those cases for an appropriate relative measure for time consumption of all methods. As seen in the simple verification test, the equations in the NICE scheme are generally simpler than equations in the CBE, regardless of how they are treated. It was also shown that since the CPU time consumed for a single iteration does not vary between the iterations significantly, the number of all iterations in the analysis can be used as a measure for the CPU time consumption of the method. The time consumption for one increment in an explicit integration scheme is quite comparable with the time consumption for a single iteration for finding the increments of state variables in the backward-Euler procedure. Considering that, we can compare the efficiency of a particular integration scheme just by counting the total number of the state variables updates, required for a solution to be achieved. Namely, the number of iterations is not meant to be a direct measure of the CPU time, but only a relative measure. In the CFE and the NICE the entire deformation (i.e. integration) path is divided into ninc increments. Computational times for one increment of the CFE and the NICE are similar, say tinc . This is the time required for all the equations to be solved one by one and the state variables to be updated. The computational time of a single iteration in the CBE corresponds (equals) approximately to previously discussed time tinc . (Here, one could argue that the time period in the CBE should be longer, because the system of equations should be first composed and then solved, which is definitely more time consuming than solving the same number of equations consecutively. However, in order to present the main idea we do not want to expose this advantage of the NICE as well.) In this context the total computational time, required to perform the integration over the entire deformation path, is given for the CFE and the NICE by t = tinc · ninc . But this is not true for the CBE, which may need several iterations within the increment to converge. In that case t = tinc · ninc · niter , which means that in the CBE there is a dilemma, whether it is more appropriate to take less, but larger increments and more iterations, or vice versa, to complete the whole analysis in approximately the same time t. Therefore, in order to compare the efficiency of all methods on approximately same basis we introduced the “number of updates”, nup = ninc · niter (CBE) and nup = ninc (CFE, NICE). 5.1.4. Comparison of the efficiency and accuracy of the methods In Figs. 8–10 the relative errors of the final stress, plastic strain and porosity, calculated by using the classical backward-Euler scheme (CBE) and the NICE scheme, as a function of the number of updates are displayed. Only a
Fig. 8. Relative error of the stress for CBE and NICE schemes (GTN model).
308
M. Haliloviˇc et al. / Mathematics and Computers in Simulation 80 (2009) 294–313
Fig. 9. Relative error of the plastic strain for CBE and NICE schemes (GTN model).
few (one, two and three) iterations of Newton’s procedure in the backward-Euler scheme were used to find the solution of the algebraic equations. The respective graphs are thus denoted by iter and the number of performed iterations. Therefore, a plot corresponding to the CBE, iter = 1 shows a solution of the integration over the entire deformation problem, when the path is divided into 20,000 increments and the solution in each increment is obtained by only considering the first iteration. In the CBE, iter = 2 the problem is divided into 10,000 increments, but in each increment two iterations are allowed. Thus, all the schemes in Figs. 8–10 require approximately the same time for a solution, which is in fact the only fair comparison between them. The solution, obtained by the backward-Euler scheme with 107 strain increments and the accuracy tolerance for finding root being 10−6 , is assumed as the “exact” solution. In all cases, the starting point for Newton’s method is the set of values of the variables at the end of the previous increment. It can be seen that the error, where only a single iteration of Newton’s procedure in the backward-Euler scheme was performed, is smaller than the errors for all the other treated cases, where the number of iterations was higher and consequently the total strain increments were bigger. In other words, it is more efficient in this case to use smaller strain increments instead of finding roots more precisely in Newton’s method. The reason for that relies on the fact that the differential evolution equations are more precisely solved when a smaller increment for the backward-Euler integration scheme is used and also on the fact that a smaller strain increment produces a smaller deviation of the variables from the exact solution of the system of nonlinear algebraic equations. Let us now compare the final stress, the final plastic strain and the final porosity, as calculated by using the three here considered integration schemes. Figs. 8–10 show that in this case the error obtained by using the NICE scheme is even smaller than the error obtained when using the classical backward-Euler scheme for all sizes of the used increments. However, according to the scale of the diagrams in Figs. 8–10 the difference in accuracy between the CBE and the NICE is negligible. But on the other hand the classical forward-Euler scheme gives such bad results that they cannot be presented in the same diagrams. They are therefore listed separately in Table 3.
Fig. 10. Relative error of the porosity for CBE and NICE schemes (GTN model).
M. Haliloviˇc et al. / Mathematics and Computers in Simulation 80 (2009) 294–313
309
Table 3 Comparison between classical backward-Euler scheme (CBE, iter = 1), proposed new scheme (NICE) and classical forward-Euler scheme (CFE). No. of updates
2500 5000 10,000 20,000
Error in stress (%)
Error in plastic strain (%)
Error in porosity (%)
CBE, iter = 1
NICE
CFE
CBE, iter = 1
NICE
CFE
CBE, iter = 1
NICE
CFE
0.2258 0.0592 0.0137 0.0020
0.1489 0.0253 0.0034 0.0012
2313.9178 1108.2378 529.5850 289.6183
0.0005680 0.0001490 0.0000345 0.0000052
0.0003750 0.0000638 0.0000085 0.0000030
5.822996 2.789032 1.332807 0.728892
0.3770 0.0924 0.0225 0.0034
0.2699 0.0554 0.0133 0.0017
120.6641 50.3944 21.9432 12.5547
Finally, let us also compare the evolution of the state variables during the numerical integration. Fig. 11 shows the stress, calculated by using the CBE (iter = 1) and the NICE scheme, as a function of the strain for the case, where the whole strain is divided into 2500 increments. The behaviour of both algorithms is similar: when the nonlinearity of the problem is extreme, the error of both methods increases, but the error is quickly reduced soon after, because both methods try to fulfil the consistency condition at the end of the increment. Observing the beginning of the plotted curves in Fig. 11 it is impressive that in this case the NICE scheme reduces the error even faster than the classical backward-Euler scheme. 5.2. Example 2—deep drawing of a cylindrical cup The NICE and the CFE schemes have also been implemented into ABAQUS/Explicit via the User Material Subroutine (VUMAT) interface platform and the results were compared to the default ABAQUS explicit procedure, which uses the CBE for the integration of the constitutive equations. The subroutine has then been employed in a simulation of deep drawing of a flat blank into a deep-drawn cylindrical cup (Fig. 12). Nominal depth of the cup is 56 mm. Friction coefficient for the classical isotropic friction Coulomb’s model is 0.05. The forming rate is given by the velocity of the punch, which is 5 m/s. The holder force is constant, its magnitude being 500 kN. To present the capability of the proposed NICE scheme extreme conditions were prescribed to this example. Besides already mentioned infinite derivatives of the hardening law at the beginning of the curve, the unrealistic GTN parameters and the high forming rate, we also increased the size of increments by using a mass scale factor of magnitude 10. In the drawing process simulation the ABAQUS used automatic time incrementation [1] with the whole stroke being divided into only 69,279–69,852 increments for all the three methods, therefore the increments were relatively really large. The tools are assumed to be rigid and the blank is modelled with 104 four-node axisymmetric solid elements with the reduced integration CAX4R [1]. A coarse mesh was deliberately chosen to increase the deviations in the final results, obtained with different integration schemes. Such deviations are induced with the nonlinearity emerging from the contact between the relatively large elements and the tools. On the other hand, regarding the stability of the integration of the equations of motion the larger finite elements allow a bigger stable time increment. A division of the integration path into a smaller number of increments is however an additional source for numerical deviations.
Fig. 11. Stress vs. total strain for CBE and NICE schemes (GTN model).
310
M. Haliloviˇc et al. / Mathematics and Computers in Simulation 80 (2009) 294–313
Fig. 12. Geometry data for deep-drawing simulation of a cylindrical cup.
A quarter of the cup is shown in Figs. 13 and 14 for the presentation reasons only, otherwise the problem is axisymmetric. The figures present the final state of two cumulative variables, the equivalent plastic strain of the matrix material and the porosity, respectively. The contour plots show no difference between the backward-Euler and the NICE scheme at all, whereas the results obtained with the classical forward-Euler scheme are completely different. The difference between the CBE and the NICE can only be noticed with a detailed inspection; therefore the values of both variables in all elements are shown in Figs. 15 and 16. Observing those two diagrams, the difference between the CBE and the NICE can be estimated to be very small indeed, especially considering all the deliberately chosen
Fig. 13. Equivalent plastic strain (PEEQ
SDV5) of the matrix material. (a) CBE, (b) NICE and (c) CFE.
M. Haliloviˇc et al. / Mathematics and Computers in Simulation 80 (2009) 294–313
Fig. 14. Porosity (VVF
311
SDV4). (a) CBE, (b) NICE and (c) CFE.
data, which increase the nonlinearity and numerical complexity of the problem, e.g. the hardening law with infinite derivative, unrealistic GTN parameters, high forming rate, exaggerated mass scaling, coarse finite element mesh, etc. Finally, we can conclude that the accuracy of the proposed new scheme (NICE) is similar to the accuracy of the CBE scheme even for most complex cases. Finally, let us also compare the efficiency of both schemes. The CPU time required for the case using the NICE scheme is only about 5% greater as the CPU time required by the default ABAQUS procedure. However, it has to be considered that NICE is implemented via external subroutine, while the ABAQUS uses the internal optimized code. Everyone who has ever implemented a constitutive model with an implicit scheme via ABAQUS subroutine is well aware of how slow a simulation might become. In this regard, besides the accuracy, the efficiency of the new scheme is also an advantage.
Fig. 15. Equivalent plastic strain of the matrix material in all finite elements.
312
M. Haliloviˇc et al. / Mathematics and Computers in Simulation 80 (2009) 294–313
Fig. 16. Porosity in all finite elements.
6. Concluding remarks In this article a new scheme for the integration of nonlinear constitutive equations with differential evolution equations is proposed, in which the implementation simplicity of the forward-Euler scheme and accuracy of the backward-Euler scheme are successfully combined. Although it might seem that technically this is just a slight improvement of the classical forward-Euler scheme, the consistency condition is basically attempted to be fulfilled at the end of each increment (as in the backward-Euler scheme), but the plastic rate multiplier dλ (and therefore all new values for the state variables) is still expressed explicitly with the values of all variables obtained from the end of the previous increment. It was demonstrated that for the relatively small strain increments the accuracy and the efficiency of the new scheme can be easily compared with the accuracy and the efficiency of the backward-Euler scheme. Besides, the proposed NICE scheme can be easily coupled with stress correction and/or substepping methods developed in the last years if necessary. The properties of the new method are discussed by the numerical consideration of three examples. The first example stands for a simple presentation of the NICE scheme. The other two examples, a simplified uniaxial case, programmed in Mathematica, and the simulation of deep drawing, performed in ABAQUS upon implementation of the new integration scheme via User Material Subroutine interface platform and considering the von Mises and the GTN constitutive laws, are considered to study the NICE scheme on the subject, for which it was developed. To present the potential of the new method a highly nonlinear problem was chosen for the comparison of the methods. Several actions increasing the nonlinearity regarding either material or numerical modelling were taken. A hardening rule having infinite derivative at the beginning of the plastic strain and some parameter values being deliberately unrealistic were assumed purposely in the material model. From the numerical point of view the ABAQUS simulations were performed by considering a very coarse finite element mesh, an exaggerated deformation speed and the mass scaling being extremely high. In all cases the classical forward-Euler algorithm gives completely incorrect results, but the accuracy of the proposed NICE scheme is at the level of the backward-Euler scheme. Because no subincrementation or iterations are required in the new scheme, we conclude that it is at least as efficient as the backward-Euler scheme regarding the required computational effort. However, compared to the backward-Euler scheme it is much easier to implement the NICE scheme in existing computer codes, because it is so similar to the well-known and simple classical forward-Euler scheme. A particular issue related to solving a physical problem with the numerical methods regards the energy consistency of the schemes. When the boundary value problem is solved with the direct solution methods (e.g. explicit dynamic analysis in ABAQUS/Explicit) there exist two possible sources for the energy inconsistency; the first one is associated with the integration of the equations of motion, whereas the second one regards the consistency of the constitutive equations and consistency of their integration. For the integration of the equations of motion the central difference scheme is used in commercial FEM codes by default, with a stable increment required to guarantee the numerical stability and consequently the energy consistency of such integration. In this paper we did not tackle the integration of the equations of motion; instead, we have developed the scheme for the integration of constitutive models. Assuming that the constitutive model is energy consistent, which means that Drucker’s stability postulate and Clausius–Duhem inequality are respected, the only concern regards proper integration of such a model along the entire integration path in
M. Haliloviˇc et al. / Mathematics and Computers in Simulation 80 (2009) 294–313
313
order to preserve the energy consistency. Due to the proved accuracy and stability of the NICE it is reasonable to expect that in the calculation of the state variables increments (e.g. stresses) corresponding to the given strain increments, the energy consistency of the model during integration is preserved. This is particularly true when the direct solution technique is used in the boundary value problem and the integration increment size is dictated by the stable integration of dynamic equations. It turns out that such increment size is small enough for the integration of the constitutive equations with the NICE even in extreme circumstances. Practically, we cannot report about any problems regarding the numerical stability, also for complex cases calculated with ABAQUS/Explicit using the implemented NICE scheme via VUMAT subroutine. References [1] ABAQUS Version 6.6, User’s Manual, SIMULIA, Providence, RI, 2006. [2] V. Alireza, Amirkhizi, S. Nemat-Nasser, A framework for numerical integration of crystal elasto-plastic constitutive equations compatible with explicit finite element codes, International Journal of Plasticity 23 (2007) 1918–1937. [3] N. Aravas, On the numerical integration of a class of pressure-dependent plasticity, International Journal for Numerical Methods in Engineering 24 (7) (1987) 1395–1416. [4] C.C. Chu, A. Needleman, Void nucleation effects in biaxially stretched sheets, ASME Journal of Engineering Materials and Technology 102 (1980) 249–256. [5] M.A. Crisfield, Basic Topics Non-linear Finite Element Analysis of Solids and Structures, vol. 1, Wiley, New York, 1997. [6] K.Z. Ding, Q.-H. Qin, M. Cardew-Hall, Substepping algorithms with stress correction for the simulation of sheet metal forming process, International Journal of Mechanical Sciences 49 (11) (2007) 1289–1308. [7] A.L. Gurson, Continuum theory of ductile rupture by void nucleation and growth: Part 1—Yield criteria and flow rules for porous ductile media, ASME Journal of Engineering Materials and Technology 99 (1977) 2–15. [8] H. Mattsson, K. Axelsson, M. Klisinski, A method to correct yield surface drift in soil plasticity under mixed control and explicit integration, International Journal for Numerical and Analytical Methods in Geomechanics 21 (1998) 175–197. [9] M. Ortiz, J.C. Simo, An analysis of a new class of integration algorithms for elastoplastic constitutive relations, International Journal for Numerical Methods in Engineering 23 (1986) 353–366. [10] M.U. Polat, M.A. Dokainish, An automatic subincrementation scheme for accurate integration of elasto-plastic constitutive relation, Computers & Structures 31 (1989) 339–347. [11] D.M. Potts, A. Gens, A critical assessment of methods of correcting for drift from the yield surface in elasto-plastic finite element analysis, International Journal for Numerical Methods in Engineering 9 (2) (1985) 149–159. [12] S. Sloan, A. Abbo, D. Sheng, Refined explicit integration of elastoplastic models with automatic error control, Engineering Computations 18 (2001) 121–194. [13] V. Tvergaard, On localization in ductile materials containing spherical voids, International Journal of Fracture 18 (1982) 237–252. [14] V. Tvergaard, Material failure by void growth to coalescence, Advances in Applied Mechanics 27 (1990) 83–151.