Você está na página 1de 68
ENCI 619.08 "FINITE ELEMENT PROJECTS”, WINTER 2000 UNIVERSITY OF CALGARY, A FINITE ELEMENT IMPLEMENTATION OF MOONEY-RIVLIN’S STRAIN ENERGY FUNCTION IN ABAQUS THEORY, CODING AND APPLICATION JOACHIM DETTMAR University of Calgary Department of Civil Engineering updated: June 2000 MOONEY-RIVLIN’S STRAIN ENERGY FUNCTION IN ABAQUS, 2 1. KINEMATICS OF FINITE DEFORMATIONS Let B.C R® be the material configuration of the body of interest and y,(X) : B + R? the nonlinear mapping at time ¢ € Ry. The mapping is sufficiently smooth, orientation preserving (one-to-one mapping) and hence invertible. g, maps points X € B of the reference configuration B onto points (or particle positions) 2 = y,(X) € ,(B) of the spatial configuration S. For a fixed value of ¢, p represents a mapping between the undeformed and deformed bodies. FE Figure 1: Deformation gradient F The partial derivative of y is denoted by the deformation gradient F = Dy, the Frechet derivative of the mapping y. Thus, F = 09/9X Vx y(X). The deformation gradient is a key quantity in finite deformation analysis since F enables the description of the relative spatial description of two neighboring particles in terms of their relative material position before deformation. So F is central to the description of deformation and hence strain, Since y is assumed to preserve orientation, the deformation gradient F’ must be positive definite, so its Jacobian J must satisfiy the condition J = det [F(X)] > 0. We use a compact formulation of elasticity which is based on the Finger tensor b:= FF yo? as a strain measure. b operates on the spatial configuration (p(B). Consequently, it is a spatial tensor quantity. The material time derivative can then be expressed as, FFT = FF" 4 FF" =:1b + bl" (qa) with the velocity gradient tensor l of the spatial velocity field v l=Vo=FFO (2) ‘This spatial tensor I enables the time derivative of the deformation gradient alternatively be written as F =IF. JOACHIM DETTMAR 3 2. EULERIAN SETTING OF ISOTROPIC ELASTICITY Materials for which the constitutive behaviour is only a function of the current state of deformation are known as elastic. Then any measure at a particle X is only a function of the current deformation gradient F associated with that particle. When the work done by the stresses during a deformation process is only dependent on the initial state and the final state at time ¢, the behaviour of the material is called path-independent and the material is termed hyperelastic). A stored strain energy function or elastic potential p can then be established as the work done by the stresses as, v= 9(0) (3) Here expresses the change in free energy within the isothermal elastic process from the reference configuration to the current configuration. Thus y must satisfy the condition *i(1) = 0. In this case of elastic material behaviour the Clausius-Planck inequality for internal dissipation becomes, | Diu = t:d-P=0 (4) with 7 = Jor being the so-called Kirchhoff stress tensor and d = sym{t] = 3(I +17) the rate of deformation tensor. Presuming that an expression for 7 formulated in terms of & has been established from experiments, the rate of change of the potential can be expressed as, 3) = 450) be 2 b= ayd(b):6 (8) With the aid of equation (1) the above expression leads to, ab = [20,8(b)b] : L = (20,)(b)b] : (6) Using the Clausius-Planck inequality (4) we then arrive at, Dine = [r — 20,98 (b)b] : d (7) and for arbitrary rates d the constitutive hyperelastic equation for the Kirchhoff stresses becomes, Opv(b)b (8) Many rate-dependent materials must be described in terms of stress rates and the resulting constitutive model must be frame-indifferent®), The stress tensor itself is objective and a valid candidate for inclusion in a material description. On the other hand, the material rate of change of stress is not an objective stress tensor, unless the rigid body motion is not a time-dependent transformation. It is therefore essential to derive stress rate measures that are objective. To derive a constitutive rate equation, we start with the so-called Oldroyd stress rate*) and obtain‘), r= Lot —Ir— rl" = 4bdpyb(b)b: d=: Cid (9) Tece Reference (2] 2ece Reference [2] see Reference [3] “sce Appendix A.1 MOONEY-RIVLIN’S STRAIN ENERGY FUNCTION IN ABAQUS 4 with the Eulerian or Spatial Elasticity Tensor © = 460}, 0(b)b. 3. DECOUPLED VOLUMETRIC-ISOCHORIC RESPONSE When dealing with incompressible or nearly incompressible materials, for example rubber, it is necessary to separate the volumetric from the isochoric components of the deform- ations since these materials exhibit a different volumetric and isochoric response. Such a separation must ensure that the isochoric component, namely b, does not imply any change in volume. Noting that the determinant gives the volume ratio, the determinant of b must therefore satisfy the condition det(6] = 1. This can be achieved by choosing 5 as, &=(s-h1yb (10) ‘The tensor 6 is volume preserving and associated with the elastic isochoric deformation. Now we split the constitutive response function into its volumetric and isochoric parts"), based on, b = (J31)b with J := det{b]? = det[F] (11) ‘Then we assume a decoupled constitutive representation of the free energy function as, P= teotlS) + dinol) (12) where Pret(J) describes the change in free energy due to change in volume and qiso(b) the change in free energy due to isochoric deformation, ‘The Kirchhoff stress function appears as the additive split, 7 = Fect(J) + Fiso(b) (13) Based on 7 = 204%(b)b we now derive the contributions of the two parts. With J = pJb™ we get, Feot(J) = 2p Pror(J)b = Ivyord =: PL (14) Similarly we obtain®), Fiv(B) = 2605 fan(B) = 201(I-HH — 50° ©): Ig) (18) for #iso(b) with the fourth-order unit tensor Il and the fourth-order projection tensor IP. Then the above equation becomes, Fin(b) =P : (B+ G5 ise) it (18) see Reference see Appendix A.2, JOACHIM DETTMAR 5 with 7 := 20gis0(5)b. The isochoric stress contributions ris. are obtained by the de- viatoric projection IP : 7 We can now consider the split of the spatial elastic moduli as, © = Cya(J) + Cino(5) (17) In the following section we derive the volumetric and isochoric contributions to the spatial elastic moduli C. 3.1. Volumetric Moduli @..1 ‘The constitutive rate equation is given as, C= 4bdpy3(b)b (18) Its volumetric contribution Gyoi(J) = 4b[6}, tvot(J)]b becomes”) Cya(J) = (p + s)1 @ 1 — 2pll (19) with the volumetric stiffness coefficient s = J*p/,(J) and p= Jou 3.2. Isochoric Moduli Ci. ‘The isochoric part of the constitutive equation is C:..(b) = 4b[df,,i(6)|b. Deriving the equation®) then leads to, 2 a (Tino @14+1@ Ti) +P: 6: P (20) 4. ISOTROPIC HYPERELASTICITY The hyperelastic constitutive equations discussed so far are unrestricted in their applica tion. Isotropic material response requires that the constitutive behaviour of the material must be the same in any material direction, thus the relationship between p and b must be independent of the axes chosen, Therefore, any spatially based expression for y must be a function of & only via its invariants, which implies an isotropic material. It follows from the condition that the strain energy y must remain constant under rigid body ro- tations and only the invariants of b, not 6 itself, remain unchanged under such rotations. ‘This implies a representation as, v=Uh, hh) (21) Teee Appendix A.3, "Jsee Appendix A. MOONEY-RIVLIN'’S STRAIN ENERGY FUNCTION IN ABAQUS. 6 with the invariants, h (6), k= 5(73 — tr[B5)) , J = det(o]? (22) 2 ‘The so-called deviatoric invariants I, and J; are based on the unimodular part 6 of the Finger tensor b. These invariants only contribute to the isochoric part of the strain energy function. Given isotropy and additive decomposition of the deviatoric and volumetric strain energy contributions in the presence of incompressible or almost incompressible behaviour, we can write the potential, in general, as, p= f(h-3,h -3) + 9(J -1). (23) Setting g = DN, 3.(J — 1)™ and expanding f(/; — 3, I: ~ 8) in a Taylor series, we arrive at the polynomial form, (=1)* (24) yo x d= DY Cs(h 3) - 3 +o siya 7 Here, Ci; and D; are temperature-dependent material parameters. D; values determine the compressibility of the material, if all D; are zero, the material is taken as fully in- compressible. If D; = 0, all D; must be zero. For N = 1 the Mooney-Rivlin form?) of the strain energy potential is recovered as, B= Ahi, fe,J) = Croll — 3) + Cole 3) + ae -1), (25) In some cases this form will give a more accurate fit to experimental data than the Neo- Hookean form in that it adds a term that depends on the second invariant of the deviatoric Finger tensor. 5. FINITE ELEMENT FORMULATION 5.1. Conceptual Frame ‘The essential parts of the Finite Blement Method are «A variational formulation or weak form of the boundary value problem considered, and # an approximative solution of the variational form using Finite Element Functions on subregions (Finite Elements”) of the whole region gee Reference (12) JOACHIM DETTMAR 7 5.2, Equilibrium ‘The central equation of large strain isotropic elasticity is the balance of linear momentum, which within an Bulerian setting relative to the current configuration assumes the form, Jdiv[J-*7) OinB (28) with div[J~17] as the divergence of the field J-'r and F a given body force. The deriv- ation can be found in standard literature!) and the references therein. Equation (26) is known as the local spatial equilibrium equation for a deformable body. In anticipation of situations during a solution procedure in which equilibrium is not yet satisfied, the above equation defines the local out-of-balance or residual force per unit volume r as, r= Jdiv[J rT] +F 27) 5.3. The Principle of Virtual Work Finite Element formulations are generally established in terms of a variational or weak form of the general differential equation (26). We look for approximative solutions to (26) with a concept that can be applied on complex problems. The weak form appears after some mathematical transformations!) as the principle of virtual work, G(w, bu [V6e):7 av = ff iu-Fav - éu-PdA (28) os. with 6u as an arbitrary, virtual displacement, f the body force and T the traction vector on the surface OB, of B. This fundamental scalar equation (28) states the equilibrium of a deformable body and is the basis for the finite element discretization 5.4. Solution of Nonlinear Problems. Linearization A typical nonlinear curve G(u) is shown in Figure (2). The objective of a nonlinear analysis, is to determine this response, which obviously cannot be calculated by solving a single system of nonlinear equations. Instead, the solution can be found by specifying the loading as a function of time and incrementing time to obtain the nonlinear respon: are usually broken into a certain number of time increments. Then the (approximate) equilibrium solution is found at the end of each time increment. Thus at the end of each increment the structure is in an (approximate) equilibrium. In order to use one of the Newton iteration methods to solve this state of equilibrium, we need to linearize the equilibrium equations. Simulations ‘The virtual work representation (28) is nonlinear with respect to u and linear with respect to Su, In this section we linearize the virtual work statement (28) and then discretize ‘This is a suitable approach within the context of solid continuum mechanics. 1) se¢ Reference [3] Hace References (6) MOONEY-RIVLIN’S STRAIN ENERGY FUNCTION INABAQUS 8 Figure 2: Linearization of G(u). u” is the exact solution, Let us at first consider the linear increment of G(u, du) as, AG(u, du, Au) = [,a(v5e) rav+ [ V(6e) Ara (29) Here Ar is, Ar = 6: V(Ag) + V(Ay)r +7 V7 (Ay) (30) with the spatial elasticity moduli C. This is valid under the assumption that external forces remain constant. Then AG becomes, AG = Jp[V(5p) CO: V(Ay) + V(Ay) : V(Ay)r+ a (31) {A(V (5p): 7+ V(5p) : rV7(5~)}] dV After some lengthy algebra!) the term in curly brackets {} evolves as, -V(5p)V(Ay) : 7 + V(5p)V(Ay) : 7 =0 (32) A linearized form of a function G generally appears in the form, ; ag LinG(Au) = G(u) + 5% Au = G(u) + AG(u, du) (33) and in our case, formulated in terms of the Kirchhoff stress tensor, the linearization arises as, LinG = fy V(Sp): 7 dV — fy dif dV — fog, du T dA+ (24) Jal¥(89) : ©: V(Ag) + V(Ay) : V(Ag) 7] av 5.5. Finite Element Discretization In contrast to the linear theory, we have two configurations of the elements, a Lagrangian or material and an Eulerian or spatial setting, see Figure (3) JOACHIM DETTMAR 9 Figure 3: Discretization of isoparametric elements for large strains. For isoparametric elements the mappings are, X = X(é) and 2 = 4(€) (35) for the Lagrangian and Eulerian configurations, respectively. Then the discrete mappings become, nade node X= YN (En)Xrande = SO N(En)er (36) Fo = with the shape functions N‘(é,7). The Lagrangian coordinates X; are connected with the Eulerian coordinates «; with the vector of nodal displacements 2; = X1 + dy. Now we discretize the deformation gradient F as, Fra = Nig, (37) T ‘The derivation of the shape functions takes place with respect to the Lagrangian coordin- ates, Grad y N! = (Grade?) J“? (38) with the Jacobian J = 9gX. Then we discretize u, dip and Ay and find, w= DN" dy; bp = Ndi; Ap = N'Ad; (39) T 7 T Further approximation yields, V (5x00) = S24, Sat, and V(Ayes) = > NI,Ad, (40) 7 7 Based on the spatial gradient of the shape functions VN! = (Grady N!)F~" we then get from LinG, after some mathematical manipulations, a discrete set of equations as dd?(r + kAd) = 0 with the tangent array k, the vector of virtual nodal displacements Sd, the vector of incremental nodal displacements Ad and the residual array R. A typical global Newton iteration step consists of an assembling procedure of these element arrays MOONEY-RIVLIN'S STRAIN ENERGY FUNCTION IN ABAQUS 10 to the global residual vector and tangent matrix. This finally yields the associated linear algebraic system, AD=-K"R (41) which is then solved, Finally the incremental displacements are updated. 6. ABAQUS IMPLEMENTATION 6.1. General ABAQUS/Standard has an interface that allows the user to implement general constitutive equations, This user-defined material model is implemented in the user subroutine UNAT. Writing a UMAT requires an explicit definition of stresses, here the Cauchy stresses, since we have an application for large strain problems. The Cauchy stress tensor is well-known from linear analysis. It gives the current force per unit deformed area as the familiar description of stress, Furthermore the constitutive rate equation needs to be transformed into an incremental equation in order to use the Backward Buler (Implicit) integration procedure. ‘Therefore we have to calculate the spatial elastic moduli tensor C. ‘This matrix must be defined accurately if rapid convergence of the overall Newton scheme is to be achieved. In most cases the accuracy of this definition is the most important factor governing the convergence rate. 6.2. Application on Mooney-Rivlin’s Strain Energy Function In order to obtain an expression for the Kirchhoff stress tensor T = Fvot(J) + Fiso(b) we apply equations (14) and (15) on Mooney-Rivlin's strain energy function (25). The volumetric part arises as, Fuanis(J) = P bj = IB eel D)5i5 = (42) and, taking advantage of the symmetry of 7, we get for the isochoric part, 2 1 1 1 Fuss = Parts = [5 (bind + Sud) — 56] Far = Fy — Giadiy (43) ‘These equations can be implemented in a straightforward manner. Expressions for the tangent moduli C can be derived in the same way. The volumetric part is, Gwoonisnt(J) = (p + 5)55j5it ~ Wwe (44) with s = J*p/,(J) = 22. The isochoric part evolves as, Coosa = 37D ss F(ino)is Dut 8ijFfia0)ht) + PejmnCmnopPepht (45) with Gis = Cor [4Bisbur — 2(Biebjn + Birabradjx)|"*). Again, those expressions seem fairly complex, but they are easy to implement sce Appendix B.1 JOACHIM DETTMAR ll 6.3. Tensor Dimensions In ABAQUS the Cauchy stress tensor is stored as a vector in which direct components are stored first, followed by shear components. Thus, the stress vector which needs to be updated within each increment appears as 03 = [011 o22 09 012 713 O23)". We have calculated only the Kirchhoff stresses so far, but we need to update Cauchy (true) stresses. Consequently, with + = Jo, we finally arrive at o = J~1r. Analogous, the fourth-order elasticity tensor C degrades to a square 6 x 6 matrix'*), 6.4. Variables ‘The following table is a list of the symbols used in the the ory and their counterparts used in the FORTRAN 77 _ implementation. Constants Cio, Cor, Dy 10, CO1, D1 Finger Tensor b = B(I,J) Jacobian J a Deviatoric Part b = bys of b BBAR(I, J) and its Trace tr[B] = bis TACEBBAR Deviatoric Part 7 = iy of T BTAU(I,J) Second-Order Unit Tensor 1 = 6; DELTA(I, J) Fourth-Order Projection Tensor IP = IPyjyy IP (1,J,K,L) Isochoric Part #(is0)ij Of T TAUISO(I,J) Volumetric Part #(.o1jis of T TAUVOL (I,J) C= Git CBAR(I,J,K,L) Isochoric Part Ciy = Criroysjnt of © cIso(I,J,K,L) Volumetric Part Cyor = Cfearizet of © CVOL(1,3,K,L) ‘Tangent Moduli € IC(I,3,K,L) Kirchhoff Stress Tensor 7 = 733 TAU(E, J) Cauchy Stress Vector & = 03; STRESS (I) Degraded 6 x 6 Elasticity Matrix C = Cj; DDSDDE(I, J) eee Appendix A.6. MOONEY-RIVLIN’S STRAIN ENERGY FUNCTION IN ABAQUS 12 Algorithm for the implementation in ABAQUS 10. i. 12 13, 4. 15. 16 . Calculate Finger tensor b b= FET Calculate Jacobian J J = det (6]°* = det [F] Calculate deviatoric part of b bas Caleulate tr {6] Calculate 7 ae Fay = ACrobi; + Cor (bends; — biab,5)) Establish unit tensors 4;; and fourth-order projection tensor Riga = p(5ud + buds) — 35:55 Calculate tr Calculate isochoric contribution 7, to T oyis = Fig — Sans Calculate volumetric contribution 7,1 to T Feonis = (I~ NBs Calculate Gijst = Cox [4Bisbur — 20binbin + Birabtdit)] Calculate isochoric contribution Ci, to © Cposoysgat = 2FulP aja — F(Fisoyis5e1 + 5is (eaoyet) + PijmnCrnnop!P optt Calculate volumetric contribution €,.1 to C Gociysntl J) = (P+ 8) 8is6ut — 2pMjut Compose elasticity tensor Cajer = Cesayisit + Covonnisnd Compose Kirchhoff stress tensor = Finoyis + Foothis Return Cauchy stresses STRESS (I, J) = J7'n5 Return Elasticity Matrix DDSDDE (J, J) with certain values from Cizat according to (56), JOACHIM DETTMAR 13 6.5. Coding in FORTRAN 77 The FORTRAN 77 code appears in the *MATERIAL section in the Input file in ABAQUS/Standard. The coding of the UMAT has to be according to FORTRAN 77 conven- tions. AUSER MATERIAL ,CONSTANTS=3 80. 20.0, .001 *USER SUBROUTINE eaaaeacaaa aaa SUBROUTINE UMAT (STRESS ,STATEV ,DDSDDE,SSE,SPD, SCD, 1 RPL, DDSDDT, DAPLDE, DRPLDT, STRAN , DSTRAN,, 2 TINE,DTIME, TEMP, DTEMP , PREDEF ,DPRED , CNAME ,NDI,NSHR,NTENS, 3 NSTATV, PROPS, NPROPS , COORDS, DROT, PNEWDT, CELENT, 4 DFGRDO,DFGRD1 , NOEL NPT, LAYER, KSPT, KSTEP ,KINC) INCLUDE ?ABA_PARAM. INC? CHARACTER*8 CHNAME DIMENSION STRESS (NTENS) ,STATEV(NSTATV) , 1 DDSDDE(NTENS , NTENS) , DDSDDT(NTENS) ,DRPLDE(NTENS) , 2 STRAN(NTENS) ,DSTRAN(NTENS) , TIME(2) ,PREDEF (1) ,DPRED(1), 3 PROPS (NPROPS) , COORDS (3) ,DROT(3,3), 4 DFGRDO(3,3) ,DFGRD1 (3,3) REAL*8 B(3,3) ,BBAR(3,3) ,BTAU(3,3) ,JIP(3,3,3,3), 1 TAUISO(3,3) , TAUVOL (3,3) ,CBAR(3,3,3,3) DELTA(3,3), 2 CISO(3,3,3,3) ,CVOL(3,3,3,3) ,1¢(3,3,3,3) ,TAU(3,3) PARAMETER (ZERO=0 . ODO, ONE=1.0D0, TWO=2.0D0 , THRE! PARAMETER (FOUR=4.. ODO , NINE=9 . ODO , MONE: DATA NEWTON, TOLER/10,1.D-8/ D0) UMAT FOR COMPRESSIBLE MOONEY-RIVLIN MATERIAL UNIVERSITY OF CALGARY ENCI 619.06 WINTER 2000 JOACHIM DETTMAR, APRIL 2000 C10=PROPS (1) CO4=PROPS (2) D1=PROPS(3) FINGER TENSOR MOONEY-RIVLIN'S STRAIN ENERGY FUNCTION IN ABAQUS 4 ° ° oa SET B(I,J) TO ZERO: DO 10 I=1,3 Do 10 BCI, J, 10 CONTINUE seeee FILL B(I,J): Do 20 Do 20 BCI, J, B(I,J) = B(I,J) + DFGRD1(I,K)*DFGRD4 (J,K) 20 CONTINUE JACOBIAN AJ=DET[B]~.5 AJ = SQRT( B(1,1)#B(2,2)*B(3,3) 1 B(4,2)#B(2,3)*B(3,1) 2 B(1,3)4B(2,1)*B(3,2) 3 B(3,1)*B(2,2)*B (1,3) 4 5 + B(3,2)*B(2,3)*B(1, 1) B(3,3)#B(2,1)*B(1,2) DO 50 I=1,3 DO 50 J=1,3 BBAR(I,J)=ZERO BBAR(I,J) = B(I,J)/(AJ**(TWO/THREE)) 50 CONTINUE seeee TRACEBBAR TRACEBBAR=BBAR(1,1) + BBAR(2,2) + BBAR(3,3) DO 55 I=1,3 DO 55 J=1,3 BTAU(I,J)=ZERO BTAU(I,J)=TWO*( C10*BBAR(I,J) + CO1* 1 (TRACEBBAR*BBAR(I,J) - BBAR(I,1)*BBAR(1,J) - JOACHIM DETTMAR 15 2 BBAR(I,2)*BBAR(2,5) - BBAR(I,3)*BBAR(3,J)) ) 88 CONTINUE C...e. FOURTH ORDER PROJECTION TENSOR Do 80 Do 80 DELTA(I,J)=ZERO 80 CONTINUE DO 85 I=1,3 DELTA(I,I)=0NE 85 CONTINUE DO 115 I=1,3 DO 115 J=1,3 DO 145 K=1,3 DO 115 L=1,3 TIP(L,J,X,L) = ZERO TIP(I,J,K,L) = (ONE/TWO)*(DELTA(I,K)*DELTA(J,L) + 1 DELTA(I,L)#DELTA(J,K)) ~ 2 (ONE/THREE) *DELTA(Z, J) #DELTA(K,L) 115 CONTINUE C.....TAUISO ‘TRACEBTAUSBTAU(1,1) + BTAU(2,2) + BTAU(3,3) TAUISO(1,1)=BTAU(1,1) - (ONE/THREE)*TRACEBTAU TAUISO(2,2)=BTAU(2,2) - (ONE/THREE)*TRACEBTAU TAUISO(3,3)=BTAU(3,3) - (ONE/THREE)*TRACEBTAU ‘TAUISO(1,2)=BTAU(1,2) ‘TAUISO(1,3)=BTAU(1,3) ‘TAUISO(2,3)=BTAU(2,3) TAUTSO(2,1)=BTAU(2,1) TAUISO(3,1)=BTAU(3, 1) TAVISO(3 ,2)=BTAU(3,2) Geese TAUVOL, P=((TWO*AJ)*(AJ-ONE))/D1 DO 65 I=1,3 DO 65 J=1,3 TAUVOL(I, J)=ZERO TAUVOL(I, J)=P*DELTA(I, J) MOONEY-RIVLIN’S STRAIN ENERGY FUNCTION IN ABAQUS 16 65 CONTINUE DO 75 J=1,3 DO 75 K=1,3, DO 75 3 CBAR(I,3,K,L)=ZERO DO 76 $=1,3 CBAR(I,J,K,L)=CO1*( FOUR*BBAR(T,3)#BBAR(K,L) ~ 1 TWO*(BBAR(I,K)*BBAR(J,L) + BBAR(I,S)*BBAR(S,L) *DELTA(J,K))) 76 CONTINUE 75 CONTINUE c c.....CIS0 c DO 90 I=1,3 DO 90 J=1,3 Do 90 Do 90 CISO(I,J,K,L)=ZERO DO 90 S=1,3 DO 90 T=1,3 DO 90 U=1,3 DO 90 V=1,3 CISO(L,J,K,L)=(TW0/THREE) *TRACEBTAU*IIP(I,J,K,L) - 1 (TWO/THREE) * (TAUISO(I, J)*DELTACK,L) + 2 DELTA(I,J)*TAUISO(K,L)) + 3 TIP(1,J,S,7) «CBAR(S,T,U,V)*IIP(U,V,K,L) 90 CONTINUE vee CVOL, aaa CS=THO*AI#AI/DL DO 98 I=1,3 DO 98 J=1,3 DO 95 K=1,3 DO 95 L=1,3 cVOL(I,I,K,L)=ZERO CVOL(I,J,K,L)=(P + CS)*DELTA(I, J) *DELTA(K,L) - 1 Px(DELTA(I,K)*DELTA(J,L) + DELTA(I,L)*DELTA(J,K)) JOACHIM DETTMAR Mt ea 95 CONTINUE IC DO 100 I=1,3 DO 100 J=1,3 DO 100 K=1,3 DO 100 L=1,3 I¢(I,J,K,L)=ZERO IC(I,J,K,L)=CVOL(I,J,K,L) + CISO(I,J,K,L) 100 CONTINUE . TAU DO 105 TAUCE, J. TAUCE, J) ERO =TAVISO(I,J) + TAUVOL (I,J) 105 CONTINUE - «RETURN STRESS(I), DDSDDE(T,J) DO 110 I=1,3 STRESS (I)=TAU(I,1)/AI 110 CONTINUE STRESS (4)=TAU(1,2)/AJ STRESS (5)=TAU(1,3)/AJ STRESS (6)=TAU(2,3)/AJ DO 112 I=1,6 DO 112 J=1,6 DDSDDE(I, J)=ZERO 112 CONTINUE DDSDDE(1,1)=¢(1,1,1,1) DDSDDE(1,2)=IC(1,1,2,2) DDSDDE(1,3)=1¢(1,1,3,3) DDSDDE(1,4)=1C(1,1,1,2) DDSDDE(1,5)=1C(1,1,1,3) DDSDDE(1,6)=1C(1,1,2,3) DDSDDE(2,1)=16(2,2,1,1) DDSDDE(2,2)=1C(2,2,2,2) DDSDDE(2,3)=IC(2,2,3,3) DDSDDE(2,4)=1C(2,2,1,2) DDSDDE(2,5 C(2,2,1,3) MOONEY-RIVLIN’S STRAIN ENERGY FUNCTION IN ABAQUS 18 DDSDDE(2,6)=1C(2,2,2,3) DDSDDE(3,1)=16(3,3,1, 1) DDSDDE(3,2)=1C(3,3,2,2) DDSDDE(3,3)=1C(3,3,3,3) DDSDDE(3,4)=1C(3,3,1,2) DDSDDE(3,5)=1C(3,3,1,3) DDSDDE(3,6)=1C(3,3,2,3) DDSDDE(4,1)=1C(1,2,1,1) DDSDDE(4,2)=1C(1,2,2,2) DDSDDE(4,3)=1C(1,2,3,3) DDSDDE(4,4)=1C(1,2,1,2) DDSDDE(4,5)=1C(1,2,1,3) DDSDDE(4,6)=IC(1,2,2,3) DDSDDE(S, 1)=1¢(2,3,1,1) DDSDDE(5,2)=1C(2,3,2,2) DDSDDE(5,3)=IC(2,3,3,3) DDSDDE(S,4)=IC(2,3,1,2) DDSDDE(S,5)=1C(2,3,1,3) DDSDDE(5,6)=IC(2,3,2,3) DDSDDE(6, 1)=IC(1,3,1,1) DDSDDE(6,2)=1C(1,3,2,2) DDSDDE(6,3)=I¢(1,3,3,3) DDSDDE(6,4)=IC(1,3,1,2) DDSDDE(6,5)=1C(1,3,1,3) 2,3) DDSDDE(6,6)=1C(1,3 RETURN END JOACHIM DETTMAR 19 7. PERFORMANCE Now we use ABAQUS to test the mechanical properties of our implementation. We compare the solution to the solutions from the hyperelastic material model already implemented in ABAQUS. The goal is to assess the performance of the constitutive algorithm for general isotropic stress response. The basis are the constants at the reference configuration as, Cro = 120.0; Cor 10.0; Dy = 0.001 (48) 7.1, Uniaxial Tension Test ‘This example reflects the behaviour of a rectangular stress block under uniaxial tension, see Figure (4). The example serves as a basic test problem for the constitutive algorithm, ‘The deformation is homogeneous. The deformed body is depicted in Figure (5). Now we Figure 5: Deformed ABAQUS Element C3D8 under uniaxial tension compare the results obtained from our implementation to the results obtained with the Mooney-Rivlin material which is available in ABAQUS. From Figure (6) we can see that our implementation of the Mooney-Rivlin strain energy function yields exactly the data from the function already available. MOONEY-RIVLIN'S STRAIN ENERGY FUNCTION IN ABAQUS 20 300.0 200.0 | Load 100.0; oe io 20 30 40 50 Displacement 1 Figure 6: Load-displacement curve for the uniaxial tension problem. The squares represent the data from our implementation, the continuous line the data from the Mooney-Rivlin material available in ABAQUS. 7.2. Plain Strain Tension Test ‘This example is concerned with an inhomogeneous tension test problem*, A plane strain block of 10 elements per side is clamped on both sides, see Figure (7). Again, the de- B F —_— —> {20 mm clamped clamped 20 mm Figure 7: Plane Strain Tension Test formed mesh appears as shown in Figure (8). Then the stress distribution as calculated by ABAQUSin x; direction appear as shown in Figure (9). It demonstrates the extreme inhomogeneous stress state near the clamp. Again we compare our results to the results obtained from the Mooney-Rivlin material available in ABAQUS. And from Figure (10) we see that our implementation yields exactly the results from the given function. “Wee Reference [1] JOACHIM DETTMAR 2 [eslletee fehl F = a eel cal Figure 9: Plane Strain Test. Stresses o11 500.0 400.0 300.0 Load 200.0 100.0 00 a0 80 120 16.0 20.0 Displacement uy Figure 10: Load-displacement curve for the plain strain problem problem. The squares rep- resent the data from our implementation, the continuous line the data from the Mooney- Rivlin material available in ABAQUS MOONEY-RIVLIN’S STRAIN ENERGY FUNCTION IN ABAQUS 22 A. DERIVATION OF FORMULAS A.1. Constitutive Rate Equation. Lie Derivative ‘The constitutive rate equation can be derived when we start with the objective stress rate known as the Oldroyd stress rate'®). Then we get, Lyt = toly—rit = Op[2059(b)b) : b Lr — 717 = Op [20p%(b)b] : (0b + BIT) — Er — 17 = Oy[2049(b)b) : (Ib) + Op (20.bxh(b)B] : (B17) — Lr — 717 (47) = 2BOZ ,B(b) + (Ub) + Woy b(b) + ALT) : GEV (b)o+ 20ph(b)bIT — 1(28y4(b)b) — 2yh(b)bIT = 26(6f ,0(b) : 1] + 26" : OB, ¥(b)]b and therefore result (9) as Ly = 4bdfyh(b)b : d. A.2. An Expression for 7;,.(5) With 9,6 = 0(J-3b) = ~ 10-30" @ b+ JH = J-3 (1 ~ $6 @ b) we can derive an expression for Fiso(b) as, 2b, diso(b) OGino(B) 01 a Ob = 2D[I-H(U — 3b @b) : Ip Vise) = 2[IHH(I — 3b-* @ TB) : Og Vise) 2b((J-8 — $67 @ B) : Og Piso] = 2 (48) with Wiser = $(di5j2 + adj) and Waser = Wijer — $8:;5e0 W6Jsee Reference (3] JOACHIM DETTMAR 23 A.3, The Volumetric Moduli €,1 ‘The volumetric part of © is Cyai(J) = 4b[OfyPucr(J)Ib and with dp(b*) = —b*Hb™ it evolves to, C.a(J) aoe yb" Sb 4b {HCI Hal + J(BpHia)O™ + JHeiHpb™']} © 4b {LEO + JEG bb — JG, BUSY} b 4b {BLT Paull) + (FL) = WHO} b “ =: 4b {bE (p+ 5)1. @ 1 — 2pll]b"}b (p+ s)1@1-2pll with s = J7py4(J) and p= Joi. A.4. The Isochoric Moduli €;,. ‘The isochoric part of the constitutive equation is, Cino(b) = 4b(0h,0°°(B)]b (50) and with the derivation, Opb = (OpJ~3)b + J-3(8,b) = -lot@b4+J-31 (51) = J-}{- 4b" @ b} the isochoric contribution evolves to, GiB) = 4b {2 [Op Vino(B)]} 4b {8,|(J-H — 2b @ b) : 8, = 46 {6p[6-P : (5 - Bg Vine))}b J} no a (52) = LP : BOE isob)

A value of 1 is used as the fourth argument to indicate that the transformed array contains tensor shear components such as a4. A value of 2 indicates that the aray contains engineering shear components, such as €”. + The rotation should be applied prior to the integration procedure. Writing UMATS, VUMATS, and UES uss: apaaus Example 4: Kinamatic Hardening Plasticity + The routine is written for linear hardening because the classical Prager-Ziegler theory is limited to this case. ~ More complex nonlinear kinematic hardening models are much more difficult to integrate, ~ However, once a suitable integration procedure is obtained, the implementation in uma is straightforward and follows the examples discussed here. ‘Waiting UMATs, VUMATS, and UELs 166 ABagus Example 5: Isotropic Hardening Plasticity Example 5: Isotropic Hardening Plasticity Governing Equations + Elasticity: Gy = ABE + 2Mey, or, in a Jaumann (corotational) rate form: Oi; = AS yee + 2s + The Jaumann rate equation is integrated in a corotational framework: ay , Ao}, = A5,Acg + 2uAey. a7 Wiling UMATs, VOMATS, and UELS ue Apsgus Example : soropc Hardening Plasticity + Plasticity ~ Yield function: 08") = 0, Sy = 6,-48,0u. ~ Equivalent plastic strain: art = firey, ° ~ Plastic flow law: a7 ‘Witing UMATs, VUMATS, and UELs 1168 Agagus Example 5: Isotropic Hardening Plasticity ATHTETY Integration Procedure + We first calculate the von Mises stress based on purely elastic behavior (clastic predictor), arr = ISSE'SR. Sor = 5942yAe,. * If the elastic predictor is larger than the current yield stress, plastic flow occurs. The backward Euler method is used to integrate the equations. ~ After some manipulation, we can reduce the problem to a single equation in terms of the incremental equivalent plastic strain: Gr —3pAeP! = o(@r'), ~ This equation is solved with Newton’s method. oT ‘Writing UMATs, VUMATS, and UELs tsa Apaaus Example 5: Isotropic Hardening Plasticity ini + After the equation is solved, the following update equations for the stress and the plastic strain can be used: 1 3, as Oy = My0,+ 3808, eg! = 3n,Aér! Ny = SBto0r, + In addition, you can readily obtain the consistent Jacobian: oy h . AG = AB Aly + 2 AE, + tae mde B= y0,/3"r, At h = do,/dér! 3 ~ A detailed discussion about the isotropic plasticity integration algorithm can be found in Section 4.2.2 of the Theory manual. ‘The appropriate coding is shown on the following pages. 397 Writing UMATs, VUMATS, and UELS U0 apagus: Example 5: isotropic Hardening Plasticity Coding for Isotropic Mises Plasticity LOCAL ARRAYS c c - © EELAS - ELASTIC STRAINS © EPLAS - PLASTIC STRAINS © FLOW - DIRECTION OF PLASTIC FLOW c DIMENSION EELAS(6) , EPLAS(S), FLOW(6) PARAMETER (2200 .D0, ONE=1.D0, THO*2,D0, THREE=3.D0, SIX=6.D0, 1 EMUMAX=. 499900, NEWTON=10, TOLER#1..0D-6) UMAT FOR ISOTROPIC ELASTICITY AND ISOTROPIC MISES PLASTICITY CAMHOT BE USED FOR PLANE STRESS PROPS(1) - E PROPS(2) - NU PROPS(3..) - SYTELD AN HARDENING DATA ‘CALLS UHARD FOR CURVE OF YIELD STRESS VS. PLASTIC STRAIN 387 Wiiting UMATS, VUMATS, and UELS ABaqus Example 5: Isotropic Hardening Plasticity tir ATTA ELASTIC PROPERTIES EMOD=PROPS(1) [ENU=MIN( PROPS (2) , EXUMAX) EBULK3=EMOD/(ONE-TWOrENU) BG2=ENOD/(ONE+ENU) EG=E¢2/TWO EG3=TEREEYEG ELAMS(EBULK3-EG2) /THREE ELASTIC STIFFNESS ‘CALL ASET(DDSDDE, ZERO, NTENS*NTENS) bo Ki=L,NDI DO K2=1, NDE DSDDE(K2, K1)=ELAM END Do DDSDDE(KL, KL)=EC2+ELAM DO KL=NDI+1,NTEXS DDSDDE(KL, Ki)=86 END Do 27 Wilting UMATs, VUMATs, and UELS tire angus Eanes meee aeeesreeny ATT © RECOVER ELASTIC AND PLASTIC STRAINS AND ROTATE FORWARD © ALSO RECOVER EOUIVALENT PLASTYC STEADY c CALL ROTSIG(STATEV( —__1),DROR,EEEAS, 2, NDT, SHR) ALL ROTSIC(STATEV(MTENS+1), DRO, EPEAS, 2, NOT, SHR) BOPLAS=STATEV(1+2+HTENS) © CALCULATE PREDICTOR stRESS AND ELASTIC star Po Kiet, sens Do K2tL, TENS STRESS(R2)=STRESS(H2)+9DSDDE(K2, KL) +OSTRANCKL) Exp D0 BELAS(KL)=8ELAS( RL) +DSTRAN(KL) c © CALCULATE EQUIVALENT VON MISES STRESS c SMIBES@(STRESS(1)-STRESS(2))4*24(STRESS(2)-STRESS(9))*+2 1 ++(STRESS(3)-SERESS(1) }=02 'Do_KLeNDr+1,wreNs SMISES=SMISESHSIX*STRESS (KL) "2 BD Do SMISES=S0RT(SHISES/TH0) a Wiring UMATs, VUMATS, and UEL® we Apagus Example 5: Isotropic Hardaning Plasticity c © Ger YIELD STRESS FROM THE SPECEFIED HARDENING CURVE VALUE=NPROPS/2-L CALE URARD(SYTELO,ARD, EOPEAS, PROPS(3) VALUE) ¢ © DETERMINE rF ActiVELY yrELDrNG c TF (SNISES.G7.(ONEFTOLER)¢S¥rELO) ‘THE c © activewy yrevome © SEPARATE THE HYDROSTATIC FROM THE DEVIATORIC STRESS © cancunaTe Tae Low prngcrron SHEDROn( STRESS(1) #STRESS(2)¢STRESS(3)) /THREE Do Rist, xor FLOW (KL)=(STRESS(K1) -SHVDRO)/SMISES xD Do Do KLawor+1 arrexs FLOW( Ki )=STRESS(KL)/SHISES Exp D0 387 ‘Writing UMATs, VUMATs, and UELs ure ABaqus Example 6: Isotropic Hardening Plasticity © SOLVE FOR EQUIVALENT VON MISES STRESS © AND EQUIVALENT PLASTIC STRAIN INCREMENT USING NEWTON ITERATION c svIELpssyreto DEgPi=zeR0 Do KEWroweL, WEWTOX ‘RHS=SHISES-EG3*DEOPL-SYTELD DEQPL-DEOPL*RES/(EG3+HARD) (CALL UGARD(SYTELD, HARD, BOPLAS+DEQPL, PROPS(3), NVALUE) 4P(AB5(RHS) -LT.TOLER*SYIELO) GOTO 10 zp Do © © WaITE WARNING MESSAGE 70 THE MSG FILE c warTe(7,2) NEWTON 2 FORMAT(//, 30K," ***WARNING - PLASTICITY ALGORITHM DID NOT *, 1 SCOMVERGE AFTER ‘,13," ISERATIONS’) 10 conrrwve sa7 Wrting UMATS, VUMATS, and UELs Las ApAQUs Example 5: Isotropic Hardening Plasticity iT © UPDATE STRESS, ELASTIC AND PLASTIC STRAINS AND © ——-ROUIVALENT PEASTIC sTRAIN ¢ Do KieL,xpr STRESS(K1)=FLOW(KL) *SYTELD¢SHYDRO EPLAS(K1) =EPLAS (KL) #THREE/TWO*FLOW(RL) *DEQPL BELAS(K1) “ELAS (RL) -THREE/TWO*FLOW(KL)*DEOPT. EXD Do DO KL=NDr+1, NIENS ‘STRESS(K1) #FLOW(KL) *SYTELD EPLAS(KL) =EPLAS( KL) +7UREE*FLON(RL)*DEQDL EELAS(K1) =EELAS(RL) -THREESFLOW(K1) *DEQPL. END Do EQPLAS@EQPLAS+DEOFT. c © CALCULATE PuasTrc DISSIPATION c SPDSDEOPL* (SYTELO#+SYTELD)/T40 a7 Writing UMATs, VUMATS, and UELs us apagus Example 5: Isotropic Hardening Plasticity ATE c FORMULATE THE JACOBIAN (MATERIAL TANGENT) c FIRST CALCULATE EFFECTIVE MODULT c EFFG=5G+SYTELD/SMISES EFEG2=1¥0*EFFG. EPFG3=THREE/TWO*EFFC? [EPFLAM=( EDULK3-EFEG2) /THREE EEFRRD®EG3*BARD/(EG3+HARD)-EFFGI Do xi=1,xor bo K2=1,NDI DDSDDE(K2, K1)=EFFLAN END Do DDSDDE(KL, K1)=EFFG2+EFFLAM END Do DO KiaNDr+l, TENS DDSDDE( KL, X1)=EFFG END DO Do Ki=1, wrENs DO K2=1, NTENS DDSDDE( K2, KL) *DDSDDE(K2, K1) +EFFHRD*FLOW(K2)*FTOW(KL) BP To END Do norr e a7 Wiling UMATS, VUMATS and UELs a Apsgus Example: soropic Hardning Plasticity THT © STORE ELASTIC AND (EQUIVALENT) PLASTIC STRAINS © IN STATE VARIABLE ARRAY c Do Ki=1,wrENs STATEV( KL) =EELAS(KL) STATEV(KL+NTENS)=EPLAS(KL) END D0 STATEV(1+2+NTENS)=EOPLAS c RETURN END SUBROUTINE URARD(SYIELD, EARD, EQPLAS, TABLE, NVALUC INCLUDE ‘ABA_PARAM.INCY DIMENSION TABLE(2, NVALUE) © PARAMETER(2ERO=0.D0) c © SEE YIELD STRESS TO LAST VALUE OF TABLE, HARDENING TO ZERO SYTELD*TABLE(1, NVALUE) EARD=2£80 397 Wilting UMATS, VUMATS, and UELs 178 Apagus Example 5: Isotropic Hardening Plasticity CTF MORE THAN ONE ENTRY, SEARCH TABLE TR(IVALUE.GT.1) THEN Do KLeL, xVALUE-1 EOPLLSTABLE(2,KI+L) IP(EQPLAS.OT.EQPLL) THEN EQPLO*TABLE(2, KL} IE(EQPLL.LE.EQPLO) THEN werTE(7,1) 6 FORMAT(//,30X,"***ERROR - PLASTIC STRAIN MUST BE‘, a “ENTERED IW ASCENDING ORDER’ ) ENDIF CURRENT YIELD STRESS AND HARDENING DEQPL*EQPLL-EOPLO SYIELO=TABEE(1, KL) SYTELL*TABEE(1, KL+1) DSYIEL"SYIELL-SYIELO EARD=DSYIEL /DEOPL SYLELD=SYIELO#(EOPLAS-EOPLO) “HARD coro 10 ENDIF 7 ‘Waiting UMATS, VUMATS, and UELs anti Example 5: Isotropic Hardening lastity amin END Do 10 conriwve ENDIF 5 RETURN a7 Wilting UMATS, VUMATS, and UELs 80 Apagus Example 5: Isotropic Harda ATTA Remarks + This umar yields exactly the same results as the #PLASTIC option with ISOTROPIC hardening. ~ This result is also true for large strain calculations. The necessary rotations of stress and strain are taken care of by ABAQUS. ~ The rotation of elastic and plastic strain, prior to integration, is accomplished by the calls to Rorsze. wT Writing UMATS, VUMATs, and UELs uret Apaqus Example 5: tsotropic Hardening Plasticity + The routine is written with a separate utility (URARD) to recover a piecewise linear hardening curve. ~ Itis straightforward to replace the piecewise linear curve by an analytic description. ~ A local Newton iteration is used to determine the current yield stress and hardening modulus. ~ If the data are not given in ascending order of strain, the routine x17 is called, which closes all files and terminates execution. a7 Writing UMATs, VUMATS, and UELs tree apagus nea VUMAT Interface ATE VUMAT Interface + These input lines act as the interface to a vuMar in which kinematic hardening plasticity is defined. *MATERIAL, NAME=KINPLAS. USER MATERIAL, CONSTANTS=4 30.86,0.3,30.£3, 40.53 *DEPVAR 5 INITIAL CONDITIONS, TYPE=SOLUTION Data line 10 specify inital solution-dependent variables a7 Wilting UMATS, VUMATS, and UELs 188 apagus loriace Apagus VUMAT Intarfa + The input lines are identical to those for the uMar interface, with the exception of the absence of the *USER SUBROUTINE option. ~ The user subroutine, which must be kept in a separate file, is invoked with the ABAQUS execution procedure, as follows: abaqus job=... users. - The user subroutine must be invoked in a restarted analysis because user subroutines are not saved on the restart file. a7 Wilting UMATs, VUMATs, and UELs uae

Você também pode gostar